ALTER PROCEDURE dbo.ASS_USE_MULTI_BVB_MASTER_App --@p_USE_ID varchar(15) = NULL, @p_USER_MASTER_ID varchar(15) = NULL, @p_AUTH_STATUS varchar(1) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL AS BEGIN TRY --DECLARE @l_BRANCH_ID VARCHAR(15) -- DECLARE @l_DEPT_ID VARCHAR(15) -- DECLARE @l_EMP_ID VARCHAR(15) -- DECLARE @l_DIVISION_ID VARCHAR(15) -- DECLARE @l_VALUE_ID VARCHAR(15) -- -- --DECLARE @l_LOCATION nvarchar(500) -- DECLARE @l_LOCHIST_ID VARCHAR(15) -- -- DECLARE @l_ASSET_ID VARCHAR(15) -- DECLARE @l_WAHDT_ID VARCHAR(15) -- DECLARE @l_WAH_ID VARCHAR(15) -- DECLARE @l_MAKER_ID varchar(15) -- -- DECLARE @l_AMORT_MONTH decimal(18,2) -- DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime -- DECLARE @l_FIRST_AMORT_AMT numeric(18,0) -- DECLARE @l_MONTHLY_AMT numeric(18,0) -- DECLARE @l_ASS_AMORT_AMT numeric(18,0) -- DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103) -- DECLARE @l_ENTRY_BOOKED varchar(1) -- DECLARE @l_HO_BRN_ID varchar(15) -- DECLARE @l_AMORT_AMT decimal(18) = NULL -- DECLARE @l_BUY_PRICE decimal(18) = NULL -- DECLARE @l_ET_ID varchar(15) -- DEClare @p_ADDNEW_ID varchar(15) -- -- DECLARE @l_SUPPEND_GL varchar(50) -- DECLARE @l_ASSET_GL varchar(50) -- declare @l_ASSET_VALUE decimal(18,0) -- DECLARE @l_GROUP_ID varchar(15) -- DECLARE @l_CORE_NOTE NVARCHAR(500) -- DECLARE @l_TYPE_ID varchar(15) = NULL -- declare @l_TRN_REF_NO varchar(20) -- declare @l_DO_BRANCH_ID varchar(15) -- DECLARE @l_AMORT_STATUS VARCHAR(15) = 'CKH' -- DECLARE @l_AMORT_MONTH_ASS_USE DECIMAL(18,2) = NULL -- declare @l_AUTH_STATUS varchar(15) = '' -- declare @l_ASSHIST_ID varchar(15) -- --Lay thong tin kho mac dinh -- SELECT @l_WAH_ID = P.ParaValue FROM SYS_PARAMETERS P WHERE P.ParaKey='ASSET_WAREHOUSE' -- -- --BRN_ID HOI SO -- SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS' -- -- --Lay branch_id cua user duyet -- select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID -- -- --Lay suppend GL -- SELECT @l_SUPPEND_GL = A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL' -- -- --ASSET_GL -- SELECT @l_ASSET_GL = ASSET_ACCTNO FROM ASS_GROUP A WHERE A.GROUP_ID = @l_GROUP_ID IF (SELECT AUTH_STATUS_KT FROM ASS_USE_MULTI_MASTER WHERE [USER_MASTER_ID] = @p_USER_MASTER_ID) = 'A' BEGIN SELECT '-1' as Result, (SELECT ErrorDesc from SYS_ERROR WHERE ErrorCode = 'ASS-99998') ErrorDesc RETURN '-1' END BEGIN TRANSACTION --LUCTV: 26-20-2018 KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET IF(EXISTS(SELECT * FROM ASS_USE_MULTI_MASTER WHERE AUTH_STATUS ='R' AND USER_MASTER_ID =@p_USER_MASTER_ID)) BEGIN ROLLBACK TRANSACTION 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 RETURN '-1' END --APPROVE MASTER UPDATE [dbo].[ASS_USE_MULTI_MASTER] SET AUTH_STATUS = 'A', 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, APPROVE_DT = CONVERT(datetime, @p_APPROVE_DT, 103) WHERE [USER_MASTER_ID] = @p_USER_MASTER_ID --Update trang thai cho giao dich xuat su dung UPDATE [dbo].[ASS_USE_MULTI_DT] SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE USER_MASTER_ID = @p_USER_MASTER_ID -- DECLARE @USE_MULTI_ID varchar(15) -- DECLARE @ASSET_ID varchar(15) -- DECLARE DataCusor SCROLL CURSOR -- FOR -- SELECT A.USE_MULTI_ID,A.ASSET_ID -- FROM [dbo].[ASS_USE_MULTI_DT] A -- WHERE A.USER_MASTER_ID=@p_USER_MASTER_ID -- OPEN DataCusor -- --FETCH NEXT FROM DataCusor INTO @USE_MULTI_ID,@ASSET_ID --WHILE @@FETCH_STATUS = 0 --BEGIN -- -- --Lay thong tin giao dich -- SELECT @l_ASSET_ID = ASSET_ID, @l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID, -- @l_EMP_ID = EMP_ID, @l_DIVISION_ID = DIVISION_ID, @l_CORE_NOTE = CORE_NOTE, @l_AUTH_STATUS = AUTH_STATUS, -- @l_AMORT_START_DATE = AMORT_START_DATE, @l_MAKER_ID = MAKER_ID, @l_AMORT_MONTH_ASS_USE = AMORT_MONTH, -- @l_AMORT_END_DATE = AMORT_END_DATE -- FROM [dbo].[ASS_USE_MULTI_DT] -- WHERE [USE_MULTI_ID] = @USE_MULTI_ID -- -- --Lay thong tin so thang khau hao -- SELECT @l_AMORT_MONTH = A.AMORT_MONTH, @l_ASS_AMORT_AMT = AMORT_AMT, @l_ENTRY_BOOKED = ENTRY_BOOKED, -- @l_AMORT_AMT = A.AMORT_AMT, @l_BUY_PRICE = BUY_PRICE, @l_GROUP_ID = GROUP_ID,@l_TYPE_ID = A.[TYPE_ID] -- FROM ASS_MASTER A -- WHERE A.ASSET_ID = @l_ASSET_ID -- -- --TINH SO THANG THEO THUC TE KHI XUAT SU DUNG -- SET @l_AMORT_MONTH = @l_AMORT_MONTH_ASS_USE -- -- --IF @l_AMORT_MONTH_ASS_USE IS NULL--TRUONG HOP CCLD DO PHCQT XUAT -- --BEGIN -- -- SET @l_AMORT_END_DATE = NULL; -- -- SET @l_MONTHLY_AMT = 0; -- -- SET @l_FIRST_AMORT_AMT = 0; -- -- SET @l_AMORT_STATUS = 'VNM' -- --END -- --ELSE -- --IF @l_AMORT_MONTH = 0 -- --BEGIN -- -- SET @l_AMORT_END_DATE = NULL; -- -- SET @l_MONTHLY_AMT = 0; -- -- SET @l_FIRST_AMORT_AMT = 0; -- -- SET @l_AMORT_STATUS = 'KKH' -- --END -- --ELSE -- --BEGIN -- -- --Tinh ngay ket thuc khau hao -- -- IF @l_TYPE_ID = 'TSCD' -- -- BEGIN -- -- IF @l_AMORT_END_DATE IS NULL OR @l_AMORT_END_DATE = '' -- -- SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_AMORT_START_DATE) - 1 -- -- --CAP NHAT TRANG THAI KHAU HAO -- -- SET @l_AMORT_STATUS = 'CKH' -- -- END -- -- ELSE -- -- BEGIN -- -- DECLARE @l_ENDDATE_TEMP DATETIME = (CONVERT(VARCHAR(10),(YEAR(@l_AMORT_START_DATE))) + '-' + CONVERT(VARCHAR(10),MONTH(@l_AMORT_START_DATE))+'-' + '1') -- -- SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_ENDDATE_TEMP ) - 1 -- -- -- --CAP NHAT TRANG THAI KHAU HAO -- -- SET @l_AMORT_STATUS = 'VNM' -- -- END -- -- -- --Tinh so tien khau hao thang dau tien va so tien khau hao hang thang -- -- SET @l_MONTHLY_AMT = ROUND(@l_ASS_AMORT_AMT / @l_AMORT_MONTH, -3) -- -- 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) -- -- ----CAP NHAT TRANG THAI KHAU HAO -- -- --SET @l_AMORT_STATUS = 'CKH' -- --END -- -- --COMMIT TRANSACTION -- -- --BEGIN TRANSACTION -- -- -- IF @@Error <> 0 GOTO ABORT -- -- -- -- DECLARE @l_AMORT_RATE DECIMAL(18,2) -- IF @l_AMORT_MONTH > 0 AND @l_AMORT_MONTH IS NOT NULL -- SET @l_AMORT_RATE = ROUND((100 /@l_AMORT_MONTH) * 12, 2) -- ELSE -- BEGIN -- SET @l_AMORT_RATE = 0 -- IF(@l_TYPE_ID = 'CCLD') -- SET @l_AMORT_MONTH = 1 -- END -- -- --Update tai san da xuat su dung -- UPDATE ASS_MASTER -- SET BRANCH_ID = @l_BRANCH_ID, -- DEPT_ID = @l_DEPT_ID, -- EMP_ID = @l_EMP_ID, -- DIVISION_ID = @l_DIVISION_ID, -- -- AMORT_START_DATE = @l_AMORT_START_DATE, -- -- AMORT_END_DATE = @l_AMORT_END_DATE, -- -- FIRST_AMORT_AMT = @l_FIRST_AMORT_AMT, -- -- AMORT_MONTH = @l_AMORT_MONTH, -- -- MONTHLY_AMORT_AMT = @l_MONTHLY_AMT, -- -- AMORTIZED_AMT = ISNULL(AMORTIZED_AMT,0), -- -- AMORTIZED_MONTH = 0, -- -- AMORT_STATUS = @l_AMORT_STATUS,--'CKH', --Update trang thai cho khau hao -- USE_DATE = CONVERT(DATETIME, @sToday, 103) -- -- ENTRY_BOOKED = @l_ENTRY_BOOKED, -- -- AMORT_RATE = @l_AMORT_RATE -- WHERE ASSET_ID = @l_ASSET_ID -- ---- UPDATE ASS_MASTER ---- SET USE_DATE = CONVERT(DATETIME, @sToday, 103), ---- ENTRY_BOOKED = @l_ENTRY_BOOKED, ---- AMORT_RATE = @l_AMORT_RATE ---- WHERE ASSET_ID = @l_ASSET_ID -- IF @@Error <> 0 GOTO ABORT -- -- -- --Phat sinh Asset_ID -- EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out -- IF @l_ASSHIST_ID='' OR @l_ASSHIST_ID IS NULL GOTO ABORT -- -- INSERT INTO ASS_MASTER_HIST -- SELECT @l_ASSHIST_ID, a.* -- FROM ASS_MASTER a -- where a.ASSET_ID = @l_ASSET_ID -- -- IF @@Error <> 0 GOTO ABORT -- -- -- /***THIEUVQ - 10/09/2014 CAP NHAT LAI DON VI KHI XUAT SU DUNG NEU TS LA XE***/ -- --UPDATE CAR_MASTER SET BRANCH_ID = @l_BRANCH_ID WHERE ASSET_ID = @l_ASSET_ID -- -- --Insert phan xuat kho -- SELECT @l_WAHDT_ID = WAHDT_ID FROM ASS_WAREHOUSE_DT A WHERE A.ASSET_ID = @l_ASSET_ID AND A.STATUS='I' -- -- UPDATE ASS_WAREHOUSE_DT -- SET OUT_DATE = GETDATE(), -- STATUS = 'O' -- WHERE WAHDT_ID = @l_WAHDT_ID -- IF @@Error <> 0 GOTO ABORT -- -- ----Insert bang ASS_LOCATION_HIST -- EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out -- IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT -- -- INSERT INTO ASS_LOCATION_HIST -- ( -- LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID, -- EMP_ID, LOCATION, ISLEAF, PARENT_ID -- ) -- VALUES -- ( -- @l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @l_BRANCH_ID, @l_DEPT_ID, -- @l_EMP_ID, '', 'Y', NULL -- ) -- IF @@Error <> 0 GOTO ABORT -- -- --INSERT VAO BANG ASS_TRANSACTIONS -- INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS, -- [MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT],ASSHIST_ID, LOCHIST_ID -- )VALUES -- ( -- @l_ASSET_ID, @USE_MULTI_ID, 'ADD_USE', CONVERT(DATETIME, @sToday, 103), '1', 'A', -- @l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103) ,@l_ASSHIST_ID,@l_LOCHIST_ID -- ) -- IF @@Error <> 0 GOTO ABORT -- FETCH NEXT FROM DataCusor INTO @USE_MULTI_ID,@ASSET_ID -- END -- CLOSE DataCusor -- DEALLOCATE DataCusor -- -- --START PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT -- 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)) -- -- INSERT INTO @TBL_CHECK_UPD -- SELECT DISTINCT A.REQDT_ID, A.REQ_DOC_ID, A.ASS_GROUP_ID, A.ASS_ID, A.REQ_DT_TYPE, A.TYPE_XL -- FROM ASS_USE_MULTI_DT B -- LEFT JOIN TR_REQUEST_SHOP_DOC_DT A ON B.REQ_ID = A.REQ_DOC_ID -- WHERE B.USER_MASTER_ID = @p_USER_MASTER_ID AND B.REQ_ID IS NOT NULL AND B.REQ_ID <> '' -- AND(A.REQ_DT_TYPE = 'BUYNEW' -- OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK')) -- -- 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) -- -- DECLARE DATA_CURSOR_CHECK_UPD CURSOR FOR -- SELECT * FROM @TBL_CHECK_UPD -- -- OPEN DATA_CURSOR_CHECK_UPD -- -- FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO -- @C_REQDT_ID,@C_REQ_DOC_ID,@C_ASS_GROUP_ID,@C_ASS_ID,@C_REQ_DT_TYPE,@C_TYPE_XL -- -- DECLARE @ALLOCATED INT -- WHILE @@FETCH_STATUS = 0 -- BEGIN -- SET @ALLOCATED = (SELECT COUNT(*) -- FROM ASS_USE_MULTI_DT A -- LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID -- GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID -- HAVING A.REQ_ID = @C_REQ_DOC_ID -- AND C.GROUP_ID = @C_ASS_GROUP_ID -- AND ((@C_REQ_DT_TYPE = 'BUYNEW' AND C.REQ_ID = @C_REQ_DOC_ID) -- OR (@C_TYPE_XL = 'CPTK' AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))) -- -- UPDATE TR_REQUEST_SHOP_DOC_DT -- SET ALLOCATED = @ALLOCATED -- WHERE REQDT_ID = @C_REQDT_ID -- -- FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO -- @C_REQDT_ID,@C_REQ_DOC_ID,@C_ASS_GROUP_ID,@C_ASS_ID,@C_REQ_DT_TYPE,@C_TYPE_XL -- END -- CLOSE DATA_CURSOR_CHECK_UPD -- DEALLOCATE DATA_CURSOR_CHECK_UPD -- --END PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT -- GIANT 21/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_USER_MASTER_ID, -- REQ_ID - varchar(15) 'APPROVE', -- PROCESS_ID - varchar(10) @p_CHECKER_ID, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Trưởng đơn vị phê duyệt ' , N'Trưởng đơn vị phê duyệt thành công' -- PROCESS_DESC - nvarchar(1000) ) COMMIT TRANSACTION SELECT '0' as Result, '' ErrorDesc RETURN '0' END TRY BEGIN CATCH ROLLBACK TRANSACTION CLOSE DataCusor DEALLOCATE DataCusor SELECT '-1' as Result, ERROR_MESSAGE() ErrorDesc RETURN '-1' END CATCH ABORT: BEGIN ROLLBACK TRANSACTION CLOSE DataCusor DEALLOCATE DataCusor SELECT '-1' as Result, ERROR_MESSAGE() ErrorDesc RETURN '-1' End GO ALTER PROCEDURE dbo.ASS_COLLECT_MULTI_MASTER_App @p_COL_MULTI_MASTER_ID varchar(15), @p_AUTH_STATUS varchar(1) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL AS BEGIN TRANSACTION --LUCTV: 26/12/2018 BO SUNG KIEM TRA NEU DANG TRA VE THI KHONG CHO HANH CHINH DUYET NUA. IF(EXISTS(SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE AUTH_STATUS ='R' AND COL_MULTI_MASTER_ID =@p_COL_MULTI_MASTER_ID)) BEGIN ROLLBACK TRANSACTION 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 RETURN '-1' END 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 WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID --DECLARE @COLLECT_MULTI_ID varchar(15) -- DECLARE @ASSET_ID varchar(15) -- DECLARE DataCusor SCROLL CURSOR -- FOR -- SELECT A.COLLECT_MULTI_ID,A.ASSET_ID -- FROM [dbo].[ASS_COLLECT_MULTI_DT] A -- WHERE [COL_MULTI_MASTER_ID] = @p_COL_MULTI_MASTER_ID -- OPEN DataCusor -- UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) -- WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID --FETCH NEXT FROM DataCusor INTO @COLLECT_MULTI_ID,@ASSET_ID --WHILE @@FETCH_STATUS = 0 --BEGIN -- --THIEUVQ 15062015 -- DECLARE @p_BRANCH_ID_RECEIVE VARCHAR(15) = NULL, @p_DEPT_ID_RECEIVE VARCHAR(15) = NULL, @l_ASSET_ID VARCHAR(15) -- DECLARE @l_LOCHIST_ID VARCHAR(15), @l_OLD_LOCHIST_ID VARCHAR(15), @l_ASSHIST_ID varchar(15) -- SELECT @p_BRANCH_ID_RECEIVE = BRANCH_ID_RECEIVE , @p_DEPT_ID_RECEIVE = DEPT_ID_RECEIVE , @l_ASSET_ID = ASSET_ID -- FROM ASS_COLLECT_MULTI_DT -- WHERE COLLECT_MULTI_ID = @COLLECT_MULTI_ID -- UPDATE ASS_COLLECT_MULTI_DT SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) -- WHERE COLLECT_MULTI_ID = @COLLECT_MULTI_ID -- IF @@Error <> 0 -- BEGIN -- GOTO ABORT -- SELECT '0' as Result, '' ErrorDesc -- END -- --Move to history -- --Phat sinh Asset_ID -- EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out -- IF @l_ASSHIST_ID='' OR @l_ASSHIST_ID IS NULL GOTO ABORT -- INSERT INTO ASS_MASTER_HIST -- SELECT @l_ASSHIST_ID, a.* -- FROM ASS_MASTER a -- where a.ASSET_ID = @l_ASSET_ID -- IF @@Error <> 0 GOTO ABORT -- UPDATE ASS_MASTER SET BRANCH_ID = @p_BRANCH_ID_RECEIVE, DEPT_ID = @p_DEPT_ID_RECEIVE -- WHERE ASSET_ID = @l_ASSET_ID -- IF @@Error <> 0 GOTO ABORT -- --Lay LOCHIST_ID -- SELECT @l_OLD_LOCHIST_ID = LOCHIST_ID FROM ASS_LOCATION_HIST WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y' -- --Uptdae isleaf='N' and END_DATE = ngay hien tai cho record hien tai -- UPDATE ASS_LOCATION_HIST -- SET USE_END_DT = CONVERT(DATETIME,@p_APPROVE_DT,103), -- ISLEAF='N' -- WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y' -- IF @@Error <> 0 GOTO ABORT -- --Insert bang ASS_LOCATION_HIST -- EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out -- IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT -- INSERT INTO ASS_LOCATION_HIST -- ( -- LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID, -- EMP_ID, LOCATION, ISLEAF, PARENT_ID -- ) -- VALUES -- ( -- @l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @p_BRANCH_ID_RECEIVE, @p_DEPT_ID_RECEIVE, -- NULL, '', 'Y', NULL -- ) -- IF @@Error <> 0 GOTO ABORT -- FETCH NEXT FROM DataCusor INTO @COLLECT_MULTI_ID,@ASSET_ID --END --CLOSE DataCusor --DEALLOCATE DataCusor -- GIANT Insert to table PL_PROCESS INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_COL_MULTI_MASTER_ID, 'APPROVE', @p_CHECKER_ID, GETDATE(), N'Trưởng đơn vị phê duyệt ' , N'Trưởng đơn vị phê duyệt thành công' ) COMMIT TRANSACTION SELECT '0' as Result, @p_COL_MULTI_MASTER_ID COL_MULTI_MASTER_ID, '' ErrorDesc RETURN '0' ABORT: BEGIN CLOSE DataCusor DEALLOCATE DataCusor ROLLBACK TRANSACTION SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, '' ErrorDesc RETURN '-1' End