1
|
|
2
|
ALTER PROCEDURE dbo.ASS_UPDATE_App
|
3
|
@p_UPDATE_ID varchar(15),
|
4
|
@P_AUTH_STATUS VARCHAR(1),
|
5
|
@p_CHECKER_ID VARCHAR(100),
|
6
|
@p_APPROVE_DT varchar(20)
|
7
|
|
8
|
AS
|
9
|
BEGIN TRY
|
10
|
DECLARE @ERRORSYS NVARCHAR(15) = '', @ERROR NVARCHAR(500) = ''
|
11
|
|
12
|
declare @l_ASSHIST_ID varchar(15)
|
13
|
declare @l_ASSET_ID varchar(15)
|
14
|
declare @l_TYPE_ID nvarchar(15)
|
15
|
DECLARE @l_MAKER_ID varchar(100)
|
16
|
DECLARE @l_BRANCH_CREATE VARCHAR(15), @l_BRANCH_ID VARCHAR(15),@l_DEP_ID VARCHAR(15)
|
17
|
|
18
|
declare @l_NEW_GROUP_ID varchar(15), @l_OLD_GROUP_ID varchar(15)
|
19
|
declare @l_NEW_ASSET_NAME nvarchar(1000)--, @l_OLD_ASSET_NAME nvarchar(1000)
|
20
|
declare @l_NEW_ASSET_SERIAL_NO nvarchar(100)--, @l_OLD_ASSET_SERIAL_NO nvarchar(100)
|
21
|
declare @l_NEW_ASSET_DESC nvarchar(max)--, @l_OLD_ASSET_DESC nvarchar(max)
|
22
|
declare @l_NEW_BUY_PRICE decimal(18,0), @l_OLD_BUY_PRICE decimal(18,0)
|
23
|
declare @l_NEW_AMORT_AMT decimal(18,0), @l_OLD_AMORT_AMT decimal(18,0)
|
24
|
declare @l_NEW_AMORT_MONTH decimal(18,2), @l_OLD_AMORT_MONTH decimal(18,2)
|
25
|
declare @l_AMORTIZED_MONTH decimal(18,2), @l_AMORTIZED_AMT decimal(18,0)
|
26
|
declare @l_SPECIAL_ASS varchar(1)
|
27
|
|
28
|
DECLARE @l_AMORT_STATUS VARCHAR(15), @L_AMORT_RATE DECIMAL(18,2)
|
29
|
DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime
|
30
|
DECLARE @l_NEW_FIRST_AMORT_AMT numeric(18,0), @l_OLD_FIRST_AMORT_AMT numeric(18,0)
|
31
|
DECLARE @l_NEW_MONTHLY_AMT numeric(18,0), @l_OLD_MONTHLY_AMT numeric(18,0)
|
32
|
|
33
|
declare @l_GROUP_ID_UPD varchar(1) = 'N'
|
34
|
declare @l_AMORT_AMT_UPD varchar(1) = 'N', @l_AMORT_MONTH_UPD VARCHAR(1) = 'N'
|
35
|
declare @l_DO_BRANCH_ID varchar(15)
|
36
|
DECLARE @l_VALUE_ID varchar(15)
|
37
|
DECLARE @l_HO_BRN_ID varchar(15)
|
38
|
declare @l_ET_ID varchar(15)
|
39
|
DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103)
|
40
|
declare @l_TRN_REF_NO varchar(20)
|
41
|
|
42
|
DECLARE @l_SUPPEND_GL varchar(50)
|
43
|
DECLARE @l_ASSET_GL varchar(50), @l_AMORT_ACCTNO VARCHAR(50)
|
44
|
declare @l_ASSET_VALUE decimal(18,0)
|
45
|
declare @l_CORE_NOTE NVARCHAR(500)
|
46
|
|
47
|
DECLARE @l_DATE1 DATE,@l_DATE2 DATE
|
48
|
DECLARE @l_ASSET_CODE VARCHAR(50) -- KHIEMCHG Bo sung ASSETCODE REF cho HACH TOAN
|
49
|
|
50
|
DECLARE @l_TRN_NO VARCHAR(15)
|
51
|
IF(EXISTS(SELECT * FROM ASS_UPDATE WHERE AUTH_STATUS ='A' AND UPDATE_ID=@p_UPDATE_ID))
|
52
|
BEGIN
|
53
|
--ROLLBACK TRANSACTION
|
54
|
SELECT '-1' as Result, '' UPDATE_ID, N'Phiếu cập nhật tài sản đã được duyệt.' ErrorDesc
|
55
|
RETURN '-1'
|
56
|
END
|
57
|
|
58
|
EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = 'DV0001'
|
59
|
,@p_TRN_DATE = @p_APPROVE_DT
|
60
|
,@p_KeyGen = @l_TRN_NO OUT
|
61
|
|
62
|
SELECT @l_ASSET_ID = A.ASSET_ID,
|
63
|
@l_NEW_GROUP_ID = A.GROUP_ID,
|
64
|
--@l_NEW_AMORT_MONTH = CASE WHEN M.[TYPE_ID] = 'TSCD' THEN G.AMORT_MONTH ELSE A.AMORT_AMT END,
|
65
|
@l_NEW_AMORT_MONTH = A.AMORT_MONTH,--THIEUVQ 18/04/2014
|
66
|
@l_NEW_ASSET_NAME = A.ASSET_NAME,
|
67
|
@l_NEW_ASSET_SERIAL_NO = A.ASSET_SERIAL_NO,
|
68
|
@l_NEW_ASSET_DESC = A.ASSET_DESC,
|
69
|
@l_NEW_BUY_PRICE = A.BUY_PRICE,
|
70
|
@l_NEW_AMORT_AMT = A.AMORT_AMT, @l_CORE_NOTE = CORE_NOTE,
|
71
|
@l_MAKER_ID = A.MAKER_ID,
|
72
|
@l_SUPPEND_GL = A.ACCOUNT_GL
|
73
|
FROM ASS_UPDATE A
|
74
|
INNER JOIN ASS_GROUP G on G.GROUP_ID = A.GROUP_ID
|
75
|
INNER JOIN ASS_MASTER M ON M.ASSET_ID = A.ASSET_ID
|
76
|
WHERE UPDATE_ID = @p_UPDATE_ID
|
77
|
|
78
|
SELECT
|
79
|
@l_OLD_GROUP_ID = ISNULL(A.REF_GROUP_ID,A.GROUP_ID),
|
80
|
@l_OLD_AMORT_MONTH = AMORT_MONTH,
|
81
|
@l_AMORTIZED_MONTH = AMORTIZED_MONTH,
|
82
|
--@l_OLD_ASSET_NAME = ASSET_NAME,
|
83
|
--@l_OLD_ASSET_SERIAL_NO = ASSET_SERIAL_NO,
|
84
|
--@l_OLD_ASSET_DESC = ASSET_DESC,
|
85
|
@l_OLD_BUY_PRICE = BUY_PRICE,
|
86
|
@l_OLD_FIRST_AMORT_AMT = FIRST_AMORT_AMT,
|
87
|
@l_OLD_MONTHLY_AMT = A.MONTHLY_AMORT_AMT,
|
88
|
@l_AMORT_START_DATE = AMORT_START_DATE,
|
89
|
@l_AMORT_END_DATE = AMORT_END_DATE,
|
90
|
@l_OLD_AMORT_AMT = AMORT_AMT,
|
91
|
@l_AMORTIZED_AMT = AMORTIZED_AMT,
|
92
|
@l_SPECIAL_ASS = SPECIAL_ASS,
|
93
|
@l_TYPE_ID = TYPE_ID,
|
94
|
@l_AMORT_STATUS = AMORT_STATUS,
|
95
|
@L_AMORT_RATE = AMORT_RATE,
|
96
|
@l_BRANCH_CREATE = A.BRANCH_CREATE,
|
97
|
@l_BRANCH_ID = A.BRANCH_ID,
|
98
|
@l_DEP_ID=A.DEPT_ID,
|
99
|
@l_ASSET_CODE = A.ASSET_CODE
|
100
|
FROM ASS_MASTER A
|
101
|
WHERE ASSET_ID = @l_ASSET_ID
|
102
|
|
103
|
--Lay branch_id cua user duyet
|
104
|
select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID
|
105
|
|
106
|
--BRN_ID HOI SO
|
107
|
SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS'
|
108
|
|
109
|
--Lay suppend GL
|
110
|
|
111
|
---THAY DOI TAI KHOAN HACH TOAN GL THIEUVQ - 09092016
|
112
|
--SET @l_SUPPEND_GL = dbo.fn_replace_acctno(UPPER(@l_SUPPEND_GL) + 'XXXX',@l_DO_BRANCH_ID)
|
113
|
SELECT @l_SUPPEND_GL = A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL'
|
114
|
|
115
|
--ASSET_GL
|
116
|
SELECT @l_ASSET_GL = ASSET_ACCTNO, @l_AMORT_ACCTNO = A.AMORT_ACCTNO FROM ASS_GROUP A WHERE A.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_OLD_GROUP_ID))
|
117
|
IF(@l_ASSET_GL IS NULL OR @l_ASSET_GL = '') SET @l_ASSET_GL = (SELECT ASSET_ACCTNO FROM ASS_GROUP WHERE GROUP_ID = @l_OLD_GROUP_ID)
|
118
|
IF(@l_AMORT_ACCTNO IS NULL OR @l_AMORT_ACCTNO = '') SET @l_AMORT_ACCTNO = (SELECT AMORT_ACCTNO FROM ASS_GROUP WHERE GROUP_ID = @l_OLD_GROUP_ID)
|
119
|
--Validation is here
|
120
|
|
121
|
--Kiem tra so thang khau hao cua nhom moi co lon hon so thang da khau hao ko?
|
122
|
IF (@l_NEW_GROUP_ID <> @l_OLD_GROUP_ID AND @l_NEW_AMORT_MONTH <> @l_OLD_AMORT_MONTH)
|
123
|
BEGIN
|
124
|
--IF @l_NEW_AMORT_MONTH <= @l_AMORTIZED_MONTH
|
125
|
IF @l_NEW_AMORT_MONTH <= @l_AMORTIZED_MONTH AND @l_AMORT_STATUS IN ('CKH','DKH') --thieuvq 18/04/2014
|
126
|
BEGIN
|
127
|
--SET @ERRORSYS = 'ASS-00009'
|
128
|
--CAP NHAT LẠI NGAY KET THUC KHAU HAO --thieuvq 18/04/2014
|
129
|
SET @l_DATE1= CONVERT(DATE,'1/'+CONVERT(VARCHAR(10),MONTH(CONVERT(DATE,@p_APPROVE_DT,103)))
|
130
|
+'/'+CONVERT(VARCHAR(10),YEAR(CONVERT(DATE,@p_APPROVE_DT,103))),103)
|
131
|
SET @l_DATE2 = CONVERT(DATE,'1/'+CONVERT(VARCHAR(10),MONTH(@l_AMORT_END_DATE))
|
132
|
+'/'+CONVERT(VARCHAR(10),YEAR(@l_AMORT_END_DATE)),103)
|
133
|
SET @l_AMORT_END_DATE = DATEADD(MONTH,DATEDIFF(MONTH,@l_DATE2,@l_DATE1),@l_AMORT_END_DATE)
|
134
|
|
135
|
SET @L_AMORT_RATE = ROUND((100.00/@l_NEW_AMORT_MONTH)*12,2)
|
136
|
END
|
137
|
|
138
|
SET @l_GROUP_ID_UPD = 'Y'
|
139
|
END
|
140
|
|
141
|
--Kiem tra gia tri khau hao moi > so tien da khau hao
|
142
|
IF (@l_NEW_AMORT_AMT<=@l_AMORTIZED_AMT AND @l_NEW_AMORT_AMT <> @l_OLD_AMORT_AMT)
|
143
|
BEGIN
|
144
|
SET @ERRORSYS = 'ASS-00014'
|
145
|
END
|
146
|
ELSE
|
147
|
BEGIN
|
148
|
IF (@l_NEW_AMORT_AMT <> @l_OLD_AMORT_AMT)
|
149
|
BEGIN
|
150
|
SET @l_AMORT_AMT_UPD = 'Y'
|
151
|
END
|
152
|
END
|
153
|
|
154
|
---KIEM TRA SO THANG KHAU HAO MOI NHO HON SO THANG DA KHAU HAO KHONG - THIEUVQ 210618 ::BEGIN
|
155
|
IF @l_NEW_AMORT_MONTH < @l_AMORTIZED_MONTH
|
156
|
BEGIN
|
157
|
SET @ERRORSYS = 'ASS-99994'
|
158
|
END
|
159
|
ELSE
|
160
|
BEGIN
|
161
|
IF @l_NEW_AMORT_MONTH <> @l_OLD_AMORT_MONTH
|
162
|
SET @l_AMORT_MONTH_UPD = 'Y'
|
163
|
SET @l_AMORT_END_DATE = DATEADD(MONTH,@l_NEW_AMORT_MONTH,@l_AMORT_START_DATE)
|
164
|
SET @l_AMORT_END_DATE = DATEADD(DAY,-1,@l_AMORT_END_DATE)
|
165
|
END
|
166
|
-----::END
|
167
|
|
168
|
----NEU THAY DOI SO KY KHAU HAO => KIEM TRA CHO TRUONG HOP CCLD
|
169
|
--IF (@l_GROUP_ID_UPD = 'Y' AND @l_TYPE_ID = 'CCLD')
|
170
|
--BEGIN
|
171
|
-- RETURN 0
|
172
|
--END
|
173
|
|
174
|
--Neu co thay doi gia tri khau hao
|
175
|
--IF (@l_TYPE_ID = 'TSCD' AND @l_AMORT_STATUS IN ('CKH','DKH'))
|
176
|
IF @l_AMORT_STATUS IN ('CKH','DKH')
|
177
|
BEGIN
|
178
|
IF (@l_AMORT_AMT_UPD = 'Y' OR @l_AMORT_MONTH_UPD = 'Y')
|
179
|
BEGIN
|
180
|
IF (@l_AMORTIZED_MONTH = 0) --Chua chay khau hao thi phai tinh lai khau hao cua thang dau tien
|
181
|
BEGIN
|
182
|
SET @l_NEW_MONTHLY_AMT = ROUND((@l_NEW_AMORT_AMT - ISNULL(@l_AMORTIZED_AMT,0)) / @l_NEW_AMORT_MONTH, 0)
|
183
|
SET @l_NEW_FIRST_AMORT_AMT = @l_NEW_MONTHLY_AMT--ROUND(@l_NEW_MONTHLY_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE) * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), -3)
|
184
|
END
|
185
|
ELSE
|
186
|
BEGIN
|
187
|
--thieuvq - sua lai doan tinh khau hao
|
188
|
--TINH LAI SO KY KHAU HAO TINH THEO NGAY DUYET
|
189
|
DECLARE @l_KY_KHAU_HAO_CL FLOAT
|
190
|
--BAN VIET THAY DOI CACH TINH 230119
|
191
|
--DECLARE @l_NGAY_DUYET DATE = CONVERT(DATE,@p_APPROVE_DT,103)
|
192
|
----SET @l_NGAY_DUYET = CONVERT(VARCHAR(10),YEAR(@l_NGAY_DUYET)) + '-'+CONVERT(VARCHAR(10),MONTH(@l_NGAY_DUYET)) + '-'+ '1'
|
193
|
----SET @l_KY_KHAU_HAO_CL = round((datepart(day,@l_AMORT_END_DATE)*1.0/dbo.[FN_GetDaysInMonth](@l_AMORT_END_DATE)),2)
|
194
|
------THIEUVQ COMMENT 29072015
|
195
|
------IF @l_KY_KHAU_HAO_CL = 1 SET @l_KY_KHAU_HAO_CL = DATEDIFF(MM, @l_NGAY_DUYET, @l_AMORT_END_DATE)
|
196
|
------ELSE
|
197
|
--SET @l_KY_KHAU_HAO_CL = DATEDIFF(MM, @l_NGAY_DUYET, @l_AMORT_END_DATE) --+ @l_KY_KHAU_HAO_CL
|
198
|
|
199
|
----KIEM TRA THANG DUYET NAY DA CHAY KHAU HAO CHUA, NEU DA CHAY KHAU HAO ROI THI GIAM DI 1 SO KY KH CON LAI
|
200
|
--IF EXISTS (SELECT * FROM ASS_AMORT WHERE AMORT_TERM = CONVERT(VARCHAR(5),MONTH(@l_NGAY_DUYET))+'/'+CONVERT(VARCHAR(5),YEAR(@l_NGAY_DUYET))
|
201
|
-- AND ASSET_TYPE = 'ALL')
|
202
|
-- --AND ASSET_TYPE = 'TSCD')
|
203
|
--BEGIN SET @l_KY_KHAU_HAO_CL = @l_KY_KHAU_HAO_CL - 1 END
|
204
|
SET @l_KY_KHAU_HAO_CL = /*@l_OLD_AMORT_MONTH*/ @l_NEW_AMORT_MONTH - @l_AMORTIZED_MONTH
|
205
|
--SET @l_NEW_MONTHLY_AMT = ROUND((@l_NEW_AMORT_AMT - @l_AMORTIZED_AMT)/ @l_NEW_AMORT_MONTH, -3)
|
206
|
SET @l_NEW_MONTHLY_AMT = ROUND((@l_NEW_AMORT_AMT - @l_AMORTIZED_AMT)/ @l_KY_KHAU_HAO_CL, 0)
|
207
|
SET @l_NEW_FIRST_AMORT_AMT = @l_OLD_FIRST_AMORT_AMT
|
208
|
END
|
209
|
print 'Y'
|
210
|
END
|
211
|
ELSE
|
212
|
BEGIN
|
213
|
SET @l_NEW_FIRST_AMORT_AMT = @l_OLD_FIRST_AMORT_AMT
|
214
|
SET @l_NEW_MONTHLY_AMT= @l_OLD_MONTHLY_AMT
|
215
|
print 'N'
|
216
|
END
|
217
|
END
|
218
|
ELSE
|
219
|
BEGIN
|
220
|
--THIEUVQ- DIEPTT 03092015 TRUONG HOP KHAU HAO XONG NHUNG TANG NGUYEN GIA
|
221
|
--BAT LAI TINH TRANG TAI SAN DANG KHAU HAO VA SE KHAU HAO HET VAO THANG NAY
|
222
|
IF (@l_AMORT_AMT_UPD = 'Y')
|
223
|
BEGIN
|
224
|
SET @l_AMORT_END_DATE = CONVERT(DATETIME,@p_APPROVE_DT,103)
|
225
|
--KIEM TRA NEU NGAY DIEU CHINH DA CHAY KHAU HAO ROI THI CHUYEN KHAU HAO HET VAO THANG SAU
|
226
|
IF EXISTS (SELECT * FROM ASS_AMORT WHERE AMORT_TERM = CONVERT(VARCHAR(5),MONTH(@l_AMORT_END_DATE))+'/'+CONVERT(VARCHAR(5),YEAR(@l_AMORT_END_DATE))
|
227
|
AND ASSET_TYPE = 'ALL')
|
228
|
BEGIN
|
229
|
SET @l_AMORT_END_DATE = DATEADD(MM,1,@l_AMORT_END_DATE )
|
230
|
END
|
231
|
|
232
|
SET @l_AMORT_STATUS = 'DKH'
|
233
|
END
|
234
|
SET @l_NEW_FIRST_AMORT_AMT = @l_OLD_FIRST_AMORT_AMT
|
235
|
SET @l_NEW_MONTHLY_AMT= @l_OLD_MONTHLY_AMT
|
236
|
print 'N'
|
237
|
END
|
238
|
|
239
|
IF @ERRORSYS <> ''
|
240
|
BEGIN
|
241
|
SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
|
242
|
RETURN '0'
|
243
|
END
|
244
|
|
245
|
BEGIN TRANSACTION
|
246
|
--Move to history
|
247
|
--Phat sinh Asset_ID
|
248
|
EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out
|
249
|
|
250
|
INSERT INTO ASS_MASTER_HIST
|
251
|
SELECT @l_ASSHIST_ID, a.*
|
252
|
FROM ASS_MASTER a
|
253
|
where a.ASSET_ID = @l_ASSET_ID
|
254
|
|
255
|
UPDATE ASS_MASTER
|
256
|
SET
|
257
|
ASSET_NAME = @l_NEW_ASSET_NAME,
|
258
|
ASSET_DESC = @l_NEW_ASSET_DESC,
|
259
|
ASSET_SERIAL_NO = @l_NEW_ASSET_SERIAL_NO,
|
260
|
BUY_PRICE = @l_NEW_BUY_PRICE,
|
261
|
AMORT_AMT = @l_NEW_AMORT_AMT,
|
262
|
FIRST_AMORT_AMT = @l_NEW_FIRST_AMORT_AMT,
|
263
|
MONTHLY_AMORT_AMT = @l_NEW_MONTHLY_AMT,
|
264
|
APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103),
|
265
|
AMORT_END_DATE = @l_AMORT_END_DATE, -- thieuvq them 18/04/2014
|
266
|
AMORT_MONTH = @l_NEW_AMORT_MONTH,
|
267
|
AMORT_RATE = @L_AMORT_RATE,
|
268
|
--THIEUVQ 03092015
|
269
|
AMORT_STATUS = @l_AMORT_STATUS
|
270
|
WHERE ASSET_ID = @l_ASSET_ID
|
271
|
|
272
|
-- SỐ TIỀN CẶP BÚT TOÁN SAU KHI GIẢM NGUYÊN GIÁ
|
273
|
|
274
|
DECLARE @MONTH_OLD_AMORT DECIMAL= (SELECT COUNT(*) FROM ASS_AMORT_DT AAD WHERE YEAR(AAD.AMORT_DT) <> YEAR(CONVERT(DATETIME,@p_APPROVE_DT,103)) AND AAD.ASSET_ID = @l_ASSET_ID)
|
275
|
DECLARE @MONTH_NEW_AMORT DECIMAL= (SELECT COUNT(*) FROM ASS_AMORT_DT AAD WHERE YEAR(AAD.AMORT_DT) = YEAR(CONVERT(DATETIME,@p_APPROVE_DT,103)) AND AAD.ASSET_ID = @l_ASSET_ID)
|
276
|
DECLARE @AMT_OLD_AMORT DECIMAL= (SELECT SUM(AAD.AMORT_AMT) FROM ASS_AMORT_DT AAD WHERE YEAR(AAD.AMORT_DT) <> YEAR(CONVERT(DATETIME,@p_APPROVE_DT,103)) AND AAD.ASSET_ID = @l_ASSET_ID)
|
277
|
|
278
|
|
279
|
DECLARE @_NEW_AMT_AMORT DECIMAL(18,2)
|
280
|
DECLARE @_NEW_AMT_AMORT_RE DECIMAL(18,2)
|
281
|
DECLARE @_NEW_AMT_AMORT_RENEW DECIMAL(18,2)
|
282
|
DECLARE @_NEW_AMT_AMORT_OLD DECIMAL(18,2)
|
283
|
DECLARE @_NEW_AMT_AMORT_LAST DECIMAL(18,2)
|
284
|
DECLARE @_NUM_AMT_AMORT_DT DECIMAL(18,2)
|
285
|
|
286
|
|
287
|
DECLARE @_CUR_DATE DECIMAL(18,2) = CAST((DAY(CONVERT(DATETIME,@p_APPROVE_DT,103))) AS DECIMAL) + 0.00
|
288
|
DECLARE @_END_OF_MONTH DECIMAL(18,2) = DAY(dbo.FN_GetLastDayOfMonth(CONVERT(DATETIME,@p_APPROVE_DT,103)))
|
289
|
|
290
|
--- KHẤU HAO LUỸ KẾ
|
291
|
DECLARE @KH_CUM DECIMAL(18,2) = (SELECT ISNULL(AM.AMORTIZED_AMT,0) FROM ASS_MASTER AM WHERE AM.ASSET_ID = @l_ASSET_ID)
|
292
|
|
293
|
IF(YEAR(@l_AMORT_START_DATE) <> YEAR(CONVERT(DATETIME,@p_APPROVE_DT,103)))
|
294
|
BEGIN
|
295
|
-- Số tiền trích khấu hao của tháng mới theo nguyên giá mới
|
296
|
SET @_NEW_AMT_AMORT = ROUND((@l_NEW_BUY_PRICE - @AMT_OLD_AMORT)/(@l_NEW_AMORT_MONTH-@MONTH_OLD_AMORT),0)
|
297
|
END
|
298
|
ELSE
|
299
|
BEGIN
|
300
|
SET @_NEW_AMT_AMORT = ROUND((@l_NEW_BUY_PRICE - @KH_CUM)/@l_KY_KHAU_HAO_CL,0)
|
301
|
END
|
302
|
|
303
|
-- Số tiền khấu hao theo tháng tròn hiện tại
|
304
|
SELECT @_NEW_AMT_AMORT_RE = AA.TOTAL_AMT FROM ASS_AMORT_DT AAD
|
305
|
LEFT JOIN ASS_AMORT AA ON AAD.AMORT_ID = AA.AMORT_ID
|
306
|
WHERE AAD.ASSET_ID = @l_ASSET_ID AND AA.IS_LEAF = 'Y'
|
307
|
IF(@_NEW_AMT_AMORT_RE IS NULL OR @_NEW_AMT_AMORT_RE = 0)
|
308
|
SET @_NEW_AMT_AMORT_RE = (SELECT ISNULL(AM.AMORTIZED_AMT,0) FROM ASS_MASTER AM WHERE AM.ASSET_ID = @l_ASSET_ID)
|
309
|
-- Số ngày khấu hao còn lại trong khác sau khi update tăng giảm
|
310
|
SET @_NUM_AMT_AMORT_DT = (@_END_OF_MONTH - @_CUR_DATE) + 1.00
|
311
|
|
312
|
|
313
|
-- Số tiền khấu hao theo số ngày còn lại của nguyên giá mới VD: Giảm tài sản A 10tr vào ngày 25-03-2023 thì tính đến cuối tháng là (31 - 25) + (ngày 25 hiện tại) = 7 ngày
|
314
|
--SET @_NEW_AMT_AMORT_RENEW = ROUND(@_NEW_AMT_AMORT/@_END_OF_MONTH,0)*@_NUM_AMT_AMORT_DT
|
315
|
SET @_NEW_AMT_AMORT_RENEW = ROUND((@_NEW_AMT_AMORT-@l_OLD_MONTHLY_AMT)*@MONTH_NEW_AMORT,0)
|
316
|
-- Số tiền khấu hao cũ theo ngày còn lại
|
317
|
--SET @_NEW_AMT_AMORT_OLD = ROUND(@_NEW_AMT_AMORT_RE/@_END_OF_MONTH, 0)*@_NUM_AMT_AMORT_DT
|
318
|
|
319
|
|
320
|
-- Số tiền trích khấu hao cho cặp hạch toán phát sinh tăng giảm
|
321
|
--SET @_NEW_AMT_AMORT_LAST = ROUND(@_NEW_AMT_AMORT_OLD - @_NEW_AMT_AMORT_RENEW,0)
|
322
|
IF (@l_NEW_BUY_PRICE <> @l_OLD_BUY_PRICE) --TANG NGUYEN GIA
|
323
|
BEGIN
|
324
|
SET @_NEW_AMT_AMORT_LAST = @_NEW_AMT_AMORT_RENEW
|
325
|
UPDATE ASS_MASTER SET MONTHLY_AMORT_AMT = ISNULL(@_NEW_AMT_AMORT, @l_NEW_MONTHLY_AMT) WHERE ASSET_ID = @l_ASSET_ID
|
326
|
IF(@_NEW_AMT_AMORT_LAST < 0) SET @_NEW_AMT_AMORT_LAST = -@_NEW_AMT_AMORT_LAST
|
327
|
END
|
328
|
|
329
|
|
330
|
|
331
|
--HẠCH TOÁN TĂNG GIẢM NGUYÊN GIÁ
|
332
|
DECLARE @AC_TSCD VARCHAR(20)
|
333
|
IF(EXISTS(SELECT am.ASSET_ID FROM ASS_MASTER am WHERE am.ASSET_ID=@l_ASSET_ID AND am.ENTRY_BOOKED='Y'))
|
334
|
BEGIN
|
335
|
SET @AC_TSCD= (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'ASSET_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_OLD_GROUP_ID)))
|
336
|
IF(@AC_TSCD IS NULL OR @AC_TSCD = '')
|
337
|
SET @AC_TSCD = (SELECT ACC_NO FROM ENTRIES_POST_ACCNO WHERE ACC_TYPE ='ASSET_TSCD' AND GROUP_ID = @l_OLD_GROUP_ID)
|
338
|
|
339
|
END
|
340
|
ELSE
|
341
|
BEGIN
|
342
|
SET @AC_TSCD = (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_OLD_GROUP_ID)))
|
343
|
IF(@AC_TSCD IS NULL OR @AC_TSCD = '')
|
344
|
SET @AC_TSCD = (SELECT ACC_NO FROM ENTRIES_POST_ACCNO WHERE ACC_TYPE ='BUY_TSCD' AND GROUP_ID = @l_OLD_GROUP_ID)
|
345
|
|
346
|
END
|
347
|
|
348
|
|
349
|
DECLARE @AC_HS_MAIN VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'PAY_HS')
|
350
|
DECLARE @l_EXP_ACCTNO VARCHAR(20), @l_AMORT_BASIC VARCHAR(20)
|
351
|
DECLARE @l_ETP_ID VARCHAR(20),@l_D_BRANCH_CODE VARCHAR(25) , @l_C_BRANCH_CODE VARCHAR(25), @l_AC_BRANCH_CODE VARCHAR(25),@l_DEP_CODE VARCHAR(25)
|
352
|
--BRN_ID HOI SO
|
353
|
SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS'
|
354
|
|
355
|
SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_HO_BRN_ID)
|
356
|
SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE)
|
357
|
SET @l_DEP_CODE =(SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEP_ID)
|
358
|
--ASSET_GL
|
359
|
SELECT @l_ASSET_GL = ASSET_ACCTNO,
|
360
|
@l_AMORT_BASIC = EXP_ACCTNO,
|
361
|
@l_AMORT_ACCTNO = AMORT_ACCTNO
|
362
|
FROM ASS_GROUP A
|
363
|
WHERE A.GROUP_ID = @l_OLD_GROUP_ID
|
364
|
--Neu co thay doi nguyen gia
|
365
|
IF (@l_NEW_BUY_PRICE <> @l_OLD_BUY_PRICE)
|
366
|
BEGIN
|
367
|
DECLARE @AMT DECIMAL(18,0)
|
368
|
DECLARE @BRN_ID VARCHAR(15)
|
369
|
IF @l_BRANCH_ID IS NULL OR @l_BRANCH_ID = ''
|
370
|
SET @BRN_ID = @l_BRANCH_CREATE
|
371
|
ELSE SET @BRN_ID = @l_BRANCH_ID
|
372
|
|
373
|
SET @l_AC_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@BRN_ID)
|
374
|
|
375
|
DECLARE @NOTE_AMORT NVARCHAR(500) = N'KHAU HAO TSCD TRICH NGUYEN GIA TANG'
|
376
|
DECLARE @NOTE_AMORT2 NVARCHAR(500) = N'KHAU HAO TSCD TRICH NGUYEN GIA GIAM'
|
377
|
|
378
|
IF (@l_NEW_BUY_PRICE > @l_OLD_BUY_PRICE) --TANG NGUYEN GIA
|
379
|
BEGIN
|
380
|
SET @AMT = @l_NEW_BUY_PRICE - @l_OLD_BUY_PRICE
|
381
|
--insert dbo.ASS_VALUES
|
382
|
EXEC SYS_CodeMasters_Gen 'ASS_VALUES', @l_VALUE_ID out
|
383
|
|
384
|
INSERT INTO ASS_VALUES
|
385
|
(
|
386
|
VALUE_ID, ASSET_ID, BRANCH_ID, TRN_DT, CRDR, ASSET_AMT, [DESCRIPTION], TRN_ID, TRN_TYPE,
|
387
|
RECORD_STATUS, AUTH_STATUS, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT, AMORT_AMT
|
388
|
)
|
389
|
VALUES
|
390
|
(
|
391
|
@l_VALUE_ID, @l_ASSET_ID, @BRN_ID, CONVERT(datetime, @sToday, 103), 'C', @AMT, N'DIEU CHINH TSCD/CCLD', @p_UPDATE_ID, 'ASS_UPDATE',
|
392
|
'1','A',@l_MAKER_ID, CONVERT(datetime, @sToday, 103), @p_CHECKER_ID, CONVERT(datetime, @sToday, 103), @l_NEW_AMORT_AMT - @l_OLD_AMORT_AMT
|
393
|
)
|
394
|
|
395
|
IF @l_TYPE_ID = 'TSCD'
|
396
|
BEGIN
|
397
|
--NO ASSET_ACCTNO - CO ASSET_SUPPEND_GL: GIA TRI CHENH LECH
|
398
|
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_UPDATE', @p_UPDATE_ID,@l_DO_BRANCH_ID, @l_SUPPEND_GL, @BRN_ID, @l_ASSET_GL, @BRN_ID,@AMT ,'Y',
|
399
|
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_UPDATE_ID, --N'XUAT SU DUNG TSCD/CCLD'
|
400
|
@l_ET_ID OUT
|
401
|
--IF @ERROR <> 0 GOTO ABORT_ERROR
|
402
|
-- TSCD
|
403
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
|
404
|
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)
|
405
|
VALUES (@l_ETP_ID, @l_ET_ID,@p_UPDATE_ID ,@l_AC_BRANCH_CODE , @AC_TSCD, 'VND', 'D', @AMT,1, @AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
|
406
|
-- TRẢ HỘI SỞ
|
407
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
|
408
|
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)
|
409
|
VALUES (@l_ETP_ID, @l_ET_ID,@p_UPDATE_ID ,@l_C_BRANCH_CODE , @AC_HS_MAIN, 'VND', 'C', @AMT,1, @AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
|
410
|
|
411
|
--ĐỒNG THỜI TRÍCH BỔ SUNG SỐ TRÍCH KHẤU HAO TRONG NĂM HIỆN HÀNH
|
412
|
IF(@_NEW_AMT_AMORT_LAST IS NOT NULL AND @_NEW_AMT_AMORT_LAST <> 0)
|
413
|
BEGIN
|
414
|
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_UPDATE', @p_UPDATE_ID,@l_DO_BRANCH_ID, @l_SUPPEND_GL, @BRN_ID, @l_ASSET_GL, @BRN_ID,@AMT ,'Y',
|
415
|
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_UPDATE_ID, --N'XUAT SU DUNG TSCD/CCLD'
|
416
|
@l_ET_ID OUT
|
417
|
-- Chi phí KH cơ bản
|
418
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
|
419
|
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)
|
420
|
VALUES (@l_ETP_ID, @l_ET_ID,@p_UPDATE_ID ,@l_AC_BRANCH_CODE , @l_AMORT_BASIC, 'VND', 'D', @_NEW_AMT_AMORT_LAST,1, @_NEW_AMT_AMORT_LAST, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), NULL, NULL, @l_DEP_CODE, @NOTE_AMORT,@l_TRN_NO);
|
421
|
-- Hao mòn TSCD
|
422
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
|
423
|
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)
|
424
|
VALUES (@l_ETP_ID, @l_ET_ID,@p_UPDATE_ID ,@l_C_BRANCH_CODE , @l_AMORT_ACCTNO, 'VND', 'C', @_NEW_AMT_AMORT_LAST,1, @_NEW_AMT_AMORT_LAST, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), NULL, NULL, @l_DEP_CODE, @NOTE_AMORT,@l_TRN_NO);
|
425
|
END
|
426
|
END
|
427
|
-- ELSE IF @l_TYPE_ID = 'CCLD'
|
428
|
-- BEGIN
|
429
|
-- --NO ASSET_ACCTNO - CO ASSET_SUPPEND_GL: GIA TRI CHENH LECH
|
430
|
-- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_UPDATE', @p_UPDATE_ID,@l_DO_BRANCH_ID, @l_SUPPEND_GL, @BRN_ID, @l_AMORT_ACCTNO, @BRN_ID,@AMT ,'Y',
|
431
|
-- @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_UPDATE_ID, --N'XUAT SU DUNG TSCD/CCLD'
|
432
|
-- @l_ET_ID OUT
|
433
|
-- --IF @ERROR <> 0 GOTO ABORT_ERROR
|
434
|
-- END
|
435
|
|
436
|
END
|
437
|
ELSE --GIAM NGUYEN GIA
|
438
|
BEGIN
|
439
|
SET @AMT = @l_OLD_BUY_PRICE - @l_NEW_BUY_PRICE
|
440
|
--insert dbo.ASS_VALUES
|
441
|
EXEC SYS_CodeMasters_Gen 'ASS_VALUES', @l_VALUE_ID out
|
442
|
|
443
|
INSERT INTO ASS_VALUES
|
444
|
(
|
445
|
VALUE_ID, ASSET_ID, BRANCH_ID, TRN_DT, CRDR, ASSET_AMT, [DESCRIPTION], TRN_ID, TRN_TYPE,
|
446
|
RECORD_STATUS, AUTH_STATUS, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT, AMORT_AMT
|
447
|
)
|
448
|
VALUES
|
449
|
(
|
450
|
@l_VALUE_ID, @l_ASSET_ID, @l_HO_BRN_ID, CONVERT(datetime, @sToday, 103), 'D', @l_OLD_BUY_PRICE - @l_NEW_BUY_PRICE, N'DIEU CHINH TSCD/CCLD', @p_UPDATE_ID, 'ASS_UPDATE',
|
451
|
'1','A',@l_MAKER_ID, CONVERT(datetime, @sToday, 103), @p_CHECKER_ID, CONVERT(datetime, @sToday, 103), @l_NEW_AMORT_AMT - @l_OLD_AMORT_AMT
|
452
|
)
|
453
|
|
454
|
IF @l_TYPE_ID = 'TSCD'
|
455
|
BEGIN
|
456
|
--NO ASSET_SUPPEND_GL - CO ASSET_ACCTNO: GIA TRI CHENH LECH
|
457
|
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_UPDATE', @p_UPDATE_ID,@l_DO_BRANCH_ID, @l_ASSET_GL, @BRN_ID, @l_SUPPEND_GL , @BRN_ID,@AMT ,'Y',
|
458
|
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_UPDATE_ID, --N'XUAT SU DUNG TSCD/CCLD'
|
459
|
@l_ET_ID OUT
|
460
|
--IF @ERROR <> 0 GOTO ABORT_ERROR
|
461
|
|
462
|
-- TRẢ HỘI SỞ
|
463
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
|
464
|
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)
|
465
|
VALUES (@l_ETP_ID, @l_ET_ID,@p_UPDATE_ID ,@l_C_BRANCH_CODE , @AC_HS_MAIN, 'VND', 'D', @AMT,1, @AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
|
466
|
|
467
|
-- TSCD
|
468
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
|
469
|
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)
|
470
|
VALUES (@l_ETP_ID, @l_ET_ID,@p_UPDATE_ID ,@l_AC_BRANCH_CODE , @AC_TSCD, 'VND', 'C', @AMT,1, @AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
|
471
|
--
|
472
|
--ĐỒNG THỜI LẬP HẠCH TOÁN ĐIỀU CHỈNH GIẢM SỐ TRÍCH KHẤU HAO TRONG NĂM HIỆN HÀNH
|
473
|
IF(@_NEW_AMT_AMORT_LAST IS NOT NULL AND @_NEW_AMT_AMORT_LAST <> 0)
|
474
|
BEGIN
|
475
|
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_UPDATE', @p_UPDATE_ID,@l_DO_BRANCH_ID, @l_ASSET_GL, @BRN_ID, @l_SUPPEND_GL , @BRN_ID,@AMT ,'Y',
|
476
|
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_UPDATE_ID, --N'XUAT SU DUNG TSCD/CCLD'
|
477
|
@l_ET_ID OUT
|
478
|
-- Hao mòn TSCD
|
479
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
|
480
|
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)
|
481
|
VALUES (@l_ETP_ID, @l_ET_ID,@p_UPDATE_ID ,@l_C_BRANCH_CODE , @l_AMORT_ACCTNO, 'VND', 'D', @_NEW_AMT_AMORT_LAST,1, @_NEW_AMT_AMORT_LAST, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), NULL, NULL, @l_DEP_CODE, @NOTE_AMORT2,@l_TRN_NO);
|
482
|
|
483
|
-- Chi phí KH cơ bản
|
484
|
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
|
485
|
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)
|
486
|
VALUES (@l_ETP_ID, @l_ET_ID,@p_UPDATE_ID ,@l_AC_BRANCH_CODE , @l_AMORT_BASIC, 'VND', 'C', @_NEW_AMT_AMORT_LAST,1, @_NEW_AMT_AMORT_LAST, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), NULL, NULL, @l_DEP_CODE, @NOTE_AMORT2,@l_TRN_NO);
|
487
|
END
|
488
|
END
|
489
|
-- ELSE IF @l_TYPE_ID = 'CCLD'
|
490
|
-- BEGIN
|
491
|
-- --NO ASSET_SUPPEND_GL - CO ASSET_ACCTNO: GIA TRI CHENH LECH
|
492
|
-- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_UPDATE', @p_UPDATE_ID,@l_DO_BRANCH_ID, @l_AMORT_ACCTNO, @BRN_ID, @l_SUPPEND_GL , @BRN_ID,@AMT ,'Y',
|
493
|
-- @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_UPDATE_ID, --N'XUAT SU DUNG TSCD/CCLD'
|
494
|
-- @ERROR OUT
|
495
|
-- --IF @ERROR <> 0 GOTO ABORT_ERROR
|
496
|
-- END
|
497
|
END
|
498
|
END
|
499
|
|
500
|
UPDATE ASS_UPDATE
|
501
|
SET
|
502
|
AUTH_STATUS = @P_AUTH_STATUS,
|
503
|
CHECKER_ID = @p_CHECKER_ID,
|
504
|
APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103)
|
505
|
WHERE UPDATE_ID = @p_UPDATE_ID
|
506
|
UPDATE PL_PROCESS SET PROCESS_ID='UPDATE_NT' WHERE REQ_ID = @p_UPDATE_ID AND PROCESS_ID ='UPDATE'
|
507
|
INSERT INTO dbo.PL_PROCESS
|
508
|
(
|
509
|
REQ_ID,
|
510
|
PROCESS_ID,
|
511
|
CHECKER_ID,
|
512
|
APPROVE_DT,
|
513
|
PROCESS_DESC,NOTES
|
514
|
)
|
515
|
VALUES
|
516
|
( @p_UPDATE_ID, -- REQ_ID - varchar(15)
|
517
|
'APPROVE', -- PROCESS_ID - varchar(10)
|
518
|
@p_CHECKER_ID, -- CHECKER_ID - varchar(15)
|
519
|
GETDATE(), -- APPROVE_DT - datetime
|
520
|
N'Phê duyệt phiếu cập nhật tài sản thành công' ,
|
521
|
N'Phê duyệt phiếu cập nhật tài sản' -- PROCESS_DESC - nvarchar(1000)
|
522
|
)
|
523
|
END TRY
|
524
|
|
525
|
BEGIN CATCH
|
526
|
IF @@TRANCOUNT>0
|
527
|
ROLLBACK TRANSACTION
|
528
|
|
529
|
SELECT '-1' as Result, convert(varchar(100),ERROR_NUMBER()) + ' - ' + ERROR_MESSAGE() ErrorDesc
|
530
|
RETURN '-1'
|
531
|
|
532
|
END CATCH;
|
533
|
|
534
|
|
535
|
IF @@TRANCOUNT>0
|
536
|
COMMIT TRANSACTION
|
537
|
|
538
|
SELECT '0' as Result, '' ErrorDesc
|
539
|
RETURN '-1'
|
540
|
|
541
|
ABORT_ERROR:
|
542
|
BEGIN
|
543
|
IF @@TRANCOUNT>0
|
544
|
ROLLBACK TRANSACTION
|
545
|
|
546
|
SELECT '-1' as Result, convert(varchar(100),ERROR_NUMBER()) + ' - ' + ERROR_MESSAGE() + @ERROR ErrorDesc
|
547
|
RETURN '-1'
|
548
|
END
|