ALTER PROC dbo.CM_REJECT_LOG_Ins @p_LOG_ID varchar(15) = NULL, @p_STAGE varchar(10) = NULL, @p_TRN_ID varchar(15) = NULL, @p_TRN_TYPE nvarchar(100) = NULL, @p_LOG_DT VARCHAR = NULL, @p_AUTH_STAT varchar(3) = NULL, @p_REASON nvarchar(4000) = NULL, @p_IS_LATEST varchar(1) = NULL, @p_REJECTED_BY varchar(20) = NULL, @p_REJECTED_DT VARCHAR = NULL AS BEGIN TRANSACTION DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0) DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0) DECLARE @p_MESSAGE NVARCHAR(100) = NULL DECLARE @TBL_GROUP_CODE_ASS_USE TABLE (GROUP_ID VARCHAR(100)) IF(EXISTS (SELECT * FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID)) BEGIN UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID END -- Thu hồi tài sản IF(@p_TRN_TYPE ='ASS_COLLECT_MUL') BEGIN IF(@p_STAGE='KT') BEGIN -- KSV trả về GDV IF(EXISTS (SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN IF(EXISTS(SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE COL_MULTI_MASTER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về giao dịch viên thành công' -- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Từ chối phiếu', @p_REASON ) END ELSE BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản chưa được kế toán cập nhật' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END END END ELSE IF(@p_STAGE='KT_HC') BEGIN -- KSV - GDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT ASSET_ID FROM ASS_COLLECT_MULTI_DT WHERE COL_MULTI_MASTER_ID = @p_TRN_ID) -- Xóa thông tin xác nhận thu hồi DELETE dbo.ASS_COLLECT_CONFIRM_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL, CORE_NOTE = NULL WHERE COL_MULTI_MASTER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về người tạo thành công' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Từ chối phiếu', @p_REASON ) END END ELSE BEGIN -- TDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT ASSET_ID FROM ASS_COLLECT_MULTI_DT WHERE COL_MULTI_MASTER_ID = @p_TRN_ID) UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R' WHERE COL_MULTI_MASTER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Từ chối phiếu', -- PROCESS_DESC - nvarchar(1000) @p_REASON ) END END END --SỬA CHỮA TÀI SẢN ELSE IF(@p_TRN_TYPE = 'ASS_REPAIR_MUL') BEGIN IF(EXISTS (SELECT REPAIR_MUL_ID FROM ASS_REPAIR_MULTI_MASTER WHERE REPAIR_MUL_ID = @p_TRN_ID AND AUTH_STATUS='A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin sửa chữa tài sản đã được duyệt.' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT ASSET_ID FROM ASS_REPAIR_MULTI_DT WHERE REPAIR_MUL_ID = @p_TRN_ID) UPDATE ASS_REPAIR_MULTI_MASTER SET AUTH_STATUS ='R' WHERE REPAIR_MUL_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin sửa chữa tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Phiếu bị trả về', -- PROCESS_DESC - nvarchar(1000) @p_REASON ) END END -- Điều chuyển tài sản ELSE IF(@p_TRN_TYPE ='ASS_TRANSFER_MUL') BEGIN UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT ASSET_ID FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID) ---- GiaNT 29/09/2021 Sửa IF(@p_STAGE='KT') BEGIN -- KSV trả về GDV IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN IF(EXISTS(SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về giao dịch viên thành công' -- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE() , N'Trả về nhân viên xử lý' , @p_REASON ) END ELSE BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản chưa được kế toán cập nhật' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END END END ELSE IF(@p_STAGE='KT_HC') BEGIN -- KSV - GDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R', STATUS = 'REJECT', AUTH_STATUS_KT = NULL, APPROVE_DT = NULL,CHECKER_ID = NULL, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL , CORE_NOTE = NULL WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID -- Xóa thông tin xác nhận điều chuyển DELETE ASS_TRANSFER_CONFIRM_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID --Xoá PL_REQUEST_PROCESS DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID) VALUES(@p_TRN_ID,'REJECT','C','QLTS','','') SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Trả về hành chính' ,@p_REASON -- PROCESS_DESC - nvarchar(1000) ) END END ELSE BEGIN -- TDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END END -- Xuất sử dụng tài sản ELSE IF(@p_TRN_TYPE ='ASS_USE_MUL') BEGIN IF(@p_STAGE='KT') BEGIN -- KSV trả về GDV IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN IF(EXISTS(SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE USER_MASTER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về giao dịch viên thành công' -- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về GDV', @p_REASON ) END ELSE BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản chưa được kế toán cập nhật' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END END END ELSE IF(@p_STAGE='KT_HC') BEGIN -- KSV - GDDV nhận - GDV trả về người tạo -- IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC')) -- BEGIN -- SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được kế toán duyệt' -- ROLLBACK TRANSACTION -- SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc -- RETURN '-1' -- END -- ELSE -- BEGIN -- -- Xóa thông tin xác nhận xuất sử dụng -- DELETE dbo.ASS_USE_CONFIRM_MASTER WHERE USER_MASTER_ID = @p_TRN_ID -- -- UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL WHERE USER_MASTER_ID =@p_TRN_ID -- SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công' -- -- GiaNT 29/09/2021 -- INSERT INTO dbo.PL_PROCESS -- ( -- REQ_ID, -- PROCESS_ID, -- CHECKER_ID, -- APPROVE_DT, -- PROCESS_DESC,NOTES -- ) -- VALUES -- ( @p_TRN_ID, -- 'REJECT', -- @p_REJECTED_BY, -- GETDATE(), -- @p_REASON , -- N'Từ chối phiếu' -- ) -- END IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID) UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R', AUTH_STATUS_KT = 'E', CHECKER_ID = NULL, APPROVE_DT = NULL, CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL WHERE USER_MASTER_ID =@p_TRN_ID IF(EXISTS(SELECT 1 FROM ASS_USE_CONFIRM_MASTER aucm WHERE aucm.USER_MASTER_ID = @p_TRN_ID)) BEGIN -- Xóa thông tin xác nhận xuất sử dụng DELETE dbo.ASS_USE_CONFIRM_MASTER WHERE USER_MASTER_ID = @p_TRN_ID --UPDATE ASS_MASTER UPDATE ASS_MASTER SET USE_DATE = NULL,USE_DATE_KT = NULL , AMORT_RATE = NULL , BRANCH_ID = NULL, DEPT_ID = NULL, EMP_ID = NULL, DIVISION_ID = NULL WHERE ASSET_ID IN (SELECT aumd.ASSET_ID FROM ASS_USE_MULTI_DT aumd WHERE aumd.USER_MASTER_ID = @p_TRN_ID) --DELETE ASS_MASTER_HIST DELETE ASS_MASTER_HIST WHERE ASSHIST_ID IN (SELECT at.ASSHIST_ID FROM ASS_TRANSACTIONS at LEFT JOIN ASS_USE_MULTI_DT aumd ON at.TRN_ID = aumd.USE_MULTI_ID AND aumd.USER_MASTER_ID = @p_TRN_ID) --UPDATE ASS_WAREHOUSE_DT UPDATE ASS_WAREHOUSE_DT SET OUT_DATE = NULL, STATUS = 'I' WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID) --DELETE ASS_LOCATION_HIST DELETE ASS_LOCATION_HIST WHERE LOCHIST_ID IN (SELECT at.LOCHIST_ID FROM ASS_TRANSACTIONS at LEFT JOIN ASS_USE_MULTI_DT aumd ON at.TRN_ID = aumd.USE_MULTI_ID AND aumd.USER_MASTER_ID = @p_TRN_ID) --DELETE ASS_TRANSACTION DELETE ASS_TRANSACTIONS WHERE TRN_ID IN (SELECT aumd.USE_MULTI_ID FROM ASS_USE_MULTI_DT aumd WHERE aumd.USER_MASTER_ID = @p_TRN_ID) --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)) DECLARE @IS_MULTI_GROUP VARCHAR(1) = '0' 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_TRN_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 @IS_MULTI_GROUP = '0' DELETE @TBL_GROUP_CODE_ASS_USE INSERT INTO @TBL_GROUP_CODE_ASS_USE (GROUP_ID) SELECT A.GROUP_ID FROM ASS_GROUP A WHERE A.GROUP_CODE = (SELECT B.GROUP_CODE FROM ASS_GROUP B WHERE B.GROUP_ID = @C_ASS_GROUP_ID) IF((SELECT COUNT(*) FROM @TBL_GROUP_CODE_ASS_USE WHERE GROUP_ID IN (SELECT trsdd.ASS_GROUP_ID FROM TR_REQUEST_SHOP_DOC_DT trsdd WHERE trsdd.REQ_DOC_ID = @C_REQ_DOC_ID AND(trsdd.REQ_DT_TYPE = 'BUYNEW' OR (trsdd.REQ_DT_TYPE = 'XKSD' AND trsdd.TYPE_XL = 'CPTK')))) > 1) BEGIN SET @IS_MULTI_GROUP = '1' END IF (@C_REQ_DT_TYPE = 'BUYNEW') BEGIN SET @ALLOCATED = (SELECT SUM(TMP.COUNT) FROM ( (SELECT COUNT(*) AS COUNT FROM ASS_USE_MULTI_DT A LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID WHERE A.USER_MASTER_ID = @p_TRN_ID GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID HAVING A.REQ_ID = @C_REQ_DOC_ID AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE WHERE ((@IS_MULTI_GROUP = '1' AND C.GROUP_ID = @C_ASS_GROUP_ID) OR @IS_MULTI_GROUP = '0')) AND ((@C_REQ_DT_TYPE = 'BUYNEW' AND C.REQ_ID = @C_REQ_DOC_ID))))TMP) END ELSE IF (@C_TYPE_XL = 'CPTK') BEGIN SET @ALLOCATED = (SELECT SUM(TMP.COUNT) FROM ( (SELECT COUNT(*) AS COUNT FROM ASS_USE_MULTI_DT A LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID WHERE A.USER_MASTER_ID = @p_TRN_ID GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID HAVING A.REQ_ID = @C_REQ_DOC_ID AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE WHERE ((@IS_MULTI_GROUP = '1' AND C.GROUP_ID = @C_ASS_GROUP_ID) OR @IS_MULTI_GROUP = '0')) AND ((@C_TYPE_XL = 'CPTK' AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))))TMP) END UPDATE TR_REQUEST_SHOP_DOC_DT SET ALLOCATED = ALLOCATED - ISNULL(@ALLOCATED,0) WHERE REQDT_ID = @C_REQDT_ID UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = 0, STATUS = 'APPROVE' WHERE REQ_ID = @C_REQ_DOC_ID UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @C_REQ_DOC_ID DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @C_REQ_DOC_ID AND PROCESS_ID = 'DONE' 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 END SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về người tạo', @p_REASON ) END END ELSE IF(@p_STAGE='HC') BEGIN IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID) UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R',CHECKER_ID = NULL, APPROVE_DT = NULL WHERE USER_MASTER_ID =@p_TRN_ID UPDATE ASS_USE_MULTI_DT SET AUTH_STATUS ='R',CHECKER_ID = NULL, APPROVE_DT = NULL WHERE USER_MASTER_ID =@p_TRN_ID -- -- --UPDATE ASS_MASTER -- UPDATE ASS_MASTER SET USE_DATE = NULL, AMORT_RATE = NULL WHERE ASSET_ID IN (SELECT aumd.ASSET_ID FROM ASS_USE_MULTI_DT aumd WHERE aumd.USER_MASTER_ID = @p_TRN_ID) -- -- --DELETE ASS_MASTER_HIST -- DELETE ASS_MASTER_HIST WHERE ASSHIST_ID IN (SELECT at.ASSHIST_ID -- FROM ASS_TRANSACTIONS at -- LEFT JOIN ASS_USE_MULTI_DT aumd ON at.TRN_ID = aumd.USE_MULTI_ID -- AND aumd.USER_MASTER_ID = @p_TRN_ID) -- -- --UPDATE ASS_WAREHOUSE_DT -- UPDATE ASS_WAREHOUSE_DT SET OUT_DATE = NULL, STATUS = 'I' WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID) -- -- --DELETE ASS_LOCATION_HIST -- DELETE ASS_LOCATION_HIST WHERE LOCHIST_ID IN (SELECT at.LOCHIST_ID -- FROM ASS_TRANSACTIONS at -- LEFT JOIN ASS_USE_MULTI_DT aumd ON at.TRN_ID = aumd.USE_MULTI_ID -- AND aumd.USER_MASTER_ID = @p_TRN_ID) -- -- --DELETE ASS_TRANSACTION -- DELETE ASS_TRANSACTIONS WHERE TRN_ID IN (SELECT aumd.USE_MULTI_ID FROM ASS_USE_MULTI_DT aumd WHERE aumd.USER_MASTER_ID = @p_TRN_ID) -- -- --START PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT -- DECLARE @TBL_CHECK_UPD_1 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_1 -- 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_TRN_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_1 VARCHAR(15), @C_REQ_DOC_ID_1 VARCHAR(15), @C_ASS_GROUP_ID_1 VARCHAR(15), @C_ASS_ID_1 VARCHAR(15), @C_REQ_DT_TYPE_1 VARCHAR(15), @C_TYPE_XL_1 VARCHAR(20) -- -- DECLARE DATA_CURSOR_CHECK_UPD_1 CURSOR FOR -- SELECT * FROM @TBL_CHECK_UPD_1 -- -- OPEN DATA_CURSOR_CHECK_UPD_1 -- -- FETCH NEXT FROM DATA_CURSOR_CHECK_UPD_1 INTO -- @C_REQDT_ID_1,@C_REQ_DOC_ID_1,@C_ASS_GROUP_ID_1,@C_ASS_ID_1,@C_REQ_DT_TYPE_1,@C_TYPE_XL_1 -- -- DECLARE @ALLOCATED_1 INT -- WHILE @@FETCH_STATUS = 0 -- BEGIN -- DELETE @TBL_GROUP_CODE_ASS_USE -- INSERT INTO @TBL_GROUP_CODE_ASS_USE (GROUP_ID) -- SELECT A.GROUP_ID FROM ASS_GROUP A WHERE A.GROUP_CODE = (SELECT B.GROUP_CODE FROM ASS_GROUP B WHERE B.GROUP_ID = @C_ASS_GROUP_ID_1) -- -- IF (@C_REQ_DT_TYPE_1 = 'BUYNEW') -- BEGIN -- SET @ALLOCATED_1 = (SELECT SUM(TMP.COUNT) FROM ( -- (SELECT COUNT(*) AS COUNT -- FROM ASS_USE_MULTI_DT A -- LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID -- LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID -- WHERE B.USER_CONFIRM_MASTER_ID IS NOT NULL -- GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID -- HAVING A.REQ_ID = @C_REQ_DOC_ID_1 -- AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE) -- AND ((@C_REQ_DT_TYPE_1 = 'BUYNEW' AND C.REQ_ID = @C_REQ_DOC_ID_1))))TMP) -- END -- ELSE IF (@C_TYPE_XL_1 = 'CPTK') -- BEGIN -- SET @ALLOCATED_1 = (SELECT SUM(TMP.COUNT) FROM ( -- (SELECT COUNT(*) AS COUNT -- FROM ASS_USE_MULTI_DT A -- LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID -- LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID -- WHERE B.USER_CONFIRM_MASTER_ID IS NOT NULL -- GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID -- HAVING A.REQ_ID = @C_REQ_DOC_ID_1 -- AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE) -- AND ((@C_TYPE_XL_1 = 'CPTK' AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))))TMP) -- END -- -- UPDATE TR_REQUEST_SHOP_DOC_DT -- SET ALLOCATED = ALLOCATED - ISNULL(@ALLOCATED_1,0) -- WHERE REQDT_ID = @C_REQDT_ID_1 -- -- UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = 0, STATUS = 'APPROVE' WHERE REQ_ID = @C_REQ_DOC_ID_1 -- UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @C_REQ_DOC_ID_1 -- DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @C_REQ_DOC_ID_1 AND PROCESS_ID = 'DONE' -- -- FETCH NEXT FROM DATA_CURSOR_CHECK_UPD_1 INTO -- @C_REQDT_ID_1,@C_REQ_DOC_ID_1,@C_ASS_GROUP_ID_1,@C_ASS_ID_1,@C_REQ_DT_TYPE_1,@C_TYPE_XL_1 -- END -- CLOSE DATA_CURSOR_CHECK_UPD_1 -- DEALLOCATE DATA_CURSOR_CHECK_UPD_1 -- --END PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về người tạo', @p_REASON ) END END ELSE BEGIN -- TDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID) UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R', CHECKER_ID = NULL, APPROVE_DT = NULL WHERE USER_MASTER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON, N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END END -- Thanh lý tài sản ELSE IF(@p_TRN_TYPE ='ASS_LIQ_MUL') BEGIN IF(@p_STAGE='KT') BEGIN -- KSV trả về GDV IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN IF(EXISTS(SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE ASS_LIQUIDATION SET AUTH_STATUS_KT ='R', SEND_APP_DT = NULL WHERE LIQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về giao dịch viên thành công' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) END ELSE BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản chưa được kế toán cập nhật' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END END END ELSE IF(@p_STAGE='KT_HC') BEGIN -- KSV - GDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL, APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL, CORE_NOTE = NULL, SEND_APP_DT = NULL WHERE LIQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công' -- GiaNT 29/09/2021 -- CLEAR các trans cho trường hợp trả về người tạo rồi lên cấp tdv duyệt DELETE ASS_TRANSACTIONS WHERE TRN_ID = @p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) END END ELSE BEGIN -- TDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R' WHERE LIQ_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END END -- Nhập mới tài sản ELSE IF(@p_TRN_TYPE ='ASS_ADDNEW_MUL') BEGIN IF(@p_STAGE='KT') BEGIN -- KSV trả về GDV IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID AND (MAKER_ID_KT IS NOT NULL OR MAKER_ID_KT <>'') AND AUTH_STATUS_KT = 'U')) BEGIN UPDATE ASS_ADDNEW SET AUTH_STATUS_KT ='R' WHERE ADDNEW_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về giao dịch viên thành công' -- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Từ chối phiếu' , @p_REASON ) END ELSE BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản chưa được kế toán cập nhật' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END END END ELSE IF(@p_STAGE='KT_HC') BEGIN -- KSV - GDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_ADDNEW SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL WHERE ADDNEW_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về người tạo thành công' --khiemchg ROLLBACK DATA khi KT trả về người tạo DECLARE @REQ_ID VARCHAR(15), @REQ_CODE VARCHAR(50) SELECT @REQ_ID = AA.REQ_ID, @REQ_CODE = AA.REQ_CODE FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' DECLARE @ASS_MASTER_tmp TABLE ( ASS_ID VARCHAR(15) NULL ) INSERT INTO @ASS_MASTER_tmp SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_TRN_ID AND AT.TRN_TYPE ='ADD_NEW' DECLARE @QTY INT = (SELECT ISNULL(COUNT(ASS_ID), 0) FROM @ASS_MASTER_tmp) DECLARE @GROUP_ID VARCHAR(15) = (SELECT AA.GROUP_ID FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_TRN_ID AND AUTH_STATUS_KT='A') DELETE ASS_MASTER WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) DELETE ASS_MASTER_HIST WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) DELETE ASS_LOCATION_HIST WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) DELETE ASS_TRANSACTIONS WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) DELETE ASS_WARRANTY_DT WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) DELETE ASS_USE_MULTI_DT WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) AND REQ_ID = @REQ_ID UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '0' WHERE REQ_ID = @REQ_ID AND REQ_CODE = @REQ_CODE UPDATE TR_REQUEST_SHOP_DOC_DT SET ALLOCATED = ALLOCATED - @QTY WHERE REQ_DOC_ID = @REQ_ID AND ASS_GROUP_ID = @GROUP_ID -- khiemchg end -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Từ chối phiếu' , @p_REASON ) END END -- KSV - GDV trả về người tạo ELSE BEGIN -- TDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_ADDNEW SET AUTH_STATUS ='R' WHERE ADDNEW_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Từ chối phiếu' ,@p_REASON -- PROCESS_DESC - nvarchar(1000) ) END END END -- Kiểm kê tài sản ELSE IF(@p_TRN_TYPE ='ASS_INV_MUL') BEGIN IF(@p_STAGE='APPROVE') BEGIN -- Trưởng ban kiểm kê trả về người tạo IF(EXISTS (SELECT * FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_TRN_ID AND AUTH_STATUS='A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin kiểm kê tài sản đã được trưởng ban kiểm kê duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R',AUTH_STATUS ='R',APPROVE_DT_DVKD=NULL,CHECKER_ID_DVKD=NULL WHERE INVENT_ID = @p_TRN_ID UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập kiểm kê sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) END END ELSE IF(@p_STAGE='CONFIRM') BEGIN -- Thành phần ban kiểm kê trả về người tạo IF(EXISTS(SELECT * FROM dbo.ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_TRN_ID AND PARTY_NAME = @p_REJECTED_BY AND IS_DONE = 1)) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin kiểm kê tài sản đã được thành phần ban kiểm kê duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE IF (EXISTS(SELECT * FROM dbo.ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_TRN_ID AND PARTY_NAME = @p_REJECTED_BY AND IS_DONE = 0)) BEGIN UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R',AUTH_STATUS='R',APPROVE_DT_DVKD=NULL,CHECKER_ID_DVKD=NULL WHERE INVENT_ID =@p_TRN_ID UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin kiểm kê tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) END END ELSE BEGIN -- TDV trả về người tạo IF(EXISTS (SELECT * FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_TRN_ID AND AUTH_STATUS_DVKD='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin kiểm kê tài sản đã được trưởng đơn vị duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R',AUTH_STATUS ='R' WHERE INVENT_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin kiểm kê tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END END ELSE IF(@p_TRN_TYPE ='MW_IN') BEGIN BEGIN IF(@p_STAGE='KT') BEGIN IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END ELSE IF(@p_STAGE='KT_HC') BEGIN BEGIN IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_IN_MASTER SET AUTH_STATUS ='R',CORE_NOTE = NULL , MAKER_ID_KT = NULL, CREATE_DT_KT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL --,CHECKER_ID_KT = @p_REJECTED_BY,APPROVE_DT_KT = GETDATE() WHERE IN_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END ELSE BEGIN IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới vật liệu đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END END --- MW - TRANSFER : ĐIỀU CHUYỂN VẬT LIỆU ELSE IF(@p_TRN_TYPE ='MW_TRANSFER') BEGIN BEGIN IF(@p_STAGE='KT') BEGIN IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>'')) BEGIN UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END ELSE IF(@p_STAGE='KT_HC') BEGIN IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_TRANSFER SET AUTH_STATUS ='R', CORE_NOTE = NULL , KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL --,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE() WHERE TRANSFER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END ELSE BEGIN IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển vật liệu đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END END --- MW_OUT : XUẤT VẬT LIỆU ELSE IF(@p_TRN_TYPE ='MW_OUT') BEGIN BEGIN IF(@p_STAGE='KT') BEGIN IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>'')) BEGIN UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END ELSE IF(@p_STAGE='KT_HC') BEGIN IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_OUT SET AUTH_STATUS ='R', CORE_NOTE = NULL , KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL --, KT_APPROVE_DT = GETDATE() ,KT_CHECKER_ID = @p_REJECTED_BY WHERE OUT_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END ELSE BEGIN IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng vật liệu đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END END --- MW_OUT : THANH LÝ VẬT LIỆU ELSE IF(@p_TRN_TYPE ='MW_LIQ_MASTER') BEGIN BEGIN IF(@p_STAGE='KT') BEGIN IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>'')) BEGIN UPDATE MW_LIQ_MASTER SET KT_AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END ELSE IF(@p_STAGE='KT_HC') BEGIN IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R', CORE_NOTE = NULL , KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL --,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE() WHERE LIQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END ELSE BEGIN IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý vật liệu đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END END -- PHIEU DE NGHI TAM UNG 05 11 2019 ELSE IF(@p_TRN_TYPE ='REQ_ADVANCE_PAY') BEGIN IF(@p_STAGE='KT') BEGIN -- doanptt them rang buoc nhap ky do tra ve IF(@p_REASON IS NULL OR @p_REASON = '') BEGIN SET @p_MESSAGE =N'Lý do trả về không được để trống' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Phiếu đề nghị tạm ứng đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN -- NEU DANG O VI TRI TKTGD, TKHDQT IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND ROLE_USER IN ('TKTGD','TKHDQT') AND STATUS ='C')) BEGIN IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS' AND TLNAME =@p_REJECTED_BY)) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Phiếu đề nghị tạm ứng chưa được điều phối cho nhân viên xử lý' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END --UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về nhân viên xử lý thành công' ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TYPE_JOB ='XL') AND REQ_ID =@p_TRN_ID -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Trưởng văn phòng từ chối nhân viên xử lý' -- PROCESS_DESC - nvarchar(1000) ) EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,'HC',@p_TRN_ID,@p_TRN_TYPE,CONVERT(DATETIME,GETDATE(),103),'R',@p_REASON,'Y',@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103)) COMMIT TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END --UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về thành công' ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT MAKER_ID_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) AND REQ_ID =@p_TRN_ID -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'KSV trả về cho GDV' -- PROCESS_DESC - nvarchar(1000) ) END ELSE BEGIN SET @p_STAGE ='HC' UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công' ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON,N'Trả về cho người tạo phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END END ELSE IF(@p_STAGE='KT_HC') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS_KT = 'A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị tạm ứng đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SET @p_STAGE ='HC' UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công' ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON,N'Trả về cho người tạo phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END ELSE IF(@p_STAGE ='HC') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC' AND (MAKER_ID_KT IS NULL OR MAKER_ID_KT =''))) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị tạm ứng đã được duyệt hoàn tất ở cấp độ Hành Chính Quản Trị' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS='R')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị tạm ứng đã được trả về trước đó' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',CHECKER_ID ='',APPROVE_DT =NULL, MAKER_ID_KT =NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT =NULL WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được trả về về thành công' --NEU PHIEU DANG TRONG QUA TRINH PHE DUYET THI XOA TOAN BO PL_PROCESS VA PL_REQUEST_PROCESS -- XOA CAC CAP PHE DUYET, KHI DON VI THUC HIEN CHINH SUA THI HE THONG SE INSERT LAI DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID --DELETE FROM PL_PROCESS WHERE REQ_ID =@p_TRN_ID -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Trả về' -- PROCESS_DESC - nvarchar(1000) ) END END ELSE IF(@p_STAGE ='SUG') BEGIN UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY) SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1 UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_TRN_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV) -- CAP NHAT TINH TRANG VE DANG XU LY UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'GDV đề xuất từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được đề xuất từ chối thành công' END ELSE IF(@p_STAGE ='DEL') BEGIN UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE PAY_ID =@p_TRN_ID UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID --------------------------------------------------------------------------------------------------------------------- DECLARE CURS_TRADE CURSOR FOR SELECT A.TRADE_ID, A.AMT_EXE FROM TR_REQ_PAY_BUDGET A WHERE A.REQ_PAY_ID =@p_TRN_ID OPEN CURS_TRADE FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE WHILE @@FETCH_STATUS = 0 BEGIN UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE WHERE TRADE_ID =@TRADED_ID FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE END CLOSE CURS_TRADE DEALLOCATE CURS_TRADE DECLARE CURS CURSOR FOR SELECT A.PAY_ADV_ID,A.AMT_USE,A.AMT_ADD,A.AMT_REVERT FROM TR_REQ_PAYMENT_DT A WHERE A.PAY_ID =@p_TRN_ID OPEN CURS FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT WHILE @@FETCH_STATUS = 0 BEGIN UPDATE TR_REQ_ADVANCE_PAYMENT SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT END CLOSE CURS DEALLOCATE CURS INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'DEL', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'KSV hủy phiếu' -- PROCESS_DESC - nvarchar(1000) ) --doanptt ẩn nscp khi hủy hoặc trả phiếu về HC UPDATE TR_REQ_BUDGET_MONTH_LIMIT_DETAIL SET RECORD_STATUS = '0' UPDATE TR_REQ_BUDGET_YEAR_LIMIT_DETAIL SET RECORD_STATUS = '0' SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được hủy thành công. Bạn vẫn có thể xem thông tin giao dịch với tình trạng đã bị hủy' END END -- END PHIEU DE NGHI TAM UNG 05 11 2019 -- START PHIEU DE THI THANH TOAN 19-11-2019 ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY') BEGIN BEGIN IF(@p_STAGE='KT') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về thành công' ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT MAKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) AND REQ_ID =@p_TRN_ID UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID -- INSERT VAO BANG LICH SU INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'KSV trả về cho GDV' -- PROCESS_DESC - nvarchar(1000) ) END ELSE BEGIN SET @p_STAGE ='HC' UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công' -- XOA DI DU LIEU DA DIEU PHOI, CHO DON VI XU LY VA DUYET LAI SE DIEU PHOI LAI ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID -- INSERT VAO BANG LICH SU INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được từ chối thành công' --doanptt 210622 xóa nscp khi hủy hoặc trả phiếu về HC DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID END END END ELSE IF(@p_STAGE='KT_HC') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS_KT = 'A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SET @p_STAGE ='HC' UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công' ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON,N'Trả về cho người tạo phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END ELSE IF(@p_STAGE ='HC') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC'AND (MAKER_ID_KT IS NULL OR MAKER_ID_KT =''))) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được trưởng đơn vị duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R',PROCESS='',CHECKER_ID ='',APPROVE_DT =NULL, MAKER_ID_KT =NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT =NULL WHERE REQ_PAY_ID =@p_TRN_ID DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được trả về thành công' -- INSERT VAO BANG LICH SU INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON,N'Trả về' -- PROCESS_DESC - nvarchar(1000) ) --doanptt xóa nscp khi hủy hoặc trả phiếu về HC DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID END END ELSE IF(@p_STAGE ='SUG') BEGIN UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY DECLARE @LEVEL_JOB_PAY VARCHAR(5), @LEVEL_JOB_PREV_PAY INT SET @LEVEL_JOB_PAY =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY) SET @LEVEL_JOB_PREV_PAY = CONVERT(INT,@LEVEL_JOB_PAY) -1 UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_TRN_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV_PAY) UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'SUG', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'GDV đề xuất từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được đề xuất từ chối thành công' END ELSE IF(@p_STAGE ='DEL') BEGIN UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE PAY_ID =@p_TRN_ID --------------------------------------------------------------------------------------------------------------------- --DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0) DECLARE CURS_TRADE CURSOR FOR SELECT A.TRADE_ID, A.AMT_EXE FROM TR_REQ_PAY_BUDGET A WHERE A.REQ_PAY_ID =@p_TRN_ID OPEN CURS_TRADE FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE WHILE @@FETCH_STATUS = 0 BEGIN UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE WHERE TRADE_ID =@TRADED_ID FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE END CLOSE CURS_TRADE DEALLOCATE CURS_TRADE -- XOA NGAN SACH --DELETE FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID= @p_TRN_ID --- NEU LA TAM UNG NOI BO THI PHAI REVERT LAI SO TIEN DA HOAN UNG CUA PHIEU DE NGHI TAM UNG --DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0) DECLARE CURS CURSOR FOR SELECT A.PAY_ADV_ID,A.AMT_USE,A.AMT_ADD,A.AMT_REVERT FROM TR_REQ_PAYMENT_DT A WHERE A.PAY_ID =@p_TRN_ID OPEN CURS FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT WHILE @@FETCH_STATUS = 0 BEGIN UPDATE TR_REQ_ADVANCE_PAYMENT SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT END CLOSE CURS DEALLOCATE CURS ---- XOA DI SO TIEN DA HOAN UNG CUA KI THANH TOAN NEU THANH TOAN NHA CUNG CAP VUA HOAN UNG DOT CŨ VÀ VỪA THANH TOÁN ĐỢT MỚI --DECLARE @REQ_PAY_ID VARCHAR(15), @AMT_REAL DECIMAL(18,0) --DECLARE CURS_SCHE CURSOR FOR SELECT A.REQ_PAY_ID, A.AMT_PAY_REAL FROM TR_REQ_PAY_SCHEDULE A WHERE A.REQ_PAY_ID =@p_TRN_ID --OPEN CURS_SCHE -- FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE -- WHILE @@FETCH_STATUS = 0 -- BEGIN -- UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE -- WHERE TRADE_ID =@TRADED_ID -- FETCH NEXT FROM CURS_SCHE INTO @TRADED_ID,@AMT_EXE -- END --CLOSE CURS_SCHE --DEALLOCATE CURS_SCHE INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'DEL', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'KSV hủy phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được hủy thành công. Bạn vẫn có thể xem thông tin giao dịch với tình trạng đã bị hủy' --doanptt ẩn nscp khi hủy hoặc trả phiếu về HC UPDATE TR_REQ_BUDGET_MONTH_LIMIT_DETAIL SET RECORD_STATUS = '0' UPDATE TR_REQ_BUDGET_YEAR_LIMIT_DETAIL SET RECORD_STATUS = '0' END END END -- END PHIEU DE THI THANH TOAN 19-11-2019 --- Tờ trình chủ trương ELSE IF(@p_TRN_TYPE='PL_REQUEST_DOC') BEGIN IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Tờ trình chủ trương đã được trả về thành công' -- 28-10-2020 LUCTV, KHI TRA VE PHAI PL_REQUEST_PROCESS UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Tờ trình bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID END END ELSE IF(@p_TRN_TYPE='TR_REQUEST_DOC') BEGIN --IF(@p_STAGE='DVMS') --BEGIN --END IF(@p_STAGE='PDYC' OR @p_STAGE ='DV') BEGIN IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID='REJECT', AUTH_STATUS ='R' WHERE REQ_ID=@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Phiếu yêu cầu mua sắm đã được trả về thành công' -- 28-10-2020 LUCTV, KHI TRA VE PHAI PL_REQUEST_PROCESS UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID END END END -- END IF -- NEU LA TRA VE CUA HOP DONG ELSE IF(@p_TRN_TYPE='TR_CONTRACT') BEGIN --- CAP NHAT AUTH_STATUS CUA HOP DONG VE R IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Hợp đồng đã được trả về trước đó. Vui lòng đợi nhân viên cập nhật thông tin và bấm gửi phê duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Hợp đồng đã được phê duyệt thành công trước đó!' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE TR_CONTRACT SET AUTH_STATUS ='R', IS_SEND_APPR = 'N' WHERE CONTRACT_ID =@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Hợp đồng đã được trả về thành công' END -- NEU LA TRA VE CUA HOP DONG ELSE IF(@p_TRN_TYPE='TR_PO') BEGIN --- CAP NHAT AUTH_STATUS CUA HOP DONG VE R IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! PO đã được trả về trước đó. Vui lòng đợi nhân viên cập nhật thông tin và bấm gửi phê duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! PO đã được phê duyệt thành công trước đó!' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE TR_PO_MASTER SET AUTH_STATUS ='R', IS_SEND_APPR = 'N' WHERE PO_ID =@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'PO đã được trả về thành công' END --- KET THUC TRA VE PO ELSE BEGIN SET @p_MESSAGE =N'Trả về giao dịch thành công' END ---BAODNQ 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------ -------Khai báo DTSD nội bộ------- IF(@p_TRN_TYPE ='BUD_INTERNAL') --BEGIN ELSE IF--- BEGIN IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS ='A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin khai báo DTSD nội bộ đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE BUD_CONTRACT_MASTER SET AUTH_STATUS ='R', ---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------ IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE CONTRACT_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin khai báo DTSD nội bộ đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT ---END ELSE IF--- END -------Quản lý hợp đồng khách thuê------- ELSE IF(@p_TRN_TYPE ='BUD_RENTAL') --BEGIN ELSE IF--- BEGIN IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS ='A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin khai báo DT cho khách thuê đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE BUD_CONTRACT_CUST_MASTER SET AUTH_STATUS ='R', ---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------ IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE CONTRACT_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin khai báo DT cho khách thuê đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT ---END ELSE IF--- END ---datmq 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------ -------Quản lý trụ sở------- ELSE IF(@p_TRN_TYPE ='BUD_MASTER') --BEGIN ELSE IF--- BEGIN IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID =@p_TRN_ID AND AUTH_STATUS ='A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin quản lý cho thuê đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ---BAODNQ 26/1/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------ UPDATE BUD_MASTER SET AUTH_STATUS ='R', IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE BUILDING_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin quản lý trụ sở đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT ---END ELSE IF--- END /* ---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------ ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY') BEGIN IF(@p_STAGE='HC') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS = 'A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới phiếu đề nghị thanh toán đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>'')) BEGIN UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị thanh toán đã được trả về thành công' END END END END ---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------ ELSE IF(@p_TRN_TYPE ='TR_REQ_ADVACNE_PAY') BEGIN IF(@p_STAGE='HC') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS = 'A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới phiếu đề nghị tạm ứng đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>'')) BEGIN UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị tạm ứng đã được trả về thành công' END /*ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về hành chính thành công' END*/ END END END */ ------BAODNQ 14/02/2022: Thêm xử lý trả về cho phân hệ quản lý BDS------ -------------Quản lý BDS--------------- ELSE IF(@p_TRN_TYPE = 'RET_MASTER') BEGIN IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'A')) BEGIN SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin bất động sản đã được duyệt' ROLLBACK TRANSACTION SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc RETURN '0' END UPDATE RET_MASTER SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE RET_ID = @p_TRN_ID SET @p_MESSAGE = N'Thông tin bất động sản đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT END -------Thông tin sửa chữa BDS-------------- ELSE IF(@p_TRN_TYPE = 'RET_REPAIR') BEGIN IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin sửa chữa BDS đã được duyệt' ROLLBACK TRANSACTION SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc RETURN '0' END UPDATE RET_REPAIR SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE RP_ID = @p_TRN_ID SET @p_MESSAGE = N'Thông tin sửa chữa BDS đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT END -----BDS thuê làm trụ sở CN/PGD-------- ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_R_H') BEGIN IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! BDS thuê làm trụ sở CN/PGD đã được duyệt' ROLLBACK TRANSACTION SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc RETURN '0' END UPDATE REAL_ESTATE_R_H SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE RET_R_H_ID = @p_TRN_ID SET @p_MESSAGE = N'BDS thuê làm trụ sở CN/PGD đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT END -----BDS đang hoàn thiện thủ tục pháp lý-------- ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_L_C') BEGIN IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_TRN_ID AND AUTH_STATUS = 'A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! BDS đang hoàn thiện thủ tục pháp lý đã được duyệt' ROLLBACK TRANSACTION SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc RETURN '0' END UPDATE REAL_ESTATE_L_C SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE RET_L_C_ID = @p_TRN_ID SET @p_MESSAGE = N'BDS đang hoàn thiện thủ tục pháp lý đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT END ---------BAODNQ 18/3/2022: Đánh giá NCC-------- -------Đánh giá NCC--------- ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER_MASTER') BEGIN IF(EXISTS(SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID = @p_TRN_ID AND AUTH_STATUS = 'A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! Biên bản đánh giá NCC đã được duyệt' ROLLBACK TRANSACTION SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc RETURN '0' END UPDATE TR_RATE_SUPPLIER_MASTER SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N', PROCESS_STATUS = 'REJECT' WHERE RATE_ID = @p_TRN_ID SET @p_MESSAGE = N'Biên bản đánh giá NCC đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT END ELSE IF(@p_TRN_TYPE ='TR_REQUEST_CAR') BEGIN DECLARE @p_PROCESS_ID VARCHAR(15) SELECT @p_PROCESS_ID=PROCESS_ID FROM TR_REQUEST_CAR WHERE REQ_ID =@p_TRN_ID IF(@p_PROCESS_ID='DONE') BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin phiếu yêu cầu xe đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END IF(@p_PROCESS_ID IN ('SEND','TP_APP')) BEGIN UPDATE TR_REQUEST_CAR SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N' WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công' IF(@p_PROCESS_ID='SEND') BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SEND' AND REQ_ID=@p_TRN_ID END ELSE BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='TP_APP' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='CV_APP' AND REQ_ID=@p_TRN_ID END END ELSE IF(@p_PROCESS_ID='USER_SEND') BEGIN UPDATE TR_REQUEST_CAR SET AUTH_STATUS ='R',PROCESS_ID='CV_REJECT' WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công' UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='P' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='XL' AND REQ_ID=@p_TRN_ID END ELSE IF(@p_PROCESS_ID IN ('MAKER_APP','CVSENDCONF')) BEGIN UPDATE TR_REQUEST_CAR SET AUTH_STATUS ='R',PROCESS_ID='COSTREJECT',IS_CONFIRM_COST='N' WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu xe đã được trả về thành công' IF(@p_PROCESS_ID='MAKER_APP') BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_APP' AND REQ_ID=@p_TRN_ID END ELSE BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_APP' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='TDV_C_APP' AND REQ_ID=@p_TRN_ID END END INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON, N'Từ chối phiếu' ) END ELSE IF(@p_TRN_TYPE ='TR_REQUEST_JOB_FORM') BEGIN DECLARE @PROCESS_ID VARCHAR(15),@SIGN_USER VARCHAR(50) SELECT @PROCESS_ID=PROCESS_ID,@SIGN_USER=SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_TRN_ID IF(@PROCESS_ID='APPROVE') BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin phiếu yêu cầu xe đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END IF(@PROCESS_ID IN ('SEND','SIGN')) BEGIN UPDATE dbo.TR_REQUEST_JOB_FORM SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N' WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công' IF(@PROCESS_ID='SEND' AND @SIGN_USER IS NOT NULL) BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID END ELSE BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID END END ELSE IF(@PROCESS_ID='HO_APP') BEGIN UPDATE dbo.TR_REQUEST_JOB_FORM SET AUTH_STATUS ='R',PROCESS_ID='APPNEW' WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công' UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='HO_APP' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_CONF' AND REQ_ID=@p_TRN_ID END ELSE IF(@PROCESS_ID = 'MAKER_APP') BEGIN UPDATE TR_REQUEST_JOB_FORM SET AUTH_STATUS ='R',PROCESS_ID='HCHO_XL' WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu công tác đã được trả về thành công' UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_APP' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='TDV_APP' AND REQ_ID=@p_TRN_ID END INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON, N'Từ chối phiếu' ) END --Phucvh từ chối phiếu yêu cầu sửa chữa ELSE IF(@p_TRN_TYPE ='ASS_REPAIR_ASS') BEGIN IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.AUTH_STATUS = 'A' AND trsd.REQ_ID = @p_TRN_ID)) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu yêu cầu sửa chữa đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE TR_REQUEST_SHOP_DOC SET AUTH_STATUS ='R', STATUS = 'REJECT', CHECKER_ID = NULL, APPROVE_DT = NULL, HO_NOTES = NULL, SEND_APP_DT = NULL WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Trả về thành công' --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT A.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @p_TRN_ID) UPDATE TR_REQUEST_SHOP_COSTCENTER SET NOTES = NULL, RE_CONTENT = NULL, QUANTITY = 0, ASS_STATUS = NULL, CHECKER_ID = NULL, APPROVE_DT = NULL, AUTH_STATUS = 'E', MAKER_ID = NULL, CREATE_DT = NULL WHERE REQ_ID = @p_TRN_ID DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về người tạo', @p_REASON ) END --Phucvh từ chối phiếu yêu cầu điều chuyển ELSE IF(@p_TRN_TYPE ='ASS_TRANSFER') BEGIN IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.AUTH_STATUS = 'A' AND trsd.REQ_ID = @p_TRN_ID)) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu yêu cầu điều chuyển đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE TR_REQUEST_SHOP_DOC SET AUTH_STATUS ='R', STATUS = 'REJECT', CHECKER_ID = NULL, APPROVE_DT = NULL, HO_NOTES = NULL, SEND_APP_DT = NULL WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Trả về thành công' --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT A.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @p_TRN_ID) UPDATE TR_REQUEST_SHOP_COSTCENTER SET NOTES = NULL, RE_CONTENT = NULL, QUANTITY = 0, ASS_STATUS = NULL, CHECKER_ID = NULL, APPROVE_DT = NULL, AUTH_STATUS = 'E', MAKER_ID = NULL, CREATE_DT = NULL WHERE REQ_ID = @p_TRN_ID DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về người tạo', @p_REASON ) END --khiemchg từ chối phiếu yêu cầu cấp phát tài sản ELSE IF(@p_TRN_TYPE ='PYC_CPTS') BEGIN IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.AUTH_STATUS = 'A' AND trsd.REQ_ID = @TRADED_ID)) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu yêu cầu cấp phát tài sản đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE TR_REQUEST_SHOP_DOC SET AUTH_STATUS ='R', STATUS = 'REJECT', SEND_APP_DT = NULL WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Trả về thành công' DELETE PL_REQUEST_PROCESS where REQ_ID =@p_TRN_ID UPDATE TR_REQUEST_SHOP_COSTCENTER SET NOTES = NULL, AUTH_STATUS = 'E', CHECKER_ID = NULL WHERE REQ_ID = @p_TRN_ID UPDATE TR_REQUEST_SHOP_DOC SET HO_NOTES = NULL, SEND_APP_DT = NULL WHERE REQ_ID = @p_TRN_ID IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS prp where prp.REQ_ID = @p_TRN_ID AND prp.PROCESS_ID = 'REJECT')) BEGIN UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'REJECT' END ELSE BEGIN -- DECLARE @temp TABLE(ID INT IDENTITY,REQDT_ID VARCHAR(15),ASS_GROUP VARCHAR(15),QTY DECIMAL) -- INSERT INTO @temp SELECT REQDT_ID, ASS_GROUP_ID , SUM(ISNULL(QTY_ETM,0)) FROM TR_REQUEST_SHOP_DOC_DT -- WHERE REQ_DOC_ID = @p_TRN_ID AND (TYPE_XL = 'CPDC' OR TYPE_XL = 'CPTK') GROUP BY REQDT_ID, ASS_GROUP_ID -- DECLARE @INTT INT = 1, @COUNTT INT = (SELECT COUNT(*) FROM @TEMP) -- WHILE @INTT <= @COUNTT -- BEGIN -- DECLARE @REQDT VARCHAR(20) = (SELECT REQDT_ID FROM @TEMP WHERE ID = @INTT) -- DECLARE @SL DECIMAL = (SELECT QTY FROM @TEMP WHERE ID = @INTT) -- DECLARE @AG VARCHAR(20) = (SELECT ASS_GROUP FROM @TEMP WHERE ID = @INTT) -- IF(EXISTS(SELECT * FROM TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_TRN_ID AND ASS_GROUP_ID = @AG AND REQ_DT_TYPE = 'BUYNEW')) -- BEGIN -- UPDATE TR_REQUEST_SHOP_DOC_DT SET QTY_ETM = QTY_ETM + @SL WHERE REQ_DOC_ID = @p_TRN_ID AND ASS_GROUP_ID = @AG AND REQ_DT_TYPE = 'BUYNEW' -- END -- ELSE -- BEGIN -- DECLARE @l_REQDT_ID VARCHAR(15) -- EXEC SYS_CodeMasters_Gen 'TR_REQUEST_SHOP_DOC_DT', @l_REQDT_ID out -- IF @l_REQDT_ID='' OR @l_REQDT_ID IS NULL GOTO ABORT -- INSERT INTO TR_REQUEST_SHOP_DOC_DT(REQDT_ID, REQ_DOC_ID, -- ASS_GROUP_ID, DESCRIPTION, REASON, UNIT_ID, NOTES, -- RECEIVE_ADDR, RECEIVE_PERSON, RECEIVE_TEL, RECORD_STATUS, MAKER_ID, CREATE_DT, -- AUTH_STATUS, RECEIVE_EMAIL, REQ_DT_TYPE, QTY_ETM, EMP_ID, TYPE_XL) -- SELECT @l_REQDT_ID, @p_TRN_ID, -- ASS_GROUP_ID, DESCRIPTION, REASON, UNIT_ID, NOTES, -- RECEIVE_ADDR, RECEIVE_PERSON, RECEIVE_TEL, RECORD_STATUS, MAKER_ID, CREATE_DT, -- AUTH_STATUS, RECEIVE_EMAIL, 'BUYNEW', QTY_ETM, EMP_ID, 'BUYNEW' -- FROM TR_REQUEST_SHOP_DOC_DT WHERE REQDT_ID = @REQDT AND REQ_DOC_ID = @p_TRN_ID -- END -- DELETE TR_REQUEST_SHOP_DOC_DT WHERE REQDT_ID = @REQDT AND REQ_DOC_ID = @p_TRN_ID -- -- SET @INTT = @INTT + 1 -- END DELETE TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_TRN_ID AND REQ_DT_TYPE = 'XKSD' DELETE TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_TRN_ID AND REQ_DT_TYPE = 'BUYNEW' INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, APPROVE_DT, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, IS_HAS_CHILD, DEP_ID, DVKD_USER_APP, RECEPTION_DT) VALUES (@p_TRN_ID, 'REJECT', 'C', 'GDDV', 'DV0001',@p_REJECTED_BY , GETDATE(), '', 'N', '', '', N'Từ chối phiếu', 0, '', '', GETDATE()); END INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Từ chối phiếu', @p_REASON ) END --Phucvh từ chối phiếu yêu cầu thu hồi tài sản ELSE IF(@p_TRN_TYPE ='ASS_COLLECT') BEGIN IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.AUTH_STATUS = 'A' AND trsd.REQ_ID = @p_TRN_ID)) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu yêu cầu thu hồi đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM TR_REQUEST_DOC_ASSET_DT A WHERE A.REQ_DOC_ID = @p_TRN_ID) UPDATE TR_REQUEST_SHOP_DOC SET AUTH_STATUS ='R', STATUS = 'REJECT', CHECKER_ID = NULL, APPROVE_DT = NULL, HO_NOTES = NULL, SEND_APP_DT = NULL WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Trả về thành công' UPDATE TR_REQUEST_SHOP_COSTCENTER SET NOTES = NULL, RE_CONTENT = NULL, QUANTITY = 0, ASS_STATUS = NULL, CHECKER_ID = NULL, APPROVE_DT = NULL, AUTH_STATUS = 'E', MAKER_ID = NULL, CREATE_DT = NULL WHERE REQ_ID = @p_TRN_ID DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về người tạo', @p_REASON ) END --PHUCVH 16/01/22 ĐIỀU CHUYỂN TÀI SẢN NỘI BỘ ELSE IF(@p_TRN_TYPE = 'ASS_PRIVATE_TRANSFER_MUL') BEGIN IF(EXISTS(SELECT 1 FROM ASS_PRIVATE_TRANSFER_MASTER aptm WHERE aptm.TRANS_MULTI_MASTER_ID = @p_TRN_ID AND aptm.AUTH_STATUS = 'A')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu điều chuyển đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE ASS_PRIVATE_TRANSFER_MASTER SET AUTH_STATUS = 'R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT aptd.ASSET_ID FROM ASS_PRIVATE_TRANSFER_DT aptd WHERE aptd.TRANS_MULTI_MASTER_ID = @p_TRN_ID) INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về người tạo', @p_REASON ) SET @p_MESSAGE =N'Trả về thành công' END --- INSERT VAO BANG CM_REJECT_LOG EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,@p_STAGE,@p_TRN_ID,@p_TRN_TYPE,CONVERT(DATETIME,GETDATE(),103),'R',@p_REASON,'Y',@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103)) IF @@Error <> 0 GOTO ABORT COMMIT TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc RETURN '-1' END