ALTER PROCEDURE dbo.MW_LIQ_MASTER_KT_App @p_LIQ_ID VARCHAR(15) = NULL, @p_KT_CHECKER_ID VARCHAR(100) = NULL, @p_KT_APPROVE_DT VARCHAR(20) = NULL, @p_XmlData XML = NULL AS DECLARE @LIQ_DT_ID VARCHAR(15) = NULL,@ERROR NVARCHAR(500), @TOTAL_AMT NUMERIC(18, 0) = NULL, @BRANCH_CREATE VARCHAR(15) = NULL, @CORE_NOTE NVARCHAR(1000) = NULL, @KT_MAKER_ID VARCHAR(100) = NULL, @BRANCH_ID VARCHAR(15) = NULL, @DEPT_ID VARCHAR(15) = NULL, @PRICE_ID VARCHAR(15) = NULL, @GROUP_ID VARCHAR(15) = NULL, @MATERIAL_ID VARCHAR(15) = NULL,@TO_BRN_ID VARCHAR(15) = NULL,@TO_DEPT_ID VARCHAR(15) = NULL, @IS_PROMO VARCHAR(1) = NULL, @VAT NUMERIC(18, 0), @VAT_AMT NUMERIC(18, 0),@PRICE_VAT NUMERIC(18, 0), --01-03-2019 : LUCTV BO SUNG NHUNG BIEN LIEN QUAN TOI PHAN UPDATE-INSERT KHI DUYET @BRN_ID VARCHAR(15) =NULL, @MAST_BAL_ID VARCHAR(15) =NULL, @CUST_NAME NVARCHAR(200) =NULL, @QTY DECIMAL(18,2)=NULL, @PRICE NUMERIC(18, 0) =NULL, @SALE_PRICE NUMERIC(18, 0) =NULL, @REMAIN_PRICE NUMERIC(18, 0) =NULL, @NOTES NVARCHAR(1000) =NULL DECLARE @l_MAKER_ID VARCHAR(150) = NULL; DECLARE @l_DEP_CODE VARCHAR(15) = NULL; DECLARE @l_D_BRANCH_CODE VARCHAR(15) = NULL; DECLARE @l_C_BRANCH_CODE VARCHAR(15) = NULL DECLARE @l_CORE_NOTE VARCHAR(1500) = NULL DECLARE @l_MAT_CODE VARCHAR(15) = NULL, @l_WARE_ID VARCHAR(15) = NULL, @COST_ACC VARCHAR(50) = NULL DECLARE XmlData CURSOR FOR SELECT A.LIQ_DT_ID, A.TOTAL_AMT, A.TO_BRN_ID, A.TO_DEPT_ID, B.BRANCH_CREATE, B.CORE_NOTE, B.KT_MAKER_ID, C.BRANCH_ID, C.DEPT_ID, D.PRICE_ID, E.GROUP_ID, E.MATERIAL_ID, E.IS_PROMO, A.VAT, A.PRICE_VAT,A.QTY, A.TO_BRN_ID, A.MAST_BAL_ID,A.CUST_NAME,A.QTY,A.PRICE,A.NOTES, A.COST_ACC ,A.SALE_PRICE,A.REMAIN_PRICE FROM MW_LIQ_DT A INNER JOIN MW_LIQ_MASTER B ON A.LIQ_ID = B.LIQ_ID INNER JOIN MW_MAST_BAL C ON A.MAST_BAL_ID = C.MAST_BAL_ID INNER JOIN MW_MAST_PRICE D ON D.PRICE_ID = C.PRICE_ID INNER JOIN MW_IN E ON D.MATERIAL_ID = E.IN_ID WHERE A.LIQ_ID = @p_LIQ_ID OPEN XmlData; BEGIN TRANSACTION; -- 02-04-19: KIEM TRA NEU DANG TRA VE THI KHONG DUOC PHEP DUYET IF((SELECT KT_AUTH_STATUS FROM MW_LIQ_MASTER WHERE LIQ_ID = @p_LIQ_ID) ='R') BEGIN CLOSE XmlData DEALLOCATE XmlData ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LIQ_ID LIQ_ID, N'Giao dịch đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc RETURN '-1' END --end UPDATE [dbo].[MW_LIQ_MASTER] SET KT_AUTH_STATUS = 'A', KT_APPROVE_DT = CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), KT_CHECKER_ID = @p_KT_CHECKER_ID WHERE [LIQ_ID] = @p_LIQ_ID; IF @@Error <> 0 GOTO ABORT; ----- SO GIAO DICH DECLARE @l_TRN_NO VARCHAR(15), @l_MAKER_KT VARCHAR(100), @l_ETP_ID VARCHAR(20), @l_ET_ID VARCHAR(20) SELECT @l_MAKER_KT = KT_MAKER_ID FROM [MW_LIQ_MASTER] WHERE [LIQ_ID] = @p_LIQ_ID EXEC ENTRIES_POST_GEN_NO_MW @p_BRANCH_ID = @l_MAKER_KT ,@p_TRN_DATE = @p_KT_APPROVE_DT ,@p_KeyGen = @l_TRN_NO OUT ----------------- --Insert XmlData --DELETE FROM MW_OUT_DT WHERE OUT_ID =@p_OUT_ID DECLARE @EXP_ACCTNO VARCHAR(50), @MATERIAL_ACCTNO VARCHAR(50), @VAT_ACCTNO VARCHAR(50) FETCH NEXT FROM XmlData INTO @LIQ_DT_ID, @TOTAL_AMT,@TO_BRN_ID,@TO_DEPT_ID, @BRANCH_CREATE , @CORE_NOTE ,@KT_MAKER_ID ,@BRANCH_ID ,@DEPT_ID ,@PRICE_ID ,@GROUP_ID ,@MATERIAL_ID ,@IS_PROMO, @VAT, @PRICE_VAT,@QTY, @TO_BRN_ID, @MAST_BAL_ID,@CUST_NAME,@QTY,@PRICE,@NOTES,@COST_ACC,@SALE_PRICE,@REMAIN_PRICE DECLARE @l_SUM_QTY_BALANCE DECIMAL(18,2)=0; DECLARE @l_SUM_TOTAL_AMT NUMERIC(18, 2)=0; DECLARE @l_TOTAL_AMT NUMERIC(18, 2)=0; DECLARE @INDEX INT =0 WHILE @@FETCH_STATUS = 0 BEGIN -------- 01/03/2018 LUCTV: EDIT CODE KE TOAN DUYET THI MOI PHAT SINH UPDATE DU LIEU SET @INDEX = @INDEX+1 -- 07 -03 -2019 KIEM TRA LAI SO LUONG (VI SE CO TRUONG HOP VUA DIEU CHUYEN, VUA XUAT SD, VƯA THU HOI, VUA THANH LY TREN 1 MAST_BAL_ID) -- IF(@QTY > (SELECT QTY_BALANCE FROM MW_MAST_BAL WHERE MAST_BAL_ID=@MAST_BAL_ID)) -- BEGIN -- CLOSE XmlData -- DEALLOCATE XmlData -- ROLLBACK TRANSACTION -- SELECT '-1' as Result, @p_LIQ_ID LIQ_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Số lượng thanh lý vượt quá số lượng tồn' ErrorDesc -- RETURN '-1' -- END --- GET DATA MASTER SELECT @BRN_ID=O.BRN_ID, @l_WARE_ID = O.WARE_HOUSE, @l_CORE_NOTE = O.CORE_NOTE FROM dbo.MW_LIQ_MASTER O WHERE O.LIQ_ID=@p_LIQ_ID; UPDATE MW_MAST_BAL -- kietvt: 7/9/2023: them tru so luong thuc te SET TOTAL_AMT= TOTAL_AMT-@TOTAL_AMT, QTY_REAL = QTY_REAL - @QTY, QTY_BALANCE=QTY_BALANCE-@QTY WHERE MAST_BAL_ID=@MAST_BAL_ID; DECLARE @p_ID_MAS_BAL VARCHAR(15); EXEC SYS_CodeMasters_Gen 'MW_MAST_BAL_STMT', @p_ID_MAS_BAL OUT; INSERT INTO MW_MAST_BAL_STMT(STMT_ID, REF_ID, MAST_BAL_ID, TRN_DATE, TRN_TIME, TRN_TYPE, CRDR, QTY, TRN_DESC, PRICE, TOTAL_AMT) VALUES(@p_ID_MAS_BAL, @p_LIQ_ID, @MAST_BAL_ID, (SELECT KT_APPROVE_DT FROM MW_LIQ_MASTER WHERE LIQ_ID=@p_LIQ_ID), (SELECT TRN_TIME FROM MW_LIQ_MASTER WHERE LIQ_ID=@p_LIQ_ID), 'L' , 'D', @QTY, @NOTES, @PRICE, @TOTAL_AMT); ----- END LUCTV 01-03-2019 ----------------HACH TOAN 07/09/2023 KHIEMCHG------------------ -------------------CHECK THEO LOAI KHO------------------------- DECLARE @l_HS_BRANCH_CODE VARCHAR(20) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_TYPE = 'HS') DECLARE @WARE_CODE VARCHAR(20) = (SELECT CW.WARE_CODE FROM CM_WARE CW WHERE CW.WARE_ID = @l_WARE_ID) DECLARE @WARE_ACCNO VARCHAR(20) = (SELECT CW.ACC_ACCOUNTING FROM CM_WARE CW WHERE CW.WARE_ID = @l_WARE_ID) DECLARE @PAYHS VARCHAR(20) = (SELECT EPAM.ACC_NO FROM ENTRIES_POST_ACCNO_MW EPAM WHERE EPAM.ACC_TYPE = 'PAY_HS') DECLARE @ACC_VAT_NEC VARCHAR(20) = (SELECT TOP 1 EPAM.ACC_NO FROM ENTRIES_POST_ACCNO_MW EPAM WHERE EPAM.ACC_TYPE = 'ACC_VAT_NEC') ---LAY TAI KHOAN HACH TOAN SELECT @EXP_ACCTNO = EXP_ACCTNO, @MATERIAL_ACCTNO = MATERIAL_ACCTNO, @VAT_ACCTNO = VAT_ACCTNO, @l_MAT_CODE = MATERIAL_CODE FROM MW_MATERIAL WHERE MATERIAL_ID = @MATERIAL_ID--LAY MA BRANCH CODE DECLARE @DB_ID VARCHAR(15) = (SELECT CW.DEP_ID FROM CM_WARE CW WHERE CW.WARE_ID = @l_WARE_ID) SELECT @l_DEP_CODE = CD.DEP_CODE FROM CM_DEPARTMENT CD LEFT JOIN CM_BRANCH CB ON CD.BRANCH_ID = CB.BRANCH_ID WHERE CD.DEP_ID = @DB_ID BEGIN IF ISNULL(@SALE_PRICE,0) = 0 BEGIN EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST', @l_ET_ID out --- TODO: NỢ TK 8990 EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID, @l_HS_BRANCH_CODE, @COST_ACC /*'861901001'*/, 'VND', 'D', @QTY*@PRICE, 1, @QTY*@PRICE, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT --- TODO: CÓ TK313001001 (theo số lượng*đơn giá) EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID,@l_HS_BRANCH_CODE, @WARE_ACCNO, 'VND', 'C', @QTY*@PRICE, 1, @QTY*@PRICE, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT END ELSE IF ISNULL(@SALE_PRICE,0) > 0 BEGIN IF ISNULL(@SALE_PRICE,0) < @TOTAL_AMT BEGIN EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST', @l_ET_ID OUT --- TODO: NỢ TK4662 TIỀN CÓ VAT EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID, @l_HS_BRANCH_CODE, @PAYHS, 'VND', 'D', @REMAIN_PRICE, 1, @REMAIN_PRICE, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT --- TODO: NỢ TK EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID, @l_HS_BRANCH_CODE, @COST_ACC , 'VND', 'D', @TOTAL_AMT-ISNULL(@SALE_PRICE,0), 1,@TOTAL_AMT-ISNULL(@SALE_PRICE,0), @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT --- TODO: CÓ TK313001001 (theo số lượng*đơn giá) EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID,@l_HS_BRANCH_CODE, @WARE_ACCNO, 'VND', 'C', @QTY*@PRICE, 1, @QTY*@PRICE, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT --- TODO: CÓ TK313001001 (theo số lượng*đơn giá) EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID,@l_HS_BRANCH_CODE, @ACC_VAT_NEC, 'VND', 'C', @PRICE_VAT, 1, @PRICE_VAT, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT END ELSE IF ISNULL(@SALE_PRICE,0) = @TOTAL_AMT BEGIN EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST', @l_ET_ID out --- TODO: NỢ TK4662 TIỀN CÓ VAT EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID, @l_HS_BRANCH_CODE, @PAYHS, 'VND', 'D', @REMAIN_PRICE, 1, @REMAIN_PRICE, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT --- TODO: NỢ TK -- EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out -- INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) -- VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID, @l_HS_BRANCH_CODE, @COST_ACC , 'VND', 'D', 0, 1,0, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); -- IF @ERROR <> '0' GOTO ABORT --- TODO: CÓ TK313001001 (theo số lượng*đơn giá) EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID,@l_HS_BRANCH_CODE, @ACC_VAT_NEC, 'VND', 'C', @PRICE_VAT, 1, @PRICE_VAT, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT --- TODO: CÓ TK313001001 (theo số lượng*đơn giá) EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID,@l_HS_BRANCH_CODE, @WARE_ACCNO, 'VND', 'C', @QTY*@PRICE, 1, @QTY*@PRICE, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT END ELSE IF ISNULL(@SALE_PRICE,0) > @TOTAL_AMT BEGIN EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST', @l_ET_ID out --- TODO: NỢ TK4662 TIỀN CÓ VAT EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID, @l_HS_BRANCH_CODE, @PAYHS, 'VND', 'D', @REMAIN_PRICE, 1, @REMAIN_PRICE, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT --- TODO: NỢ TK EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID, @l_HS_BRANCH_CODE, @COST_ACC , 'VND', 'C', ISNULL(@SALE_PRICE,0)-@TOTAL_AMT, 1,ISNULL(@SALE_PRICE,0)-@TOTAL_AMT, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT --- TODO: CÓ TK313001001 (theo số lượng*đơn giá) EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID,@l_HS_BRANCH_CODE, @ACC_VAT_NEC, 'VND', 'C', @PRICE_VAT, 1, @PRICE_VAT, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT --- TODO: CÓ TK313001001 (theo số lượng*đơn giá) EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO MW_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_TYPE, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO, WARE_CODE) VALUES (@l_ETP_ID, @l_ET_ID, 'MW_LIQ_MASTER', @p_LIQ_ID,@l_HS_BRANCH_CODE, @WARE_ACCNO, 'VND', 'C', @QTY*@PRICE, 1, @QTY*@PRICE, @l_MAT_CODE,CONVERT(DATETIME, @p_KT_APPROVE_DT, 103), @l_MAKER_KT, @p_KT_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,@WARE_CODE); IF @ERROR <> '0' GOTO ABORT END END END ----------------END HACH TOAN 07/09/2023 KHIEMCHG------------------ FETCH NEXT FROM XmlData INTO @LIQ_DT_ID, @TOTAL_AMT,@TO_BRN_ID,@TO_DEPT_ID, @BRANCH_CREATE , @CORE_NOTE ,@KT_MAKER_ID ,@BRANCH_ID ,@DEPT_ID ,@PRICE_ID ,@GROUP_ID ,@MATERIAL_ID ,@IS_PROMO , @VAT, @PRICE_VAT,@QTY, @TO_BRN_ID, @MAST_BAL_ID,@CUST_NAME,@QTY,@PRICE,@NOTES,@COST_ACC,@SALE_PRICE,@REMAIN_PRICE END; CLOSE XmlData; DEALLOCATE XmlData; --doanptt 05/05/2022 thêm lịch sử xử lý INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES) VALUES(@p_LIQ_ID,'KTAPP',@p_KT_CHECKER_ID,GETDATE(), N'Kế toán duyệt phiếu',N'Kế toán duyệt phiếu') COMMIT TRANSACTION; SELECT '0' AS Result, @p_LIQ_ID LIQ_ID,'' ErrorDesc; RETURN '0'; ABORT: BEGIN CLOSE XmlData; DEALLOCATE XmlData; ROLLBACK TRANSACTION; SELECT '-1' AS Result,'' LIQ_ID, '' ErrorDesc; RETURN '-1'; END;