Project

General

Profile

ADDNEW_KT.txt

Luc Tran Van, 04/26/2023 09:18 AM

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

    
60
	DECLARE @l_SUPPEND_GL varchar(50)
61
	DECLARE @l_ASSET_GL  varchar(50)
62
	declare @l_ASSET_VALUE decimal(18,0)	
63
	DECLARE @l_EXP_ACCTNO  varchar(50)--TK CHI PHI
64
	DECLARE @l_AMORT_ACCTNO  varchar(50)--TK CHO PHAN BO 
65
  DECLARE @l_PAY_HS_ACCTNO VARCHAR(50)
66
 DECLARE @_BUY_TS_ACCTNO VARCHAR(50)
67
 DECLARE @l_WAIT_AMORT VARCHAR(50)
68
 DECLARE @l_TRANFER_ACCTNO VARCHAR(50)
69

    
70

    
71
	DECLARE @l_DR_BRANCH VARCHAR(15) -- DV GHI NO
72
	DECLARE @ERRORSYS NVARCHAR(15) = '' 
73
	DECLARE @ACCOUNT_GL VARCHAR(50), @ACCOUNT_VAT VARCHAR(50)
74
	DECLARE @i INT, @l_USE_DATE_CUR DATETIME = NULL
75
	DECLARE @l_CURR_AMORT_AMT DECIMAL(18,0) = 0
76
	DECLARE @sExecDT DATETIME
77
	DECLARE @l_AMORT_TERM VARCHAR(500), @l_AMORT_DESC VARCHAR(500)
78
	DECLARE @l_OLD_QT INT, @l_CUR_QT INT -- 26/12/2014 THIEUVQ
79
	DECLARE @l_IS_AMORT_WR VARCHAR(1) = '1' --THIEUVQ 27/07/2015 THEM DIEU KIEN KIEM TRA KHI NAO GHI NHAN KHAU HAO
80
	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)
81
	DECLARE @l_VAT DECIMAL(18,0), @ERROR NVARCHAR(500) = ''
82

    
83
	
84
	DECLARE @l_COST_MASTER_ID VARCHAR(15)
85
	DECLARE @l_COSTDT_ID VARCHAR(15)
86

    
87
	DECLARE @CUR_DATE DATETIME = GETDATE()
88
   -- khiemchg bo sung thong tin pyc
89
	DECLARE @REQ_ID VARCHAR(15)
90
	DECLARE @REQ_CODE VARCHAR(50)
91
	DECLARE @ASS_CONTRACT_CODE VARCHAR(50)
92
	DECLARE @PL_CODE VARCHAR(50)
93

    
94

    
95
    --check ngày khấu hao null
96
    IF (EXISTS(SELECT 1 FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_ADDNEW_ID AND BRANCH_ID IS NOT NULL AND AMORT_START_DATE IS NULL))
97
	BEGIN
98
		SELECT '-1' AS Result, '' ADDNEW_ID, N'Thông tin ngày bắt đầu phân bổ không hợp lệ' ErrorDesc
99
		RETURN '-1'
100
	END
101

    
102
	
103
	--lay thong tin giao dich
104
	SELECT	@l_BUY_DATE = BUY_DATE, @l_TYPE_ID = A.[TYPE_ID], @l_GROUP_ID = A.GROUP_ID, @l_ASSET_NAME = ASSET_NAME,
105
			@l_ASSET_SERIAL_NO = ASSET_SERIAL_NO, @l_ASSET_DESC = ASSET_DESC, @l_CONSTRUCT_ID = CONSTRUCT_ID,
106
			@l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID, @l_EMP_ID = EMP_ID, @l_DIVISION_ID = DIVISION_ID,
107
			@l_BUY_PRICE = BUY_PRICE, @l_AMORT_AMT = AMORT_AMT, @l_AMORT_START_DATE = AMORT_START_DATE,
108
			@l_AMORT_MONTH = A.AMORT_MONTH, 
109
			--@l_AMORT_MONTH = CASE WHEN G.AMORT_MONTH<>0 THEN G.AMORT_MONTH ELSE A.AMORT_MONTH END,
110
			@l_AMORT_RATE = A.AMORT_RATE, @l_CORE_NOTE = A.CORE_NOTE,
