1
|
ALTER PROCEDURE dbo.ASS_USE_MULTI_BVB_MASTER_App
|
2
|
--@p_USE_ID varchar(15) = NULL,
|
3
|
@p_USER_MASTER_ID varchar(15) = NULL,
|
4
|
@p_AUTH_STATUS varchar(1) = NULL,
|
5
|
@p_CHECKER_ID varchar(100) = NULL,
|
6
|
@p_APPROVE_DT VARCHAR(20) = NULL
|
7
|
AS
|
8
|
|
9
|
BEGIN TRY
|
10
|
--DECLARE @l_BRANCH_ID VARCHAR(15)
|
11
|
-- DECLARE @l_DEPT_ID VARCHAR(15)
|
12
|
-- DECLARE @l_EMP_ID VARCHAR(15)
|
13
|
-- DECLARE @l_DIVISION_ID VARCHAR(15)
|
14
|
-- DECLARE @l_VALUE_ID VARCHAR(15)
|
15
|
--
|
16
|
-- --DECLARE @l_LOCATION nvarchar(500)
|
17
|
-- DECLARE @l_LOCHIST_ID VARCHAR(15)
|
18
|
--
|
19
|
-- DECLARE @l_ASSET_ID VARCHAR(15)
|
20
|
-- DECLARE @l_WAHDT_ID VARCHAR(15)
|
21
|
-- DECLARE @l_WAH_ID VARCHAR(15)
|
22
|
-- DECLARE @l_MAKER_ID varchar(15)
|
23
|
--
|
24
|
-- DECLARE @l_AMORT_MONTH decimal(18,2)
|
25
|
-- DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime
|
26
|
-- DECLARE @l_FIRST_AMORT_AMT numeric(18,0)
|
27
|
-- DECLARE @l_MONTHLY_AMT numeric(18,0)
|
28
|
-- DECLARE @l_ASS_AMORT_AMT numeric(18,0)
|
29
|
-- DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103)
|
30
|
-- DECLARE @l_ENTRY_BOOKED varchar(1)
|
31
|
-- DECLARE @l_HO_BRN_ID varchar(15)
|
32
|
-- DECLARE @l_AMORT_AMT decimal(18) = NULL
|
33
|
-- DECLARE @l_BUY_PRICE decimal(18) = NULL
|
34
|
-- DECLARE @l_ET_ID varchar(15)
|
35
|
-- DEClare @p_ADDNEW_ID varchar(15)
|
36
|
--
|
37
|
-- DECLARE @l_SUPPEND_GL varchar(50)
|
38
|
-- DECLARE @l_ASSET_GL varchar(50)
|
39
|
-- declare @l_ASSET_VALUE decimal(18,0)
|
40
|
-- DECLARE @l_GROUP_ID varchar(15)
|
41
|
-- DECLARE @l_CORE_NOTE NVARCHAR(500)
|
42
|
-- DECLARE @l_TYPE_ID varchar(15) = NULL
|
43
|
-- declare @l_TRN_REF_NO varchar(20)
|
44
|
-- declare @l_DO_BRANCH_ID varchar(15)
|
45
|
-- DECLARE @l_AMORT_STATUS VARCHAR(15) = 'CKH'
|
46
|
-- DECLARE @l_AMORT_MONTH_ASS_USE DECIMAL(18,2) = NULL
|
47
|
-- declare @l_AUTH_STATUS varchar(15) = ''
|
48
|
-- declare @l_ASSHIST_ID varchar(15)
|
49
|
-- --Lay thong tin kho mac dinh
|
50
|
-- SELECT @l_WAH_ID = P.ParaValue FROM SYS_PARAMETERS P WHERE P.ParaKey='ASSET_WAREHOUSE'
|
51
|
--
|
52
|
-- --BRN_ID HOI SO
|
53
|
-- SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS'
|
54
|
--
|
55
|
-- --Lay branch_id cua user duyet
|
56
|
-- select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID
|
57
|
--
|
58
|
-- --Lay suppend GL
|
59
|
-- SELECT @l_SUPPEND_GL = A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL'
|
60
|
--
|
61
|
-- --ASSET_GL
|
62
|
-- SELECT @l_ASSET_GL = ASSET_ACCTNO FROM ASS_GROUP A WHERE A.GROUP_ID = @l_GROUP_ID
|
63
|
|
64
|
IF (SELECT AUTH_STATUS_KT FROM ASS_USE_MULTI_MASTER WHERE [USER_MASTER_ID] = @p_USER_MASTER_ID) = 'A'
|
65
|
BEGIN
|
66
|
SELECT '-1' as Result, (SELECT ErrorDesc from SYS_ERROR WHERE ErrorCode = 'ASS-99998') ErrorDesc
|
67
|
RETURN '-1'
|
68
|
END
|
69
|
|
70
|
BEGIN TRANSACTION
|
71
|
--LUCTV: 26-20-2018 KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET
|
72
|
IF(EXISTS(SELECT * FROM ASS_USE_MULTI_MASTER WHERE AUTH_STATUS ='R' AND USER_MASTER_ID =@p_USER_MASTER_ID))
|
73
|
BEGIN
|
74
|
ROLLBACK TRANSACTION
|
75
|
SELECT '-1' as Result, N'Thông tin xuất sử dụng 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
|
76
|
RETURN '-1'
|
77
|
END
|
78
|
--APPROVE MASTER
|
79
|
UPDATE [dbo].[ASS_USE_MULTI_MASTER]
|
80
|
SET AUTH_STATUS = 'A',
|
81
|
CHECKER_ID = @p_CHECKER_ID,AUTH_STATUS_KT='E',MAKER_ID_KT= NULL, APPROVE_DT_KT = NULL, CHECKER_ID_KT = NULL,CREATE_DT_KT= NULL,
|
82
|
APPROVE_DT = CONVERT(datetime, @p_APPROVE_DT, 103)
|
83
|
WHERE [USER_MASTER_ID] = @p_USER_MASTER_ID
|
84
|
|
85
|
--Update trang thai cho giao dich xuat su dung
|
86
|
UPDATE [dbo].[ASS_USE_MULTI_DT]
|
87
|
SET AUTH_STATUS = 'A',
|
88
|
CHECKER_ID = @p_CHECKER_ID,
|
89
|
APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103)
|
90
|
WHERE USER_MASTER_ID = @p_USER_MASTER_ID
|
91
|
|
92
|
-- DECLARE @USE_MULTI_ID varchar(15)
|
93
|
-- DECLARE @ASSET_ID varchar(15)
|
94
|
-- DECLARE DataCusor SCROLL CURSOR
|
95
|
-- FOR
|
96
|
-- SELECT A.USE_MULTI_ID,A.ASSET_ID
|
97
|
-- FROM [dbo].[ASS_USE_MULTI_DT] A
|
98
|
-- WHERE A.USER_MASTER_ID=@p_USER_MASTER_ID
|
99
|
-- OPEN DataCusor
|
100
|
--
|
101
|
--FETCH NEXT FROM DataCusor INTO @USE_MULTI_ID,@ASSET_ID
|
102
|
--WHILE @@FETCH_STATUS = 0
|
103
|
--BEGIN
|
104
|
--
|
105
|
-- --Lay thong tin giao dich
|
106
|
-- SELECT @l_ASSET_ID = ASSET_ID, @l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID,
|
107
|
-- @l_EMP_ID = EMP_ID, @l_DIVISION_ID = DIVISION_ID, @l_CORE_NOTE = CORE_NOTE, @l_AUTH_STATUS = AUTH_STATUS,
|
108
|
-- @l_AMORT_START_DATE = AMORT_START_DATE, @l_MAKER_ID = MAKER_ID, @l_AMORT_MONTH_ASS_USE = AMORT_MONTH,
|
109
|
-- @l_AMORT_END_DATE = AMORT_END_DATE
|
110
|
-- FROM [dbo].[ASS_USE_MULTI_DT]
|
111
|
-- WHERE [USE_MULTI_ID] = @USE_MULTI_ID
|
112
|
--
|
113
|
-- --Lay thong tin so thang khau hao
|
114
|
-- SELECT @l_AMORT_MONTH = A.AMORT_MONTH, @l_ASS_AMORT_AMT = AMORT_AMT, @l_ENTRY_BOOKED = ENTRY_BOOKED,
|
115
|
-- @l_AMORT_AMT = A.AMORT_AMT, @l_BUY_PRICE = BUY_PRICE, @l_GROUP_ID = GROUP_ID,@l_TYPE_ID = A.[TYPE_ID]
|
116
|
-- FROM ASS_MASTER A
|
117
|
-- WHERE A.ASSET_ID = @l_ASSET_ID
|
118
|
--
|
119
|
-- --TINH SO THANG THEO THUC TE KHI XUAT SU DUNG
|
120
|
-- SET @l_AMORT_MONTH = @l_AMORT_MONTH_ASS_USE
|
121
|
--
|
122
|
-- --IF @l_AMORT_MONTH_ASS_USE IS NULL--TRUONG HOP CCLD DO PHCQT XUAT
|
123
|
-- --BEGIN
|
124
|
-- -- SET @l_AMORT_END_DATE = NULL;
|
125
|
-- -- SET @l_MONTHLY_AMT = 0;
|
126
|
-- -- SET @l_FIRST_AMORT_AMT = 0;
|
127
|
-- -- SET @l_AMORT_STATUS = 'VNM'
|
128
|
-- --END
|
129
|
-- --ELSE
|
130
|
-- --IF @l_AMORT_MONTH = 0
|
131
|
-- --BEGIN
|
132
|
-- -- SET @l_AMORT_END_DATE = NULL;
|
133
|
-- -- SET @l_MONTHLY_AMT = 0;
|
134
|
-- -- SET @l_FIRST_AMORT_AMT = 0;
|
135
|
-- -- SET @l_AMORT_STATUS = 'KKH'
|
136
|
-- --END
|
137
|
-- --ELSE
|
138
|
-- --BEGIN
|
139
|
-- -- --Tinh ngay ket thuc khau hao
|
140
|
-- -- IF @l_TYPE_ID = 'TSCD'
|
141
|
-- -- BEGIN
|
142
|
-- -- IF @l_AMORT_END_DATE IS NULL OR @l_AMORT_END_DATE = ''
|
143
|
-- -- SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_AMORT_START_DATE) - 1
|
144
|
-- -- --CAP NHAT TRANG THAI KHAU HAO
|
145
|
-- -- SET @l_AMORT_STATUS = 'CKH'
|
146
|
-- -- END
|
147
|
-- -- ELSE
|
148
|
-- -- BEGIN
|
149
|
-- -- DECLARE @l_ENDDATE_TEMP DATETIME = (CONVERT(VARCHAR(10),(YEAR(@l_AMORT_START_DATE))) + '-' + CONVERT(VARCHAR(10),MONTH(@l_AMORT_START_DATE))+'-' + '1')
|
150
|
-- -- SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_ENDDATE_TEMP ) - 1
|
151
|
--
|
152
|
-- -- --CAP NHAT TRANG THAI KHAU HAO
|
153
|
-- -- SET @l_AMORT_STATUS = 'VNM'
|
154
|
-- -- END
|
155
|
--
|
156
|
-- -- --Tinh so tien khau hao thang dau tien va so tien khau hao hang thang
|
157
|
-- -- SET @l_MONTHLY_AMT = ROUND(@l_ASS_AMORT_AMT / @l_AMORT_MONTH, -3)
|
158
|
-- -- SET @l_FIRST_AMORT_AMT = ROUND(@l_MONTHLY_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE) * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), -3)
|
159
|
-- -- ----CAP NHAT TRANG THAI KHAU HAO
|
160
|
-- -- --SET @l_AMORT_STATUS = 'CKH'
|
161
|
-- --END
|
162
|
--
|
163
|
-- --COMMIT TRANSACTION
|
164
|
--
|
165
|
-- --BEGIN TRANSACTION
|
166
|
--
|
167
|
--
|
168
|
-- IF @@Error <> 0 GOTO ABORT
|
169
|
--
|
170
|
--
|
171
|
--
|
172
|
-- DECLARE @l_AMORT_RATE DECIMAL(18,2)
|
173
|
-- IF @l_AMORT_MONTH > 0 AND @l_AMORT_MONTH IS NOT NULL
|
174
|
-- SET @l_AMORT_RATE = ROUND((100 /@l_AMORT_MONTH) * 12, 2)
|
175
|
-- ELSE
|
176
|
-- BEGIN
|
177
|
-- SET @l_AMORT_RATE = 0
|
178
|
-- IF(@l_TYPE_ID = 'CCLD')
|
179
|
-- SET @l_AMORT_MONTH = 1
|
180
|
-- END
|
181
|
--
|
182
|
-- --Update tai san da xuat su dung
|
183
|
-- UPDATE ASS_MASTER
|
184
|
-- SET BRANCH_ID = @l_BRANCH_ID,
|
185
|
-- DEPT_ID = @l_DEPT_ID,
|
186
|
-- EMP_ID = @l_EMP_ID,
|
187
|
-- DIVISION_ID = @l_DIVISION_ID,
|
188
|
-- -- AMORT_START_DATE = @l_AMORT_START_DATE,
|
189
|
-- -- AMORT_END_DATE = @l_AMORT_END_DATE,
|
190
|
-- -- FIRST_AMORT_AMT = @l_FIRST_AMORT_AMT,
|
191
|
-- -- AMORT_MONTH = @l_AMORT_MONTH,
|
192
|
-- -- MONTHLY_AMORT_AMT = @l_MONTHLY_AMT,
|
193
|
-- -- AMORTIZED_AMT = ISNULL(AMORTIZED_AMT,0),
|
194
|
-- -- AMORTIZED_MONTH = 0,
|
195
|
-- -- AMORT_STATUS = @l_AMORT_STATUS,--'CKH', --Update trang thai cho khau hao
|
196
|
-- USE_DATE = CONVERT(DATETIME, @sToday, 103)
|
197
|
-- -- ENTRY_BOOKED = @l_ENTRY_BOOKED,
|
198
|
-- -- AMORT_RATE = @l_AMORT_RATE
|
199
|
-- WHERE ASSET_ID = @l_ASSET_ID
|
200
|
--
|
201
|
---- UPDATE ASS_MASTER
|
202
|
---- SET USE_DATE = CONVERT(DATETIME, @sToday, 103),
|
203
|
---- ENTRY_BOOKED = @l_ENTRY_BOOKED,
|
204
|
---- AMORT_RATE = @l_AMORT_RATE
|
205
|
---- WHERE ASSET_ID = @l_ASSET_ID
|
206
|
-- IF @@Error <> 0 GOTO ABORT
|
207
|
--
|
208
|
--
|
209
|
-- --Phat sinh Asset_ID
|
210
|
-- EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out
|
211
|
-- IF @l_ASSHIST_ID='' OR @l_ASSHIST_ID IS NULL GOTO ABORT
|
212
|
--
|
213
|
-- INSERT INTO ASS_MASTER_HIST
|
214
|
-- SELECT @l_ASSHIST_ID, a.*
|
215
|
-- FROM ASS_MASTER a
|
216
|
-- where a.ASSET_ID = @l_ASSET_ID
|
217
|
--
|
218
|
-- IF @@Error <> 0 GOTO ABORT
|
219
|
--
|
220
|
--
|
221
|
-- /***THIEUVQ - 10/09/2014 CAP NHAT LAI DON VI KHI XUAT SU DUNG NEU TS LA XE***/
|
222
|
-- --UPDATE CAR_MASTER SET BRANCH_ID = @l_BRANCH_ID WHERE ASSET_ID = @l_ASSET_ID
|
223
|
--
|
224
|
-- --Insert phan xuat kho
|
225
|
-- SELECT @l_WAHDT_ID = WAHDT_ID FROM ASS_WAREHOUSE_DT A WHERE A.ASSET_ID = @l_ASSET_ID AND A.STATUS='I'
|
226
|
--
|
227
|
-- UPDATE ASS_WAREHOUSE_DT
|
228
|
-- SET OUT_DATE = GETDATE(),
|
229
|
-- STATUS = 'O'
|
230
|
-- WHERE WAHDT_ID = @l_WAHDT_ID
|
231
|
-- IF @@Error <> 0 GOTO ABORT
|
232
|
--
|
233
|
-- ----Insert bang ASS_LOCATION_HIST
|
234
|
-- EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out
|
235
|
-- IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT
|
236
|
--
|
237
|
-- INSERT INTO ASS_LOCATION_HIST
|
238
|
-- (
|
239
|
-- LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID,
|
240
|
-- EMP_ID, LOCATION, ISLEAF, PARENT_ID
|
241
|
-- )
|
242
|
-- VALUES
|
243
|
-- (
|
244
|
-- @l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @l_BRANCH_ID, @l_DEPT_ID,
|
245
|
-- @l_EMP_ID, '', 'Y', NULL
|
246
|
-- )
|
247
|
-- IF @@Error <> 0 GOTO ABORT
|
248
|
--
|
249
|
-- --INSERT VAO BANG ASS_TRANSACTIONS
|
250
|
-- INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS,
|
251
|
-- [MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT],ASSHIST_ID, LOCHIST_ID
|
252
|
-- )VALUES
|
253
|
-- (
|
254
|
-- @l_ASSET_ID, @USE_MULTI_ID, 'ADD_USE', CONVERT(DATETIME, @sToday, 103), '1', 'A',
|
255
|
-- @l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103) ,@l_ASSHIST_ID,@l_LOCHIST_ID
|
256
|
-- )
|
257
|
-- IF @@Error <> 0 GOTO ABORT
|
258
|
-- FETCH NEXT FROM DataCusor INTO @USE_MULTI_ID,@ASSET_ID
|
259
|
-- END
|
260
|
-- CLOSE DataCusor
|
261
|
-- DEALLOCATE DataCusor
|
262
|
--
|
263
|
-- --START PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT
|
264
|
-- DECLARE @TBL_CHECK_UPD TABLE (REQDT_ID VARCHAR(15), REQ_DOC_ID VARCHAR(15), ASS_GROUP_ID VARCHAR(15), ASS_ID VARCHAR(15), REQ_DT_TYPE VARCHAR(20), TYPE_XL VARCHAR(20))
|
265
|
--
|
266
|
-- INSERT INTO @TBL_CHECK_UPD
|
267
|
-- SELECT DISTINCT A.REQDT_ID, A.REQ_DOC_ID, A.ASS_GROUP_ID, A.ASS_ID, A.REQ_DT_TYPE, A.TYPE_XL
|
268
|
-- FROM ASS_USE_MULTI_DT B
|
269
|
-- LEFT JOIN TR_REQUEST_SHOP_DOC_DT A ON B.REQ_ID = A.REQ_DOC_ID
|
270
|
-- WHERE B.USER_MASTER_ID = @p_USER_MASTER_ID AND B.REQ_ID IS NOT NULL AND B.REQ_ID <> ''
|
271
|
-- AND(A.REQ_DT_TYPE = 'BUYNEW'
|
272
|
-- OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK'))
|
273
|
--
|
274
|
-- DECLARE @C_REQDT_ID VARCHAR(15), @C_REQ_DOC_ID VARCHAR(15), @C_ASS_GROUP_ID VARCHAR(15), @C_ASS_ID VARCHAR(15), @C_REQ_DT_TYPE VARCHAR(15), @C_TYPE_XL VARCHAR(20)
|
275
|
--
|
276
|
-- DECLARE DATA_CURSOR_CHECK_UPD CURSOR FOR
|
277
|
-- SELECT * FROM @TBL_CHECK_UPD
|
278
|
--
|
279
|
-- OPEN DATA_CURSOR_CHECK_UPD
|
280
|
--
|
281
|
-- FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO
|
282
|
-- @C_REQDT_ID,@C_REQ_DOC_ID,@C_ASS_GROUP_ID,@C_ASS_ID,@C_REQ_DT_TYPE,@C_TYPE_XL
|
283
|
--
|
284
|
-- DECLARE @ALLOCATED INT
|
285
|
-- WHILE @@FETCH_STATUS = 0
|
286
|
-- BEGIN
|
287
|
-- SET @ALLOCATED = (SELECT COUNT(*)
|
288
|
-- FROM ASS_USE_MULTI_DT A
|
289
|
-- LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID
|
290
|
-- GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID
|
291
|
-- HAVING A.REQ_ID = @C_REQ_DOC_ID
|
292
|
-- AND C.GROUP_ID = @C_ASS_GROUP_ID
|
293
|
-- AND ((@C_REQ_DT_TYPE = 'BUYNEW' AND C.REQ_ID = @C_REQ_DOC_ID)
|
294
|
-- OR (@C_TYPE_XL = 'CPTK' AND (C.REQ_ID IS NULL OR C.REQ_ID = ''))))
|
295
|
--
|
296
|
-- UPDATE TR_REQUEST_SHOP_DOC_DT
|
297
|
-- SET ALLOCATED = @ALLOCATED
|
298
|
-- WHERE REQDT_ID = @C_REQDT_ID
|
299
|
--
|
300
|
-- FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO
|
301
|
-- @C_REQDT_ID,@C_REQ_DOC_ID,@C_ASS_GROUP_ID,@C_ASS_ID,@C_REQ_DT_TYPE,@C_TYPE_XL
|
302
|
-- END
|
303
|
-- CLOSE DATA_CURSOR_CHECK_UPD
|
304
|
-- DEALLOCATE DATA_CURSOR_CHECK_UPD
|
305
|
-- --END PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT
|
306
|
-- GIANT 21/09/2021
|
307
|
INSERT INTO dbo.PL_PROCESS
|
308
|
(
|
309
|
REQ_ID,
|
310
|
PROCESS_ID,
|
311
|
CHECKER_ID,
|
312
|
APPROVE_DT,
|
313
|
PROCESS_DESC,NOTES
|
314
|
)
|
315
|
VALUES
|
316
|
( @p_USER_MASTER_ID, -- REQ_ID - varchar(15)
|
317
|
'APPROVE', -- PROCESS_ID - varchar(10)
|
318
|
@p_CHECKER_ID, -- CHECKER_ID - varchar(15)
|
319
|
GETDATE(), -- APPROVE_DT - datetime
|
320
|
N'Trưởng đơn vị phê duyệt ' ,
|
321
|
N'Trưởng đơn vị phê duyệt thành công' -- PROCESS_DESC - nvarchar(1000)
|
322
|
)
|
323
|
|
324
|
COMMIT TRANSACTION
|
325
|
SELECT '0' as Result, '' ErrorDesc
|
326
|
RETURN '0'
|
327
|
|
328
|
END TRY
|
329
|
|
330
|
BEGIN CATCH
|
331
|
ROLLBACK TRANSACTION
|
332
|
CLOSE DataCusor
|
333
|
DEALLOCATE DataCusor
|
334
|
SELECT '-1' as Result, ERROR_MESSAGE() ErrorDesc
|
335
|
RETURN '-1'
|
336
|
END CATCH
|
337
|
ABORT:
|
338
|
BEGIN
|
339
|
ROLLBACK TRANSACTION
|
340
|
CLOSE DataCusor
|
341
|
DEALLOCATE DataCusor
|
342
|
SELECT '-1' as Result, ERROR_MESSAGE() ErrorDesc
|
343
|
RETURN '-1'
|
344
|
End
|
345
|
GO
|
346
|
|
347
|
ALTER PROCEDURE dbo.ASS_COLLECT_MULTI_MASTER_App
|
348
|
@p_COL_MULTI_MASTER_ID varchar(15),
|
349
|
@p_AUTH_STATUS varchar(1) = NULL,
|
350
|
@p_CHECKER_ID varchar(100) = NULL,
|
351
|
@p_APPROVE_DT VARCHAR(20) = NULL
|
352
|
AS
|
353
|
BEGIN TRANSACTION
|
354
|
--LUCTV: 26/12/2018 BO SUNG KIEM TRA NEU DANG TRA VE THI KHONG CHO HANH CHINH DUYET NUA.
|
355
|
IF(EXISTS(SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE AUTH_STATUS ='R' AND COL_MULTI_MASTER_ID =@p_COL_MULTI_MASTER_ID))
|
356
|
BEGIN
|
357
|
ROLLBACK TRANSACTION
|
358
|
SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, N'Thông tin thu hồ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
|
359
|
RETURN '-1'
|
360
|
END
|
361
|
UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103),AUTH_STATUS_KT='E',MAKER_ID_KT =NULL,APPROVE_DT_KT=NULL, CHECKER_ID_KT = NULL
|
362
|
WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID
|
363
|
--DECLARE @COLLECT_MULTI_ID varchar(15)
|
364
|
-- DECLARE @ASSET_ID varchar(15)
|
365
|
-- DECLARE DataCusor SCROLL CURSOR
|
366
|
-- FOR
|
367
|
-- SELECT A.COLLECT_MULTI_ID,A.ASSET_ID
|
368
|
-- FROM [dbo].[ASS_COLLECT_MULTI_DT] A
|
369
|
-- WHERE [COL_MULTI_MASTER_ID] = @p_COL_MULTI_MASTER_ID
|
370
|
|
371
|
-- OPEN DataCusor
|
372
|
|
373
|
-- UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103)
|
374
|
-- WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID
|
375
|
|
376
|
--FETCH NEXT FROM DataCusor INTO @COLLECT_MULTI_ID,@ASSET_ID
|
377
|
--WHILE @@FETCH_STATUS = 0
|
378
|
--BEGIN
|
379
|
|
380
|
-- --THIEUVQ 15062015
|
381
|
-- DECLARE @p_BRANCH_ID_RECEIVE VARCHAR(15) = NULL, @p_DEPT_ID_RECEIVE VARCHAR(15) = NULL, @l_ASSET_ID VARCHAR(15)
|
382
|
-- DECLARE @l_LOCHIST_ID VARCHAR(15), @l_OLD_LOCHIST_ID VARCHAR(15), @l_ASSHIST_ID varchar(15)
|
383
|
|
384
|
-- SELECT @p_BRANCH_ID_RECEIVE = BRANCH_ID_RECEIVE , @p_DEPT_ID_RECEIVE = DEPT_ID_RECEIVE , @l_ASSET_ID = ASSET_ID
|
385
|
-- FROM ASS_COLLECT_MULTI_DT
|
386
|
-- WHERE COLLECT_MULTI_ID = @COLLECT_MULTI_ID
|
387
|
|
388
|
-- UPDATE ASS_COLLECT_MULTI_DT SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103)
|
389
|
-- WHERE COLLECT_MULTI_ID = @COLLECT_MULTI_ID
|
390
|
-- IF @@Error <> 0
|
391
|
-- BEGIN
|
392
|
-- GOTO ABORT
|
393
|
-- SELECT '0' as Result, '' ErrorDesc
|
394
|
-- END
|
395
|
|
396
|
-- --Move to history
|
397
|
-- --Phat sinh Asset_ID
|
398
|
-- EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out
|
399
|
-- IF @l_ASSHIST_ID='' OR @l_ASSHIST_ID IS NULL GOTO ABORT
|
400
|
|
401
|
-- INSERT INTO ASS_MASTER_HIST
|
402
|
-- SELECT @l_ASSHIST_ID, a.*
|
403
|
-- FROM ASS_MASTER a
|
404
|
-- where a.ASSET_ID = @l_ASSET_ID
|
405
|
-- IF @@Error <> 0 GOTO ABORT
|
406
|
|
407
|
|
408
|
-- UPDATE ASS_MASTER SET BRANCH_ID = @p_BRANCH_ID_RECEIVE, DEPT_ID = @p_DEPT_ID_RECEIVE
|
409
|
-- WHERE ASSET_ID = @l_ASSET_ID
|
410
|
-- IF @@Error <> 0 GOTO ABORT
|
411
|
|
412
|
-- --Lay LOCHIST_ID
|
413
|
-- SELECT @l_OLD_LOCHIST_ID = LOCHIST_ID FROM ASS_LOCATION_HIST WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y'
|
414
|
|
415
|
-- --Uptdae isleaf='N' and END_DATE = ngay hien tai cho record hien tai
|
416
|
-- UPDATE ASS_LOCATION_HIST
|
417
|
-- SET USE_END_DT = CONVERT(DATETIME,@p_APPROVE_DT,103),
|
418
|
-- ISLEAF='N'
|
419
|
-- WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y'
|
420
|
-- IF @@Error <> 0 GOTO ABORT
|
421
|
|
422
|
-- --Insert bang ASS_LOCATION_HIST
|
423
|
-- EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out
|
424
|
-- IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT
|
425
|
|
426
|
-- INSERT INTO ASS_LOCATION_HIST
|
427
|
-- (
|
428
|
-- LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID,
|
429
|
-- EMP_ID, LOCATION, ISLEAF, PARENT_ID
|
430
|
-- )
|
431
|
-- VALUES
|
432
|
-- (
|
433
|
-- @l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @p_BRANCH_ID_RECEIVE, @p_DEPT_ID_RECEIVE,
|
434
|
-- NULL, '', 'Y', NULL
|
435
|
-- )
|
436
|
-- IF @@Error <> 0 GOTO ABORT
|
437
|
|
438
|
-- FETCH NEXT FROM DataCusor INTO @COLLECT_MULTI_ID,@ASSET_ID
|
439
|
--END
|
440
|
--CLOSE DataCusor
|
441
|
--DEALLOCATE DataCusor
|
442
|
|
443
|
-- GIANT Insert to table PL_PROCESS
|
444
|
INSERT INTO dbo.PL_PROCESS
|
445
|
(
|
446
|
REQ_ID,
|
447
|
PROCESS_ID,
|
448
|
CHECKER_ID,
|
449
|
APPROVE_DT,
|
450
|
PROCESS_DESC,
|
451
|
NOTES
|
452
|
)
|
453
|
VALUES
|
454
|
( @p_COL_MULTI_MASTER_ID,
|
455
|
'APPROVE',
|
456
|
@p_CHECKER_ID,
|
457
|
GETDATE(),
|
458
|
N'Trưởng đơn vị phê duyệt ' ,
|
459
|
N'Trưởng đơn vị phê duyệt thành công'
|
460
|
)
|
461
|
|
462
|
COMMIT TRANSACTION
|
463
|
SELECT '0' as Result, @p_COL_MULTI_MASTER_ID COL_MULTI_MASTER_ID, '' ErrorDesc
|
464
|
RETURN '0'
|
465
|
ABORT:
|
466
|
BEGIN
|
467
|
CLOSE DataCusor
|
468
|
DEALLOCATE DataCusor
|
469
|
ROLLBACK TRANSACTION
|
470
|
SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, '' ErrorDesc
|
471
|
RETURN '-1'
|
472
|
End
|