Project

General

Profile

ASS_ADDNEW_KT_BVB_Appr.txt

Luc Tran Van, 08/26/2022 10:46 AM

 
1

    
2
ALTER PROCEDURE [dbo].[ASS_ADDNEW_KT_BVB_Appr]
3
	@p_ADDNEW_ID VARCHAR(15) = NULL,
4
	@p_CHECKER_ID	varchar(15)  = NULL,
5
	@p_APPROVE_DT	VARCHAR(20) = NULL
6
AS
7
	DECLARE @l_SUP_ID			varchar(15)
8
	DECLARE @l_BUY_DATE			datetime = NULL
9
	DECLARE @l_TYPE_ID			varchar(15)  = NULL
10
	DECLARE @l_GROUP_ID			varchar(15)  = NULL
11
	DECLARE @l_ASSET_NAME		nvarchar(1000)  = NULL
12
	DECLARE @l_ASSET_SERIAL_NO	nvarchar(max)  = NULL
13
	DECLARE @l_ASSET_DESC		nvarchar(max) = NULL
14
	DECLARE @l_BRANCH_ID		varchar(15)  = NULL
15
	DECLARE @l_DEPT_ID			varchar(15)  = NULL
16
	DECLARE @l_EMP_ID			varchar(15)  = NULL
17
	DECLARE @l_DIVISION_ID		varchar(15)  = NULL
18
	DECLARE @l_BUY_PRICE		decimal(18)  = NULL
19
	DECLARE @l_AMORT_AMT		decimal(18)  = NULL
20
	DECLARE @l_AMORT_MONTH		decimal(18,2) = NULL
21
	DECLARE @l_AMORT_RATE		decimal(18,2)  = NULL
22
	DECLARE @l_IS_MULTIPLE		varchar(1)  = NULL
23
	DECLARE @l_QTY				int = NULL
24
	DECLARE @l_PO_ID			varchar(15)  = NULL
25
	DECLARE @l_PD_ID			varchar(15)  = NULL
26
	DECLARE @l_REF_ASSET_ID		varchar(15)  = NULL
27
	DECLARE @l_REF_AMORTIZED_AMT	decimal(18)  = NULL
28
	DECLARE @l_WARRANTY_MONTHS	int = NULL
29
	DECLARE @l_NOTES			nvarchar(1000)  = NULL
30
	DECLARE @l_CORE_NOTE nvarchar(500) = NULL
31
	declare @l_ENTRY_BOOKED		varchar(1)	= null
32
	DECLARE @l_MAKER_ID			varchar(15)
33
	DECLARE @l_AUTH_STATUS_KT	varchar(1)
34
	declare @l_DO_BRANCH_ID varchar(15)
35
	DECLARE @l_CONSTRUCT_ID		varchar(15) = NULL
36
	DECLARE @l_USE_DATE_KT DATETIME = NULL
37
	DECLARE @l_AMORTIZED_AMT DECIMAL = 0
38
	DECLARE @l_AMORTIZED_MONTH DECIMAL = 0
39
	DECLARE	@l_AMORT_STATUS		nvarchar(20)		
40
	DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime
41
	DECLARE @l_FIRST_AMORT_AMT	numeric(18,0)
42
	DECLARE @l_MONTHLY_AMT 	numeric(18,0)
43
	
44
	DECLARE @l_HO_BRN_ID varchar(15)
45
	DECLARE @l_WAH_ID varchar(15)
46
	DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103)
47
	DECLARE @l_USE_DATE varchar(15)
48
	DECLARE @l_AMORTDT_ID VARCHAR(15) = NULL
49
	DECLARE @l_ASS_TYPE varchar(1) = '1'
50
	declare @l_TRN_REF_NO varchar(20)
51
	DECLARE @l_ET_ID varchar(15)
52
	DECLARE @l_VALUE_ID varchar(15)
53
	DECLARE @l_ASSET_ID varchar(15)
54
	DECLARE @l_ASSET_CODE nvarchar(100)
55
	DECLARE @l_WAHDT_ID varchar(15)
56
	DECLARE @l_LOCHIST_ID varchar(15)
57
	
58
	DECLARE @PRICE_NONE_VAT DECIMAL(18,0)
59
	DECLARE @PRICE_VAT DECIMAL(18,0)
60

    
61
	DECLARE @l_SUPPEND_GL varchar(50)
62
	DECLARE @l_ASSET_GL  varchar(50)
63
	declare @l_ASSET_VALUE decimal(18,0)	
64
	DECLARE @l_EXP_ACCTNO  varchar(50)--TK CHI PHI
65
	DECLARE @l_AMORT_ACCTNO  varchar(50)--TK CHO PHAN BO 
66
	DECLARE @l_DR_BRANCH VARCHAR(15) -- DV GHI NO
67
	DECLARE @ERRORSYS NVARCHAR(15) = '' 
68
	DECLARE @ACCOUNT_GL VARCHAR(50), @ACCOUNT_VAT VARCHAR(50)
69
	DECLARE @i INT, @l_USE_DATE_CUR DATETIME = NULL
70
	DECLARE @l_CURR_AMORT_AMT DECIMAL(18,0) = 0
71
	DECLARE @sExecDT DATETIME
72
	DECLARE @l_AMORT_TERM VARCHAR(500), @l_AMORT_DESC VARCHAR(500)
73
	DECLARE @l_OLD_QT INT, @l_CUR_QT INT -- 26/12/2014 THIEUVQ
74
	DECLARE @l_IS_AMORT_WR VARCHAR(1) = '1' --THIEUVQ 27/07/2015 THEM DIEU KIEN KIEM TRA KHI NAO GHI NHAN KHAU HAO
75
	DECLARE @l_BRANCH_CREATE VARCHAR(15), @BRN_TYPE_TRN VARCHAR(15), @BRN_TYPE_REC VARCHAR(15), @TCCT_TRN_ACCTNO VARCHAR(50), @TCCT_REC_ACCTNO VARCHAR(50)
76
	DECLARE @l_VAT DECIMAL(18,0), @ERROR NVARCHAR(500) = ''
77

    
78
	DECLARE @l_DEP_CODE VARCHAR(15)
79
	DECLARE @l_COST_MASTER_ID VARCHAR(15)
80
	DECLARE @l_COSTDT_ID VARCHAR(15)
81

    
82
	DECLARE @CUR_DATE DATETIME = GETDATE()
83
	--lay thong tin giao dich
84
	SELECT	@l_BUY_DATE = BUY_DATE, @l_TYPE_ID = A.[TYPE_ID], @l_GROUP_ID = A.GROUP_ID, @l_ASSET_NAME = ASSET_NAME,
85
			@l_ASSET_SERIAL_NO = ASSET_SERIAL_NO, @l_ASSET_DESC = ASSET_DESC, @l_CONSTRUCT_ID = CONSTRUCT_ID,
86
			@l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID, @l_EMP_ID = EMP_ID, @l_DIVISION_ID = DIVISION_ID,