111
			@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,
112
			@l_REF_AMORTIZED_AMT = REF_AMORTIZED_AMT, @l_WARRANTY_MONTHS = WARRANTY_MONTHS, @l_NOTES = A.NOTES, @l_ENTRY_BOOKED = ENTRY_BOOKED, 
113
			@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
114
	 ,@REQ_CODE = A.REQ_CODE, @REQ_ID = A.REQ_ID, @ASS_CONTRACT_CODE = A.CONTRACT_ID, @PL_CODE = A.PL_CODE
115

    
116
  FROM ASS_ADDNEW A
117
	INNER JOIN ASS_GROUP G on G.GROUP_ID = A.GROUP_ID
118
	WHERE ADDNEW_ID = @p_ADDNEW_ID
119

    
120

    
121
	IF @@Error <> 0 GOTO ABORT
122
	
123
	------LUCTV: 21-12-2018KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET-----
124
	IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE AUTH_STATUS_KT ='R' AND ADDNEW_ID =@p_ADDNEW_ID))
125
	BEGIN
126
				--ROLLBACK TRANSACTION
127
				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
128
				RETURN '-1'
129
	END
130
    IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE AUTH_STATUS_KT ='A' AND ADDNEW_ID =@p_ADDNEW_ID))
131
	BEGIN
132
				--ROLLBACK TRANSACTION
133
				SELECT '-1' as Result, '' ADDNEW_ID, N'Phiếu nhập mới đã được duyệt.' ErrorDesc
134
				RETURN '-1'
135
	END
136
	------LUCTV: 21-12-2021 KIEM TRA NEU GDV CHUA CAP NHAT PHIEU THI KHONG CHO PHEP DUYET-----
137
	IF((SELECT MAKER_ID_KT FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_ADDNEW_ID) IS NULL)
138
	BEGIN
139
				--ROLLBACK TRANSACTION
140
				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
141
				RETURN '-1'
142
	END
143

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

    
147
	/********** chekc vadilation ************/
148
 	IF (@l_AUTH_STATUS_KT = 'A')
149
 		SET @ERRORSYS = 'ASS-99998' 	
150
 	
151
 	/*********** Kiem tra gia tri khau hao voi gia tri 30Tr **************/
152
	SELECT @l_ASSET_VALUE = CONVERT(decimal(18,0), ParaValue) FROM SYS_PARAMETERS WHERE ParaKey = 'ASSET_VALUE'
153
	IF (@l_TYPE_ID = 'CCLD' AND @l_AMORT_AMT > @l_ASSET_VALUE)
154
		SET @ERRORSYS = 'ASS-00011'
155
    
156
    
157
	--IF @l_AMORT_MONTH < 1 AND @l_AMORT_MONTH IS NOT NULL AND @l_AMORT_MONTH <> ''
158
	--BEGIN 
159
	--	SET @ERRORSYS = 'ASS-00020'
160
	--END
161
	--IF (@l_ASS_TYPE = 'TSCD' AND @l_AMORT_AMT < @l_ASSET_VALUE)
162
	--	SET @ERRORSYS = 'ASS-00012'
163
		
164
	/************ Xuat tai san thi phai hach toan tang tai sai ****************/
165
	--IF (@l_ENTRY_BOOKED = 'N' AND (@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>''))
166
	--	SET @ERRORSYS = 'ASS-00013'	
167

    
168
	/*************** Doi voi CCLD phai khau hao het trong  nam tai chinh ***********/
169
	
170
	--Tinh ngay ket thuc khau hao
171
	SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_AMORT_START_DATE) - 1
172

    
173
	IF @ERRORSYS <> '' 
174
	BEGIN
175
		SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
176
		RETURN '0'
177
	END
178

    
179
	--Lay thong tin nha cung cap
180
	SELECT @l_SUP_ID = SUP_ID FROM TR_PO_MASTER A WHERE A.PO_ID = @l_PO_ID
181
	
182
	--BRN_ID HOI SO
183
	SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS'
184
	
185
	--Lay thong tin kho mac dinh
186
	--SELECT @l_WAH_ID = P.ParaValue FROM SYS_PARAMETERS P WHERE P.ParaKey='ASSET_WAREHOUSE'
