1
|
ALTER PROCEDURE [dbo].[LS_CUSTOMER_Ins]
|
2
|
@p_CUSTOMER_CODE varchar(15) = NULL,
|
3
|
@p_CUSTOMER_NAME nvarchar(500) = NULL,
|
4
|
@p_GROUP_ID varchar(15) = NULL,
|
5
|
@p_BRANCH_ID varchar(15) = NULL,
|
6
|
@p_ADDR nvarchar(500) = NULL,
|
7
|
@p_EMAIL varchar(100) = NULL,
|
8
|
@p_PHONE varchar(15) = NULL,
|
9
|
@p_TAX_NO varchar(20) = NULL,
|
10
|
@p_CMND varchar(20) = NULL,
|
11
|
@p_CONTACT_PERSON nvarchar(500) = NULL,
|
12
|
@p_NOTES nvarchar(1000) = NULL,
|
13
|
@p_DESCRIPTION nvarchar(1000) = NULL,
|
14
|
@p_AUTH_STATUS varchar(1) = NULL,
|
15
|
@p_RECORD_STATUS varchar(1) = NULL,
|
16
|
@p_MAKER_ID nvarchar(15) = NULL,
|
17
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
18
|
@p_EDITOR_ID varchar(15) = NULL,
|
19
|
@p_EDITOR_DT VARCHAR(20) = NULL,
|
20
|
@p_CHECKER_ID varchar(15) = NULL,
|
21
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
22
|
@p_XML_TEMP xml = NULL,
|
23
|
@p_CIF_CODE VARCHAR(50) = NULL,
|
24
|
@p_BUSINESS_TYPE NVARCHAR(500) = NULL
|
25
|
AS
|
26
|
IF (EXISTS ( SELECT * FROM LS_CUSTOMER WHERE CUSTOMER_CODE=@p_CUSTOMER_CODE ))
|
27
|
BEGIN
|
28
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Mã khách hàng này đã tồn tại' ErrorDesc
|
29
|
RETURN '0'
|
30
|
END
|
31
|
IF(LEN(ISNULL(@p_CUSTOMER_CODE, '')) <> 8)
|
32
|
BEGIN
|
33
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Thêm mới khách hàng thất bại! Mã khách hàng phải đủ 8 số' ErrorDesc
|
34
|
RETURN '-1'
|
35
|
END
|
36
|
IF(LEN(ISNULL(@p_CIF_CODE, '')) <> 8)
|
37
|
BEGIN
|
38
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Thêm mới khách hàng thất bại! CIF phải đủ 8 số' ErrorDesc
|
39
|
RETURN '-1'
|
40
|
END
|
41
|
IF((SELECT TOP 1 ISNUMERIC(@p_CUSTOMER_CODE)) = 0)
|
42
|
BEGIN
|
43
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Thêm mới khách hàng thất bại! Mã khách hàng chỉ nhận dữ liệu số, không nhận ký tự' ErrorDesc
|
44
|
RETURN '-1'
|
45
|
END
|
46
|
IF((SELECT TOP 1 ISNUMERIC(@p_CIF_CODE)) = 0)
|
47
|
BEGIN
|
48
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Thêm mới khách hàng thất bại! CIF chỉ nhận dữ liệu số, không nhận ký tự' ErrorDesc
|
49
|
RETURN '-1'
|
50
|
END
|
51
|
|
52
|
IF(ISNULL(@p_CUSTOMER_NAME, '') = '')
|
53
|
BEGIN
|
54
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Thêm mới khách hàng thất bại! Tên khách hàng không được để trống' ErrorDesc
|
55
|
RETURN '-1'
|
56
|
END
|
57
|
IF(dbo.fChuyenCoDauThanhKhongDau(@p_CUSTOMER_NAME) <> @p_CUSTOMER_NAME)
|
58
|
BEGIN
|
59
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Thêm mới khách hàng thất bại! Tên khách hàng phải là tiếng việt không dấu, in hoa' ErrorDesc
|
60
|
RETURN '-1'
|
61
|
END
|
62
|
|
63
|
IF(ISNULL(@p_CUSTOMER_CODE, '') <> ISNULL(@p_CIF_CODE, ''))
|
64
|
BEGIN
|
65
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Chỉnh sửa khách hàng thất bại! Mã khách hàng không khớp với CIF' ErrorDesc
|
66
|
RETURN '-1'
|
67
|
END
|
68
|
|
69
|
BEGIN TRANSACTION
|
70
|
DECLARE @l_CUSTOMER_ID VARCHAR(15)
|
71
|
EXEC SYS_CodeMasters_Gen 'LS_CUSTOMER', @l_CUSTOMER_ID out
|
72
|
IF @l_CUSTOMER_ID='' OR @l_CUSTOMER_ID IS NULL GOTO ABORT
|
73
|
INSERT INTO LS_CUSTOMER([CUSTOMER_ID],[CUSTOMER_CODE],[CUSTOMER_NAME],[GROUP_ID],[BRANCH_ID],[ADDR],[EMAIL],[PHONE],[TAX_NO],[CONTACT_PERSON],[NOTES],[DESCRIPTION],[AUTH_STATUS],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[EDITOR_ID],[EDITOR_DT],[CHECKER_ID],[APPROVE_DT],[XML_TEMP],[BUSINESS_TYPE],[CMND],CIF_CODE)
|
74
|
VALUES(@l_CUSTOMER_ID ,@p_CUSTOMER_CODE ,@p_CUSTOMER_NAME ,@p_GROUP_ID ,@p_BRANCH_ID ,@p_ADDR ,@p_EMAIL ,@p_PHONE ,@p_TAX_NO ,@p_CONTACT_PERSON ,@p_NOTES ,@p_DESCRIPTION ,'U' ,@p_RECORD_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_EDITOR_ID ,CONVERT(DATETIME, @p_EDITOR_DT, 103) ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103) ,@p_XML_TEMP,@p_BUSINESS_TYPE,@p_CMND,@p_CIF_CODE )
|
75
|
IF @@Error <> 0 GOTO ABORT
|
76
|
COMMIT TRANSACTION
|
77
|
SELECT '0' as Result, @l_CUSTOMER_ID CUSTOMER_ID, '' ErrorDesc
|
78
|
RETURN '0'
|
79
|
ABORT:
|
80
|
BEGIN
|
81
|
ROLLBACK TRANSACTION
|
82
|
SELECT '-1' as Result, '' CUSTOMER_ID, '' ErrorDesc
|
83
|
RETURN '-1'
|
84
|
End
|
85
|
|
86
|
|
87
|
GO
|
88
|
|
89
|
|
90
|
ALTER PROCEDURE [dbo].[LS_CUSTOMER_Upd]
|
91
|
@p_CUSTOMER_ID varchar(15) = null ,
|
92
|
@p_CUSTOMER_CODE varchar(15) = NULL ,
|
93
|
@p_CUSTOMER_NAME nvarchar(500) = NULL ,
|
94
|
@p_GROUP_ID varchar(15) = NULL ,
|
95
|
@p_BRANCH_ID varchar(15) = NULL ,
|
96
|
@p_ADDR nvarchar(500) = NULL ,
|
97
|
@p_EMAIL varchar(100) = NULL ,
|
98
|
@p_PHONE varchar(15) = NULL ,
|
99
|
@p_TAX_NO varchar(20) = NULL ,
|
100
|
@p_CONTACT_PERSON nvarchar(500) = NULL ,
|
101
|
@p_NOTES nvarchar(1000) = NULL ,
|
102
|
@p_DESCRIPTION nvarchar(1000) = NULL ,
|
103
|
@p_AUTH_STATUS varchar(1) = NULL ,
|
104
|
@p_RECORD_STATUS varchar(1) = NULL ,
|
105
|
@p_MAKER_ID nvarchar(15) = NULL ,
|
106
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
107
|
@p_EDITOR_ID varchar(15) = NULL ,
|
108
|
@p_EDITOR_DT VARCHAR(20) = NULL,
|
109
|
@p_CHECKER_ID varchar(15) = NULL ,
|
110
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
111
|
@p_CIF_CODE VARCHAR(50) = NULL,
|
112
|
@p_XML_TEMP xml = NULL,
|
113
|
@p_BUSINESS_TYPE NVARCHAR(500) = NULL,
|
114
|
@p_CMND VARCHAR(50) = NULL
|
115
|
AS
|
116
|
/*
|
117
|
--Validation is here
|
118
|
*/
|
119
|
IF (EXISTS ( SELECT * FROM LS_CUSTOMER WHERE CUSTOMER_CODE=@p_CUSTOMER_CODE AND CUSTOMER_ID<> @p_CUSTOMER_ID ))
|
120
|
BEGIN
|
121
|
SELECT '-1' Result, '' CUSTOMER_ID, N'Mã khách hàng này đã tồn tại' ErrorDesc
|
122
|
RETURN '0'
|
123
|
END
|
124
|
IF(LEN(ISNULL(@p_CUSTOMER_CODE, '')) <> 8)
|
125
|
BEGIN
|
126
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Chỉnh sửa khách hàng thất bại! Mã khách hàng phải đủ 8 số' ErrorDesc
|
127
|
RETURN '-1'
|
128
|
END
|
129
|
IF(LEN(ISNULL(@p_CIF_CODE, '')) <> 8)
|
130
|
BEGIN
|
131
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Chỉnh sửa khách hàng thất bại! CIF phải đủ 8 số' ErrorDesc
|
132
|
RETURN '-1'
|
133
|
END
|
134
|
IF((SELECT TOP 1 ISNUMERIC(@p_CUSTOMER_CODE)) = 0)
|
135
|
BEGIN
|
136
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Chỉnh sửa khách hàng thất bại! Mã khách hàng chỉ nhận dữ liệu số, không nhận ký tự' ErrorDesc
|
137
|
RETURN '-1'
|
138
|
END
|
139
|
IF((SELECT TOP 1 ISNUMERIC(@p_CIF_CODE)) = 0)
|
140
|
BEGIN
|
141
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Chỉnh sửa khách hàng thất bại! CIF chỉ nhận dữ liệu số, không nhận ký tự' ErrorDesc
|
142
|
RETURN '-1'
|
143
|
END
|
144
|
|
145
|
IF(ISNULL(@p_CUSTOMER_NAME, '') = '')
|
146
|
BEGIN
|
147
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Chỉnh sửa khách hàng thất bại! Tên khách hàng không được để trống' ErrorDesc
|
148
|
RETURN '-1'
|
149
|
END
|
150
|
IF(dbo.fChuyenCoDauThanhKhongDau(@p_CUSTOMER_NAME) <> @p_CUSTOMER_NAME)
|
151
|
BEGIN
|
152
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Chỉnh sửa khách hàng thất bại! Tên khách hàng phải là tiếng việt không dấu, in hoa' ErrorDesc
|
153
|
RETURN '-1'
|
154
|
END
|
155
|
|
156
|
IF(ISNULL(@p_CUSTOMER_CODE, '') <> ISNULL(@p_CIF_CODE, ''))
|
157
|
BEGIN
|
158
|
SELECT '-1' Result, '' CUSTOMER_ID , N'Chỉnh sửa khách hàng thất bại! Mã khách hàng không khớp với CIF' ErrorDesc
|
159
|
RETURN '-1'
|
160
|
END
|
161
|
BEGIN TRANSACTION
|
162
|
UPDATE LS_CUSTOMER SET [CUSTOMER_CODE] = @p_CUSTOMER_CODE,
|
163
|
[GROUP_ID] = @p_GROUP_ID,[BRANCH_ID] = @p_BRANCH_ID,[ADDR] = @p_ADDR,
|
164
|
[EMAIL] = @p_EMAIL,[PHONE] = @p_PHONE,[TAX_NO] = @p_TAX_NO,
|
165
|
[CONTACT_PERSON] = @p_CONTACT_PERSON,[NOTES] = @p_NOTES,
|
166
|
[DESCRIPTION] = @p_DESCRIPTION,
|
167
|
[RECORD_STATUS] = @p_RECORD_STATUS,[MAKER_ID] = @p_MAKER_ID,
|
168
|
[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),[EDITOR_ID] = @p_EDITOR_ID,
|
169
|
[EDITOR_DT] = CONVERT(DATETIME, @p_EDITOR_DT, 103),[CHECKER_ID] = @p_CHECKER_ID,
|
170
|
[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103),[XML_TEMP] = @p_XML_TEMP,
|
171
|
[BUSINESS_TYPE]=@p_BUSINESS_TYPE,CIF_CODE=@p_CIF_CODE,CMND=@p_CMND
|
172
|
WHERE CUSTOMER_ID= @p_CUSTOMER_ID
|
173
|
|
174
|
IF @@Error <> 0 GOTO ABORT
|
175
|
COMMIT TRANSACTION
|
176
|
SELECT '0' as Result, @p_CUSTOMER_ID CUSTOMER_ID, '' ErrorDesc
|
177
|
RETURN '0'
|
178
|
ABORT:
|
179
|
BEGIN
|
180
|
ROLLBACK TRANSACTION
|
181
|
SELECT '-1' as Result, '' CUSTOMER_ID, '' ErrorDesc
|
182
|
RETURN '-1'
|
183
|
End
|
184
|
|
185
|
GO
|
186
|
|
187
|
|
188
|
ALTER PROCEDURE [dbo].[MW_OUT_KT_App]
|
189
|
@p_OUT_ID VARCHAR(15) = NULL,
|
190
|
@p_KT_CHECKER_ID VARCHAR(15) = NULL,
|
191
|
@p_KT_APPROVE_DT VARCHAR(20) = NULL,
|
192
|
@p_XmlData XML = NULL
|
193
|
AS
|
194
|
DECLARE
|
195
|
@OUT_DT_ID VARCHAR(15) = NULL,@ERROR NVARCHAR(500),
|
196
|
@TOTAL_AMT NUMERIC(18, 0) = NULL,
|
197
|
@BRANCH_CREATE VARCHAR(15) = NULL,
|
198
|
@CORE_NOTE NVARCHAR(1000) = NULL,
|
199
|
@KT_MAKER_ID VARCHAR(20) = NULL,
|
200
|
@BRANCH_ID VARCHAR(15) = NULL,
|
201
|
@DEPT_ID VARCHAR(15) = NULL,
|
202
|
@PRICE_ID VARCHAR(15) = NULL,
|
203
|
@GROUP_ID VARCHAR(15) = NULL,
|
204
|
@MATERIAL_ID VARCHAR(15) = NULL,@TO_BRN_ID VARCHAR(15) = NULL,@TO_DEPT_ID VARCHAR(15) = NULL,
|
205
|
@IS_PROMO VARCHAR(1) = NULL, @VAT NUMERIC(18, 0), @VAT_AMT NUMERIC(18, 0),@PRICE_VAT NUMERIC(18, 0),
|
206
|
--01-03-2019 : LUCTV BO SUNG NHUNG BIEN LIEN QUAN TOI PHAN UPDATE-INSERT KHI DUYET
|
207
|
@BRN_ID VARCHAR(15) =NULL,
|
208
|
@MAST_BAL_ID VARCHAR(15) =NULL,
|
209
|
@CUST_NAME NVARCHAR(200) =NULL,
|
210
|
@QTY DECIMAL(18,2)=NULL,
|
211
|
@PRICE NUMERIC(18, 0) =NULL,
|
212
|
@NOTES NVARCHAR(500) =NULL
|
213
|
|
214
|
DECLARE XmlData CURSOR FOR
|
215
|
SELECT A.OUT_DT_ID, A.TOTAL_AMT, A.TO_BRN_ID, A.TO_DEPT_ID, B.BRANCH_CREATE, B.CORE_NOTE,
|
216
|
B.KT_MAKER_ID, C.BRANCH_ID, C.DEPT_ID, D.PRICE_ID, E.GROUP_ID, E.MATERIAL_ID, A.IS_BCT /*E.IS_PROMO*/, E.VAT, E.PRICE_VAT,A.QTY,
|
217
|
A.TO_BRN_ID, A.MAST_BAL_ID,A.CUST_NAME,A.QTY,A.PRICE,A.NOTES, A.COST_ACC
|
218
|
FROM MW_OUT_DT A
|
219
|
INNER JOIN MW_OUT B ON A.OUT_ID = B.OUT_ID
|
220
|
INNER JOIN MW_MAST_BAL C ON A.MAST_BAL_ID = C.MAST_BAL_ID
|
221
|
INNER JOIN MW_MAST_PRICE D ON D.PRICE_ID = C.PRICE_ID
|
222
|
INNER JOIN MW_IN E ON D.MATERIAL_ID = E.IN_ID
|
223
|
WHERE A.OUT_ID = @p_OUT_ID
|
224
|
|
225
|
OPEN XmlData;
|
226
|
|
227
|
BEGIN TRANSACTION;
|
228
|
-- 02-04-19: KIEM TRA NEU DANG TRA VE THI KHONG DUOC PHEP DUYET
|
229
|
IF((SELECT KT_AUTH_STATUS FROM MW_OUT WHERE OUT_ID = @p_OUT_ID) ='R')
|
230
|
BEGIN
|
231
|
CLOSE XmlData
|
232
|
DEALLOCATE XmlData
|
233
|
ROLLBACK TRANSACTION
|
234
|
SELECT '-1' as Result,@p_OUT_ID OUT_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
|
235
|
RETURN '-1'
|
236
|
END
|
237
|
UPDATE [dbo].[MW_OUT]
|
238
|
SET KT_AUTH_STATUS = 'A',
|
239
|
KT_APPROVE_DT = CONVERT(DATETIME, @p_KT_APPROVE_DT, 103),
|
240
|
KT_CHECKER_ID = @p_KT_CHECKER_ID
|
241
|
WHERE [OUT_ID] = @p_OUT_ID;
|
242
|
IF @@Error <> 0
|
243
|
GOTO ABORT;
|
244
|
--Insert XmlData
|
245
|
--DELETE FROM MW_OUT_DT WHERE OUT_ID =@p_OUT_ID
|
246
|
DECLARE @EXP_ACCTNO VARCHAR(50), @MATERIAL_ACCTNO VARCHAR(50), @VAT_ACCTNO VARCHAR(50)
|
247
|
|
248
|
FETCH NEXT FROM XmlData INTO @OUT_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,
|
249
|
@TO_BRN_ID, @MAST_BAL_ID,@CUST_NAME,@QTY,@PRICE,@NOTES,@EXP_ACCTNO
|
250
|
DECLARE @l_SUM_QTY_BALANCE DECIMAL(18,2)=0,@BR_CODE VARCHAR(15),@DP_CODE VARCHAR(25)
|
251
|
DECLARE @l_REMAIN_AMT NUMERIC(18, 2)=0;
|
252
|
DECLARE @l_TOTAL_AMT NUMERIC(18, 2)=0;
|
253
|
DECLARE @INDEX INT =0
|
254
|
WHILE @@FETCH_STATUS = 0
|
255
|
BEGIN
|
256
|
|
257
|
-------- 01/03/2018 LUCTV: EDIT CODE KE TOAN DUYET THI MOI PHAT SINH UPDATE DU LIEU
|
258
|
SELECT @l_SUM_QTY_BALANCE=SUM(QTY_BALANCE),
|
259
|
@l_REMAIN_AMT=SUM(TOTAL_AMT)
|
260
|
FROM MW_MAST_BAL
|
261
|
WHERE MAST_BAL_ID=@MAST_BAL_ID;/*PRICE_ID=(SELECT PRICE_ID FROM MW_MAST_BAL WHERE MAST_BAL_ID=@MAST_BAL_ID)AND */
|
262
|
--IF(@QTY>@l_SUM_QTY_BALANCE)BEGIN
|
263
|
-- ROLLBACK TRANSACTION;
|
264
|
-- SELECT '-1' AS Result,
|
265
|
-- @p_OUT_ID OUT_ID,
|
266
|
-- N'Số lượng xuất vượt quá số lượng tồn' ErrorDesc;
|
267
|
-- RETURN '-1';
|
268
|
--END;
|
269
|
SET @INDEX = @INDEX+1
|
270
|
-- 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)
|
271
|
IF(@QTY > @l_SUM_QTY_BALANCE) /*(SELECT QTY_BALANCE FROM MW_MAST_BAL WHERE MAST_BAL_ID=@MAST_BAL_ID))*/
|
272
|
BEGIN
|
273
|
CLOSE XmlData
|
274
|
DEALLOCATE XmlData
|
275
|
ROLLBACK TRANSACTION
|
276
|
SELECT '-1' as Result, @p_OUT_ID OUT_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Số lượng xuất sử dụng vượt quá số lượng tồn' ErrorDesc
|
277
|
RETURN '-1'
|
278
|
END
|
279
|
DECLARE @p_OUT_DT_ID VARCHAR(15);
|
280
|
EXEC SYS_CodeMasters_Gen 'MW_OUT_DT', @p_OUT_DT_ID OUT;
|
281
|
IF @p_OUT_DT_ID='' OR @p_OUT_DT_ID IS NULL GOTO ABORT;
|
282
|
SELECT @BRN_ID=O.BRN_ID FROM dbo.MW_OUT O WHERE O.OUT_ID=@p_OUT_ID;
|
283
|
|
284
|
IF((@QTY-@l_SUM_QTY_BALANCE)=0)---LA LO CUOI CUNG
|
285
|
BEGIN
|
286
|
--SET @l_TOTAL_AMT=@l_TOTAL_AMT-@l_SUM_TOTAL_AMT; --THIEUVQ 070120
|
287
|
SET @TOTAL_AMT = @l_REMAIN_AMT; --THIEUVQ 070120
|
288
|
UPDATE MW_MAST_BAL
|
289
|
SET TOTAL_AMT= 0, --TOTAL_AMT-@TOTAL_AMT,--THIEUVQ 070120
|
290
|
QTY_BALANCE= 0 --QTY_BALANCE-@QTY--THIEUVQ 070120
|
291
|
WHERE MAST_BAL_ID=@MAST_BAL_ID;
|
292
|
--LUCTV:30-11-2018 NEU DOT XUAT SU DUNG DO LA CUOI CUNG. THI CAP NHAT NGUOC SO TIEN VE CHO BANG MW_OUT_DT
|
293
|
--UPDATE MW_OUT_DT SET TOTAL_AMT=@TOTAL_AMT WHERE OUT_DT_ID=@OUT_ID;
|
294
|
END;
|
295
|
ELSE
|
296
|
BEGIN
|
297
|
IF @TOTAL_AMT > @l_REMAIN_AMT SET @TOTAL_AMT = @l_REMAIN_AMT --THIEUVQ 070120
|
298
|
UPDATE MW_MAST_BAL
|
299
|
SET TOTAL_AMT=TOTAL_AMT-@TOTAL_AMT,
|
300
|
QTY_BALANCE=QTY_BALANCE-@QTY
|
301
|
WHERE MAST_BAL_ID=@MAST_BAL_ID;
|
302
|
END;
|
303
|
DECLARE @p_ID_MAS_BAL VARCHAR(15);
|
304
|
EXEC SYS_CodeMasters_Gen 'MW_MAST_BAL_STMT', @p_ID_MAS_BAL OUT;
|
305
|
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)
|
306
|
VALUES(@p_ID_MAS_BAL, @p_OUT_ID, @MAST_BAL_ID, (SELECT KT_APPROVE_DT FROM MW_OUT WHERE OUT_ID=@p_OUT_ID), (SELECT TRN_TIME FROM MW_OUT WHERE OUT_ID=@p_OUT_ID),
|
307
|
'O' , 'D', @QTY, @NOTES, @PRICE, @TOTAL_AMT);
|
308
|
----- END LUCTV 01-03-2019
|
309
|
---LAY TAI KHOAN HACH TOAN
|
310
|
SELECT /*@EXP_ACCTNO = EXP_ACCTNO,*/ @MATERIAL_ACCTNO = MATERIAL_ACCTNO, @VAT_ACCTNO = VAT_ACCTNO
|
311
|
FROM MW_MATERIAL WHERE MATERIAL_ID = @MATERIAL_ID
|
312
|
|
313
|
---NEU XUAT CHO KHACH HANG THI DON VI NO LA DV CHU QUAN
|
314
|
IF @TO_BRN_ID IS NULL OR @TO_BRN_ID = ''
|
315
|
BEGIN
|
316
|
SET @TO_BRN_ID = @BRANCH_ID
|
317
|
SET @TO_DEPT_ID = @DEPT_ID
|
318
|
END
|
319
|
---TRUONG HOP CN XUAT PHONG BAN TRUC THUOC HOI SO
|
320
|
IF @TO_DEPT_ID IS NOT NULL AND @TO_DEPT_ID <> ''
|
321
|
BEGIN
|
322
|
--LAY MA BRANCH CODE
|
323
|
SET @BR_CODE = (SELECT BRANCH_CODE FROM CM_BRANCH WHERE BRANCH_ID = @TO_BRN_ID)
|
324
|
SET @DP_CODE = (SELECT DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID = @TO_DEPT_ID)
|
325
|
--KIEM TRA MA PHONG BAN KHAC MA DON VI QUAN LY HIEN TAI THI GAN LAI BRANCH_ID
|
326
|
IF @BR_CODE <> LEFT(@DP_CODE,3)
|
327
|
BEGIN
|
328
|
SET @TO_BRN_ID = (SELECT BRANCH_ID FROM CM_BRANCH WHERE BRANCH_CODE = LEFT(@DP_CODE,3) )
|
329
|
END
|
330
|
END
|
331
|
|
332
|
|
333
|
|
334
|
---KIEM TRA CO THUE DAU RA HAY KHONG
|
335
|
IF(@IS_PROMO = 'Y') --CO THUE VAT DAU RA, HACH TOAN BUT TOAN VAT
|
336
|
BEGIN
|
337
|
---NO TK CHI PHI - NEU NGUOI NHAN LA KHACH HANG THI HACH TOAN CHO DV CHU QUAN, NEU LA PHONG BAN NHAN THI HACH TOAN CHO PHONG BAN
|
338
|
---CO TK VAT LIEU - DON VI CHU QUAN
|
339
|
EXEC [dbo].[MW_ENTRIES_POST_Insert] @PRICE_ID, 'MW_OUT_VAT', @OUT_DT_ID, @BRANCH_CREATE, @MATERIAL_ACCTNO, @BRANCH_ID, @EXP_ACCTNO, @TO_BRN_ID, @TOTAL_AMT, 'Y',
|
340
|
@p_KT_APPROVE_DT, @CORE_NOTE, @KT_MAKER_ID, @p_KT_CHECKER_ID, @p_OUT_ID,@TO_DEPT_ID, @ERROR OUT
|
341
|
IF @ERROR <> '0' GOTO ABORT
|
342
|
|
343
|
SET @VAT=10
|
344
|
--TINH SO TIEN VAT
|
345
|
SET @VAT_AMT = ROUND(@TOTAL_AMT*@VAT/100,0)
|
346
|
|
347
|
--NO TK CHI PHI - CO TK VAT
|
348
|
EXEC [dbo].[MW_ENTRIES_POST_Insert] @PRICE_ID, 'MW_OUT_VAT', @OUT_DT_ID, @BRANCH_CREATE, @VAT_ACCTNO, @BRANCH_ID, @EXP_ACCTNO, @TO_BRN_ID, @VAT_AMT, 'Y',
|
349
|
@p_KT_APPROVE_DT, @CORE_NOTE, @KT_MAKER_ID, @p_KT_CHECKER_ID, @p_OUT_ID,@TO_DEPT_ID, @ERROR OUT
|
350
|
IF @ERROR <> '0' GOTO ABORT
|
351
|
END
|
352
|
ELSE
|
353
|
BEGIN
|
354
|
---NO TK CHI PHI - NEU NGUOI NHAN LA KHACH HANG THI HACH TOAN CHO DV CHU QUAN, NEU LA PHONG BAN NHAN THI HACH TOAN CHO PHONG BAN
|
355
|
---CO TK VAT LIEU - DON VI CHU QUAN
|
356
|
EXEC [dbo].[MW_ENTRIES_POST_Insert] @PRICE_ID, 'MW_OUT', @OUT_DT_ID, @BRANCH_CREATE, @MATERIAL_ACCTNO, @BRANCH_ID, @EXP_ACCTNO, @TO_BRN_ID, @TOTAL_AMT, 'Y',
|
357
|
@p_KT_APPROVE_DT, @CORE_NOTE, @KT_MAKER_ID, @p_KT_CHECKER_ID, @p_OUT_ID,@TO_DEPT_ID, @ERROR OUT
|
358
|
IF @ERROR <> '0' GOTO ABORT
|
359
|
END
|
360
|
|
361
|
FETCH NEXT FROM XmlData INTO @OUT_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,
|
362
|
@TO_BRN_ID, @MAST_BAL_ID,@CUST_NAME,@QTY,@PRICE,@NOTES,@EXP_ACCTNO
|
363
|
END;
|
364
|
CLOSE XmlData;
|
365
|
DEALLOCATE XmlData;
|
366
|
|
367
|
--doanptt 05/05/2022 thêm lịch sử xử lý
|
368
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
369
|
VALUES(@p_OUT_ID,'KTAPP',@p_KT_CHECKER_ID,GETDATE(), N'Kế toán duyệt phiếu',N'Kế toán duyệt phiếu')
|
370
|
|
371
|
IF((SELECT COUNT(*) FROM PL_PROCESS WHERE REQ_ID = @p_OUT_ID AND PROCESS_ID = 'KTAPP' AND PROCESS_DESC = N'Kế toán duyệt phiếu') > 1)
|
372
|
BEGIN
|
373
|
ROLLBACK TRANSACTION
|
374
|
SELECT '1' AS Result, @p_OUT_ID OUT_ID,'' ErrorDesc;
|
375
|
RETURN '1';
|
376
|
END
|
377
|
|
378
|
COMMIT TRANSACTION;
|
379
|
SELECT '0' AS Result, @p_OUT_ID OUT_ID,'' ErrorDesc;
|
380
|
RETURN '0';
|
381
|
ABORT:
|
382
|
BEGIN
|
383
|
CLOSE XmlData;
|
384
|
DEALLOCATE XmlData;
|
385
|
ROLLBACK TRANSACTION;
|
386
|
SELECT '-1' AS Result,'' OUT_ID, '' ErrorDesc;
|
387
|
RETURN '-1';
|
388
|
END;
|
389
|
|
390
|
--29052023_secretkey
|