87
			@l_BUY_PRICE = BUY_PRICE, @l_AMORT_AMT = AMORT_AMT, @l_AMORT_START_DATE = AMORT_START_DATE,
88
			@l_AMORT_MONTH = A.AMORT_MONTH, 
89
			--@l_AMORT_MONTH = CASE WHEN G.AMORT_MONTH<>0 THEN G.AMORT_MONTH ELSE A.AMORT_MONTH END,
90
			@l_AMORT_RATE = A.AMORT_RATE, @l_CORE_NOTE = A.CORE_NOTE,
91
			@l_IS_MULTIPLE = IS_MULTIPLE, @l_QTY = QTY, @l_PO_ID = PO_ID,@l_PD_ID=PD_ID, @l_REF_ASSET_ID = REF_ASSET_ID,
92
			@l_REF_AMORTIZED_AMT = REF_AMORTIZED_AMT, @l_WARRANTY_MONTHS = WARRANTY_MONTHS, @l_NOTES = A.NOTES, @l_ENTRY_BOOKED = ENTRY_BOOKED, 
93
			@l_MAKER_ID = A.MAKER_ID_KT, @l_AUTH_STATUS_KT = A.AUTH_STATUS_KT, @ACCOUNT_GL = A.ACCOUNT_GL, @PRICE_VAT = A.PRICE_VAT,@l_BRANCH_CREATE= A.BRANCH_CREATE, @l_VAT = A.VAT
94
	FROM ASS_ADDNEW A
95
	INNER JOIN ASS_GROUP G on G.GROUP_ID = A.GROUP_ID
96
	WHERE ADDNEW_ID = @p_ADDNEW_ID
97
	IF @@Error <> 0 GOTO ABORT
98
	
99
	------LUCTV: 21-12-2018KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET-----
100
	IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE AUTH_STATUS_KT ='R' AND ADDNEW_ID =@p_ADDNEW_ID))
101
	BEGIN
102
				--ROLLBACK TRANSACTION
103
				SELECT '-1' as Result, '' ADDNEW_ID, N'Thông tin nhập mới tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc
104
				RETURN '-1'
105
	END
106
	------PHONGNT: 26-08-2022 KIEM TRA NEU GDV CHUA CAP NHAT PHIEU THI KHONG CHO PHEP DUYET-----
107
	IF((SELECT MAKER_ID_KT FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_ADDNEW_ID) IS NULL)
108
	BEGIN
109
				--ROLLBACK TRANSACTION
110
				SELECT '-1' as Result, '' ADDNEW_ID, N'Thông tin nhập mới tài sản chưa được GDV cập nhật. Vui lòng cập nhật thông tin trước khi duyệt' ErrorDesc
111
				RETURN '-1'
112
	END
113

    
114
	/*******DIEN GIAI PHAN BO CHI PHI ***********/
115
	SET @l_AMORT_DESC = 'PHAN BO CHI PHI CCLD KY ' + convert(varchar(10),month(getdate())) + ' ' + convert(varchar(10),year(getdate()))
116

    
117
	/********** chekc vadilation ************/
118
 	IF (@l_AUTH_STATUS_KT = 'A')
119
 		SET @ERRORSYS = 'ASS-99998' 	
120
 	
121
 	/*********** Kiem tra gia tri khau hao voi gia tri 30Tr **************/
122
	SELECT @l_ASSET_VALUE = CONVERT(decimal(18,0), ParaValue) FROM SYS_PARAMETERS WHERE ParaKey = 'ASSET_VALUE'
123
	IF (@l_TYPE_ID = 'CCLD' AND @l_AMORT_AMT >= @l_ASSET_VALUE)
124
		SET @ERRORSYS = 'ASS-00011'
125

    
126
	--IF @l_AMORT_MONTH < 1 AND @l_AMORT_MONTH IS NOT NULL AND @l_AMORT_MONTH <> ''
127
	--BEGIN 
128
	--	SET @ERRORSYS = 'ASS-00020'
129
	--END
130
	--IF (@l_ASS_TYPE = 'TSCD' AND @l_AMORT_AMT < @l_ASSET_VALUE)
131
	--	SET @ERRORSYS = 'ASS-00012'
132
		
133
	/************ Xuat tai san thi phai hach toan tang tai sai ****************/
134
	--IF (@l_ENTRY_BOOKED = 'N' AND (@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>''))
135
	--	SET @ERRORSYS = 'ASS-00013'	
136

    
137
	/*************** Doi voi CCLD phai khau hao het trong  nam tai chinh ***********/
138
	
139
	--Tinh ngay ket thuc khau hao
140
	SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_AMORT_START_DATE) - 1
141

    
142
	IF @ERRORSYS <> '' 
143
	BEGIN
144
		SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
145
		RETURN '0'
146
	END
147
	
148
	--Lay thong tin nha cung cap
149
	SELECT @l_SUP_ID = SUP_ID FROM TR_PO_MASTER A WHERE A.PO_ID = @l_PO_ID
150
	
151
	--BRN_ID HOI SO
152
	SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS'
153
	
154
	--Lay thong tin kho mac dinh
155
	--SELECT @l_WAH_ID = P.ParaValue FROM SYS_PARAMETERS P WHERE P.ParaKey='ASSET_WAREHOUSE'
156
	SET @l_WAH_ID = @l_BRANCH_CREATE
157

    
158
	--Lay suppend GL - THIEUVQ 26092016 - GHI NHAN THEO TAI KHOAN NHAP TU PHAN MEM
159
	--SET @l_SUPPEND_GL = UPPER(@ACCOUNT_GL) + 'XXXX'
160
	SELECT @l_SUPPEND_GL = A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL'
161

    
162
	--SELECT * FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL'
163
	----THIEUVQ - 30/05/2014 DOI VOI CCLD THI GHI NHAN TAI DON VI
164
	--SET @l_SUPPEND_GL = SUBSTRING(@l_SUPPEND_GL,1,LEN(@l_SUPPEND_GL) - 4) + 'XXXX'
165

    
166
	--TAI KHOAN HACH TOAN VAT