187
	SET @l_WAH_ID = @l_BRANCH_CREATE
188

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

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

    
197
	--TAI KHOAN HACH TOAN VAT
198
	SET  @ACCOUNT_VAT = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='ACC_VAT')
199

    
200
  --- TAI KHOAN PHAI TRA HS
201

    
202
--NẾU XSD THÌ TĂNG TÀI SẢN
203

    
204

    
205
IF(@l_TYPE_ID='TSCD')
206
    BEGIN
207
        IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <> '')
208
        BEGIN
209
        	SET @l_ENTRY_BOOKED = 'Y'
210
        END
211
        ELSE IF(@l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '')
212
        BEGIN
213
        	SET @l_ENTRY_BOOKED = 'N'
214
        END
215
    	SET @l_BUY_PRICE = @l_BUY_PRICE + @PRICE_VAT
216
    	SET @l_AMORT_AMT = @l_BUY_PRICE
217
    END
218
SET @l_TRANFER_ACCTNO =(SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='TRANSFER')
219
SET @l_PAY_HS_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='PAY_HS')
220
SET @_BUY_TS_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='BUY_TSCD' AND epa.GROUP_ID=(SELECT AG.PARENT_ID FROM ASS_GROUP AG WHERE AG.GROUP_ID = (SELECT AG.PARENT_ID FROM ASS_GROUP AG WHERE AG.GROUP_ID = @l_GROUP_ID)))
221
SET @l_WAIT_AMORT = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='AMORT_CCLD')
222
	--ASSET_GL
223
	SELECT @l_ASSET_GL = ASSET_ACCTNO,
224
			@l_EXP_ACCTNO = EXP_ACCTNO,
225
			@l_AMORT_ACCTNO = AMORT_ACCTNO
226
	FROM ASS_GROUP A 
227
	WHERE A.GROUP_ID = @l_GROUP_ID
228
	
229
	--Lay branch_id cua user duyet
230
	select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID	
231
	
232
	--Trang thai khau hao
233
	IF (@l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '') --Chua xuat su dung
234
	BEGIN
235
		SET @l_AMORT_STATUS = 'VNM'
236
		SET @l_AMORT_START_DATE = NULL
237
		SET @l_AMORT_END_DATE = NULL
238
		SET @l_MONTHLY_AMT = NULL
239
		SET @l_FIRST_AMORT_AMT = NULL
240
		SET @l_USE_DATE = NULL
241
	END
242
	ELSE
243
	IF @l_AMORT_MONTH = 0 OR @l_AMORT_START_DATE IS NULL OR @l_AMORT_START_DATE = ''
244
		BEGIN
245
			SET @l_AMORT_STATUS = 'KKH'
246
		
247
			SET @l_AMORT_START_DATE = NULL
248
			SET @l_AMORT_END_DATE = NULL
249
			SET @l_MONTHLY_AMT = 0
250
			SET @l_FIRST_AMORT_AMT = 0
251
			SET @l_USE_DATE = @sToday
252
			SET @l_USE_DATE_KT = CONVERT(DATETIME, @sToday, 103)
253
		END
254
	ELSE
255
		BEGIN
256
			SET @l_AMORT_STATUS = 'CKH'
257
		
258
			SET @l_USE_DATE = @sToday
259
			SET @l_USE_DATE_KT = CONVERT(DATETIME, @sToday, 103)
260
			--Ngay bat dau khau hao mac dinh la ngay hien tai	
261
			IF(@l_AMORT_START_DATE IS NULL)	---THIEUVQ MOI THEM
262
			BEGIN
263
				SET @l_AMORT_START_DATE = GETDATE()
264
			END
265
				
266
			--Tinh so tien khau hao thang dau tien va so tien khau hao hang thang
267
			SET @l_MONTHLY_AMT = ROUND(@l_AMORT_AMT / @l_AMORT_MONTH, 0)
268
			--SET @l_FIRST_AMORT_AMT = @l_MONTHLY_AMT
269

    
270
--    IF(@l_TYPE_ID='TSCD')
271
--BEGIN
272
         DECLARE @AMORT_ON_DAY DECIMAL(18,0)
273
        SET @AMORT_ON_DAY = ROUND(@l_MONTHLY_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE),0)
