1
|
|
2
|
ALTER PROCEDURE dbo.MW_LIQ_MASTER_KT_App
|
3
|
@p_LIQ_ID VARCHAR(15) = NULL,
|
4
|
@p_KT_CHECKER_ID VARCHAR(100) = NULL,
|
5
|
@p_KT_APPROVE_DT VARCHAR(20) = NULL,
|
6
|
@p_XmlData XML = NULL
|
7
|
AS
|
8
|
DECLARE
|
9
|
@LIQ_DT_ID VARCHAR(15) = NULL,@ERROR NVARCHAR(500),
|
10
|
@TOTAL_AMT NUMERIC(18, 0) = NULL,
|
11
|
@BRANCH_CREATE VARCHAR(15) = NULL,
|
12
|
@CORE_NOTE NVARCHAR(1000) = NULL,
|
13
|
@KT_MAKER_ID VARCHAR(100) = NULL,
|
14
|
@BRANCH_ID VARCHAR(15) = NULL,
|
15
|
@DEPT_ID VARCHAR(15) = NULL,
|
16
|
@PRICE_ID VARCHAR(15) = NULL,
|
17
|
@GROUP_ID VARCHAR(15) = NULL,
|
18
|
@MATERIAL_ID VARCHAR(15) = NULL,@TO_BRN_ID VARCHAR(15) = NULL,@TO_DEPT_ID VARCHAR(15) = NULL,
|
19
|
@IS_PROMO VARCHAR(1) = NULL, @VAT NUMERIC(18, 0), @VAT_AMT NUMERIC(18, 0),@PRICE_VAT NUMERIC(18, 0),
|
20
|
--01-03-2019 : LUCTV BO SUNG NHUNG BIEN LIEN QUAN TOI PHAN UPDATE-INSERT KHI DUYET
|
21
|
@BRN_ID VARCHAR(15) =NULL,
|
22
|
@MAST_BAL_ID VARCHAR(15) =NULL,
|
23
|
@CUST_NAME NVARCHAR(200) =NULL,
|
24
|
@QTY DECIMAL(18,2)=NULL,
|
25
|
@PRICE NUMERIC(18, 0) =NULL,
|
26
|
@SALE_PRICE NUMERIC(18, 0) =NULL,
|
27
|
@REMAIN_PRICE NUMERIC(18, 0) =NULL,
|
28
|
@NOTES NVARCHAR(1000) =NULL
|
29
|
|
30
|
DECLARE @l_MAKER_ID VARCHAR(150) = NULL;
|
31
|
DECLARE @l_DEP_CODE VARCHAR(15) = NULL;
|
32
|
DECLARE @l_D_BRANCH_CODE VARCHAR(15) = NULL;
|
33
|
DECLARE @l_C_BRANCH_CODE VARCHAR(15) = NULL
|
34
|
DECLARE @l_CORE_NOTE VARCHAR(1500) = NULL
|
35
|
DECLARE @l_MAT_CODE VARCHAR(15) = NULL, @l_WARE_ID VARCHAR(15) = NULL, @COST_ACC VARCHAR(50) = NULL
|
36
|
|
37
|
DECLARE XmlData CURSOR FOR
|
38
|
SELECT A.LIQ_DT_ID, A.TOTAL_AMT, A.TO_BRN_ID, A.TO_DEPT_ID, B.BRANCH_CREATE, B.CORE_NOTE,
|
39
|
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,
|
40
|
A.TO_BRN_ID, A.MAST_BAL_ID,A.CUST_NAME,A.QTY,A.PRICE,A.NOTES, A.COST_ACC
|
41
|
,A.SALE_PRICE,A.REMAIN_PRICE
|
42
|
FROM MW_LIQ_DT A
|
43
|
INNER JOIN MW_LIQ_MASTER B ON A.LIQ_ID = B.LIQ_ID
|
44
|
INNER JOIN MW_MAST_BAL C ON A.MAST_BAL_ID = C.MAST_BAL_ID
|
45
|
INNER JOIN MW_MAST_PRICE D ON D.PRICE_ID = C.PRICE_ID
|
46
|
INNER JOIN MW_IN E ON D.MATERIAL_ID = E.IN_ID
|
47
|
WHERE A.LIQ_ID = @p_LIQ_ID
|
48
|
OPEN XmlData;
|
49
|
BEGIN TRANSACTION;
|
50
|
-- 02-04-19: KIEM TRA NEU DANG TRA VE THI KHONG DUOC PHEP DUYET
|
51
|
IF((SELECT KT_AUTH_STATUS FROM MW_LIQ_MASTER WHERE LIQ_ID = @p_LIQ_ID) ='R')
|
52
|
BEGIN
|
53
|
CLOSE XmlData
|
54
|
DEALLOCATE XmlData
|
55
|
ROLLBACK TRANSACTION
|
56
|
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
|
57
|
RETURN '-1'
|
58
|
END
|
59
|
--end
|
60
|
UPDATE [dbo].[MW_LIQ_MASTER]
|
61
|
SET KT_AUTH_STATUS = 'A',
|
62
|
KT_APPROVE_DT = CONVERT(DATETIME, @p_KT_APPROVE_DT, 103),
|
63
|
KT_CHECKER_ID = @p_KT_CHECKER_ID
|
64
|
WHERE [LIQ_ID] = @p_LIQ_ID;
|
65
|
IF @@Error <> 0 GOTO ABORT;
|
66
|
|
67
|
----- SO GIAO DICH
|
68
|
DECLARE @l_TRN_NO VARCHAR(15), @l_MAKER_KT VARCHAR(100), @l_ETP_ID VARCHAR(20), @l_ET_ID VARCHAR(20)
|
69
|
SELECT @l_MAKER_KT = KT_MAKER_ID FROM [MW_LIQ_MASTER] WHERE [LIQ_ID] = @p_LIQ_ID
|
70
|
EXEC ENTRIES_POST_GEN_NO_MW @p_BRANCH_ID = @l_MAKER_KT
|
71
|
,@p_TRN_DATE = @p_KT_APPROVE_DT
|
72
|
,@p_KeyGen = @l_TRN_NO OUT
|
73
|
-----------------
|
74
|
--Insert XmlData
|
75
|
--DELETE FROM MW_OUT_DT WHERE OUT_ID =@p_OUT_ID
|
76
|
DECLARE @EXP_ACCTNO VARCHAR(50), @MATERIAL_ACCTNO VARCHAR(50), @VAT_ACCTNO VARCHAR(50)
|
77
|
|
78
|
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,
|
79
|
@TO_BRN_ID, @MAST_BAL_ID,@CUST_NAME,@QTY,@PRICE,@NOTES,@COST_ACC,@SALE_PRICE,@REMAIN_PRICE
|
80
|
DECLARE @l_SUM_QTY_BALANCE DECIMAL(18,2)=0;
|
81
|
DECLARE @l_SUM_TOTAL_AMT NUMERIC(18, 2)=0;
|
82
|
DECLARE @l_TOTAL_AMT NUMERIC(18, 2)=0;
|
83
|
DECLARE @INDEX INT =0
|
84
|
WHILE @@FETCH_STATUS = 0
|
85
|
BEGIN
|
86
|
|
87
|
-------- 01/03/2018 LUCTV: EDIT CODE KE TOAN DUYET THI MOI PHAT SINH UPDATE DU LIEU
|
88
|
SET @INDEX = @INDEX+1
|
89
|
|
90
|
-- 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)
|
91
|
-- IF(@QTY > (SELECT QTY_BALANCE FROM MW_MAST_BAL WHERE MAST_BAL_ID=@MAST_BAL_ID))
|
92
|
-- BEGIN
|
93
|
-- CLOSE XmlData
|
94
|
-- DEALLOCATE XmlData
|
95
|
-- ROLLBACK TRANSACTION
|
96
|
-- 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
|
97
|
-- RETURN '-1'
|
98
|
-- END
|
99
|
|
100
|
--- GET DATA MASTER
|
101
|
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;
|
102
|
|
103
|
UPDATE MW_MAST_BAL
|
104
|
|
105
|
|
106
|
-- kietvt: 7/9/2023: them tru so luong thuc te
|
107
|
|
108
|
SET TOTAL_AMT= TOTAL_AMT-@TOTAL_AMT,
|
109
|
QTY_REAL = QTY_REAL - @QTY,
|
110
|
QTY_BALANCE=QTY_BALANCE-@QTY
|
111
|
WHERE MAST_BAL_ID=@MAST_BAL_ID;
|
112
|
|
113
|
|
114
|
DECLARE @p_ID_MAS_BAL VARCHAR(15);
|
115
|
EXEC SYS_CodeMasters_Gen 'MW_MAST_BAL_STMT', @p_ID_MAS_BAL OUT;
|
116
|
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)
|
117
|
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),
|
118
|
'L' , 'D', @QTY, @NOTES, @PRICE, @TOTAL_AMT);
|
119
|
----- END LUCTV 01-03-2019
|
120
|
|
121
|
|
122
|
|
123
|
----------------HACH TOAN 07/09/2023 KHIEMCHG------------------
|
124
|
-------------------CHECK THEO LOAI KHO-------------------------
|
125
|
DECLARE @l_HS_BRANCH_CODE VARCHAR(20) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_TYPE = 'HS')
|
126
|
DECLARE @WARE_CODE VARCHAR(20) = (SELECT CW.WARE_CODE FROM CM_WARE CW WHERE CW.WARE_ID = @l_WARE_ID)
|
127
|
DECLARE @WARE_ACCNO VARCHAR(20) = (SELECT CW.ACC_ACCOUNTING FROM CM_WARE CW WHERE CW.WARE_ID = @l_WARE_ID)
|
128
|
DECLARE @PAYHS VARCHAR(20) = (SELECT EPAM.ACC_NO FROM ENTRIES_POST_ACCNO_MW EPAM WHERE EPAM.ACC_TYPE = 'PAY_HS')
|
129
|
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')
|
130
|
|
131
|
---LAY TAI KHOAN HACH TOAN
|
132
|
SELECT @EXP_ACCTNO = EXP_ACCTNO, @MATERIAL_ACCTNO = MATERIAL_ACCTNO, @VAT_ACCTNO = VAT_ACCTNO, @l_MAT_CODE = MATERIAL_CODE
|
133
|
FROM MW_MATERIAL WHERE MATERIAL_ID = @MATERIAL_ID--LAY MA BRANCH CODE
|
134
|
DECLARE @DB_ID VARCHAR(15) = (SELECT CW.DEP_ID FROM CM_WARE CW WHERE CW.WARE_ID = @l_WARE_ID)
|
135
|
SELECT @l_DEP_CODE = CD.DEP_CODE
|
136
|
FROM CM_DEPARTMENT CD LEFT JOIN CM_BRANCH CB ON CD.BRANCH_ID = CB.BRANCH_ID
|
137
|
WHERE CD.DEP_ID = @DB_ID
|
138
|
|
139
|
BEGIN
|
140
|
IF ISNULL(@SALE_PRICE,0) = 0
|
141
|
BEGIN
|
142
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST', @l_ET_ID out
|
143
|
--- TODO: NỢ TK 8990
|
144
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
145
|
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)
|
146
|
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);
|
147
|
IF @ERROR <> '0' GOTO ABORT
|
148
|
|
149
|
--- TODO: CÓ TK313001001 (theo số lượng*đơn giá)
|
150
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
151
|
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)
|
152
|
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);
|
153
|
IF @ERROR <> '0' GOTO ABORT
|
154
|
END
|
155
|
|
156
|
ELSE IF ISNULL(@SALE_PRICE,0) > 0
|
157
|
BEGIN
|
158
|
IF ISNULL(@SALE_PRICE,0) < @TOTAL_AMT
|
159
|
BEGIN
|
160
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST', @l_ET_ID OUT
|
161
|
|
162
|
--- TODO: NỢ TK4662 TIỀN CÓ VAT
|
163
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
164
|
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)
|
165
|
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);
|
166
|
IF @ERROR <> '0' GOTO ABORT
|
167
|
--- TODO: NỢ TK
|
168
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
169
|
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)
|
170
|
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);
|
171
|
IF @ERROR <> '0' GOTO ABORT
|
172
|
|
173
|
--- TODO: CÓ TK313001001 (theo số lượng*đơn giá)
|
174
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
175
|
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)
|
176
|
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);
|
177
|
IF @ERROR <> '0' GOTO ABORT
|
178
|
|
179
|
--- TODO: CÓ TK313001001 (theo số lượng*đơn giá)
|
180
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
181
|
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)
|
182
|
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);
|
183
|
IF @ERROR <> '0' GOTO ABORT
|
184
|
|
185
|
|
186
|
END
|
187
|
ELSE IF ISNULL(@SALE_PRICE,0) = @TOTAL_AMT
|
188
|
BEGIN
|
189
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST', @l_ET_ID out
|
190
|
--- TODO: NỢ TK4662 TIỀN CÓ VAT
|
191
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
192
|
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)
|
193
|
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);
|
194
|
IF @ERROR <> '0' GOTO ABORT
|
195
|
|
196
|
--- TODO: NỢ TK
|
197
|
-- EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
198
|
-- 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)
|
199
|
-- 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);
|
200
|
-- IF @ERROR <> '0' GOTO ABORT
|
201
|
|
202
|
--- TODO: CÓ TK313001001 (theo số lượng*đơn giá)
|
203
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
204
|
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)
|
205
|
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);
|
206
|
IF @ERROR <> '0' GOTO ABORT
|
207
|
|
208
|
--- TODO: CÓ TK313001001 (theo số lượng*đơn giá)
|
209
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
210
|
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)
|
211
|
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);
|
212
|
IF @ERROR <> '0' GOTO ABORT
|
213
|
END
|
214
|
ELSE IF ISNULL(@SALE_PRICE,0) > @TOTAL_AMT
|
215
|
BEGIN
|
216
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST', @l_ET_ID out
|
217
|
--- TODO: NỢ TK4662 TIỀN CÓ VAT
|
218
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
219
|
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)
|
220
|
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);
|
221
|
IF @ERROR <> '0' GOTO ABORT
|
222
|
--- TODO: NỢ TK
|
223
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
224
|
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)
|
225
|
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);
|
226
|
IF @ERROR <> '0' GOTO ABORT
|
227
|
|
228
|
--- TODO: CÓ TK313001001 (theo số lượng*đơn giá)
|
229
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
230
|
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)
|
231
|
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);
|
232
|
IF @ERROR <> '0' GOTO ABORT
|
233
|
|
234
|
--- TODO: CÓ TK313001001 (theo số lượng*đơn giá)
|
235
|
EXEC SYS_CodeMasters_Gen 'MW_ENTRIES_POST_SYNC', @l_ETP_ID out
|
236
|
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)
|
237
|
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);
|
238
|
IF @ERROR <> '0' GOTO ABORT
|
239
|
END
|
240
|
|
241
|
END
|
242
|
|
243
|
END
|
244
|
|
245
|
----------------END HACH TOAN 07/09/2023 KHIEMCHG------------------
|
246
|
|
247
|
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,
|
248
|
@TO_BRN_ID, @MAST_BAL_ID,@CUST_NAME,@QTY,@PRICE,@NOTES,@COST_ACC,@SALE_PRICE,@REMAIN_PRICE
|
249
|
END;
|
250
|
CLOSE XmlData;
|
251
|
DEALLOCATE XmlData;
|
252
|
|
253
|
--doanptt 05/05/2022 thêm lịch sử xử lý
|
254
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
255
|
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')
|
256
|
|
257
|
COMMIT TRANSACTION;
|
258
|
SELECT '0' AS Result, @p_LIQ_ID LIQ_ID,'' ErrorDesc;
|
259
|
RETURN '0';
|
260
|
ABORT:
|
261
|
BEGIN
|
262
|
CLOSE XmlData;
|
263
|
DEALLOCATE XmlData;
|
264
|
ROLLBACK TRANSACTION;
|
265
|
SELECT '-1' AS Result,'' LIQ_ID, '' ErrorDesc;
|
266
|
RETURN '-1';
|
267
|
END;
|