167
	SET  @ACCOUNT_VAT = (SELECT A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_VAT')
168

    
169
	--ASSET_GL
170
	SELECT @l_ASSET_GL = ASSET_ACCTNO,
171
			@l_EXP_ACCTNO = EXP_ACCTNO,
172
			@l_AMORT_ACCTNO = AMORT_ACCTNO
173
	FROM ASS_GROUP A 
174
	WHERE A.GROUP_ID = @l_GROUP_ID
175
	
176
	--Lay branch_id cua user duyet
177
	select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @P_CHECKER_ID	
178
	
179
	--Trang thai khau hao
180
	IF (@l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '') --Chua xuat su dung
181
	BEGIN
182
		SET @l_AMORT_STATUS = 'VNM'
183
		SET @l_AMORT_START_DATE = NULL
184
		SET @l_AMORT_END_DATE = NULL
185
		SET @l_MONTHLY_AMT = NULL
186
		SET @l_FIRST_AMORT_AMT = NULL
187
		SET @l_USE_DATE = NULL
188
	END
189
	ELSE
190
	IF @l_AMORT_MONTH = 0 OR @l_AMORT_START_DATE IS NULL OR @l_AMORT_START_DATE = ''
191
		BEGIN
192
			SET @l_AMORT_STATUS = 'KKH'
193
		
194
			SET @l_AMORT_START_DATE = NULL
195
			SET @l_AMORT_END_DATE = NULL
196
			SET @l_MONTHLY_AMT = 0
197
			SET @l_FIRST_AMORT_AMT = 0
198
			SET @l_USE_DATE = @sToday
199
			SET @l_USE_DATE_KT = CONVERT(DATETIME, @sToday, 103)
200
		END
201
	ELSE
202
		BEGIN
203
			SET @l_AMORT_STATUS = 'CKH'
204
		
205
			SET @l_USE_DATE = @sToday
206
			SET @l_USE_DATE_KT = CONVERT(DATETIME, @sToday, 103)
207
			--Ngay bat dau khau hao mac dinh la ngay hien tai	
208
			IF(@l_AMORT_START_DATE IS NULL)	---THIEUVQ MOI THEM
209
			BEGIN
210
				SET @l_AMORT_START_DATE = GETDATE()
211
			END
212
				
213
			--Tinh so tien khau hao thang dau tien va so tien khau hao hang thang
214
			SET @l_MONTHLY_AMT = ROUND(@l_AMORT_AMT / @l_AMORT_MONTH, 0)
215
			SET @l_FIRST_AMORT_AMT = @l_MONTHLY_AMT
216
			--SET @l_FIRST_AMORT_AMT = ROUND(@l_MONTHLY_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE) * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), -3)
217
		END
218
	
219
BEGIN TRANSACTION
220

    
221
	--UPDATE GIAO DICH ADDNEW
222
	
223
	UPDATE ASS_ADDNEW 
224
	SET AUTH_STATUS_KT = 'A',
225
		CHECKER_ID_KT = @p_CHECKER_ID,
226
		APPROVE_DT_KT = CONVERT(DATETIME, @p_APPROVE_DT, 103) ,
227
		
228
		POSTED_STATUS = 'Y'
229
	WHERE ADDNEW_ID = @p_ADDNEW_ID
230
	IF @@Error <> 0 GOTO ABORT
231

    
232
	IF (@l_IS_MULTIPLE = '0') --nhap tai san don le
233
	BEGIN		
234
		--luctv:Begin		
235
		--Phat sinh Asset_ID
236
		EXEC SYS_CodeMasters_Gen 'ASS_MASTER', @l_ASSET_ID out
237
		IF @l_ASSET_ID='' OR @l_ASSET_ID IS NULL GOTO ABORT		
238
		
239
		--Phat sinh ma tai san
240
		EXEC ASS_CODE_Gen @l_BRANCH_CREATE,@l_TYPE_ID, @l_GROUP_ID, @l_ASSET_CODE OUT
241
		IF @l_ASSET_CODE='' OR @l_ASSET_CODE IS NULL GOTO ABORT
242
		
243
		--Insert bang ASS_MASTER
244
		INSERT INTO ASS_MASTER
245
		(
246
			[ASSET_ID],
247
			[TYPE_ID],
248
			[GROUP_ID],
249
			[ASSET_CODE],
250
			[ASSET_NAME],
251
			[ASSET_SERIAL_NO],
252
			[ASSET_DESC],
253
			[SUP_ID],
254
			[BUY_PRICE],
255
			[AMORT_AMT],
256
			[ASS_TYPE],
257
			[BRANCH_ID],
258
			[DEPT_ID],
259
			[EMP_ID],
260
			[DIVISION_ID],
261
			[BUY_DATE],
262
			[USE_DATE],
263
			[SPECIAL_ASS],
264
			[AMORT_MONTH],
265
			[AMORT_RATE],
266
			[AMORT_START_DATE],
267
			[AMORT_END_DATE],
268
			[FIRST_AMORT_AMT],
269
			[MONTHLY_AMORT_AMT],
270
			[AMORTIZED_MONTH],
271
			[AMORTIZED_AMT],
272
			[PO_ID],
273
			[PD_ID],
274
			[WAREHOUSE_ID],
275
			[LOCATION],
276
			[REF_ASSET_ID],
277
			[REF_AMORTIZED_AMT],
278
			[WARRANTY_MONTHS],
279
			[NOTES],
280
			[AMORT_STATUS],
281
			[ASS_STATUS],
282
			[ASS_STATUS_DESC],
283
			[ENTRY_BOOKED],
284
			[RECORD_STATUS],
285
			[AUTH_STATUS],
286
			[MAKER_ID],
287
			[CREATE_DT],
288
			[CHECKER_ID],
289
			[APPROVE_DT],
290
			[CONSTRUCT_ID],
291
			[USE_STATUS],
292
			[BRANCH_CREATE],
293
			[ACCOUNT_GL], VAT,PRICE_VAT,
294
			[BUY_DATE_KT], [USE_DATE_KT]
295
		)
296
		VALUES
297
		(
298
			@l_ASSET_ID,
299
			@l_TYPE_ID ,
300
			@l_GROUP_ID,
301
			@l_ASSET_CODE,
302
			@l_ASSET_NAME,
303
			@l_ASSET_SERIAL_NO,
304
			@l_ASSET_DESC,
305
			@l_SUP_ID,
306
			@l_BUY_PRICE,
307
			@l_AMORT_AMT,
308
			@l_ASS_TYPE,
309
			@l_BRANCH_ID,
310
			@l_DEPT_ID,
311
			@l_EMP_ID,
312
			@l_DIVISION_ID,
313
			CONVERT(DATETIME, @l_BUY_DATE, 103),
314
			CONVERT(DATETIME, @l_USE_DATE, 103), 
315
			'0',
316
			@l_AMORT_MONTH,
317
			@l_AMORT_RATE,
318
			@l_AMORT_START_DATE,
319
			@l_AMORT_END_DATE,
320
			@l_FIRST_AMORT_AMT,
321
			@l_MONTHLY_AMT,
322
			0,
323
			0,
324
			@l_PO_ID,
325
			@l_PD_ID,
326
			NULL,
327
			NULL,
328
			@l_REF_ASSET_ID,
329
			@l_REF_AMORTIZED_AMT,
330
			@l_WARRANTY_MONTHS,
331
			@l_NOTES,
332
			@l_AMORT_STATUS,
333
			'1', --Mac dinh moi insert vao tinh trang tai san la binh thuong
334
			N'',
335
			@l_ENTRY_BOOKED,
336
			'1',
337
			'A',
338
			@l_MAKER_ID,
339
			CONVERT(DATETIME, @sToday, 103),
340
			@p_CHECKER_ID,
341
			CONVERT(DATETIME, @p_APPROVE_DT, 103) ,
342
			@l_CONSTRUCT_ID,
343
			'BT',
344
			@l_BRANCH_CREATE,
345
			@ACCOUNT_GL, @l_VAT,@PRICE_VAT,
346
			CONVERT(DATETIME, @sToday, 103), @l_USE_DATE_KT
347
		)