274
        SET @l_FIRST_AMORT_AMT = ROUND(@AMORT_ON_DAY * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), 0)
275
--END
276
 IF(DAY(@l_AMORT_START_DATE)=1)
277
        SET  @l_FIRST_AMORT_AMT=@l_MONTHLY_AMT
278
--    ELSE
279
--        SET @l_FIRST_AMORT_AMT = @l_MONTHLY_AMT
280

    
281
    END
282

    
283
    DECLARE @ASSID_TEMP TABLE([ID] [int] IDENTITY(1,1) NOT NULL, ASSET_ID VARCHAR(15))
284
    --INSERT INTO @ASSID_TEMP SELECT A FROM ASS_MASTER AA WHERE AA.ADD = @p_ADDNEW_ID
285
	INSERT INTO @ASSID_TEMP SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID AND AT.TRN_TYPE ='ADD_NEW'
286

    
287
BEGIN TRANSACTION
288

    
289
	--UPDATE GIAO DICH ADDNEW
290
     --IF(@l_IS_MULTIPLE = '1')
291
    BEGIN--Phân lại seri nếu thêm vào lúc kế toán
292
    	DECLARE @l_LSTSERI TABLE (
293
    			[ID] [int] IDENTITY(1,1) NOT NULL,
294
    			[VALUE] [NVARCHAR](MAX) NULL)
295
    	DECLARE @l_SERI VARCHAR(MAX) = NULL
296
        INSERT INTO @l_LSTSERI SELECT VALUE FROM WSISPLIT(@l_ASSET_SERIAL_NO,',') --Phân lại seri nếu thêm vào lúc kế toán
297
    END
298

    
299

    
300
	
301
	UPDATE ASS_ADDNEW 
302
	SET AUTH_STATUS_KT = 'A',
303
		CHECKER_ID_KT = @p_CHECKER_ID,
304
		APPROVE_DT_KT = CONVERT(DATETIME, @p_APPROVE_DT, 103) ,
305
		
306
		POSTED_STATUS = 'Y'
307
	WHERE ADDNEW_ID = @p_ADDNEW_ID
308
	IF @@Error <> 0 GOTO ABORT
309

    
310

    
311
    
312

    
313
DECLARE @l_TRN_NO VARCHAR(15)
314
EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = @l_BRANCH_CREATE
315
                        ,@p_TRN_DATE = @p_APPROVE_DT
316
                        ,@p_KeyGen = @l_TRN_NO OUT
317
	--IF (@l_IS_MULTIPLE = '0') --nhap tai san don le
318
    DECLARE @int INT = 1		
319
	WHILE (@int <= (SELECT COUNT(*) FROM @ASSID_TEMP))
320
	BEGIN		
321
        SET @l_ASSET_ID = (SELECT ASSET_ID FROM @ASSID_TEMP WHERE ID = @int)
322
        
323
        SET @l_SERI = (SELECT VALUE FROM @l_LSTSERI WHERE ID = @int)
324

    
325
		--Phat sinh ma tai san
326
		EXEC ASS_CODE_Gen_VB @l_ASSET_CODE OUT
327
		IF @l_ASSET_CODE = '' OR @l_ASSET_CODE IS NULL GOTO ABORT
328

    
329
		--Insert bang ASS_MASTER
330
		UPDATE ASS_MASTER    SET    
331
			[TYPE_ID]           = @l_TYPE_ID,
332
			[GROUP_ID]          = @l_GROUP_ID,
333
			[ASSET_CODE]        = @l_ASSET_CODE,
334
			[ASSET_NAME]        = @l_ASSET_NAME,			
335
            [ASSET_SERIAL_NO]   = @l_SERI,
336
			[ASSET_DESC]        = @l_ASSET_DESC,
337
			[SUP_ID]            = @l_SUP_ID,
338
			[BUY_PRICE]         = @l_BUY_PRICE,
339
			[AMORT_AMT]         = @l_AMORT_AMT,
340
			[ASS_TYPE]          = @l_ASS_TYPE,
341
--			[BRANCH_ID]         = @l_BRANCH_ID,
342
--			[DEPT_ID]           = @l_DEPT_ID,
343
--			[EMP_ID]            = @l_EMP_ID,
344
--			[DIVISION_ID]       = @l_DIVISION_ID,
345
			[BUY_DATE]          = CONVERT(DATETIME, @l_BUY_DATE, 103),
