Project

General

Profile

VALIDATE_PHIEU_REJECT.txt

Luc Tran Van, 04/19/2023 09:20 AM

 
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