Project

General

Profile

ADDNEW_update unit.txt

Luc Tran Van, 04/27/2023 11:22 AM

 
1
ALTER PROCEDURE dbo.ASS_ADDNEW_KT_BVB_Upd
2
	@p_ADDNEW_ID		varchar(15)  = NULL,	
3
	@p_AMORT_START_DATE	varchar(30)	= NULL,------------THEM NGAY BD KHAU HAO	
4
	@p_AMORT_END_DATE	varchar(30)	= NULL,------------THEM NGAY BD KHAU HAO	
5
	@p_AMORT_MONTH		DECIMAL(18,2) = NULL,
6
	@p_AMORT_RATE		decimal(18,2)  = NULL,	
7
	@p_CORE_NOTE		nvarchar(500) = NULL,
8
	@p_ENTRY_BOOKED		varchar(1)	= NULL, --Them de kiem tra co hach toan tai san khi nhap ts khong (Y/N)?			
9
	@p_MAKER_ID			varchar(15)  = NULL,
10
	@p_MAKER_ID_KT			varchar(15)  = NULL,
11
	@p_CREATE_DT		VARCHAR(30) = NULL,
12
	@p_CHECKER_ID		varchar(15)  = NULL,
13
	@p_APPROVE_DT		VARCHAR(30) = NULL,	
14
	@p_POSTED_STATUS	VARCHAR(1) = NULL,
15
	@p_BRANCH_CREATE	VARCHAR(15) = NULL,
16
	--
17
	@p_BUY_DATE			VARCHAR(30) = NULL,
18
	@p_TYPE_ID			varchar(15)  = NULL,
19
	@p_GROUP_ID			varchar(15)  = NULL,
20
	@p_ASSET_NAME		nvarchar(1000)  = NULL,
21
	@p_ASSET_SERIAL_NO	nvarchar(MAX)  = NULL,
22
	@p_ASSET_DESC		nvarchar(max) = NULL,
23
	@p_BRANCH_ID		varchar(15)  = NULL,
24
	@p_DEPT_ID			varchar(15)  = NULL,---------Them ma phong ban
25
	@p_EMP_ID			varchar(15)  = NULL,-----------Them Nguoi su dung
26
	@p_DIVISION_ID		varchar(15)  = NULL,----------Them co so	
27
	@p_BUY_PRICE		decimal(18)  = NULL,		
28
	@p_IS_MULTIPLE		varchar(1)  = NULL,
29
	@p_QTY				int = NULL,
30
	@p_PO_ID			varchar(15)  = NULL,
31
	@p_PD_ID			varchar(15)  = NULL, --Them de luu chi tiet PO
32
	@p_REF_ASSET_ID		varchar(15)  = NULL,
33
	@p_REF_AMORTIZED_AMT	decimal(18)  = NULL,
34
	@p_WARRANTY_MONTHS	int = NULL,
35
	@p_NOTES			nvarchar(1000)  = NULL,		
36
	@p_ADDNEW_DT		XML = NULL,
37
	@p_RECORD_STATUS	varchar(1)  = NULL,
38
	@p_AUTH_STATUS		varchar(1)  = NULL,	
39
	@p_CONSTRUCT_ID		VARCHAR(15) = NULL,
40
	@p_ACCOUNT_GL VARCHAR(50),
41
	@VAT DECIMAL(18,2),
42
	@PRICE_VAT DECIMAL(18,2),
43
	--/************ LUCTV ***************/
44
	@p_ASS_PO_ID VARCHAR(15)= NULL,
45
	--@l_ADDNEW_ID VARCHAR(15) = NULL,
46
	@p_PO_CODE VARCHAR(500) = NULL,
47
	@p_PR_CODE VARCHAR(500) = NULL,
48
	@p_INVOICE_NO VARCHAR(500) = NULL,
49
	@p_INVOICE_SYMPOL VARCHAR(500) = NULL,
50
	@p_INVOICE_DT VARCHAR(20) = NULL
51
     ,@p_WIN          VARCHAR(1) NULL
52
     ,@p_OFFICE          VARCHAR(1) NULL
