ALTER PROCEDURE [dbo].[PL_REQ_DOC_Ins_To_TR_REQ_DOC] @p_PL_REQ_ID VARCHAR(15) AS BEGIN TRANSACTION DECLARE @l_REQ_ID VARCHAR(15), @p_REQ_CODE VARCHAR(20), @PL_REQDT_ID varchar(15), @GOODS_ID varchar(15), @DESCRIPTION nvarchar(500), @QUANTITY DECIMAL(18,0), @PRICE DECIMAL(18,0), @TOTAL_AMT DECIMAL(18,0), @DVDM_ID VARCHAR(20), @CURRENCY VARCHAR(10), @TAXES DECIMAL(18,2), @EXCHANGE_RATE DECIMAL(18,2), @COST_ID VARCHAR(20), @MAKER_ID VARCHAR(20), @HH_ID VARCHAR(20), @SUP_ID VARCHAR(20), @l_REQDT_ID VARCHAR(15), @l_REQ_COST_ID VARCHAR(15), @NOTES_COST NVARCHAR(500), @TRADE_TYPE VARCHAR(15), @REASON_CDT NVARCHAR(MAX), @REQPL_DT_ID VARCHAR(20), @UNIT_NAME NVARCHAR(100) --- KIEM TRA TO TRINH MUA SAM MOI PHAT SINH PYCMS LUCTV 8.11.2022 IF(EXISTS(SELECT * FROM PL_REQUEST_DOC_DT WHERE REQ_ID=@p_PL_REQ_ID)) BEGIN IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_PL_REQ_ID AND TRADE_TYPE='VCCB')) BEGIN --insert master EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC', @l_REQ_ID out IF @l_REQ_ID='' OR @l_REQ_ID IS NULL GOTO ABORT exec [TR_CODE_GenKey] 'TR_REQUEST_DOC', '','PUR', @p_REQ_CODE out IF @p_REQ_CODE='' OR @p_REQ_CODE IS NULL GOTO ABORT INSERT INTO dbo.TR_REQUEST_DOC ( REQ_ID, REQ_CODE, REQ_DT, REQ_REASON, PL_REQ_ID, NOTES, RECORD_STATUS, CREATE_DT, AUTH_STATUS, TOTAL_AMT, BRANCH_CREATE, DEP_CREATE, USER_REQUEST,MAKER_ID,PROCESS_ID ) SELECT @l_REQ_ID,@p_REQ_CODE,GETDATE(),REQ_REASON, REQ_ID,'','1',GETDATE(),'E',TOTAL_AMT,BRANCH_CREATE,DEP_CREATE,MAKER_ID,MAKER_ID,'NEW' FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_PL_REQ_ID IF @@Error <> 0 GOTO ABORT --Insert into TABLE PL_REQUEST_DOC_DT ------------BAODNQ 28/10/2022 : LẤY THÊM UNIT_NAME TRONG PL_REQUEST_DOC_DT------ DECLARE ListGoods CURSOR FOR SELECT REQDT_ID,GOODS_ID,[DESCRIPTION],QUANTITY,PRICE,TOTAL_AMT,HANGHOA_ID,DVDM_ID,CURRENCY,TAXES,EXCHANGE_RATE,SUP_ID,TRADE_TYPE,NAME,UNIT_NAME FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_PL_REQ_ID AND TRADE_TYPE='VCCB' OPEN ListGoods SET @MAKER_ID=(SELECT MAKER_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_PL_REQ_ID) FETCH NEXT FROM ListGoods INTO @PL_REQDT_ID,@GOODS_ID,@DESCRIPTION,@QUANTITY,@PRICE,@TOTAL_AMT,@HH_ID,@DVDM_ID,@CURRENCY,@TAXES,@EXCHANGE_RATE,@SUP_ID,@TRADE_TYPE,@REASON_CDT,@UNIT_NAME WHILE @@FETCH_STATUS = 0 BEGIN EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC_DT', @l_REQDT_ID out IF @l_REQDT_ID='' OR @l_REQDT_ID IS NULL GOTO ABORT EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC_PL_DT', @REQPL_DT_ID out IF @REQPL_DT_ID='' OR @REQPL_DT_ID IS NULL GOTO ABORT INSERT INTO dbo.TR_REQUEST_DOC_PL_DT ( REQPL_DT_ID, REQ_DOC_ID, PL_REQDT_ID, GD_ID, SUP_ID, HH_ID, TRAN_TYPE_ID, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, DES_GOOD, QUANTITY_PL, PRICE_PL, CURRENCY, EXCHANGE_RATE, TAXES, TOTAL_AMT_ETM, REASON_CDT, REQ_DT, NOTES, RECORD_STATUS ) VALUES ( @REQPL_DT_ID, -- REQPL_DT_ID - varchar(15) @l_REQ_ID, -- REQ_DOC_ID - varchar(15) @PL_REQDT_ID, -- PL_REQDT_ID - varchar(15) @GOODS_ID, -- GD_ID - varchar(15) @SUP_ID, -- SUP_ID - varchar(15) @HH_ID, -- HH_ID - varchar(15) @TRADE_TYPE, -- TRAN_TYPE_ID - varchar(15) @MAKER_ID, -- MAKER_ID - varchar(15) GETDATE(), -- CREATE_DT - datetime '', -- AUTH_STATUS - varchar(50) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime @DESCRIPTION, -- DES_GOOD - nvarchar(500) @QUANTITY, -- QUANTITY_PL - decimal(18, 0) @PRICE, -- PRICE_PL - decimal(18, 2) @CURRENCY, -- CURRENCY - nvarchar(50) @EXCHANGE_RATE, -- EXCHANGE_RATE - decimal(18, 2) @TAXES, -- TAXES - decimal(18, 2) @TOTAL_AMT, -- TOTAL_AMT_ETM - decimal(18, 2) @REASON_CDT, -- REASON_CDT - nvarchar(500) GETDATE(), -- REQ_DT - datetime N'', -- NOTES - nvarchar(500) '1' -- RECORD_STATUS - varchar(1) ) print 'haha' INSERT INTO dbo.TR_REQUEST_DOC_DT ( REQDT_ID, REQ_DOC_ID, PL_REQDT_ID, GD_ID, DESCRIPTION, RECORD_STATUS, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, QUANTITY, PRICE, TOTAL_AMT, PRICE_ETM, TOTAL_AMT_ETM,CURRENCY,HANGHOA_ID,DVDM_ID,TAXES,EXCHANGE_RATE,SUP_ID,REQPL_DT_ID, ---------BAODNQ 28/10/2022: KHI TỰ SINH PYCMS INSERT THÊM ĐƠN VỊ TÍNH THEO TỜ TRÌNH----- UNIT_NAME,TRAN_TYPE_ID -- LUCTV 17-03-2023 KHI PHAT SINH PYCMS CÓ HÌNH THỨC MUA SẮM TỪ TỜ TRÌNH LÀ THEO QUY ĐỊNH THÌ TẠI PUR ĐƯỢC GEN CŨNG SINH RA HÌNH THỨC MUA SẮM TƯƠNG ỨNG ) VALUES ( @l_REQDT_ID, -- REQDT_ID - varchar(15) @l_REQ_ID, -- REQ_ID - varchar(15) @PL_REQDT_ID, -- PLAN_ID - varchar(15) @GOODS_ID, -- GOODS_ID - varchar(15 -- NAME - nvarchar(200) @DESCRIPTION, -- DESCRIPTION - nvarchar(500) '1', -- RECORD_STATUS - varchar(1) '', -- MAKER_ID - varchar(15) GETDATE(), -- CREATE_DT - datetime 'U', -- AUTH_STATUS - varchar(50) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime @QUANTITY, @PRICE, @TOTAL_AMT, @PRICE, @TOTAL_AMT, @CURRENCY,@HH_ID,@DVDM_ID,@TAXES,@EXCHANGE_RATE,@SUP_ID,@REQPL_DT_ID, ---------BAODNQ 28/10/2022: KHI TỰ SINH PYCMS INSERT THÊM ĐƠN VỊ TÍNH THEO TỜ TRÌNH----- @UNIT_NAME,'TRN0000000009' -- LUCTV 17-03-2023 KHI PHAT SINH PYCMS CÓ HÌNH THỨC MUA SẮM TỪ TỜ TRÌNH LÀ THEO QUY ĐỊNH THÌ TẠI PUR ĐƯỢC GEN CŨNG SINH RA HÌNH THỨC MUA SẮM TƯƠNG ỨNG ) IF @@ERROR <> 0 GOTO ABORT1 -- next Group_Id FETCH NEXT FROM ListGoods INTO @PL_REQDT_ID,@GOODS_ID,@DESCRIPTION,@QUANTITY,@PRICE,@TOTAL_AMT,@HH_ID,@DVDM_ID,@CURRENCY,@TAXES,@EXCHANGE_RATE,@SUP_ID,@TRADE_TYPE,@REASON_CDT,@UNIT_NAME END UPDATE dbo.TR_REQUEST_DOC SET TOTAL_AMT = ( SELECT SUM(QUANTITY*PRICE) FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID = @l_REQ_ID ) WHERE REQ_ID = @l_REQ_ID CLOSE ListGoods DEALLOCATE ListGoods IF @@Error <> 0 GOTO ABORT --LUCTV: 10 06 2021 KHI PHÁT SINH PYCMS TỪ TỜ TRÌNH CHỦ TRƯƠNG, KHÔNG CẦN PHÁT SINH ĐƠN VỊ CHUYÊN MÔN --DECLARE lstCostCenter CURSOR FOR --SELECT COST_ID, NOTES FROM dbo.PL_REQUEST_COSTCENTER WHERE REQ_ID=@p_PL_REQ_ID --GROUP BY COST_ID,NOTES --OPEN lstCostCenter --FETCH NEXT FROM lstCostCenter INTO @COST_ID, @NOTES_COST --WHILE @@FETCH_STATUS=0 --BEGIN -- EXEC SYS_CodeMasters_Gen 'TR_REQUEST_COSTCENTER', @l_REQ_COST_ID out -- IF @l_REQ_COST_ID='' OR @l_REQ_COST_ID IS NULL GOTO ABORT -- INSERT INTO dbo.TR_REQUEST_COSTCENTER -- ( -- REQ_COST_ID, -- COST_ID, -- REQ_ID, -- NOTES, -- AUTH_STATUS, -- MAKER_ID, -- CREATE_DT, -- CHECKER_ID, -- APPROVE_DT -- ) -- VALUES -- ( @l_REQ_COST_ID, -- REQ_COST_ID - varchar(15) -- @COST_ID, -- COST_ID - varchar(15) -- @l_REQ_ID, -- REQ_ID - varchar(15) -- @NOTES_COST, -- NOTES - nvarchar(500) -- '', -- AUTH_STATUS - varchar(1) -- @MAKER_ID, -- MAKER_ID - varchar(15) -- NULL, -- CREATE_DT - datetime -- '', -- CHECKER_ID - varchar(15) -- NULL -- APPROVE_DT - datetime -- ) -- FETCH NEXT FROM lstCostCenter INTO @COST_ID,@NOTES_COST --END --CLOSE lstCostCenter --DEALLOCATE lstCostCenter INSERT INTO dbo.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 ) VALUES ( @l_REQ_ID, -- REQ_ID - varchar(15) 'NEW', -- PROCESS_ID - varchar(10) 'C', -- STATUS - varchar(5) '', -- ROLE_USER - varchar(50) '', -- BRANCH_ID - varchar(15) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime '', -- PARENT_PROCESS_ID - varchar(10) 'N', -- IS_LEAF - varchar(1) '', -- COST_ID - varchar(15) '', -- DVDM_ID - varchar(15) N'Chờ gửi phê duyệt', -- NOTES - nvarchar(500) NULL -- IS_HAS_CHILD - bit ) IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@l_REQ_ID AND TOTAL_AMT <=10000000 AND NOT EXISTS (SELECT * FROM dbo.CM_BRANCH WHERE BRANCH_ID=BRANCH_CREATE AND BRANCH_TYPE='HS'))) BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P',NOTES =N'Tự động phát sinh & duyệt hoàn tất' WHERE REQ_ID=@l_REQ_ID AND PROCESS_ID='NEW' INSERT INTO dbo.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 ) VALUES ( @l_REQ_ID, -- REQ_ID - varchar(15) 'APPROVE', -- PROCESS_ID - varchar(10) 'C', -- STATUS - varchar(5) '', -- ROLE_USER - varchar(50) '', -- BRANCH_ID - varchar(15) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime 'NEW', -- PARENT_PROCESS_ID - varchar(10) 'N', -- IS_LEAF - varchar(1) '', -- COST_ID - varchar(15) '', -- DVDM_ID - varchar(15) N'Hoàn tất', -- NOTES - nvarchar(500) NULL -- IS_HAS_CHILD - bit ) UPDATE TR_REQUEST_DOC SET AUTH_STATUS='A',PROCESS_ID='APPROVE',USER_DVMS=MAKER_ID,BRANCH_DVMS=BRANCH_CREATE WHERE REQ_ID=@l_REQ_ID EXEC dbo.TR_REQ_DOC_Ins_To_PO @p_TR_REQ_ID = @l_REQ_ID -- varchar(15) END END IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_PL_REQ_ID AND TRADE_TYPE='CDT')) BEGIN --insert master EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC', @l_REQ_ID out IF @l_REQ_ID='' OR @l_REQ_ID IS NULL GOTO ABORT exec [TR_CODE_GenKey] 'TR_REQUEST_DOC', '','PUR', @p_REQ_CODE out IF @p_REQ_CODE='' OR @p_REQ_CODE IS NULL GOTO ABORT INSERT INTO dbo.TR_REQUEST_DOC ( REQ_ID, REQ_CODE, REQ_DT, REQ_REASON, PL_REQ_ID, NOTES, RECORD_STATUS, CREATE_DT, AUTH_STATUS, TOTAL_AMT, BRANCH_CREATE, DEP_CREATE, USER_REQUEST,MAKER_ID,PROCESS_ID ) SELECT @l_REQ_ID,@p_REQ_CODE,GETDATE(),REQ_REASON, REQ_ID,'','1',GETDATE(),'E',TOTAL_AMT,BRANCH_CREATE,DEP_CREATE,MAKER_ID,MAKER_ID,'NEW' FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_PL_REQ_ID IF @@Error <> 0 GOTO ABORT --Insert into TABLE PL_REQUEST_DOC_DT DECLARE ListGoods CURSOR FOR SELECT REQDT_ID,GOODS_ID,[DESCRIPTION],QUANTITY,PRICE,TOTAL_AMT,HANGHOA_ID,DVDM_ID,CURRENCY,TAXES,EXCHANGE_RATE,SUP_ID,TRADE_TYPE,NAME FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_PL_REQ_ID AND TRADE_TYPE='CDT' OPEN ListGoods DECLARE @TRN_TYPE VARCHAR(20) SET @TRN_TYPE = (SELECT TRN_TYPE FROM dbo.CM_TRAN_TYPE WHERE NOTES='CDT') SET @MAKER_ID=(SELECT MAKER_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_PL_REQ_ID) FETCH NEXT FROM ListGoods INTO @PL_REQDT_ID,@GOODS_ID,@DESCRIPTION,@QUANTITY,@PRICE,@TOTAL_AMT,@HH_ID,@DVDM_ID,@CURRENCY,@TAXES,@EXCHANGE_RATE,@SUP_ID,@TRADE_TYPE,@REASON_CDT WHILE @@FETCH_STATUS = 0 BEGIN EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC_DT', @l_REQDT_ID out IF @l_REQDT_ID='' OR @l_REQDT_ID IS NULL GOTO ABORT EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC_PL_DT', @REQPL_DT_ID out IF @REQPL_DT_ID='' OR @REQPL_DT_ID IS NULL GOTO ABORT INSERT INTO dbo.TR_REQUEST_DOC_PL_DT ( REQPL_DT_ID, REQ_DOC_ID, PL_REQDT_ID, GD_ID, SUP_ID, HH_ID, TRAN_TYPE_ID, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, DES_GOOD, QUANTITY_PL, PRICE_PL, CURRENCY, EXCHANGE_RATE, TAXES, TOTAL_AMT_ETM, REASON_CDT, REQ_DT, NOTES, RECORD_STATUS ) VALUES ( @REQPL_DT_ID, -- REQPL_DT_ID - varchar(15) @l_REQ_ID, -- REQ_DOC_ID - varchar(15) @PL_REQDT_ID, -- PL_REQDT_ID - varchar(15) @GOODS_ID, -- GD_ID - varchar(15) @SUP_ID, -- SUP_ID - varchar(15) @HH_ID, -- HH_ID - varchar(15) @TRADE_TYPE, -- TRAN_TYPE_ID - varchar(15) @MAKER_ID, -- MAKER_ID - varchar(15) GETDATE(), -- CREATE_DT - datetime '', -- AUTH_STATUS - varchar(50) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime @DESCRIPTION, -- DES_GOOD - nvarchar(500) @QUANTITY, -- QUANTITY_PL - decimal(18, 0) @PRICE, -- PRICE_PL - decimal(18, 2) @CURRENCY, -- CURRENCY - nvarchar(50) @EXCHANGE_RATE, -- EXCHANGE_RATE - decimal(18, 2) @TAXES, -- TAXES - decimal(18, 2) @TOTAL_AMT, -- TOTAL_AMT_ETM - decimal(18, 2) @REASON_CDT, -- REASON_CDT - nvarchar(500) GETDATE(), -- REQ_DT - datetime N'', -- NOTES - nvarchar(500) '1' -- RECORD_STATUS - varchar(1) ) INSERT INTO dbo.TR_REQUEST_DOC_DT ( REQDT_ID, REQ_DOC_ID, PL_REQDT_ID, GD_ID, DESCRIPTION, RECORD_STATUS, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, QUANTITY, PRICE, TOTAL_AMT, PRICE_ETM, TOTAL_AMT_ETM,CURRENCY,HANGHOA_ID,DVDM_ID,TAXES,EXCHANGE_RATE,SUP_ID,TRAN_TYPE_ID,REQPL_DT_ID ) VALUES ( @l_REQDT_ID, -- REQDT_ID - varchar(15) @l_REQ_ID, -- REQ_ID - varchar(15) @PL_REQDT_ID, -- PLAN_ID - varchar(15) @GOODS_ID, -- GOODS_ID - varchar(15 -- NAME - nvarchar(200) @DESCRIPTION, -- DESCRIPTION - nvarchar(500) '1', -- RECORD_STATUS - varchar(1) '', -- MAKER_ID - varchar(15) GETDATE(), -- CREATE_DT - datetime 'U', -- AUTH_STATUS - varchar(50) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime @QUANTITY, @PRICE, @TOTAL_AMT, @PRICE, @TOTAL_AMT, @CURRENCY,@HH_ID,@DVDM_ID,@TAXES,@EXCHANGE_RATE,@SUP_ID,@TRN_TYPE,@REQPL_DT_ID ) IF @@ERROR <> 0 GOTO ABORT1 -- next Group_Id FETCH NEXT FROM ListGoods INTO @PL_REQDT_ID,@GOODS_ID,@DESCRIPTION,@QUANTITY,@PRICE,@TOTAL_AMT,@HH_ID,@DVDM_ID,@CURRENCY,@TAXES,@EXCHANGE_RATE,@SUP_ID,@TRADE_TYPE,@REASON_CDT END UPDATE dbo.TR_REQUEST_DOC SET TOTAL_AMT = ( SELECT SUM(QUANTITY*PRICE) FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID = @l_REQ_ID ) WHERE REQ_ID = @l_REQ_ID CLOSE ListGoods DEALLOCATE ListGoods IF @@Error <> 0 GOTO ABORT DECLARE lstCostCenter CURSOR FOR SELECT COST_ID,NOTES FROM dbo.PL_REQUEST_COSTCENTER WHERE REQ_ID=@p_PL_REQ_ID GROUP BY COST_ID,NOTES OPEN lstCostCenter FETCH NEXT FROM lstCostCenter INTO @COST_ID,@NOTES_COST WHILE @@FETCH_STATUS=0 BEGIN EXEC SYS_CodeMasters_Gen 'TR_REQUEST_COSTCENTER', @l_REQ_COST_ID out IF @l_REQ_COST_ID='' OR @l_REQ_COST_ID IS NULL GOTO ABORT --INSERT INTO dbo.TR_REQUEST_COSTCENTER -- LUCTV 12-07-2021 KHI PHAT SINH PUR TU TTCT THÌ KHÔNG KÈM THEO DVCM --( -- REQ_COST_ID, -- COST_ID, -- REQ_ID, -- NOTES, -- AUTH_STATUS, -- MAKER_ID, -- CREATE_DT, -- CHECKER_ID, -- APPROVE_DT --) --VALUES --( @l_REQ_COST_ID, -- REQ_COST_ID - varchar(15) -- @COST_ID, -- COST_ID - varchar(15) -- @l_REQ_ID, -- REQ_ID - varchar(15) -- @NOTES_COST, -- NOTES - nvarchar(500) -- '', -- AUTH_STATUS - varchar(1) -- @MAKER_ID, -- MAKER_ID - varchar(15) -- NULL, -- CREATE_DT - datetime -- '', -- CHECKER_ID - varchar(15) -- NULL -- APPROVE_DT - datetime -- ) FETCH NEXT FROM lstCostCenter INTO @COST_ID,@NOTES_COST END CLOSE lstCostCenter DEALLOCATE lstCostCenter INSERT INTO dbo.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 ) VALUES ( @l_REQ_ID, -- REQ_ID - varchar(15) 'NEW', -- PROCESS_ID - varchar(10) 'C', -- STATUS - varchar(5) '', -- ROLE_USER - varchar(50) '', -- BRANCH_ID - varchar(15) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime '', -- PARENT_PROCESS_ID - varchar(10) 'N', -- IS_LEAF - varchar(1) '', -- COST_ID - varchar(15) '', -- DVDM_ID - varchar(15) N'Chờ gửi phê duyệt', -- NOTES - nvarchar(500) NULL -- IS_HAS_CHILD - bit ) IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@l_REQ_ID AND TOTAL_AMT <=10000000 AND NOT EXISTS (SELECT * FROM dbo.CM_BRANCH WHERE BRANCH_ID=BRANCH_CREATE AND BRANCH_TYPE='HS'))) BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P', NOTES =N'Tự động phát sinh & duyệt hoàn tất' WHERE REQ_ID=@l_REQ_ID AND PROCESS_ID='NEW' INSERT INTO dbo.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 ) VALUES ( @l_REQ_ID, -- REQ_ID - varchar(15) 'APPROVE', -- PROCESS_ID - varchar(10) 'C', -- STATUS - varchar(5) '', -- ROLE_USER - varchar(50) '', -- BRANCH_ID - varchar(15) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime 'NEW', -- PARENT_PROCESS_ID - varchar(10) 'N', -- IS_LEAF - varchar(1) '', -- COST_ID - varchar(15) '', -- DVDM_ID - varchar(15) N'Hoàn tất', -- NOTES - nvarchar(500) NULL -- IS_HAS_CHILD - bit ) UPDATE TR_REQUEST_DOC SET AUTH_STATUS='A',PROCESS_ID='APPROVE',USER_DVMS=MAKER_ID,BRANCH_DVMS=BRANCH_CREATE WHERE REQ_ID=@l_REQ_ID EXEC dbo.TR_REQ_DOC_Ins_To_PO @p_TR_REQ_ID = @l_REQ_ID -- varchar(15) END END END --- END LUCTV 8.11.2022 COMMIT TRANSACTION RETURN 1 ABORT: BEGIN ROLLBACK TRANSACTION RETURN 1 End ABORT1: BEGIN CLOSE ListGoods DEALLOCATE ListGoods ROLLBACK TRANSACTION RETURN 1 End