348
		IF @@Error <> 0 GOTO ABORT	
349

    
350
		--INSERT CHI TIET TAI SAN
351
		INSERT INTO ASS_MASTER_PO SELECT @l_ASSET_ID, POAD.PO_ID, GDDT.TRPO_ID,CONVERT(DATETIME, @sToday, 103)		
352
		FROM ASS_ADDNEW_PO POAD
353
		LEFT JOIN ASS_ADDNEW_GD GDDT ON GDDT.PO_ID = POAD.PO_ID AND GDDT.ADDNEW_ID = @p_ADDNEW_ID
354
		WHERE POAD.ADDNEW_ID = @p_ADDNEW_ID 
355
		
356
		--Insert bang ASS_WARRANTY_DET tu bang ASS_ADDNEW_DT
357
		insert into ASS_WARRANTY_DT(ASSET_ID, WAR_DT, WAR_CONTENT)
358
		select @l_ASSET_ID, A.WAR_DT, MAX(A.WAR_CONTENT)
359
		from ASS_ADDNEW_DT A 
360
		WHERE A.ADDNEW_ID= @p_ADDNEW_ID
361
		GROUP BY A.WAR_DT
362
		IF @@Error <> 0 GOTO ABORT
363
		
364
		--INSERT VAO BANG ASS_TRANSACTIONS
365
		INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS, 	
366
				[MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT]
367
		)VALUES
368
		(
369
			@l_ASSET_ID, @p_ADDNEW_ID, 'ADD_NEW', CONVERT(DATETIME, @sToday, 103), '1', 'A', 
370
			@l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, 	CONVERT(DATETIME, @p_APPROVE_DT, 103) 
371
		)
372
		IF @@Error <> 0 GOTO ABORT	
373
		
374
		--IF (@l_ENTRY_BOOKED = 'Y') --Neu nhap TS va hach toan tang tai san
375
		IF (@l_ENTRY_BOOKED = 'Y' ) --Neu nhap TS va hach toan tang tai san thieuvq 15/04/2014
376
		BEGIN
377
			--insert dbo.ASS_VALUES
378
			EXEC SYS_CodeMasters_Gen 'ASS_VALUES', @l_VALUE_ID out
379
			IF @l_VALUE_ID='' OR @l_VALUE_ID IS NULL GOTO ABORT			
380
			
381
			INSERT INTO ASS_VALUES
382
			(
383
				VALUE_ID, ASSET_ID, BRANCH_ID, TRN_DT, CRDR, ASSET_AMT, [DESCRIPTION], TRN_ID, TRN_TYPE,
384
				RECORD_STATUS, AUTH_STATUS, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT, AMORT_AMT
385
			)
386
			VALUES
387
			(
388
				@l_VALUE_ID, @l_ASSET_ID, @l_BRANCH_CREATE, CONVERT(datetime, @sToday, 103), 'C', @l_BUY_PRICE, N'NHAP MOI TSCD/CCLD', @p_ADDNEW_ID, 'ASS_ADDNEW',
389
				'1','A',@l_MAKER_ID, CONVERT(datetime, @sToday, 103), @p_CHECKER_ID, CONVERT(datetime, @sToday, 103), @l_AMORT_AMT
390
			)
391
			IF @@Error <> 0 GOTO ABORT		
392
			
393
			/**THIEUVQ 211118 - DIEU CHINH GOM LAI 1 BUT TOAN - NEU NHAP VA XUAT THI GOM LAI 1 BUT TOAN**/
394
			IF (@l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '') --AND @l_TYPE_ID = 'TSCD'
395
			BEGIN
396
				--Insert vao bang dbo.ASS_ENTRIES_POST			
397
				EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_SUPPEND_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
398
					@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
399
					@ERROR OUT
400
				IF @ERROR <> '0' GOTO ABORT	
401
			END
402
			ELSE IF @l_TYPE_ID = 'TSCD'
403
			BEGIN
404
				--Insert vao bang dbo.ASS_ENTRIES_POST			
405
				EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_SUPPEND_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
406
					@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
407
					@ERROR OUT
408
				IF @ERROR <> '0' GOTO ABORT	
409
			END
410
		END
411
		
412
		--Insert nhap kho
413
		EXEC SYS_CodeMasters_Gen 'ASS_WAREHOUSE_DT', @l_WAHDT_ID out
414
		IF @l_WAHDT_ID='' OR @l_WAHDT_ID IS NULL GOTO ABORT
415
		
416
		INSERT INTO ASS_WAREHOUSE_DT(WAHDT_ID, WAH_ID, ASSET_ID, IN_DATE, OUT_DATE, STATUS)
417
		VALUES(@l_WAHDT_ID, @l_WAH_ID, @l_ASSET_ID, GETDATE(), NULL, 'I')	
418
		IF @@Error <> 0 GOTO ABORT	
419
				
420
		IF @l_BRANCH_ID IS NOT NULL AND @l_BRANCH_ID <> ''
421
		BEGIN
422
				PRINT 'A'
423
				UPDATE ASS_WAREHOUSE_DT
424
				SET OUT_DATE = GETDATE(),
425
					STATUS = 'O'
426
				WHERE WAHDT_ID = @l_WAHDT_ID
427
				IF @@Error <> 0 GOTO ABORT
428
				
429
				--Insert bang ASS_LOCATION_HIST
430
				EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out
431
				IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT
432
				
433
				INSERT INTO ASS_LOCATION_HIST
434
				(
435
					LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID, 
436
					EMP_ID, LOCATION, ISLEAF, PARENT_ID
437
				)
438
				VALUES
439
				(
440
					@l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @l_BRANCH_ID, @l_DEPT_ID,
441
					@l_EMP_ID, '', 'Y', NULL
442
				)
443
				IF @@Error <> 0 GOTO ABORT	
444
				
445
				---THIEUVQ 101018 NEU XUAT KHAC DON VI THI HACH TOAN
446
				--BEGIN
447
				--Insert vao bang dbo.ASS_ENTRIES_POST
448
				IF @l_BRANCH_CREATE <> @l_BRANCH_ID
449
				BEGIN
450

    
451
					IF @l_TYPE_ID = 'TSCD'
452
					BEGIN
453
						SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE
454
						SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID												
455

    
456
						/*****THIEUVQ 211118 - CHAU XAC NHAN KHONG HACH TOAN QUA TK TRUNG GIAN NUA*******/
457
						----NEU CN XUAT CHO PGD THI KHONG HACH TOAN THONG QUA TK TRUNG GIAN TCCT
458
						--IF @BRN_TYPE_TRN = 'CN' AND @BRN_TYPE_REC = 'PGD'
459
						--BEGIN
460
							EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
461
								@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
462
								@ERROR OUT
463
							IF @ERROR <> '0' GOTO ABORT						
464
						--END
465
						--ELSE
466
						--BEGIN
467
						--	---BUT TOAN DON VI CHUYEN
468
						--	EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @TCCT_TRN_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