346
			[USE_DATE]          = CONVERT(DATETIME, @l_USE_DATE, 103),
347
			[SPECIAL_ASS]       = '0',
348
			[AMORT_MONTH]       = @l_AMORT_MONTH,
349
			[AMORT_RATE]        = @l_AMORT_RATE,
350
			[AMORT_START_DATE]  = @l_AMORT_START_DATE,
351
			[AMORT_END_DATE]    = @l_AMORT_END_DATE,
352
			[FIRST_AMORT_AMT]   = @l_FIRST_AMORT_AMT,
353
			[MONTHLY_AMORT_AMT] = @l_MONTHLY_AMT,
354
			[AMORTIZED_MONTH]   = 0,
355
			[AMORTIZED_AMT]     = 0,
356
			[PO_ID]             = @l_PO_ID,
357
			[PD_ID]             = @l_PD_ID,
358
			[WAREHOUSE_ID]      = NULL,
359
			[LOCATION]          = NULL,
360
			[REF_ASSET_ID]      = @l_REF_ASSET_ID,
361
			[REF_AMORTIZED_AMT] = @l_REF_AMORTIZED_AMT,
362
			[WARRANTY_MONTHS]   = @l_WARRANTY_MONTHS,
363
			[NOTES]             = @l_NOTES,
364
			[AMORT_STATUS]      = @l_AMORT_STATUS,
365
			[ASS_STATUS]        = '1',
366
			[ASS_STATUS_DESC]   = N'',
367
			[ENTRY_BOOKED]      = @l_ENTRY_BOOKED,
368
			[RECORD_STATUS]     = '1',
369
			[AUTH_STATUS]       = 'A',
370
			[MAKER_ID]          = @l_MAKER_ID,
371
			[CREATE_DT]         = CONVERT(DATETIME, @sToday, 103),
372
			[CHECKER_ID]        = @p_CHECKER_ID,
373
			[APPROVE_DT]        = CONVERT(DATETIME, @p_APPROVE_DT, 103),
374
			[CONSTRUCT_ID]      = @l_CONSTRUCT_ID,
375
			[USE_STATUS]        = 'BT',
376
			[BRANCH_CREATE]     = @l_BRANCH_CREATE,
377
			[ACCOUNT_GL]        = @ACCOUNT_GL, 
378
            VAT                 = @l_VAT,
379
            PRICE_VAT           = @PRICE_VAT,
380
			[BUY_DATE_KT]       = CONVERT(DATETIME, @sToday, 103),
381
            [USE_DATE_KT]       = @l_USE_DATE_KT, 
382
            ASS_CODE_TMP        = @l_ASSET_CODE,
383
            ASS_CONTRACT_CODE   = @ASS_CONTRACT_CODE,
384
            PL                  = @PL_CODE
385
            WHERE ASSET_ID = @l_ASSET_ID
386

    
387
    SET @l_ASSET_CODE= (SELECT am.ASSET_CODE FROM ASS_MASTER am WHERE am.ASSET_ID=@l_ASSET_ID)
388
		IF @@Error <> 0 GOTO ABORT	
389
		
390

    
391
DECLARE  @l_ETP_ID VARCHAR(20),@l_D_BRANCH_CODE VARCHAR(25) , @l_C_BRANCH_CODE VARCHAR(25),
392
@l_DEP_CODE VARCHAR(20)
393

    
394

    
395
        
396
          SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE)
397
          SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE)
398
		--IF (@l_ENTRY_BOOKED = 'Y') --Neu nhap TS va hach toan tang tai san
399
		IF (@l_ENTRY_BOOKED = 'Y' ) --Neu nhap TS va hach toan tang tai san thieuvq 15/04/2014
400
		BEGIN
401
    			--insert dbo.ASS_VALUES
402
    			EXEC SYS_CodeMasters_Gen 'ASS_VALUES', @l_VALUE_ID out
403
    			IF @l_VALUE_ID='' OR @l_VALUE_ID IS NULL GOTO ABORT			
404
			
405
    			INSERT INTO ASS_VALUES