53
 ,@p_PL_CODE       VARCHAR(50) NULL
54
 ,@p_UNIT          VARCHAR(50) NULL
55
AS
56
--IF(@p_PR_CODE IS NULL OR @p_PR_CODE ='')
57
--BEGIN
58
--		SELECT '-1' Result, ''  ADDNEW_ID, N'Số PR không được để trống' ErrorDesc
59
--		RETURN '-1'
60
--END
61
IF(@p_INVOICE_NO IS NULL OR @p_INVOICE_NO ='')
62
BEGIN
63
		SELECT '-1' Result, @p_ADDNEW_ID  ADDNEW_ID, N'Số hóa đơn không được để trống' ErrorDesc
64
		RETURN '-1'
65
END
66
IF(@p_INVOICE_DT IS NULL OR @p_INVOICE_DT ='')
67
BEGIN
68
		SELECT '-1' Result, @p_ADDNEW_ID  ADDNEW_ID, N'Ngày hóa đơn không được để trống' ErrorDesc
69
		RETURN '-1'
70
END	
71
-- GIANT 04/11/2021 @p_TYPE_ID
72
--IF((@p_BUY_PRICE IS NULL OR @p_BUY_PRICE ='') AND @p_BUY_PRICE >= 30000000 AND @p_TYPE_ID = 'TSCD')
73
--BEGIN
74
--		SELECT '-1' Result, ''  ADDNEW_ID, N'Giá trị tài sản phải lớn hơn hoặc bằng 30,000,000 khi thuộc nhóm Tài sản cố định' ErrorDesc
75
--		RETURN '-1'
76
--END		
77
--IF((@p_BUY_PRICE IS NULL OR @p_BUY_PRICE ='') AND @p_BUY_PRICE < 30000000 AND @p_TYPE_ID = 'CCLD')
78
--BEGIN
79
--		SELECT '-1' Result, ''  ADDNEW_ID, N'Giá trị tài sản phải bé hơn 30,000,000 khi thuộc nhóm Công cụ lao động' ErrorDesc
80
--		RETURN '-1'
81
--END		
82

    
83
--IF((@p_AMORT_MONTH IS NULL OR @p_AMORT_MONTH ='') AND EXISTS(SELECT * FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID AND @p_AMORT_MONTH >= AMORT_MONTH_MIN AND @p_AMORT_MONTH <= AMORT_MONTH_MAX))
84
--BEGIN
85
--		SELECT '-1' Result, ''  ADDNEW_ID, N'Số tháng khấu hao phải nằm trong (' + (SELECT AMORT_MONTH_MIN FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID) + ' - ' + (SELECT AMORT_MONTH_MAX FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID) + ')' ErrorDesc
86
--		RETURN '-1'
87
--END		
88

    
89

    
90

    
91

    
92

    
93
--IF CONVERT(DATE, @p_AMORT_START_DATE, 103) < CONVERT(DATE,@p_CREATE_DT, 103)
94
--BEGIN
95
--	SELECT '-1' as Result, '' ADDNEW_ID, N'Ngày bắt đầu phân bổ không được nhỏ hơn ngày hiện tại' ErrorDesc
96
--	RETURN '-1'
97
--END
98
--HCQT KHONG XUAT THI KT KHONG DUOC XUAT - thieuvq bo dieu kien nay 051719 - KT duoc phep khi hc khong xuat
99
--DECLARE @_PRE_BRANCH_ID VARCHAR(15) = (SELECT BRANCH_ID FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_ADDNEW_ID)
100
--IF ((@_PRE_BRANCH_ID IS NULL OR @_PRE_BRANCH_ID = '') AND (@p_BRANCH_ID <> ''))
101
--BEGIN
102
--	SELECT '-1' as Result, '' ADDNEW_ID, N'Bạn không được xuất sử dụng khi HCQT chưa xuất' ErrorDesc
103
--	RETURN '-1'
104
--END
105

    
106
DECLARE @l_C_TYPE_ID VARCHAR(50) = (SELECT AA.TYPE_ID FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_ADDNEW_ID)
107
DECLARE @l_C_GR_ID VARCHAR(50) = (SELECT AA.GROUP_ID FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_ADDNEW_ID)
108
DECLARE @l_C_GROUP_CODE VARCHAR(50) = (SELECT AG.GROUP_CODE FROM ASS_GROUP AG WHERE AG.GROUP_ID = @l_C_GR_ID)
109
DECLARE @l_NEW_GROUP_ID VARCHAR(50) = (SELECT AG.GROUP_ID FROM ASS_GROUP AG WHERE AG.GROUP_CODE = @l_C_GROUP_CODE AND AG.TYPE_ID = @p_TYPE_ID)
110
IF(@l_C_TYPE_ID <> @p_TYPE_ID)
111
BEGIN
112
	IF(NOT EXISTS(SELECT AG.GROUP_ID FROM ASS_GROUP AG WHERE AG.GROUP_CODE = @l_C_GROUP_CODE AND AG.TYPE_ID = @p_TYPE_ID))