469
						--		@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
470
						--		@ERROR OUT
471
						--	IF @ERROR <> '0' GOTO ABORT
472
						--	---BUT TOAN DON VI NHAN
473
						--	EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @TCCT_REC_ACCTNO, @l_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
474
						--		@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
475
						--		@ERROR OUT
476
						--	IF @ERROR <> '0' GOTO ABORT											
477
						--END
478
					END
479
					ELSE ---CCLD
480
					BEGIN
481
						SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE
482
						SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID
483
						
484
						EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_SUPPEND_GL, @l_BRANCH_CREATE, @l_AMORT_ACCTNO, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
485
							@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
486
							@ERROR OUT
487
						IF @ERROR <> '0' GOTO ABORT
488
						/*****THIEUVQ 211118 - CHAU XAC NHAN KHONG HACH TOAN QUA TK TRUNG GIAN NUA*******/
489
						----NEU CN XUAT CHO PGD THI KHONG HACH TOAN THONG QUA TK TRUNG GIAN TCCT
490
						----CO TK TAI SAN - NO TK KHAU HAO
491
						--IF @BRN_TYPE_TRN = 'CN' AND @BRN_TYPE_REC = 'PGD'
492
						--BEGIN
493
							--EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_AMORT_ACCTNO, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
494
							--	@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
495
							--	@ERROR OUT
496
							--IF @ERROR <> '0' GOTO ABORT						
497
						--END
498
						--ELSE
499
						--BEGIN
500
						--	---BUT TOAN DON VI CHUYEN
501
						--	EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @TCCT_TRN_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
502
						--		@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
503
						--		@ERROR OUT
504
						--	IF @ERROR <> '0' GOTO ABORT
505
						--	---BUT TOAN DON VI NHAN
506
						--	EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @TCCT_REC_ACCTNO, @l_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
507
						--		@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
508
						--		@ERROR OUT
509
						--	IF @ERROR <> '0' GOTO ABORT											
510
						--END
511
					END
512
				END
513
				ELSE IF @l_TYPE_ID = 'CCLD' --NEU LA CCLD KHI XUAT CUNG DON VI VAN HACH TOAN
514
				BEGIN
515
					EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_SUPPEND_GL, @l_BRANCH_CREATE, @l_AMORT_ACCTNO, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
516
						@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
517
						@ERROR OUT
518
					IF @ERROR <> '0' GOTO ABORT
519
				END
520
				--END
521

    
522
				---THIEUVQ BO DOAN NAY VI KHAU HAO LUI CHAY CHUNG KY KHAU HAO THANG 211218
523
				-----Phong added 17/6/2018: xu ly khao hao ngay qua khu :: starts
524
				--IF @l_BRANCH_ID IS NOT NULL AND @l_BRANCH_ID <> '' AND @l_TYPE_ID = 'TSCD' AND EXISTS(
525
				--	SELECT 1
526
				--	FROM ASS_AMORT
527
				--	WHERE PROCESS_STATUS = 'S'
528
				--	AND BRANCH_ID = @l_BRANCH_ID
529
				--	AND ASSET_TYPE = @l_ASS_TYPE
530
				--	AND EXECUTE_DT >= @l_AMORT_START_DATE
531
				--)
532
				--BEGIN
533
				--	EXEC [dbo].[ASS_AMORT_BACKDATED] @l_ASSET_ID, @l_BRANCH_ID, @l_ASS_TYPE
534
				--END
535
				---Phong added 17/6/2018: xu ly khao hao ngay qua khu :: ends
536
				/***********PHAN BO HOI SO CHIU CHI PHI -- BEGIN 201218**************/
537
				SET @l_DEP_CODE = (SELECT A.DEP_CODE FROM CM_DEPARTMENT A WHERE A.DEP_ID = @l_DEPT_ID)
538
				IF @l_DEP_CODE IS NOT NULL AND @l_DEP_CODE <> ''
539
				BEGIN
540
					IF @l_BRANCH_ID <> @l_HO_BRN_ID AND LEFT(@l_DEP_CODE,3) = '069' ------CN NHAP NHUNG HOI SO CHIU CHI PHI
541
					BEGIN
542
						--LAY PHONG BAN CUA HOI SO TUONG UNG MA PHONG BAN CN
543
						SET @l_DEPT_ID = (SELECT DEP_ID FROM CM_DEPARTMENT A WHERE A.DEP_CODE = @l_DEP_CODE AND BRANCH_ID = @l_HO_BRN_ID)
544
						IF @l_DEPT_ID IS NOT NULL AND @l_DEPT_ID <> ''
545
						BEGIN
546
							-----THEM VAO BANG ASS_COST_ALLOCATION
547
				
548
							EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOCATION', @l_COST_MASTER_ID out
549
							INSERT INTO ASS_COST_ALLOCATION (COS_ID,ASSET_ID,NOTE,TRN_DATE,[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],EDITOR_ID, EDITOR_DT,[CHECKER_ID],[APPROVE_DT],BRANCH_CREATE,XML_TEMP,SECURE_01,SERCURE_01)
550
							VALUES(@l_COST_MASTER_ID,@l_ASSET_ID,'AUTO',@CUR_DATE,'1' ,'A',@l_MAKER_ID ,
551
							@CUR_DATE ,NULL, NULL,@p_CHECKER_ID,
552
							@CUR_DATE,@l_HO_BRN_ID,NULL,NULL,NULL)		
553
				
554
							-----THEM BANG CHI TIET ASS_COST_ALLOC_DT 100% SO TIEN PHAN BO THANG					
555
							EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOC_DT', @l_COSTDT_ID out
556
				
557
							INSERT INTO ASS_COST_ALLOC_DT 
558
							VALUES(@l_COSTDT_ID,@l_COST_MASTER_ID,@l_HO_BRN_ID,@l_DEPT_ID,@l_MONTHLY_AMT,'100',@l_AMORT_MONTH,@CUR_DATE, @l_AMORT_END_DATE,0,0,@l_EXP_ACCTNO,'','1' ,'A' ,@l_MAKER_ID ,
559
							@CUR_DATE ,NULL, NULL,@p_CHECKER_ID,@CUR_DATE)
560
						END
561
					END				
562
				END
563
				/**************************************************** END 201218************/	
564
		END	
565
			--Luctv:End	
566

    
567
			--CAP NHAT LOCATION_HIST - THIEUVQ 11112015
568
			UPDATE ASS_LOCATION_HIST SET BRANCH_ID = @l_BRANCH_ID, DEPT_ID = @l_DEPT_ID WHERE ASSET_ID =  @l_ASSET_ID
569
			IF @@Error <> 0 GOTO ABORT	
570
		--END										
571
	END
572
	ELSE
573
	BEGIN
574
		--thieuvq 14/10/2014 nhap seri theo lo
575
		DECLARE @l_LSTSERI TABLE (
576
			[ID] [int] IDENTITY(1,1) NOT NULL,
577
			[VALUE] [NVARCHAR](MAX) NULL)
578
		DECLARE @l_SERI VARCHAR(MAX)