406
    			(
407
    				VALUE_ID, ASSET_ID, BRANCH_ID, TRN_DT, CRDR, ASSET_AMT, [DESCRIPTION], TRN_ID, TRN_TYPE,
408
    				RECORD_STATUS, AUTH_STATUS, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT, AMORT_AMT
409
    			)
410
    			VALUES
411
    			(
412
    				@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',
413
    				'1','A',@l_MAKER_ID, CONVERT(datetime, @sToday, 103), @p_CHECKER_ID, CONVERT(datetime, @sToday, 103), @l_AMORT_AMT
414
    			)
415
    			IF @@Error <> 0 GOTO ABORT		
416
			
417

    
418
          
419

    
420
          IF(@l_TYPE_ID='TSCD')
421
          BEGIN
422

    
423
                 IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>'')
424
              BEGIN
425
                SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
426
                SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
427
               SET @l_DEP_CODE =  ( SELECT  cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID)
428
              END
429

    
430
                EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_PAY_HS_ACCTNO, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
431
					      @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID, @l_ET_ID OUT
432

    
433
               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
434
               INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
435
               VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
436
          
437
                EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
438
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
439
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
440

    
441
          END
442
          ELSE IF (@l_TYPE_ID='CCLD')
443
          BEGIN
444

    
445
              IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>'')
446
              BEGIN
447
                SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
448
                SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
449
                 SET @l_DEP_CODE =  ( SELECT  cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID)
450
              END
451
              EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_PAY_HS_ACCTNO, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
452
					      @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID, @l_ET_ID OUT
453
            --- Hạch toán nhập CCLĐ:
454

    
455
               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
456
               INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
457
               VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
458

    
459

    
460
                EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
461
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
462
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'C', @l_BUY_PRICE + @PRICE_VAT,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
463

    
464
              IF(@PRICE_VAT >0)
465
              BEGIN
466
                    EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
467
                   INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
468
               VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@ACCOUNT_VAT,'VND', 'D', @PRICE_VAT, 1, @PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
469
              END
470

    
471
--	          EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
472
--							@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
473
--							@l_ET_ID OUT
474
--				           --Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ:
475
--               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
476
--
477
--              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
478
--              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'LCY', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
479
--              EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
480
--
481
--              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
482
--              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'LCY', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
483

    
484
         
485

    
486
          END
487
          
488
        
489
	      			
490
			END
491
			ELSE IF @l_TYPE_ID = 'TSCD'
492
			BEGIN
493
				--Insert vao bang dbo.ASS_ENTRIES_POST			
494
				EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_PAY_HS_ACCTNO, @l_BRANCH_CREATE, @_BUY_TS_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
495
					@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
496
					@l_ET_ID OUT
497
        
498
               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
499
               INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
500
               VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@_BUY_TS_ACCTNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
501
      
502

    
503
                   EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
504
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
505
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
506

    
507
				
508
			END
509
		
510
		
511
		--Insert nhap kho
512
		EXEC SYS_CodeMasters_Gen 'ASS_WAREHOUSE_DT', @l_WAHDT_ID out
513
		IF @l_WAHDT_ID='' OR @l_WAHDT_ID IS NULL GOTO ABORT
514
		
515
		INSERT INTO ASS_WAREHOUSE_DT(WAHDT_ID, WAH_ID, ASSET_ID, IN_DATE, OUT_DATE, STATUS)
516
		VALUES(@l_WAHDT_ID, @l_WAH_ID, @l_ASSET_ID, GETDATE(), NULL, 'I')	
517
		IF @@Error <> 0 GOTO ABORT	
518
				
519
		IF @l_BRANCH_ID IS NOT NULL AND @l_BRANCH_ID <> ''
520
		BEGIN
521
				PRINT 'A'
522
				UPDATE ASS_WAREHOUSE_DT
523
				SET OUT_DATE = GETDATE(),
524
					STATUS = 'O'
525
				WHERE WAHDT_ID = @l_WAHDT_ID
526
				IF @@Error <> 0 GOTO ABORT
527
				
528
		
529
				IF @l_BRANCH_CREATE <> @l_BRANCH_ID
530
				BEGIN
531

    
532

    
533
          SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE)
534
          SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
535
          SET @l_DEP_CODE =  ( SELECT  cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID)