113
    BEGIN
114
    		SELECT '-1' as Result, @p_ADDNEW_ID ADDNEW_ID, N'Loại tài sản hiện tại không có trong Nhóm tài sản' + @p_TYPE_ID ErrorDesc
115
        	RETURN '-1'
116
    END
117
    ELSE UPDATE ASS_ADDNEW SET GROUP_ID = @l_NEW_GROUP_ID WHERE ADDNEW_ID = @p_ADDNEW_ID
118
END
119

    
120
BEGIN TRANSACTION
121

    
122
----BO 2 KY TU DAC BIET & VA < TRONG DIEN GIAI HACH TOAN - THIEUVQ 020719 - BEGIN
123
SET @p_CORE_NOTE = REPLACE(@p_CORE_NOTE,'&', 'VA')
124
SET @p_CORE_NOTE = REPLACE(@p_CORE_NOTE,'<', ' ')
125
--------------END---------------
126

    
127
------nhap moi la luon ghi tang tai san Chaunth 031218 - BEGIN -----
128
IF @p_BRANCH_ID <>'' OR @p_BRANCH_ID IS NOT NULL SET @p_ENTRY_BOOKED = 'Y'
129
--END----------
130
	UPDATE ASS_ADDNEW
131
	SET 		
132
		[AMORT_START_DATE]	= (CASE WHEN @p_AMORT_START_DATE IS NULL OR @p_AMORT_START_DATE = '' THEN NULL ELSE CONVERT(DATETIME, @p_AMORT_START_DATE, 103) END),-----------Them	
133
		[AMORT_END_DATE]	= (CASE WHEN @p_AMORT_END_DATE IS NULL OR @p_AMORT_END_DATE = '' THEN NULL ELSE CONVERT(DATETIME, @p_AMORT_END_DATE, 103) END),-----------Them				
134
		[AMORT_MONTH]		= @p_AMORT_MONTH,
135
		[AMORT_RATE]		= @p_AMORT_RATE,		
136
		[CORE_NOTE]			= @p_CORE_NOTE,
137
		[ENTRY_BOOKED]		= @p_ENTRY_BOOKED, -- THEM KHI NHAP MOI CO TANG TAI SAN KHONG		
138
		[MAKER_ID_KT]		= @p_MAKER_ID_KT,
139
		[CREATE_DT_KT]			= GETDATE(),
140
		--[CHECKER_ID_KT]		= @p_CHECKER_ID,
141
		--[APPROVE_DT_KT]		=CASE WHEN @p_APPROVE_DT = '' OR @p_APPROVE_DT IS NULL THEN NULL ELSE CONVERT(DATETIME, @p_APPROVE_DT, 103) END,		
142
		[POSTED_STATUS]		= @p_POSTED_STATUS,-- THEM 14/04/2014
143
		[BRANCH_CREATE]		= @p_BRANCH_CREATE,-- THEM 14/04/2014
144
		--
145
		BUY_DATE = CONVERT(DATETIME,@p_BUY_DATE, 103),
146
		[TYPE_ID] = @p_TYPE_ID,
147
		GROUP_ID = @l_NEW_GROUP_ID,