579
		--LAY THONG TIN SO SERI
580
		--INSERT INTO @l_LSTSERI SELECT ROW_NUMBER() OVER (ORDER BY VALUE), VALUE FROM WSISPLIT(@l_ASSET_SERIAL_NO,',')
581
		INSERT INTO @l_LSTSERI SELECT VALUE FROM WSISPLIT(@l_ASSET_SERIAL_NO,',')
582

    
583
		DECLARE @TBTEMP TABLE(PO_ID VARCHAR(15),PD_ID VARCHAR(15),CREATE_DATE DATETIME)
584
		--INSERT CHI TIET TAI SAN
585
		INSERT INTO @TBTEMP SELECT POAD.PO_ID, GDDT.TRPO_ID,CONVERT(DATETIME, @sToday, 103)
586
		FROM ASS_ADDNEW_PO POAD
587
		LEFT JOIN ASS_ADDNEW_GD GDDT ON GDDT.PO_ID = POAD.PO_ID AND GDDT.ADDNEW_ID = @p_ADDNEW_ID
588
		WHERE POAD.ADDNEW_ID = @p_ADDNEW_ID 
589
		--
590
		SET @i = 1	
591

    
592
		SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE
593
		SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID
594

    
595
		--luctv :begin	
596
		WHILE (@i <= @l_QTY)
597
		BEGIN
598
				--Phat sinh Asset_ID
599
				EXEC SYS_CodeMasters_Gen 'ASS_MASTER', @l_ASSET_ID out
600
				IF @l_ASSET_ID='' OR @l_ASSET_ID IS NULL GOTO ABORT		
601
				
602
				--Phat sinh ma tai san
603
				EXEC ASS_CODE_Gen @l_BRANCH_CREATE, @l_TYPE_ID, @l_GROUP_ID, @l_ASSET_CODE OUT
604
				IF @l_ASSET_CODE='' OR @l_ASSET_CODE IS NULL GOTO ABORT		
605
				
606
				--THIEUVQ 14/10/2014 LAY SO SERI
607
				SET @l_SERI = (SELECT VALUE FROM @l_LSTSERI WHERE ID = @i)
608

    
609
				--Insert bang ASS_MASTER
610
				INSERT INTO ASS_MASTER
611
				(
612
					[ASSET_ID],
613
					[TYPE_ID],
614
					[GROUP_ID],
615
					[ASSET_CODE],
616
					[ASSET_NAME],
617
					[ASSET_SERIAL_NO],
618
					[ASSET_DESC],
619
					[SUP_ID],
620
					[BUY_PRICE],
621
					[AMORT_AMT],
622
					[ASS_TYPE],
623
					[BRANCH_ID],
624
					[DEPT_ID],
625
					[EMP_ID],
626
					[DIVISION_ID],
627
					[BUY_DATE],
628
					[USE_DATE],
629
					[SPECIAL_ASS],
630
					[AMORT_MONTH],
631
					[AMORT_RATE],
632
					[AMORT_START_DATE],
633
					[AMORT_END_DATE],
634
					[FIRST_AMORT_AMT],
635
					[MONTHLY_AMORT_AMT],
636
					[AMORTIZED_MONTH],
637
					[AMORTIZED_AMT],
638
					[PO_ID],
639
					[PD_ID],
640
					[WAREHOUSE_ID],
641
					[LOCATION],
642
					[REF_ASSET_ID],
643
					[REF_AMORTIZED_AMT],
644
					[WARRANTY_MONTHS],
645
					[NOTES],
646
					[AMORT_STATUS],
647
					[ASS_STATUS],
648
					[ASS_STATUS_DESC],
649
					[ENTRY_BOOKED],					
650
					[RECORD_STATUS],
651
					[AUTH_STATUS],
652
					[MAKER_ID],
653
					[CREATE_DT],
654
					[CHECKER_ID],
655
					[APPROVE_DT],
656
					[CONSTRUCT_ID],
657
					[USE_STATUS],
658
					[BRANCH_CREATE],[ACCOUNT_GL], VAT,PRICE_VAT,[BUY_DATE_KT], [USE_DATE_KT]
659
				)
660
				VALUES
661
				(
662
					@l_ASSET_ID,
663
					@l_TYPE_ID ,
664
					@l_GROUP_ID,
665
					@l_ASSET_CODE,
666
					@l_ASSET_NAME,
667
					@l_SERI, --@l_ASSET_SERIAL_NO,
668
					@l_ASSET_DESC,
669
					@l_SUP_ID,
670
					@l_BUY_PRICE,
671
					@l_AMORT_AMT,
672
					@l_ASS_TYPE,
673
					@l_BRANCH_ID,
674
					@l_DEPT_ID,
675
					@l_EMP_ID,
676
					@l_DIVISION_ID,
677
					CONVERT(DATETIME, @l_BUY_DATE, 103),
678
					CONVERT(DATETIME, @l_USE_DATE, 103),
679
					'0',
680
					@l_AMORT_MONTH,
681
					@l_AMORT_RATE,
682
					@l_AMORT_START_DATE,
683
					@l_AMORT_END_DATE,
684
					@l_FIRST_AMORT_AMT,
685
					@l_MONTHLY_AMT,
686
					0,
687
					0,
688
					@l_PO_ID,
689
					@l_PD_ID,
690
					NULL,
691
					NULL,
692
					@l_REF_ASSET_ID,
693
					@l_REF_AMORTIZED_AMT,
694
					@l_WARRANTY_MONTHS,
695
					@l_NOTES,
696
					@l_AMORT_STATUS,
697
					'1', --Mac dinh moi insert vao tinh trang tai san la binh thuong
698
					N'',
699
					@l_ENTRY_BOOKED,
700
					'1',
701
					'A',
702
					@l_MAKER_ID,
703
					CONVERT(DATETIME, @sToday, 103),
704
					@p_CHECKER_ID,
705
					CONVERT(DATETIME, @p_APPROVE_DT, 103),
706
					@l_CONSTRUCT_ID ,
707
					'BT',
708
					@l_BRANCH_CREATE,@ACCOUNT_GL, @l_VAT,@PRICE_VAT,CONVERT(DATETIME, @sToday, 103), @l_USE_DATE_KT
709
				)
710
				IF @@Error <> 0 GOTO ABORT	
711
				
712
				--INSERT CHI TIET TAI SAN
713
				INSERT INTO ASS_MASTER_PO SELECT @l_ASSET_ID, * FROM @TBTEMP
714
				--SELECT * FROM ASS_ADDNEW_DT
715
				--SELECT * FROM ASS_WARRANTY_DT
716
				--Insert bang ASS_WARRANTY_DET tu bang ASS_ADDNEW_DT -LUCTV BO SUNG
717
				insert into ASS_WARRANTY_DT(ASSET_ID, WAR_DT, WAR_CONTENT)
718
				select @l_ASSET_ID, A.WAR_DT, MAX(A.WAR_CONTENT)
719
				from ASS_ADDNEW_DT A 