536

    
537
					IF @l_TYPE_ID = 'TSCD'
538
					BEGIN
539
						SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE
540
						SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID												
541

    
542
						/*****THIEUVQ 211118 - CHAU XAC NHAN KHONG HACH TOAN QUA TK TRUNG GIAN NUA*******/
543
						----NEU CN XUAT CHO PGD THI KHONG HACH TOAN THONG QUA TK TRUNG GIAN TCCT
544
						--IF @BRN_TYPE_TRN = 'CN' AND @BRN_TYPE_REC = 'PGD'
545
						--BEGIN
546
--							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_TRANFER_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
547
--								@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
548
--								@l_ET_ID OUT
549
--									
550
--              	 EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
551
--
552
--              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
553
--              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_ASSET_GL, 'LCY', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
554
--
555
--               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
556
--
557
--               INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
558
--               VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_C_BRANCH_CODE ,@l_TRANFER_ACCTNO,'LCY', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
559
--      
560
--              	EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_TRANFER_ACCTNO, @l_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
561
--								@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
562
--								@l_ET_ID OUT
563
--									
564
--              	 EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
565
--
566
--              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
567
--              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_TRANFER_ACCTNO, 'LCY', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
568
--
569
--               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
570
--
571
--               INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
572
--               VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'LCY', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
573
--      	
574

    
575

    
576

    
577
						
578
	
579
					END
580
					ELSE ---CCLD
581
					BEGIN
582
						SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE
583
						SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID
584
						
585
						EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
586
							@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
587
							@l_ET_ID OUT
588
				           --Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ:
589

    
590
              EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
591
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO,TRN_IS_SUM)
592
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,1);
593

    
594
				
595
               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
596
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_IS_SUM,TRN_NO)
597
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,1,@l_TRN_NO);
598
              
599
					END
600
				END
601
        ELSE IF (@l_TYPE_ID = 'CCLD')
602
        BEGIN
603
            	EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
604
							@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
605
							@l_ET_ID OUT
606
				           --Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ:
607

    
608
              EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
609
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO,TRN_IS_SUM)
610
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,1);
611

    
612
              EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
613
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_IS_SUM,TRN_NO)
614
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,1,@l_TRN_NO);
615
              
616
				
617
        END
618
			
619

    
620
				---Phong added 17/6/2018: xu ly khao hao ngay qua khu :: ends
621
				/***********PHAN BO HOI SO CHIU CHI PHI -- BEGIN 201218**************/
622
--				SET @l_DEP_CODE = (SELECT A.DEP_CODE FROM CM_DEPARTMENT A WHERE A.DEP_ID = @l_DEPT_ID)
623
--				IF @l_DEP_CODE IS NOT NULL AND @l_DEP_CODE <> ''
624
--				BEGIN
625
--					IF @l_BRANCH_ID <> @l_HO_BRN_ID AND LEFT(@l_DEP_CODE,3) = '069' ------CN NHAP NHUNG HOI SO CHIU CHI PHI
626
--					BEGIN
627
--						--LAY PHONG BAN CUA HOI SO TUONG UNG MA PHONG BAN CN
628
--						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)
629
--						IF @l_DEPT_ID IS NOT NULL AND @l_DEPT_ID <> ''
630
--						BEGIN
631
--							-----THEM VAO BANG ASS_COST_ALLOCATION
632
--				
633
--							EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOCATION', @l_COST_MASTER_ID out
634
--							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)
635
--							VALUES(@l_COST_MASTER_ID,@l_ASSET_ID,'AUTO',@CUR_DATE,'1' ,'A',@l_MAKER_ID ,
636
--							@CUR_DATE ,NULL, NULL,@p_CHECKER_ID,
637
--							@CUR_DATE,@l_HO_BRN_ID,NULL,NULL,NULL)		
638
--				
639
--							-----THEM BANG CHI TIET ASS_COST_ALLOC_DT 100% SO TIEN PHAN BO THANG					
640
--							EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOC_DT', @l_COSTDT_ID out
641
--				
642
--							INSERT INTO ASS_COST_ALLOC_DT 
643
--							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 ,
644
--							@CUR_DATE ,NULL, NULL,@p_CHECKER_ID,@CUR_DATE)
645
--						END
646
--					END				
647
--				END
648
--				/**************************************************** END 201218************/	
649
	      DECLARE @l_AMORT_RUN_DATE DATETIME = (SELECT TOP 1 TTS.SENT_DATE FROM THREAD_TIME_SEND TTS WHERE TTS.TIME_VALUE = 'KH')
