1
|
|
2
|
ALTER PROCEDURE dbo.ASS_AMORT_StartDO
|
3
|
@p_EXECUTE_DATE varchar(50) = NULL, --Mac dinh la ngay hien tai cua he thong, duoc truyen tu UI
|
4
|
@p_MAKER_ID varchar(100) = NULL,
|
5
|
@p_CHECKER_ID varchar(15) = NULL,
|
6
|
@p_ASSET_TYPE VARCHAR(15) = NULL,
|
7
|
@p_BRANCH_ID_LST XML = NULL,
|
8
|
@p_EXEC_TYPE VARCHAR(50) = 'EXECUTE'
|
9
|
AS
|
10
|
BEGIN TRY
|
11
|
|
12
|
|
13
|
SET @p_MAKER_ID='QLTS'
|
14
|
SET @p_CHECKER_ID='QLTS'
|
15
|
--GHI LOG
|
16
|
DECLARE @DISTANCE_TIME INT = NULL,
|
17
|
@DISTANCE_TYPE VARCHAR(20) = NULL,
|
18
|
@TOOL_NAME NVARCHAR(1000) = NULL,
|
19
|
@TOOL_VALUE VARCHAR(100) = NULL,
|
20
|
@EXEC_DT DATETIME = NULL,
|
21
|
@MESSAGE NVARCHAR(1000) = NULL
|
22
|
|
23
|
SELECT @DISTANCE_TIME = TIME_SEND
|
24
|
,@DISTANCE_TYPE = TIME_SEND_TYPE
|
25
|
,@TOOL_NAME = TIME_CONTENT
|
26
|
,@TOOL_VALUE = TIME_VALUE
|
27
|
FROM THREAD_TIME_SEND
|
28
|
WHERE TIME_VALUE = 'KH'
|
29
|
|
30
|
declare @l_AMORT_ID varchar(15), @l_AMORTDT_ID varchar(15)
|
31
|
declare @l_LAST_AMORT_ID varchar(15) = NULL
|
32
|
declare @l_AMORT_TERM nvarchar(50) = ''
|
33
|
|
34
|
declare @l_ASSET_ID varchar(15)
|
35
|
declare @l_AMORTIZED_AMT decimal(18,0)
|
36
|
declare @l_AMORTIZED_MONTH int
|
37
|
declare @l_AMORT_AMT decimal(18,0)
|
38
|
declare @l_AMORT_MONTH decimal(18,2)
|
39
|
declare @l_AMORT_END_DATE datetime, @l_AMORT_START_DATE datetime
|
40
|
declare @l_FIRST_AMORT_AMT decimal(18,0), @l_MONTHLY_AMORT_AMT decimal(18,0)
|
41
|
declare @l_BRANCH_ID varchar(15)
|
42
|
declare @l_DEP_ID varchar(15)
|
43
|
declare @l_BRANCH_ID_DO varchar(15) = NULL, @l_BRANCH_TYPE_DO VARCHAR(15)
|
44
|
declare @l_CURR_AMORT_AMT decimal(18,0)
|
45
|
declare @l_TOTAL_AMT decimal(18,0)
|
46
|
declare @l_CURR_AMORT_STATUS nvarchar(100)
|
47
|
declare @l_DESC nvarchar(1000)
|
48
|
DECLARE @ERRORSYS NVARCHAR(15) = ''
|
49
|
DECLARE @LST_BRANCH TABLE ( BRANCHID VARCHAR(15), BRANCHCODE VARCHAR(15))
|
50
|
|
51
|
-- khai báo phần chạy khấu hao
|
52
|
DECLARE @l_AMT_OVER DECIMAL(18,0), @l_AMT_AMORT DECIMAL(18,0)
|
53
|
|
54
|
DECLARE @l_EXP_GL varchar(50)
|
55
|
, @l_AMORT_GL varchar(50)
|
56
|
, @l_GROUP_ID varchar(15)
|
57
|
, @l_ET_ID varchar(15)
|
58
|
|
59
|
, @sToday varchar(10)
|
60
|
, @l_TRN_REF_NO varchar(20) = NULL
|
61
|
, @l_DO_BRANCH_ID varchar(15)= NULL
|
62
|
, @l_TYPE_ID varchar(15) = NULL
|
63
|
|
64
|
, @l_DR_BRN_ID varchar(15)
|
65
|
, @l_CR_BRN_ID varchar(15)
|
66
|
, @l_HO_BRN_ID varchar(15)
|
67
|
, @l_ASSET_TYPE_DO varchar(15)
|
68
|
, @l_ASSET_TYPE VARCHAR(15)
|
69
|
, @l_DESC_CORE nvarchar(200)
|
70
|
|
71
|
BEGIN TRANSACTION
|
72
|
SET @sToday = convert(varchar(10), getdate(), 103)
|
73
|
SET @l_AMT_OVER = 0
|
74
|
-- start cusor loại tài sản
|
75
|
DECLARE cur CURSOR FOR
|
76
|
SELECT TRIM(TYPE_ID) AS ASSET_TYPE FROM ASS_TYPE
|
77
|
OPEN cur
|
78
|
|
79
|
FETCH NEXT FROM cur INTO @p_ASSET_TYPE
|
80
|
|
81
|
WHILE @@FETCH_STATUS = 0
|
82
|
BEGIN
|
83
|
-- start cusor loại tài sản
|
84
|
|
85
|
--Thieuvq Them gia tri mac dinh
|
86
|
--
|
87
|
declare @l_AmortIdDefault varchar(100) = '',@l_AMORTTERMDefault varchar(100) = '',
|
88
|
@l_TOTALAMTDefault decimal (18,2) = 0,@l_PROCESSSTATUSDefault varchar(100) = '',
|
89
|
@l_ExecDateDefault datetime = null, @l_StatusNameDef varchar(100) = '', @l_NotesDef varchar(100) = ''
|
90
|
--
|
91
|
|
92
|
declare @sExecDT datetime = convert(datetime, @p_EXECUTE_DATE, 103)
|
93
|
|
94
|
select @l_LAST_AMORT_ID = AMORT_ID
|
95
|
FROM ASS_AMORT
|
96
|
WHERE IS_LEAF = 'Y'
|
97
|
|
98
|
SET @l_AMORT_TERM = convert(varchar(2), datepart(month, @sExecDT)) + '/' + convert(varchar(4), datepart(year, @sExecDT))
|
99
|
|
100
|
|
101
|
|
102
|
--THIEUVQ 29092016 - BO DIEU KIEN KHONG CHO PGD CHAY PHAN BO
|
103
|
--SELECT @l_BRANCH_TYPE_DO = BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID_DO
|
104
|
SET @l_BRANCH_TYPE_DO='HS'
|
105
|
|
106
|
-- /******** kiem tra giao dich chua duyet **********************/
|
107
|
-- IF @p_ASSET_TYPE = 'TSCD'
|
108
|
-- BEGIN
|
109
|
-- IF EXISTS(SELECT 1 FROM ASS_PENDING_ITEM A WHERE A.AUTH_STATUS = 'U' AND TYPE_ID = 'TSCD')--THIEUVQ THEM DIEU KIEN KIEM TRA THEO DON VI
|
110
|
-- BEGIN
|
111
|
-- SET @ERRORSYS = 'ASS-AMR-0002'
|
112
|
-- GOTO THROW_ERR
|
113
|
-- END
|
114
|
-- END
|
115
|
-- ELSE
|
116
|
-- BEGIN
|
117
|
-- IF EXISTS(SELECT 1 FROM ASS_PENDING_ITEM A WHERE A.AUTH_STATUS = 'U' AND TYPE_ID = 'CCLD' AND TRAN_TYPE NOT IN ('ASS_ADDNEW','ASS_USE')
|
118
|
-- AND (BRANCH_CREATE = @l_BRANCH_ID_DO
|
119
|
-- OR (@l_BRANCH_TYPE_DO = 'CN'
|
120
|
-- --AND BRANCH_CREATE IN (SELECT * FROM [dbo].[CM_BRANCH_GETCHILDID](@l_BRANCH_ID_DO)))))--THIEUVQ THEM DIEU KIEN KIEM TRA THEO DON VI
|
121
|
-- AND BRANCH_CREATE IN (SELECT BRANCHID FROM @LST_BRANCH))))--THIEUVQ 29092016 - SUA DIEU KIEN PGD THUOC DANH SACH DA CHON
|
122
|
--
|
123
|
-- BEGIN
|
124
|
-- SET @ERRORSYS = 'ASS-AMR-0002'
|
125
|
-- GOTO THROW_ERR
|
126
|
-- END
|
127
|
-- END
|
128
|
--
|
129
|
|
130
|
/*******KIEM TRA KY KHAU HAO DA TRONG THANG DA DUOC TAO HAY CHUA******/
|
131
|
IF @p_ASSET_TYPE = 'TSCD'
|
132
|
BEGIN
|
133
|
IF EXISTS(SELECT 1 FROM ASS_AMORT A WHERE MONTH(A.EXECUTE_DT) = MONTH(@sExecDT) AND YEAR(A.EXECUTE_DT) = YEAR(@sExecDT)
|
134
|
AND ASSET_TYPE = 'TSCD')
|
135
|
BEGIN
|
136
|
SET @ERRORSYS = 'ASS-AMR-0001'
|
137
|
GOTO THROW_ERR
|
138
|
END
|
139
|
END
|
140
|
ELSE
|
141
|
BEGIN
|
142
|
IF EXISTS(SELECT 1 FROM ASS_AMORT A WHERE MONTH(A.EXECUTE_DT) = MONTH(@sExecDT) AND YEAR(A.EXECUTE_DT) = YEAR(@sExecDT)
|
143
|
AND ASSET_TYPE = 'CCLD' AND BRANCH_ID = @l_BRANCH_ID_DO)--THIEUVQ THEM DIEU KIEN KIEM TRA THEO LOAI TAI SAN
|
144
|
BEGIN
|
145
|
SET @ERRORSYS = 'ASS-AMR-0006'
|
146
|
GOTO THROW_ERR
|
147
|
END
|
148
|
|
149
|
|
150
|
END
|
151
|
|
152
|
|
153
|
IF EXISTS(SELECT *
|
154
|
FROM ASS_GROUP A
|
155
|
WHERE 1=1
|
156
|
AND A.IS_LEAF='Y'
|
157
|
AND ISNULL(A.ASSET_ACCTNO,'') = ''
|
158
|
AND ISNULL(A.AMORT_ACCTNO,'') = ''
|
159
|
AND ISNULL(A.EXP_ACCTNO,'') = ''
|
160
|
AND ISNULL(A.INC_ACCTNO,'') = ''
|
161
|
AND ISNULL(A.LIQ_ACCTNO,'') = ''
|
162
|
AND A.TYPE_ID = @p_ASSET_TYPE)
|
163
|
BEGIN
|
164
|
SET @ERRORSYS = 'ASS-AMR-0003'
|
165
|
GOTO THROW_ERR
|
166
|
END
|
167
|
|
168
|
THROW_ERR:
|
169
|
IF @ERRORSYS <> ''
|
170
|
BEGIN
|
171
|
CLOSE cur
|
172
|
DEALLOCATE cur
|
173
|
|
174
|
SELECT ErrorCode Result, ErrorDesc ErrorDesc, @l_AmortIdDefault as AMORT_ID, @l_AMORTTERMDefault as AMORT_TERM,
|
175
|
@l_TOTALAMTDefault as TOTAL_AMT, @l_PROCESSSTATUSDefault as PROCESS_STATUS ,@l_StatusNameDef as STATUS_NAME,
|
176
|
@l_ExecDateDefault AS EXECUTE_DT,@l_NotesDef AS NOTES
|
177
|
FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
|
178
|
|
179
|
SELECT @MESSAGE = ErrorDesc
|
180
|
FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
|
181
|
|
182
|
IF @@TRANCOUNT>0 ROLLBACK TRANSACTION
|
183
|
--GHI LOG
|
184
|
INSERT INTO THREAD_TIME_SEND_LOG (DISTANCE_TIME, DISTANCE_TYPE, TOOL_NAME, TOOL_VALUE, EXEC_DT, EXEC_TYPE, MESSAGE, CREATE_DT)
|
185
|
VALUES (@DISTANCE_TIME,@DISTANCE_TYPE, @TOOL_NAME, @TOOL_VALUE, CONVERT(DATETIME,@p_EXECUTE_DATE,103),@p_EXEC_TYPE, @MESSAGE, GETDATE());
|
186
|
|
187
|
RETURN '0'
|
188
|
END
|
189
|
|
190
|
--oepn cursor
|
191
|
declare pCur cursor for
|
192
|
SELECT A.ASSET_ID, A.AMORTIZED_AMT, A.AMORTIZED_MONTH,
|
193
|
A.AMORT_AMT, A.AMORT_MONTH, A.AMORT_END_DATE, A.AMORT_START_DATE,
|
194
|
A.FIRST_AMORT_AMT, A.MONTHLY_AMORT_AMT, A.BRANCH_ID, A.DEPT_ID, ISNULL(A.REF_GROUP_ID,A.GROUP_ID)
|
195
|
FROM ASS_MASTER A
|
196
|
WHERE A.AMORT_STATUS IN ('CKH','DKH')
|
197
|
AND convert(date, A.AMORT_START_DATE) <= convert(date, @sExecDT)
|
198
|
AND A.AMORTIZED_AMT < A.AMORT_AMT
|
199
|
AND A.RECORD_STATUS = '1'
|
200
|
AND A.AUTH_STATUS = 'A'
|
201
|
AND A.TYPE_ID = @p_ASSET_TYPE--THIEUVQ
|
202
|
|
203
|
open pCur
|
204
|
|
205
|
--Update ky khau hao truoc khong con la nut la
|
206
|
IF @l_LAST_AMORT_ID IS NOT NULL
|
207
|
BEGIN
|
208
|
UPDATE ASS_AMORT
|
209
|
SET IS_LEAF = 'N'
|
210
|
WHERE AMORT_ID = @l_LAST_AMORT_ID
|
211
|
END
|
212
|
|
213
|
--set dien giai
|
214
|
IF @p_ASSET_TYPE = 'TSCD'
|
215
|
SET @l_DESC = N'Khấu hao kỳ ' + @l_AMORT_TERM
|
216
|
ELSE
|
217
|
SET @l_DESC = N'Phân bổ kỳ ' + @l_AMORT_TERM
|
218
|
|
219
|
--Insert ky khau hao moi
|
220
|
EXEC SYS_CodeMasters_Gen 'ASS_AMORT', @l_AMORT_ID out
|
221
|
|
222
|
INSERT INTO ASS_AMORT
|
223
|
(
|
224
|
AMORT_ID,
|
225
|
AMORT_TERM,
|
226
|
EXECUTE_DT,
|
227
|
TOTAL_AMT,
|
228
|
IS_LEAF,
|
229
|
PARENT_ID,
|
230
|
NOTES,
|
231
|
PROCESS_STATUS,
|
232
|
[RECORD_STATUS],
|
233
|
[MAKER_ID],
|
234
|
[CREATE_DT],
|
235
|
[AUTH_STATUS],
|
236
|
[CHECKER_ID],
|
237
|
[APPROVE_DT],
|
238
|
[BRANCH_ID],
|
239
|
[ASSET_TYPE]
|
240
|
)
|
241
|
VALUES
|
242
|
(
|
243
|
@l_AMORT_ID,
|
244
|
@l_AMORT_TERM,
|
245
|
CONVERT(datetime, @p_EXECUTE_DATE, 103),
|
246
|
0,
|
247
|
'Y',
|
248
|
@l_LAST_AMORT_ID,
|
249
|
@l_DESC,--N'Khấu hao kỳ ' + @l_AMORT_TERM,
|
250
|
'P', --Pending cho chay khau hao
|
251
|
'1',
|
252
|
@p_MAKER_ID,
|
253
|
GETDATE(),
|
254
|
'A',
|
255
|
@p_CHECKER_ID,
|
256
|
GETDATE(),
|
257
|
@l_BRANCH_ID_DO,
|
258
|
@p_ASSET_TYPE
|
259
|
)
|
260
|
|
261
|
----------------BO DUNG DANH SACH PGD DUOC CN PHAN BO GIUM THIEUVQ - 28092016------------------
|
262
|
IF @l_BRANCH_TYPE_DO = 'CN'
|
263
|
BEGIN
|
264
|
INSERT INTO ASS_AMORT_BRN SELECT @l_AMORT_ID, @l_AMORT_TERM, BRANCHID FROM @LST_BRANCH
|
265
|
END
|
266
|
-----------------------------------------------------------------------------------------------
|
267
|
SET @l_TOTAL_AMT = 0
|
268
|
|
269
|
--Tinh khau hao cho tung tai san
|
270
|
FETCH NEXT FROM pCur INTO @l_ASSET_ID, @l_AMORTIZED_AMT, @l_AMORTIZED_MONTH,
|
271
|
@l_AMORT_AMT, @l_AMORT_MONTH, @l_AMORT_END_DATE, @l_AMORT_START_DATE,
|
272
|
@l_FIRST_AMORT_AMT, @l_MONTHLY_AMORT_AMT, @l_BRANCH_ID, @l_DEP_ID, @l_GROUP_ID
|
273
|
|
274
|
WHILE @@FETCH_STATUS = 0
|
275
|
BEGIN
|
276
|
|
277
|
IF (@l_AMORTIZED_MONTH = 0) --Khau hao thang dau tien
|
278
|
BEGIN
|
279
|
SET @l_CURR_AMORT_AMT = @l_FIRST_AMORT_AMT
|
280
|
IF(@l_AMORTIZED_AMT>0)
|
281
|
SET @l_CURR_AMORT_AMT =@l_MONTHLY_AMORT_AMT
|
282
|
--SET @l_CURR_AMORT_STATUS = 'DKH'
|
283
|
END
|
284
|
ELSE IF dbo.FN_GetLastDayOfMonth(@sExecDT) = dbo.FN_GetLastDayOfMonth(@l_AMORT_END_DATE) --Ky khau hao cuoi cung
|
285
|
BEGIN
|
286
|
IF(@l_AMORT_AMT - @l_AMORTIZED_AMT > @l_MONTHLY_AMORT_AMT )
|
287
|
SET @l_CURR_AMORT_AMT =@l_MONTHLY_AMORT_AMT
|
288
|
ELSE
|
289
|
SET @l_CURR_AMORT_AMT = @l_AMORT_AMT - @l_AMORTIZED_AMT
|
290
|
--SET @l_CURR_AMORT_STATUS = 'KHX'
|
291
|
print 'last amort' + @l_ASSET_ID
|
292
|
END
|
293
|
ELSE --tai san dang khau hao binh thuong
|
294
|
BEGIN
|
295
|
SET @l_CURR_AMORT_AMT = @l_MONTHLY_AMORT_AMT
|
296
|
--SET @l_CURR_AMORT_STATUS = 'DKH'
|
297
|
--THIEUVQ THEM DK KHONG KHAU HAO AM 13112017
|
298
|
IF (@l_AMORTIZED_AMT + @l_CURR_AMORT_AMT) > @l_AMORT_AMT
|
299
|
SET @l_CURR_AMORT_AMT = @l_AMORT_AMT - @l_AMORTIZED_AMT
|
300
|
END
|
301
|
|
302
|
--Insert to bang ASS_AMORT_DT
|
303
|
EXEC SYS_CodeMasters_Gen 'ASS_AMORT_DT', @l_AMORTDT_ID out
|
304
|
|
305
|
INSERT INTO ASS_AMORT_DT
|
306
|
(
|
307
|
AMORTDT_ID,
|
308
|
AMORT_ID,
|
309
|
AMORT_DT,
|
310
|
CRDR,
|
311
|
BRANCH_ID,
|
312
|
DEP_ID,
|
313
|
ASSET_ID,
|
314
|
AMORT_AMT,
|
315
|
GROUP_ID,
|
316
|
EXECUTED,
|
317
|
TRN_TYPE,
|
318
|
TRN_DESC
|
319
|
)
|
320
|
VALUES
|
321
|
(
|
322
|
@l_AMORTDT_ID,
|
323
|
@l_AMORT_ID,
|
324
|
@sExecDT,
|
325
|
'C',
|
326
|
@l_BRANCH_ID,
|
327
|
@l_DEP_ID,
|
328
|
@l_ASSET_ID,
|
329
|
@l_CURR_AMORT_AMT,
|
330
|
NULL, --Khong chay khau hao theo group
|
331
|
'0',
|
332
|
'AMORT',
|
333
|
@l_DESC
|
334
|
)
|
335
|
|
336
|
SET @l_TOTAL_AMT = @l_TOTAL_AMT + @l_CURR_AMORT_AMT
|
337
|
|
338
|
|
339
|
------------- BẮT ĐẦU CHẠY KHẤU HAO TÀI SẢN----------------
|
340
|
-- lấy thông tin nhóm tài sản
|
341
|
|
342
|
DECLARE @goupxe TABLE (
|
343
|
GROUP_ID VARCHAR(25)
|
344
|
)
|
345
|
|
346
|
INSERT INTO @goupxe
|
347
|
SELECT
|
348
|
ag.GROUP_ID
|
349
|
FROM ASS_GROUP ag
|
350
|
WHERE ag.PARENT_ID = 'ASG000000000151'
|
351
|
|
352
|
|
353
|
|
354
|
SELECT @l_EXP_GL = G.EXP_ACCTNO, @l_AMORT_GL = G.AMORT_ACCTNO, @l_TYPE_ID = G.[TYPE_ID]
|
355
|
FROM ASS_GROUP G
|
356
|
WHERE G.GROUP_ID = @l_GROUP_ID
|
357
|
IF @@ERROR<>0 GOTO ABORT
|
358
|
|
359
|
|
360
|
|
361
|
DECLARE @l_MONTHLY_AMT DECIMAL(18,0), @l_AM_AMORT_AMT DECIMAL(18,0)
|
362
|
SELECT @l_AM_AMORT_AMT = AM.AMORT_AMT FROM ASS_MASTER AM WHERE AM.ASSET_ID = @l_ASSET_ID
|
363
|
|
364
|
|
365
|
IF (@l_AM_AMORT_AMT > 1600000000
|
366
|
AND EXISTS (SELECT
|
367
|
GROUP_ID
|
368
|
FROM @goupxe
|
369
|
WHERE GROUP_ID = @l_GROUP_ID)
|
370
|
)
|
371
|
BEGIN
|
372
|
PRINT 1
|
373
|
SET @l_MONTHLY_AMT = ROUND(1600000000 / @l_AMORT_MONTH, 0)
|
374
|
DECLARE @AMORT_ON_DAY DECIMAL(18, 0)
|
375
|
SET @AMORT_ON_DAY = ROUND(@l_MONTHLY_AMT / dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE), 0)
|
376
|
SET @l_AMT_AMORT = ROUND(@AMORT_ON_DAY * (DATEDIFF(DAY, @l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), 0)
|
377
|
--END
|
378
|
IF (DAY(@l_AMORT_START_DATE) = 1)
|
379
|
SET @l_AMT_AMORT = @l_MONTHLY_AMT
|
380
|
|
381
|
END
|
382
|
|
383
|
IF (@l_AMORTIZED_MONTH = 0) --Khau hao thang dau tien
|
384
|
BEGIN
|
385
|
SET @l_CURR_AMORT_STATUS = 'DKH'
|
386
|
IF (@l_AM_AMORT_AMT > 1600000000
|
387
|
AND EXISTS (SELECT
|
388
|
GROUP_ID
|
389
|
FROM @goupxe
|
390
|
WHERE GROUP_ID = @l_GROUP_ID)
|
391
|
)
|
392
|
BEGIN
|
393
|
SET @l_AMT_OVER = @l_AMORT_AMT - @l_AMT_AMORT
|
394
|
END
|
395
|
END
|
396
|
ELSE
|
397
|
IF dbo.FN_GetLastDayOfMonth(@sExecDT) = dbo.FN_GetLastDayOfMonth(@l_AMORT_END_DATE) --Ky khau hao cuoi cung
|
398
|
BEGIN
|
399
|
--SET @l_CURR_AMORT_AMT = @l_AMORT_AMT - @l_AMORTIZED_AMT
|
400
|
|
401
|
|
402
|
SET @l_CURR_AMORT_STATUS = 'KHX'
|
403
|
IF (@l_AM_AMORT_AMT > 1600000000
|
404
|
AND EXISTS (SELECT
|
405
|
GROUP_ID
|
406
|
FROM @goupxe
|
407
|
WHERE GROUP_ID = @l_GROUP_ID)
|
408
|
)
|
409
|
BEGIN
|
410
|
SET @l_AMT_OVER = @l_AMORT_AMT - (1600000000 - (@l_AMT_AMORT + (@l_MONTHLY_AMT * (@l_AMORT_MONTH - 2))))
|
411
|
END
|
412
|
END
|
413
|
ELSE --tai san dang khau hao binh thuong
|
414
|
BEGIN
|
415
|
SET @l_CURR_AMORT_STATUS = 'DKH'
|
416
|
IF (@l_AM_AMORT_AMT > 1600000000
|
417
|
AND EXISTS (SELECT
|
418
|
GROUP_ID
|
419
|
FROM @goupxe
|
420
|
WHERE GROUP_ID = @l_GROUP_ID)
|
421
|
)
|
422
|
BEGIN
|
423
|
SET @l_AMT_OVER = @l_AMORT_AMT - @l_MONTHLY_AMT
|
424
|
END
|
425
|
END
|
426
|
IF(@l_AMORT_AMT - @l_AMORTIZED_AMT>0)
|
427
|
SET @l_CURR_AMORT_STATUS = 'DKH'
|
428
|
|
429
|
--BRN_ID HOI SO
|
430
|
SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS'
|
431
|
|
432
|
--Insert vao bang dbo.ASS_ENTRIES_POST
|
433
|
EXEC ASS_TRN_REF_NO_Gen @p_ASSET_TYPE, @sToday, @l_TRN_REF_NO out
|
434
|
|
435
|
IF @l_BRANCH_ID = @l_HO_BRN_ID
|
436
|
BEGIN
|
437
|
SET @l_DR_BRN_ID = @l_DEP_ID
|
438
|
END
|
439
|
ELSE
|
440
|
BEGIN
|
441
|
SET @l_DR_BRN_ID = @l_BRANCH_ID
|
442
|
END
|
443
|
|
444
|
--thieuvq dien giai hach toan khau hao
|
445
|
IF @p_ASSET_TYPE = 'TSCD'
|
446
|
BEGIN
|
447
|
SET @l_DESC_CORE = 'KHAU HAO TSCD KY ' + @l_AMORT_TERM
|
448
|
SET @l_CR_BRN_ID = @l_HO_BRN_ID
|
449
|
END
|
450
|
ELSE
|
451
|
BEGIN
|
452
|
SET @l_DESC_CORE = 'PHAN BO CHI PHI CCLD KY ' + @l_AMORT_TERM
|
453
|
SET @l_CR_BRN_ID = @l_BRANCH_ID
|
454
|
END
|
455
|
|
456
|
DECLARE @l_BRANCH_CODE VARCHAR(25), @l_ASSET_CODE VARCHAR(25),@l_ETP_ID VARCHAR(25),@DEP_CODE VARCHAR(25)
|
457
|
SET @l_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
|
458
|
SET @l_ASSET_CODE =(SELECT am.ASSET_CODE FROM ASS_MASTER am WHERE am.ASSET_ID=@l_ASSET_ID)
|
459
|
SET @l_AMORTIZED_AMT =(SELECT am.AMORTIZED_AMT FROM ASS_MASTER am WHERE am.ASSET_ID=@l_ASSET_ID)
|
460
|
SET @DEP_CODE= (SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEP_ID)
|
461
|
|
462
|
|
463
|
DECLARE @LST_COST_SHARE TABLE (
|
464
|
ASSET_ID VARCHAR(20),
|
465
|
BRANCH_ID VARCHAR(20),
|
466
|
DEP_ID VARCHAR(20),
|
467
|
COST_AMOUNT DECIMAL(18,0)
|
468
|
|
469
|
)
|
470
|
INSERT INTO @LST_COST_SHARE (ASSET_ID, BRANCH_ID, DEP_ID, COST_AMOUNT)
|
471
|
SELECT aca.ASSET_ID,acad.BRANCH_ID,acad.DEPT_ID,acad.COST_AMOUNT FROM ASS_COST_ALLOCATION aca
|
472
|
LEFT JOIN ASS_COST_ALLOC_DT acad ON aca.COS_ID = acad.COS_ID
|
473
|
WHERE aca.RECORD_STATUS=1 AND aca.AUTH_STATUS='A' AND aca.ASSET_ID=@l_ASSET_ID
|
474
|
|
475
|
|
476
|
|
477
|
IF (@l_AMORT_AMT > 0)
|
478
|
BEGIN
|
479
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST'
|
480
|
,@l_ET_ID OUT
|
481
|
IF @l_ET_ID = ''
|
482
|
OR @l_ET_ID IS NULL
|
483
|
GOTO ABORT
|
484
|
|
485
|
|
486
|
INSERT INTO ASS_ENTRIES_POST (ET_ID, REF_NO, ASSET_ID, TRN_TYPE, REF_ID, DO_BRN, CR_ACCT, CR_BRN, DR_ACCT, DR_BRN, AMT, EXP_TO_CORE, TRN_DATE, TRN_DESC, MAKER_ID, CHECKER_ID)
|
487
|
VALUES (@l_ET_ID, @l_TRN_REF_NO, @l_ASSET_ID, 'AMORT', @l_AMORTDT_ID, @l_DO_BRANCH_ID, dbo.FN_REPLACE_ACCTNO(@l_AMORT_GL, @l_CR_BRN_ID), @l_CR_BRN_ID, @l_EXP_GL, @l_DR_BRN_ID, @l_AMORT_AMT - @l_AMT_OVER, 'Y', @sExecDT, @l_DESC_CORE, @p_MAKER_ID, @p_CHECKER_ID)
|
488
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC'
|
489
|
,@l_ETP_ID OUT
|
490
|
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)
|
491
|
VALUES (@l_ETP_ID, @l_ET_ID, @l_AMORTDT_ID, @l_BRANCH_CODE, @l_AMORT_GL, 'VND', 'C', @l_AMORT_AMT - @l_AMT_OVER, 1, @l_AMORT_AMT - @l_AMT_OVER, @l_ASSET_CODE, @sExecDT, @p_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_DESC_CORE);
|
492
|
|
493
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC'
|
494
|
,@l_ETP_ID OUT
|
495
|
|
496
|
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)
|
497
|
VALUES (@l_ETP_ID, @l_ET_ID, @l_AMORTDT_ID, @l_BRANCH_CODE, @l_EXP_GL, 'VND', 'D', @l_AMORT_AMT - @l_AMT_OVER, 1, @l_AMORT_AMT - @l_AMT_OVER, @l_ASSET_CODE, @sExecDT, @p_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_DESC_CORE);
|
498
|
|
499
|
IF(EXISTS(SELECT ASSET_ID FROM @LST_COST_SHARE))
|
500
|
BEGIN
|
501
|
|
502
|
DECLARE lstDATACOST CURSOR FOR
|
503
|
SELECT
|
504
|
BRANCH_ID
|
505
|
,DEP_ID
|
506
|
,COST_AMOUNT FROM @LST_COST_SHARE
|
507
|
OPEN lstDATACOST
|
508
|
|
509
|
DECLARE @COST_BRANCH_ID VARCHAR(20) , @COST_DEP_ID VARCHAR(20), @COST_AMOUNT DECIMAL(18,0),@COST_DEP_CODE VARCHAR(20),@COST_BRANCH_CODE VARCHAR(20),@TRANFER_CP VARCHAR(25)
|
510
|
|
511
|
SET @TRANFER_CP=(SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='ASSET_CCLD_N')
|
512
|
|
513
|
FETCH NEXT FROM lstDATACOST INTO @COST_BRANCH_ID, @COST_DEP_ID , @COST_AMOUNT
|
514
|
WHILE @@fetch_status = 0
|
515
|
BEGIN
|
516
|
IF(@l_BRANCH_ID <> @COST_BRANCH_ID)
|
517
|
BEGIN
|
518
|
|
519
|
SET @COST_BRANCH_CODE =(SELECT
|
520
|
cb.BRANCH_CODE
|
521
|
FROM CM_BRANCH cb
|
522
|
WHERE cb.BRANCH_ID = @COST_BRANCH_ID)
|
523
|
|
524
|
|
525
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC'
|
526
|
,@l_ETP_ID OUT
|
527
|
|
528
|
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)
|
529
|
VALUES (@l_ETP_ID, @l_ET_ID, @l_AMORTDT_ID, @l_BRANCH_CODE, @l_EXP_GL, 'VND', 'C', @COST_AMOUNT, 1, @COST_AMOUNT, @l_ASSET_CODE, @sExecDT, @p_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_DESC_CORE);
|
530
|
|
531
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC'
|
532
|
,@l_ETP_ID OUT
|
533
|
|
534
|
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)
|
535
|
VALUES (@l_ETP_ID, @l_ET_ID, @l_AMORTDT_ID, @l_BRANCH_CODE, @TRANFER_CP, 'VND', 'D', @COST_AMOUNT, 1, @COST_AMOUNT, @l_ASSET_CODE, @sExecDT, @p_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_DESC_CORE);
|
536
|
|
537
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC'
|
538
|
,@l_ETP_ID OUT
|
539
|
|
540
|
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)
|
541
|
VALUES (@l_ETP_ID, @l_ET_ID, @l_AMORTDT_ID, @COST_BRANCH_CODE, @TRANFER_CP, 'VND', 'C', @COST_AMOUNT, 1, @COST_AMOUNT, @l_ASSET_CODE, @sExecDT, @p_MAKER_ID, @p_CHECKER_ID, '', @l_DESC_CORE);
|
542
|
|
543
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC'
|
544
|
,@l_ETP_ID OUT
|
545
|
|
546
|
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)
|
547
|
VALUES (@l_ETP_ID, @l_ET_ID, @l_AMORTDT_ID, @COST_BRANCH_CODE, @l_EXP_GL, 'VND', 'D', @COST_AMOUNT, 1, @COST_AMOUNT, @l_ASSET_CODE, @sExecDT, @p_MAKER_ID, @p_CHECKER_ID, '', @l_DESC_CORE);
|
548
|
|
549
|
|
550
|
END
|
551
|
ELSE
|
552
|
BEGIN
|
553
|
|
554
|
SELECT @COST_DEP_ID
|
555
|
SET @COST_DEP_CODE =(SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@COST_DEP_ID)
|
556
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC',@l_ETP_ID OUT
|
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, @l_AMORTDT_ID, @l_BRANCH_CODE, @l_EXP_GL, 'VND', 'C', @COST_AMOUNT, 1, @COST_AMOUNT, @l_ASSET_CODE, @sExecDT, @p_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_DESC_CORE);
|
559
|
|
560
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC',@l_ETP_ID OUT
|
561
|
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)
|
562
|
VALUES (@l_ETP_ID, @l_ET_ID, @l_AMORTDT_ID, @l_BRANCH_CODE, @l_EXP_GL, 'VND', 'D', @COST_AMOUNT, 1, @COST_AMOUNT, @l_ASSET_CODE, @sExecDT, @p_MAKER_ID, @p_CHECKER_ID, @COST_DEP_CODE, @l_DESC_CORE);
|
563
|
END
|
564
|
|
565
|
|
566
|
FETCH NEXT FROM lstDATACOST INTO @COST_BRANCH_ID, @COST_DEP_ID , @COST_AMOUNT
|
567
|
END
|
568
|
CLOSE lstDATACOST
|
569
|
DEALLOCATE lstDATACOST
|
570
|
|
571
|
END
|
572
|
|
573
|
|
574
|
|
575
|
END
|
576
|
|
577
|
IF (@l_AMT_OVER > 0)
|
578
|
BEGIN
|
579
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST'
|
580
|
,@l_ET_ID OUT
|
581
|
IF @l_ET_ID = ''
|
582
|
OR @l_ET_ID IS NULL
|
583
|
GOTO ABORT
|
584
|
INSERT INTO ASS_ENTRIES_POST (ET_ID, REF_NO, ASSET_ID, TRN_TYPE, REF_ID, DO_BRN, CR_ACCT, CR_BRN, DR_ACCT, DR_BRN, AMT, EXP_TO_CORE, TRN_DATE, TRN_DESC, MAKER_ID, CHECKER_ID)
|
585
|
VALUES (@l_ET_ID, @l_TRN_REF_NO, @l_ASSET_ID, 'AMORT', @l_AMORTDT_ID, @l_DO_BRANCH_ID, dbo.FN_REPLACE_ACCTNO(@l_AMORT_GL, @l_CR_BRN_ID), @l_CR_BRN_ID, @l_EXP_GL, @l_DR_BRN_ID, @l_AMT_OVER, 'Y', @sExecDT, @l_DESC_CORE, @p_MAKER_ID, @p_CHECKER_ID)
|
586
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC'
|
587
|
,@l_ETP_ID OUT
|
588
|
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)
|
589
|
VALUES (@l_ETP_ID, @l_ET_ID, @l_AMORTDT_ID, @l_BRANCH_CODE, @l_AMORT_GL, 'VND', 'C', @l_AMT_OVER, 1, @l_AMT_OVER, @l_ASSET_CODE, @sExecDT, @p_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_DESC_CORE);
|
590
|
|
591
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC'
|
592
|
,@l_ETP_ID OUT
|
593
|
|
594
|
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)
|
595
|
VALUES (@l_ETP_ID, @l_ET_ID, @l_AMORTDT_ID, @l_BRANCH_CODE, '871001005', 'VND', 'D', @l_AMT_OVER, 1, @l_AMT_OVER, @l_ASSET_CODE, @sExecDT, @p_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_DESC_CORE);
|
596
|
END
|
597
|
IF @@Error <> 0 GOTO ABORT
|
598
|
|
599
|
--UPDATE BANG ASS_MASTER
|
600
|
UPDATE ASS_MASTER
|
601
|
SET AMORTIZED_AMT = isnull(AMORTIZED_AMT, 0) + @l_CURR_AMORT_AMT,
|
602
|
AMORTIZED_MONTH = isnull(AMORTIZED_MONTH, 0) + 1,
|
603
|
AMORT_STATUS = @l_CURR_AMORT_STATUS
|
604
|
WHERE ASSET_ID = @l_ASSET_ID
|
605
|
IF @@Error <> 0 GOTO ABORT
|
606
|
--
|
607
|
--update da hach toan
|
608
|
UPDATE ASS_AMORT_DT
|
609
|
SET EXECUTED = '1'
|
610
|
WHERE AMORTDT_ID = @l_AMORTDT_ID
|
611
|
IF @@Error <> 0 GOTO ABORT
|
612
|
|
613
|
-----------------------------------------------
|
614
|
FETCH NEXT FROM pCur INTO @l_ASSET_ID, @l_AMORTIZED_AMT, @l_AMORTIZED_MONTH,
|
615
|
@l_AMORT_AMT, @l_AMORT_MONTH, @l_AMORT_END_DATE, @l_AMORT_START_DATE,
|
616
|
@l_FIRST_AMORT_AMT, @l_MONTHLY_AMORT_AMT, @l_BRANCH_ID, @l_DEP_ID, @l_GROUP_ID
|
617
|
END
|
618
|
|
619
|
UPDATE ASS_AMORT
|
620
|
SET TOTAL_AMT = @l_TOTAL_AMT, PROCESS_STATUS = 'S'
|
621
|
WHERE AMORT_ID = @l_AMORT_ID
|
622
|
|
623
|
-- /****CAP NHAT CCLD TINH TRANG: DPB(Đã phân bổ chi phí khi xuất sử dụng) VE DANG KHAU HAO***/
|
624
|
IF @p_ASSET_TYPE = 'CCLD'
|
625
|
BEGIN
|
626
|
UPDATE ASS_MASTER SET AMORT_STATUS = 'DKH'
|
627
|
WHERE AMORT_STATUS IN ('DPB')
|
628
|
--AND convert(date, AMORT_START_DATE) <= convert(date, @sExecDT)
|
629
|
AND convert(date, AMORT_START_DATE) <= convert(date, dbo.FN_GetLastDayOfMonth(@sExecDT))
|
630
|
AND AMORTIZED_AMT < AMORT_AMT
|
631
|
AND RECORD_STATUS = '1'
|
632
|
AND AUTH_STATUS = 'A'
|
633
|
AND TYPE_ID = 'CCLD'
|
634
|
AND (BRANCH_ID = @l_BRANCH_ID_DO
|
635
|
OR (@l_BRANCH_TYPE_DO = 'CN' --NEU LA CN THI PHAN BO LUON CHO PGD THUOC CHI NHANH DO
|
636
|
--AND BRANCH_ID IN (SELECT * FROM [dbo].[CM_BRANCH_GETCHILDID](@l_BRANCH_ID_DO)))) --THIEUVQ
|
637
|
AND BRANCH_ID IN (SELECT BR.BRANCH_ID FROM ASS_AMORT_BRN BR WHERE BR.AMORT_ID = @l_AMORT_ID))) --THIEUVQ 28092016
|
638
|
END
|
639
|
|
640
|
|
641
|
CLOSE pCur
|
642
|
DEALLOCATE pCur
|
643
|
-- end cusor loại tài sản
|
644
|
FETCH NEXT FROM cur INTO @p_ASSET_TYPE
|
645
|
END
|
646
|
CLOSE cur
|
647
|
DEALLOCATE cur
|
648
|
-- end cusor loại tài sản
|
649
|
|
650
|
END TRY
|
651
|
|
652
|
BEGIN CATCH
|
653
|
CLOSE pCur
|
654
|
DEALLOCATE pCur
|
655
|
CLOSE cur
|
656
|
DEALLOCATE cur
|
657
|
|
658
|
IF @@TRANCOUNT>0 ROLLBACK TRANSACTION
|
659
|
SELECT '-1' as Result, convert(varchar(100),ERROR_NUMBER()) + ' - ' + ERROR_MESSAGE() ErrorDesc,
|
660
|
'' AMORT_ID, '' AMORT_TERM, 0 TOTAL_AMT, NULL EXECUTE_DT, '' STATUS_NAME, '' NOTES
|
661
|
|
662
|
--GHI LOG
|
663
|
INSERT INTO THREAD_TIME_SEND_LOG (DISTANCE_TIME, DISTANCE_TYPE, TOOL_NAME, TOOL_VALUE, EXEC_DT, EXEC_TYPE, MESSAGE, CREATE_DT)
|
664
|
VALUES (@DISTANCE_TIME,@DISTANCE_TYPE, @TOOL_NAME, @TOOL_VALUE, CONVERT(DATETIME,@p_EXECUTE_DATE,103),@p_EXEC_TYPE, convert(varchar(100),ERROR_NUMBER()) + ' - ' + ERROR_MESSAGE(), GETDATE());
|
665
|
|
666
|
RETURN '-1'
|
667
|
|
668
|
END CATCH;
|
669
|
|
670
|
|
671
|
IF @@TRANCOUNT>0 COMMIT TRANSACTION
|
672
|
|
673
|
SELECT '0' as Result, '' ErrorDesc, AMORT_ID, AMORT_TERM, TOTAL_AMT, EXECUTE_DT,
|
674
|
CASE WHEN PROCESS_STATUS='P' THEN N'Chờ thực thi' ELSE N'Đã thực thi' END STATUS_NAME, NOTES
|
675
|
FROM ASS_AMORT WHERE AMORT_ID = @l_AMORT_ID
|
676
|
|
677
|
--GHI LOG
|
678
|
INSERT INTO THREAD_TIME_SEND_LOG (DISTANCE_TIME, DISTANCE_TYPE, TOOL_NAME, TOOL_VALUE, EXEC_DT, EXEC_TYPE, MESSAGE, CREATE_DT)
|
679
|
VALUES (@DISTANCE_TIME,@DISTANCE_TYPE, @TOOL_NAME, @TOOL_VALUE, CONVERT(DATETIME,@p_EXECUTE_DATE,103),@p_EXEC_TYPE, N'Thực thi thành công', GETDATE());
|
680
|
|
681
|
|
682
|
RETURN '0'
|
683
|
|
684
|
ABORT:
|
685
|
BEGIN
|
686
|
|
687
|
CLOSE pCur
|
688
|
DEALLOCATE pCur
|
689
|
CLOSE cur
|
690
|
DEALLOCATE cur
|
691
|
|
692
|
ROLLBACK TRANSACTION
|
693
|
--GHI LOG
|
694
|
INSERT INTO THREAD_TIME_SEND_LOG (DISTANCE_TIME, DISTANCE_TYPE, TOOL_NAME, TOOL_VALUE, EXEC_DT, EXEC_TYPE, MESSAGE, CREATE_DT)
|
695
|
VALUES (@DISTANCE_TIME,@DISTANCE_TYPE, @TOOL_NAME, @TOOL_VALUE, CONVERT(DATETIME,@p_EXECUTE_DATE,103),@p_EXEC_TYPE, ERROR_MESSAGE(), GETDATE());
|
696
|
|
697
|
SELECT '-1' as Result, '' ErrorDesc
|
698
|
RETURN '-1'
|
699
|
End
|
700
|
|