720
				WHERE A.ADDNEW_ID= @p_ADDNEW_ID
721
				GROUP BY A.WAR_DT
722
				IF @@Error <> 0 GOTO ABORT
723
				
724
				--INSERT VAO BANG ASS_TRANSACTIONS
725
				INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS, 	
726
						[MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT]
727
				)VALUES
728
				(
729
					@l_ASSET_ID, @p_ADDNEW_ID, 'ADD_NEW', CONVERT(DATETIME, @sToday, 103), '1', 'A', 
730
					@l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, 	CONVERT(DATETIME, @p_APPROVE_DT, 103) 
731
				)
732
				IF @@Error <> 0 GOTO ABORT	
733
				
734
				--IF (@l_ENTRY_BOOKED = 'Y') --Neu nhap TS va hach toan tang tai san
735
				IF (@l_ENTRY_BOOKED = 'Y' ) --Neu nhap TS va hach toan tang tai san thieuvq 15/04/2014
736
				BEGIN
737
						--insert dbo.ASS_VALUES
738
						EXEC SYS_CodeMasters_Gen 'ASS_VALUES', @l_VALUE_ID out
739
						IF @l_VALUE_ID='' OR @l_VALUE_ID IS NULL GOTO ABORT			
740
									
741
						INSERT INTO ASS_VALUES
742
						(
743
							VALUE_ID, ASSET_ID, BRANCH_ID, TRN_DT, CRDR, ASSET_AMT, [DESCRIPTION], TRN_ID, TRN_TYPE,
744
							RECORD_STATUS, AUTH_STATUS, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT, AMORT_AMT
745
						)
746
						VALUES
747
						(
748
							@l_VALUE_ID, @l_ASSET_ID, @l_BRANCH_CREATE, CONVERT(datetime, @sToday, 103), 'C', @l_BUY_PRICE, N'NHAP MOI TSCD/CCLD', @p_ADDNEW_ID, 'ASS_ADDNEW',
749
							'1','A',@l_MAKER_ID, CONVERT(datetime, @sToday, 103), @p_CHECKER_ID, CONVERT(datetime, @sToday, 103),@l_AMORT_AMT
750
						)
751
						IF @@Error <> 0 GOTO ABORT			
752
						
753
						/**THIEUVQ 211118 - DIEU CHINH GOM LAI 1 BUT TOAN - NEU NHAP VA XUAT THI GOM LAI 1 BUT TOAN**/
754
						IF (@l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '')-- AND @l_TYPE_ID = 'TSCD'
755
						BEGIN
756
							--Insert vao bang dbo.ASS_ENTRIES_POST						
757
							EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_SUPPEND_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
758
								@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
759
							@ERROR OUT
760
							IF @ERROR <> '0' GOTO ABORT
761
						END
762
						ELSE IF @l_TYPE_ID = 'TSCD'
763
						BEGIN
764
							--Insert vao bang dbo.ASS_ENTRIES_POST						
765
							EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_SUPPEND_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
766
								@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
767
							@ERROR OUT
768
							IF @ERROR <> '0' GOTO ABORT
769
						END
770
				END
771
					
772
				--Insert nhap kho
773
				EXEC SYS_CodeMasters_Gen 'ASS_WAREHOUSE_DT', @l_WAHDT_ID out
774
				IF @l_WAHDT_ID='' OR @l_WAHDT_ID IS NULL GOTO ABORT
775
				
776
				INSERT INTO ASS_WAREHOUSE_DT(WAHDT_ID, WAH_ID, ASSET_ID, IN_DATE, OUT_DATE, STATUS)
777
				VALUES(@l_WAHDT_ID, @l_WAH_ID, @l_ASSET_ID, GETDATE(), NULL, 'I')	
778
				IF @@Error <> 0 GOTO ABORT		
779
				select * from ASS_WAREHOUSE_DT
780
						
781
						
782
				IF @l_BRANCH_ID IS NOT NULL AND @l_BRANCH_ID <> ''
783
				BEGIN
784
						UPDATE ASS_WAREHOUSE_DT
785
						SET OUT_DATE = GETDATE(),
786
							STATUS = 'O'
787
						WHERE WAHDT_ID = @l_WAHDT_ID
788
						IF @@Error <> 0 GOTO ABORT
789
						
790
						--Insert bang ASS_LOCATION_HIST
791
						EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out
792
						IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT
793
						
794
						INSERT INTO ASS_LOCATION_HIST
795
						(
796
							LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID, 
797
							EMP_ID, LOCATION, ISLEAF, PARENT_ID
798
						)
799
						VALUES
800
						(
801
							@l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @l_BRANCH_ID, @l_DEPT_ID,
802
							@l_EMP_ID, '', 'Y', NULL
803
						)
804
						IF @@Error <> 0 GOTO ABORT		
805
						PRINT 'B'
806
						---THIEUVQ 101018 NEU XUAT KHAC DON VI THI HACH TOAN
807
						--BEGIN
808
						--Insert vao bang dbo.ASS_ENTRIES_POST
809
						IF @l_BRANCH_CREATE <> @l_BRANCH_ID
810
						BEGIN
811
						PRINT 'C'
812
							IF @l_TYPE_ID = 'TSCD'
813
							BEGIN
814
								PRINT 'D'
815
								SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE
816
								SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID
817
								
818
								/*****THIEUVQ 211118 - CHAU XAC NHAN KHONG HACH TOAN QUA TK TRUNG GIAN NUA*******/
819
								----NEU CN XUAT CHO PGD THI KHONG HACH TOAN THONG QUA TK TRUNG GIAN TCCT
820
								--IF @BRN_TYPE_TRN = 'CN' AND @BRN_TYPE_REC = 'PGD'
821
								--BEGIN
822
									EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
823
										@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
824
										@ERROR OUT
825
									IF @ERROR <> '0' GOTO ABORT						
826
								--END
827
								--ELSE
828
								--BEGIN
829
								--	---BUT TOAN DON VI CHUYEN
830
								--	EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @TCCT_TRN_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
831
								--		@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
832
								--		@ERROR OUT
833
								--	IF @ERROR <> '0' GOTO ABORT
834
								--	---BUT TOAN DON VI NHAN
835
								--	EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @TCCT_REC_ACCTNO, @l_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
836
								--		@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
837
								--		@ERROR OUT
838
								--	IF @ERROR <> '0' GOTO ABORT											
839
								--END
840
								PRINT 'D END'
841
							END
842
							ELSE ---CCLD
843
							BEGIN
844
								SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE
845
								SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID
846

    
847
								EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_SUPPEND_GL, @l_BRANCH_CREATE, @l_AMORT_ACCTNO, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
848
									@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
849
									@ERROR OUT
850
								IF @ERROR <> '0' GOTO ABORT
851
								/*****THIEUVQ 211118 - CHAU XAC NHAN KHONG HACH TOAN QUA TK TRUNG GIAN NUA*******/
852
								----NEU CN XUAT CHO PGD THI KHONG HACH TOAN THONG QUA TK TRUNG GIAN TCCT