148
		ASSET_NAME = @p_ASSET_NAME,
149
		ASSET_SERIAL_NO = @p_ASSET_SERIAL_NO,
150
		ASSET_DESC = @p_ASSET_DESC,
151
		BRANCH_ID = @p_BRANCH_ID,
152
		DEPT_ID = @p_DEPT_ID,
153
		EMP_ID = @p_EMP_ID,
154
		DIVISION_ID = @p_DIVISION_ID,
155
		BUY_PRICE = @p_BUY_PRICE,
156
		AMORT_AMT = @p_BUY_PRICE,
157
		IS_MULTIPLE = @p_IS_MULTIPLE,
158
		QTY = @p_QTY,
159
		PO_ID = @p_PO_ID,
160
		PD_ID = @p_PD_ID,
161
		REF_ASSET_ID = @p_REF_ASSET_ID,
162
		REF_AMORTIZED_AMT = @p_REF_AMORTIZED_AMT,
163
		WARRANTY_MONTHS = @p_WARRANTY_MONTHS,
164
		NOTES = @p_NOTES,		
165
		RECORD_STATUS = @p_RECORD_STATUS,
166
		--AUTH_STATUS = @p_AUTH_STATUS,
167
		CONSTRUCT_ID = @p_CONSTRUCT_ID,
168
		--
169
		[ACCOUNT_GL] = @p_ACCOUNT_GL,
170
		[VAT] = @VAT,
171
		[PRICE_VAT] = @PRICE_VAT,
172
		---khiemchg BO SUNG CAP NHAT AUTH_STATUS =E cho gửi phê duyệt
173
		AUTH_STATUS_KT='E',
174
        PR_CODE = @p_PR_CODE
175
      ,WIN_CRACK = @p_WIN
176
      ,OFFICE_CRACK = @p_OFFICE, PL_CODE = @p_PL_CODE
177
      , UNIT = @p_UNIT
178
	WHERE ADDNEW_ID = @p_ADDNEW_ID
179
	IF @@Error <> 0 GOTO ABORT
180
SET @p_ASS_PO_ID = (SELECT AA.PO_ID FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_ADDNEW_ID)
181
	UPDATE ASS_PO
182
	SET PO_CODE=@p_PO_CODE,
183
	    INVOICE_DATE = CONVERT(DATETIME,@p_INVOICE_DT,103),
184
		INVOICE_NO =@p_INVOICE_NO, INVOICE_SYMPOL = @p_INVOICE_SYMPOL,
185
		ADDNEW_ID =@p_ADDNEW_ID
186
		WHERE ASSPO_ID = @p_ASS_PO_ID
187
	IF @@Error <> 0 GOTO ABORT
188
	
189
	-- HUYHT 06/05/2022: XÓA CÁC PROCESS UPDATE CŨ
190
	DELETE dbo.PL_PROCESS WHERE REQ_ID = @p_ADDNEW_ID AND PROCESS_ID = 'UPDATE'
191
		-- GIANT Insert to table PL_PROCESS
192
	INSERT INTO dbo.PL_PROCESS
193
					(
194
					    REQ_ID,
195
					    PROCESS_ID,
196
					    CHECKER_ID,
197
					    APPROVE_DT,
198
					    PROCESS_DESC,
199
					    NOTES
200
					)
201
					VALUES
202
					(   @p_ADDNEW_ID,       
203
						'UPDATE',
204
					    @p_MAKER_ID_KT,        
205
					    GETDATE(), 
206
					    N'Giao dịch viên cập nhật hạch toán thành công' ,      
207
					    N'Giao dịch viên cập nhật hạch toán'       
208
					 )
209

    
210
COMMIT TRANSACTION
211
SELECT '0' as Result, @p_ADDNEW_ID  ADDNEW_ID, '' ErrorDesc
212
RETURN '0'
213
ABORT:
214
BEGIN
215
		ROLLBACK TRANSACTION
216
		SELECT '-1' as Result, @p_ADDNEW_ID ADDNEW_ID, '' ErrorDesc
217
		RETURN '-1'
218
End