650
        DECLARE @DATE_EXEC DATETIME=CONVERT(DATETIME, @p_APPROVE_DT, 103)
651
        IF( DATEDIFF(MONTH,  @l_AMORT_START_DATE, @l_AMORT_RUN_DATE)>0)
652
        BEGIN
653
          EXEC ASS_AMORT_BackDate @p_ASSET_ID = @l_ASSET_ID
654
                                 ,@p_MAKER_ID = @l_MAKER_ID
655
                                 ,@p_CHECKER_ID = @p_CHECKER_ID
656
                                 ,@p_APPROVE_DT = @DATE_EXEC
657
                                 ,@p_TRN_ID = @p_ADDNEW_ID
658
                                 ,@P_TRN_REF_NO = @l_TRN_NO
659
                                 ,@p_TRN_TYPE = 'ADD_NEW'
660
        END
661

    
662

    
663
		END	
664
			--Luctv:End	
665

    
666
			--CAP NHAT LOCATION_HIST - THIEUVQ 11112015
667
			UPDATE ASS_LOCATION_HIST SET BRANCH_ID = @l_BRANCH_ID, DEPT_ID = @l_DEPT_ID WHERE ASSET_ID =  @l_ASSET_ID
668
			IF @@Error <> 0 GOTO ABORT	
669
		--END	
670
        SET @int = @int + 1									
671
	END
672
 -- KHIEMCHG - Update PYC hoàn tất khi đã đủ số lượng PYC
673
    IF(NOT EXISTS(SELECT TOP 1 A.REQDT_ID 
674
              FROM TR_REQUEST_SHOP_DOC_DT A 
675
              WHERE A.REQ_DOC_ID = @REQ_ID 
676
                    AND ( A.QTY_ETM <> A.ALLOCATED OR (A.ALLOCATED IS NULL OR A.ALLOCATED = '' OR A.ALLOCATED = 0))
677
                    AND ((A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPDC')
678
                          OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK')
679
                          OR (A.REQ_DT_TYPE = 'BUYNEW'))
680
                ))
681
    BEGIN
682
      UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '1', STATUS = 'DONE' WHERE REQ_ID = @REQ_ID
683

    
684
      UPDATE PL_REQUEST_PROCESS SET STATUS = 'P' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @REQ_ID
685
      UPDATE PL_REQUEST_PROCESS SET STATUS = 'C', RECEPTION_DT = CONVERT(datetime, GETDATE(), 103), APPROVE_DT = CONVERT(datetime, GETDATE(), 103) WHERE PROCESS_ID = 'DONE' AND REQ_ID = @REQ_ID
686
        
687
    END
688

    
689
	-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_HC
690
	UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_ADDNEW_ID AND PROCESS_ID = 'UPDATE'
691
		-- GIANT Insert to table PL_PROCESS
692
	INSERT INTO dbo.PL_PROCESS
693
					(
694
					    REQ_ID,
695
					    PROCESS_ID,
696
					    CHECKER_ID,
697
					    APPROVE_DT,
698
					    PROCESS_DESC,
699
					    NOTES
700
					)
701
					VALUES
702
					(   @p_ADDNEW_ID,       
703
						'APPROVE',
704
					    @p_CHECKER_ID,        
705
					    GETDATE(), 
706
					    N'Kiểm soát viên phê duyệt hoàn tất' ,      
707
					    N'Kiểm soát viên phê duyệt'       
708
					 )
709

    
710

    
711

    
712
COMMIT TRANSACTION
713

    
714
SELECT '0' as Result, @p_ADDNEW_ID  ADDNEW_ID, '' ErrorDesc
715
RETURN '0'
716
ABORT:
717
BEGIN
718
		ROLLBACK TRANSACTION
719
		--CLOSE pCur
720
		--DEALLOCATE pCur		
721
		SELECT '-1' as Result, '' ADDNEW_ID, @ERROR ErrorDesc
722
		RETURN '-1'
723
End