853
								----CO TK TAI SAN - NO TK KHAU HAO
854
								--IF @BRN_TYPE_TRN = 'CN' AND @BRN_TYPE_REC = 'PGD'
855
								--BEGIN
856
									--EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_AMORT_ACCTNO, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
857
									--	@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
858
									--	@ERROR OUT
859
									--IF @ERROR <> '0' GOTO ABORT						
860
								--END
861
								--ELSE
862
								--BEGIN
863
								--	---BUT TOAN DON VI CHUYEN
864
								--	EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @TCCT_TRN_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
865
								--		@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
866
								--		@ERROR OUT
867
								--	IF @ERROR <> '0' GOTO ABORT
868
								--	---BUT TOAN DON VI NHAN
869
								--	EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @TCCT_REC_ACCTNO, @l_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
870
								--		@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
871
								--		@ERROR OUT
872
								--	IF @ERROR <> '0' GOTO ABORT											
873
								--END
874
							END
875
						END
876
						ELSE IF @l_TYPE_ID = 'CCLD' --NEU LA CCLD KHI XUAT CUNG DON VI VAN HACH TOAN
877
						BEGIN
878
							PRINT 'C'
879
							EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_SUPPEND_GL, @l_BRANCH_CREATE, @l_AMORT_ACCTNO, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
880
								@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
881
								@ERROR OUT
882
							IF @ERROR <> '0' GOTO ABORT
883
						END
884
						--END
885

    
886
						----THIEUVQ BO DOAN NAY VI KHAU HAO LUI CHAY CHUNG KY KHAU HAO
887
						-----Phong added 17/6/2018: xu ly khao hao ngay qua khu :: starts
888
						--IF @l_BRANCH_ID IS NOT NULL AND @l_BRANCH_ID <> '' AND @l_TYPE_ID = 'TSCD' AND EXISTS(
889
						--	SELECT 1
890
						--	FROM ASS_AMORT
891
						--	WHERE PROCESS_STATUS = 'S'
892
						--	AND BRANCH_ID = @l_BRANCH_ID
893
						--	AND ASSET_TYPE = @l_ASS_TYPE
894
						--	AND EXECUTE_DT >= @l_AMORT_START_DATE
895
						--)
896
						--BEGIN
897
						--	EXEC [dbo].[ASS_AMORT_BACKDATED] @l_ASSET_ID, @l_BRANCH_ID, @l_ASS_TYPE
898
						--END
899
						---Phong added 17/6/2018: xu ly khao hao ngay qua khu :: ends
900
						--Luctv:End							
901
						/***********PHAN BO HOI SO CHIU CHI PHI -- BEGIN 201218**************/
902
						SET @l_DEP_CODE = (SELECT A.DEP_CODE FROM CM_DEPARTMENT A WHERE A.DEP_ID = @l_DEPT_ID)
903
						IF @l_DEP_CODE IS NOT NULL AND @l_DEP_CODE <> ''
904
						BEGIN
905
							IF @l_BRANCH_ID <> @l_HO_BRN_ID AND LEFT(@l_DEP_CODE,3) = '069' ------CN NHAP NHUNG HOI SO CHIU CHI PHI
906
							BEGIN
907
								--LAY PHONG BAN CUA HOI SO TUONG UNG MA PHONG BAN CN
908
								SET @l_DEPT_ID = (SELECT DEP_ID FROM CM_DEPARTMENT A WHERE A.DEP_CODE = @l_DEP_CODE AND BRANCH_ID = @l_HO_BRN_ID)
909
								IF @l_DEPT_ID IS NOT NULL AND @l_DEPT_ID <> ''
910
								BEGIN
911
									-----THEM VAO BANG ASS_COST_ALLOCATION
912
				
913
									EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOCATION', @l_COST_MASTER_ID out
914
									INSERT INTO ASS_COST_ALLOCATION (COS_ID,ASSET_ID,NOTE,TRN_DATE,[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],EDITOR_ID, EDITOR_DT,[CHECKER_ID],[APPROVE_DT],BRANCH_CREATE,XML_TEMP,SECURE_01,SERCURE_01)
915
									VALUES(@l_COST_MASTER_ID,@l_ASSET_ID,'AUTO',@CUR_DATE,'1' ,'A',@l_MAKER_ID ,
916
									@CUR_DATE ,NULL, NULL,@p_CHECKER_ID,
917
									@CUR_DATE,@l_HO_BRN_ID,NULL,NULL,NULL)		
918
				
919
									-----THEM BANG CHI TIET ASS_COST_ALLOC_DT 100% SO TIEN PHAN BO THANG					
920
									EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOC_DT', @l_COSTDT_ID out
921
				
922
									INSERT INTO ASS_COST_ALLOC_DT 
923
									VALUES(@l_COSTDT_ID,@l_COST_MASTER_ID,@l_HO_BRN_ID,@l_DEPT_ID,@l_MONTHLY_AMT,'100',@l_AMORT_MONTH,@CUR_DATE, @l_AMORT_END_DATE,0,0,@l_EXP_ACCTNO,'','1' ,'A' ,@l_MAKER_ID ,
924
									@CUR_DATE ,NULL, NULL,@p_CHECKER_ID,@CUR_DATE)
925
								END
926
							END				
927
						END
928
						/**************************************************** END 201218************/
929
				END		
930
				--CAP NHAT LOCATION_HIST - THIEUVQ 11112015
931
				UPDATE ASS_LOCATION_HIST SET BRANCH_ID = @l_BRANCH_ID, DEPT_ID = @l_DEPT_ID WHERE ASSET_ID =  @l_ASSET_ID
932
				IF @@Error <> 0 GOTO ABORT					
933
				SET @i = @i + 1
934
		END		
935
		--luctv:end
936
	END
937

    
938
	-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_HC
939
	UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_ADDNEW_ID AND PROCESS_ID = 'UPDATE'
940
		-- GIANT Insert to table PL_PROCESS
941
	INSERT INTO dbo.PL_PROCESS
942
					(
943
					    REQ_ID,
944
					    PROCESS_ID,
945
					    CHECKER_ID,
946
					    APPROVE_DT,
947
					    PROCESS_DESC,
948
					    NOTES
949
					)
950
					VALUES
951
					(   @p_ADDNEW_ID,       
952
						'APPROVE',
953
					    @p_CHECKER_ID,        
954
					    GETDATE(), 
955
					    N'Kiểm soát viên phê duyệt hoàn tất' ,      
956
					    N'Kiểm soát viên phê duyệt'       
957
					 )
958

    
959

    
960

    
961
COMMIT TRANSACTION
962

    
963
SELECT '0' as Result, @p_ADDNEW_ID  ADDNEW_ID, '' ErrorDesc
964
RETURN '0'
965
ABORT:
966
BEGIN
967
		ROLLBACK TRANSACTION
968
		--CLOSE pCur
969
		--DEALLOCATE pCur		
970
		SELECT '-1' as Result, '' ADDNEW_ID, @ERROR ErrorDesc
971
		RETURN '-1'
972
End
973

    
974

    
975