1
|
ALTER PROCEDURE [dbo].[MW_OUT_Ins] @p_TRN_Date VARCHAR(25)=NULL, @p_TRN_TIME VARCHAR(50) =NULL, @p_BRN_ID VARCHAR(15) =NULL, @p_DEPT_ID VARCHAR(15) =NULL,
|
2
|
@p_QTY DECIMAL(18,2)=NULL, @p_PRICE NUMERIC(18, 0) =NULL, @p_TOTAL_AMT NUMERIC(18, 2) =NULL, @p_NOTES NVARCHAR(1000), @p_OUT_DESC NVARCHAR(500) =NULL,
|
3
|
@p_AUTH_STATUS VARCHAR(1) =NULL, @p_MAKER_ID VARCHAR(15) =NULL, @p_CREATE_DT VARCHAR(25)=NULL, @p_CHECKER_ID VARCHAR(15) =NULL, @p_APPROVE_DT VARCHAR(25)=NULL,
|
4
|
@p_KT_AUTH_STATUS VARCHAR(1) =NULL, @p_KT_MAKER_ID VARCHAR(15) =NULL, @p_KT_CREATE_DT VARCHAR(25)=NULL, @p_KT_CHECKER_ID VARCHAR(15) =NULL,
|
5
|
@p_KT_APPROVE_DT VARCHAR(25)=NULL, @p_RECORD_STATUS VARCHAR(1) =NULL, @p_XmlData XML=NULL, @p_CORE_NOTE NVARCHAR(500) =NULL,
|
6
|
@p_BRANCH_CREATE VARCHAR(15) =NULL,@p_WARE_HOUSE VARCHAR(15) = NULL
|
7
|
AS
|
8
|
DECLARE
|
9
|
--DVSD
|
10
|
--@OUT_DT_ID varchar(15),
|
11
|
@p_OUT_CODE NVARCHAR(100) = NULL,
|
12
|
@OUT_ID VARCHAR(15) =NULL, @MAST_BAL_ID VARCHAR(15) =NULL, @CUST_NAME NVARCHAR(200) =NULL, @QTY DECIMAL(18,2)=NULL, @QTY_OLD DECIMAL(18,2)=NULL, @PRICE NUMERIC(18, 0) =NULL,
|
13
|
@TOTAL_AMT NUMERIC(18, 2) =NULL, @NOTES NVARCHAR(1000) =NULL, @TO_BRN_ID VARCHAR(15) =NULL, @TO_DEPT_ID VARCHAR(15) =NULL,@EVENT_NAME NVARCHAR(1000) = NULL,
|
14
|
@IS_BCT VARCHAR(1) = 'N',-- LUCTV BO SUNG 05-04-2019 TEN SU KIEN TREN LUOI DS XUAT VAT LIEU
|
15
|
@COST_ACC VARCHAR(50) = NULL
|
16
|
DECLARE @INDEX INT =0
|
17
|
DECLARE @PRICE_CODE VARCHAR(30)
|
18
|
DECLARE @hdoc INT;
|
19
|
EXEC sp_xml_preparedocument @hdoc OUTPUT, @p_XmlData;
|
20
|
DECLARE XmlData CURSOR FOR
|
21
|
SELECT *
|
22
|
FROM
|
23
|
OPENXML(@hdoc, '/Root/XmlData', 2)
|
24
|
WITH(OUT_ID VARCHAR(15), MAST_BAL_ID VARCHAR(15),
|
25
|
CUST_NAME NVARCHAR(200), QTY DECIMAL(18,2), QTY_OLD DECIMAL(18,2),
|
26
|
PRICE NUMERIC(18, 0), TOTAL_AMT NUMERIC(18, 2), NOTES NVARCHAR(1000),
|
27
|
TO_BRN_ID VARCHAR(15), TO_DEPT_ID VARCHAR(15),EVENT_NAME NVARCHAR(1000),IS_BCT VARCHAR(1),COST_ACC VARCHAR(50))
|
28
|
OPEN XmlData;
|
29
|
|
30
|
BEGIN TRANSACTION;
|
31
|
DECLARE @p_OUT_ID VARCHAR(15), @l_COST_ACC VARCHAR(50);
|
32
|
EXEC [MW_OUT_CODE_Gen] @p_BRANCH_CREATE,@p_WARE_HOUSE, @p_OUT_CODE OUT;
|
33
|
|
34
|
EXEC SYS_CodeMasters_Gen 'MW_OUT', @p_OUT_ID OUT;
|
35
|
IF @p_OUT_ID='' OR @p_OUT_ID IS NULL GOTO ABORT;
|
36
|
|
37
|
INSERT INTO [dbo].[MW_OUT]([OUT_ID], [TRN_Date], [TRN_TIME], [BRN_ID], [DEPT_ID], [QTY], [PRICE], [TOTAL_AMT], [NOTES], [OUT_DESC], [AUTH_STATUS], [MAKER_ID],
|
38
|
[CREATE_DT], [CHECKER_ID], [APPROVE_DT], [KT_AUTH_STATUS], [KT_MAKER_ID], [KT_CREATE_DT], [KT_CHECKER_ID], [KT_APPROVE_DT], [RECORD_STATUS], [CORE_NOTE],
|
39
|
[BRANCH_CREATE],[WARE_HOUSE],[OUT_CODE])
|
40
|
SELECT @p_OUT_ID, CONVERT(DATETIME, @p_TRN_Date, 103), @p_TRN_TIME, @p_BRN_ID, @p_DEPT_ID, @p_QTY, @p_PRICE, @p_TOTAL_AMT, @p_NOTES, @p_OUT_DESC, 'U',
|
41
|
@p_MAKER_ID, CONVERT(DATETIME, @p_CREATE_DT, 103), NULL, NULL, 'U', NULL, NULL, NULL, NULL, '1', @p_CORE_NOTE, @p_BRANCH_CREATE,@p_WARE_HOUSE,@p_OUT_CODE;
|
42
|
IF @@error<>0 GOTO ABORT;
|
43
|
--Insert XmlData
|
44
|
FETCH NEXT FROM XmlData
|
45
|
INTO @OUT_ID, @MAST_BAL_ID, @CUST_NAME, @QTY, @QTY_OLD, @PRICE, @TOTAL_AMT, @NOTES, @TO_BRN_ID, @TO_DEPT_ID,@EVENT_NAME,@IS_BCT,@COST_ACC
|
46
|
WHILE @@fetch_status=0 BEGIN
|
47
|
SET @INDEX = @INDEX+1
|
48
|
SET @PRICE_CODE = (SELECT PRICE_CODE FROM MW_MAST_PRICE WHERE PRICE_ID =(SELECT PRICE_ID FROM MW_MAST_BAL WHERE MAST_BAL_ID=@MAST_BAL_ID))
|
49
|
|
50
|
SET @l_COST_ACC = (SELECT TOP 1 COST_ACC = CASE WHEN MT.GROUP_ID = 'MWG000000016073' and LEN(@COST_ACC) > 0 then @COST_ACC
|
51
|
WHEN @COST_ACC = null then MT.EXP_ACCTNO
|
52
|
WHEN @COST_ACC = '' then MT.EXP_ACCTNO
|
53
|
ELSE MT.EXP_ACCTNO
|
54
|
END
|
55
|
FROM dbo.MW_MAST_BAL A
|
56
|
LEFT JOIN MW_MATERIAL MT ON A.MATERIAL_ID = MT.MATERIAL_ID
|
57
|
WHERE A.MAST_BAL_ID = @MAST_BAL_ID)
|
58
|
|
59
|
IF(@l_COST_ACC <> @COST_ACC)
|
60
|
BEGIN
|
61
|
ROLLBACK TRANSACTION
|
62
|
CLOSE XmlData;
|
63
|
DEALLOCATE XmlData;
|
64
|
SELECT '-1' as Result, '' OUT_ID, N'Danh sách đơn vị/ khách hàng nhận, Dòng ' + CONVERT(VARCHAR(5),@INDEX)+N': Tài khoản chi phí sai quy định. Bạn chỉ được điều chỉnh tài khoản chi phí của vật liệu thuộc nhóm Vật Liệu Thẻ Dùng Chung.' ErrorDesc
|
65
|
RETURN '-1'
|
66
|
END
|
67
|
|
68
|
IF(@COST_ACC IS NULL OR @COST_ACC = '')
|
69
|
BEGIN
|
70
|
ROLLBACK TRANSACTION
|
71
|
CLOSE XmlData;
|
72
|
DEALLOCATE XmlData;
|
73
|
SELECT '-1' as Result, '' OUT_ID, N'Danh sách đơn vị/ khách hàng nhận, Dòng ' + CONVERT(VARCHAR(5),@INDEX)+N': Tài khoản chi phí không được để trống' ErrorDesc
|
74
|
RETURN '-1'
|
75
|
END
|
76
|
--LUCTV: 30-11-2018 BO SUNG HAM KIEM TRA LO VAT LIEU NEU DANG DUOC XUAT SU DUNG THI PHAI CHO DUYET XONG MOI TAO MOI XUAT SD
|
77
|
--IF(EXISTS(SELECT * FROM MW_OUT_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND OUT_ID IN (SELECT OUT_ID FROM MW_OUT WHERE KT_AUTH_STATUS<>'A' AND RECORD_STATUS='1' AND OUT_ID <> @p_OUT_ID)))
|
78
|
--BEGIN
|
79
|
-- CLOSE XmlData;
|
80
|
-- DEALLOCATE XmlData;
|
81
|
-- ROLLBACK TRANSACTION;
|
82
|
-- SELECT '-1' AS Result, '' OUT_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã là '+@PRICE_CODE +N' đang được xuất sử dụng. Vui lòng duyệt thông tin trước khi tạo đợt mới' ErrorDesc;
|
83
|
-- RETURN '-1';
|
84
|
--END
|
85
|
----LUCTV: 08-03-2019 BO SUNG HAM KIEM TRA LO VAT LIEU NEU DANG DUOC DIEU CHUYEN THI PHAI CHO DUYET XONG MOI TAO MOI XUAT SD
|
86
|
--IF(EXISTS(SELECT * FROM MW_TRANSFER_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND TRANSFER_ID IN (SELECT TRANSFER_ID FROM MW_TRANSFER WHERE KT_AUTH_STATUS<>'A' AND RECORD_STATUS='1')))
|
87
|
--BEGIN
|
88
|
-- CLOSE XmlData;
|
89
|
-- DEALLOCATE XmlData;
|
90
|
-- ROLLBACK TRANSACTION;
|
91
|
-- SELECT '-1' AS Result, '' OUT_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã '+@PRICE_CODE +N' đang được điều chuyển. Vui lòng duyệt thông tin trước khi tạo đợt mới' ErrorDesc;
|
92
|
-- RETURN '-1';
|
93
|
--END
|
94
|
----LUCTV: 08-03-2019 BO SUNG HAM KIEM TRA LO VAT LIEU NEU DANG DUOC THANH LY THI PHAI CHO DUYET XONG MOI TAO MOI XUAT SD
|
95
|
--IF(EXISTS(SELECT * FROM MW_LIQ_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND LIQ_ID IN (SELECT LIQ_ID FROM MW_LIQ_MASTER WHERE KT_AUTH_STATUS<>'A' AND RECORD_STATUS='1')))
|
96
|
--BEGIN
|
97
|
-- CLOSE XmlData;
|
98
|
-- DEALLOCATE XmlData;
|
99
|
-- ROLLBACK TRANSACTION;
|
100
|
-- SELECT '-1' AS Result, '' OUT_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã '+@PRICE_CODE +N' đang được thanh lý. Vui lòng duyệt thông tin trước khi tạo đợt mới' ErrorDesc;
|
101
|
-- RETURN '-1';
|
102
|
--END
|
103
|
---- 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)
|
104
|
|
105
|
-- 22/04/2022 doanptt dòng 124-131 không chính xác, cần xác nhận lại
|
106
|
IF(@QTY > @QTY_OLD)
|
107
|
BEGIN
|
108
|
CLOSE XmlData
|
109
|
DEALLOCATE XmlData
|
110
|
ROLLBACK TRANSACTION
|
111
|
SELECT '-1' as Result, @OUT_ID OUT_ID, N'Danh sách đơn vị, khách hàng nhậ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
|
112
|
RETURN '-1'
|
113
|
END
|
114
|
|
115
|
IF(@QTY > (SELECT QTY_BALANCE FROM MW_MAST_BAL WHERE MAST_BAL_ID=@MAST_BAL_ID))
|
116
|
BEGIN
|
117
|
CLOSE XmlData
|
118
|
DEALLOCATE XmlData
|
119
|
ROLLBACK TRANSACTION
|
120
|
SELECT '-1' as Result, @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
|
121
|
RETURN '-1'
|
122
|
END
|
123
|
--END
|
124
|
DECLARE @p_OUT_DT_ID VARCHAR(15);
|
125
|
EXEC SYS_CodeMasters_Gen 'MW_OUT_DT', @p_OUT_DT_ID OUT;
|
126
|
IF @p_OUT_DT_ID='' OR @p_OUT_DT_ID IS NULL GOTO ABORT;
|
127
|
INSERT INTO [dbo].[MW_OUT_DT]([OUT_DT_ID], [OUT_ID], [MAST_BAL_ID], [CUST_NAME], [QTY], [QTY_OLD], [PRICE], [TOTAL_AMT], [NOTES], [TO_BRN_ID], [TO_DEPT_ID],[EVENT_NAME],[IS_BCT],[COST_ACC])
|
128
|
SELECT @p_OUT_DT_ID, @p_OUT_ID, @MAST_BAL_ID, @CUST_NAME, @QTY, @QTY_OLD, @PRICE, @QTY*@PRICE, @NOTES, @TO_BRN_ID, @TO_DEPT_ID,@EVENT_NAME,@IS_BCT,@COST_ACC
|
129
|
|
130
|
--INSERT INTO [dbo].[MW_OUT_DT] ([OUT_DT_ID], [OUT_ID], [MAST_BAL_ID], [FR_BRN_ID], [FR_DEPT_ID], [FR_PRICE_ID], [TO_BRN_ID], [TO_DEPT_ID], [QTY], [QTY_OLD], [PRICE], [TOTAL_AMT], [NOTES])
|
131
|
--VALUES( @p_OUT_DT_ID, @p_OUT_ID, @MAST_BAL_ID, @FR_BRN_ID, @FR_DEPT_ID, @FR_PRICE_ID, @TO_BRN_ID, @TO_DEPT_ID, @QTY, @QTY_OLD, @PRICE, @TOTAL_AMT, @NOTES)
|
132
|
IF @@error<>0 GOTO ABORT;
|
133
|
FETCH NEXT FROM XmlData
|
134
|
INTO @OUT_ID, @MAST_BAL_ID, @CUST_NAME, @QTY, @QTY_OLD, @PRICE, @TOTAL_AMT, @NOTES, @TO_BRN_ID, @TO_DEPT_ID,@EVENT_NAME,@IS_BCT,@COST_ACC
|
135
|
END;
|
136
|
CLOSE XmlData;
|
137
|
DEALLOCATE XmlData;
|
138
|
UPDATE MW_OUT
|
139
|
SET TOTAL_AMT = (SELECT SUM(TOTAL_AMT) FROM MW_OUT_DT WHERE OUT_ID =@p_OUT_ID)
|
140
|
WHERE OUT_ID =@p_OUT_ID
|
141
|
|
142
|
-- doanptt 12/07/2022: Thêm process
|
143
|
DELETE dbo.PL_PROCESS WHERE REQ_ID = @p_OUT_ID AND PROCESS_ID = 'INSERT'
|
144
|
INSERT INTO dbo.PL_PROCESS
|
145
|
(
|
146
|
REQ_ID,
|
147
|
PROCESS_ID,
|
148
|
CHECKER_ID,
|
149
|
APPROVE_DT,
|
150
|
PROCESS_DESC,NOTES
|
151
|
)
|
152
|
VALUES
|
153
|
( @p_OUT_ID, -- REQ_ID - varchar(15)
|
154
|
'INSERT', -- PROCESS_ID - varchar(10)
|
155
|
@p_MAKER_ID, -- CHECKER_ID - varchar(15)
|
156
|
GETDATE(), -- APPROVE_DT - datetime
|
157
|
N'Thêm mới phiếu xuất vật liệu thành công' ,
|
158
|
N'Thêm mới phiếu xuất vật liệu' -- PROCESS_DESC - nvarchar(1000)
|
159
|
)
|
160
|
|
161
|
COMMIT TRANSACTION;
|
162
|
SELECT '0' AS Result, @p_OUT_ID OUT_ID, '' ErrorDesc;
|
163
|
RETURN '0';
|
164
|
ABORT:
|
165
|
BEGIN
|
166
|
CLOSE XmlData;
|
167
|
DEALLOCATE XmlData;
|
168
|
ROLLBACK TRANSACTION;
|
169
|
SELECT '-1' AS Result, '' OUT_ID, '' ErrorDesc;
|
170
|
RETURN '-1';
|
171
|
END;
|
172
|
|
173
|
GO
|
174
|
|
175
|
|
176
|
ALTER PROCEDURE [dbo].[MW_OUT_Upd]
|
177
|
@p_OUT_ID VARCHAR(15) = NULL,
|
178
|
@p_TRN_Date VARCHAR(25) = NULL,
|
179
|
@p_TRN_TIME VARCHAR(50) = NULL,
|
180
|
@p_BRN_ID VARCHAR(15) = NULL,
|
181
|
@p_DEPT_ID VARCHAR(15) = NULL,
|
182
|
@p_QTY DECIMAL(18,2) = NULL,
|
183
|
@p_PRICE NUMERIC(18, 0) = NULL,
|
184
|
@p_TOTAL_AMT NUMERIC(18, 2) = NULL,
|
185
|
@p_NOTES NVARCHAR(1000),
|
186
|
@p_OUT_DESC NVARCHAR(500) = NULL,
|
187
|
@p_AUTH_STATUS VARCHAR(1) = NULL,
|
188
|
@p_MAKER_ID VARCHAR(15) = NULL,
|
189
|
@p_CREATE_DT VARCHAR(25) = NULL,
|
190
|
@p_CHECKER_ID VARCHAR(15) = NULL,
|
191
|
@p_APPROVE_DT VARCHAR(25) = NULL,
|
192
|
@p_KT_AUTH_STATUS VARCHAR(1) = NULL,
|
193
|
@p_KT_MAKER_ID VARCHAR(15) = NULL,
|
194
|
@p_KT_CREATE_DT VARCHAR(25) = NULL,
|
195
|
@p_KT_CHECKER_ID VARCHAR(15) = NULL,
|
196
|
@p_KT_APPROVE_DT VARCHAR(25) = NULL,
|
197
|
@p_RECORD_STATUS VARCHAR(1) = NULL,
|
198
|
@p_XmlData XML = NULL,
|
199
|
@p_CORE_NOTE nvarchar(500) = NULL,
|
200
|
@p_WARE_HOUSE VARCHAR(15) = NULL
|
201
|
AS
|
202
|
DECLARE
|
203
|
--DVSD
|
204
|
@OUT_ID VARCHAR(15) = NULL,
|
205
|
@MAST_BAL_ID VARCHAR(15) = NULL,
|
206
|
@CUST_NAME NVARCHAR(200) = NULL,
|
207
|
@QTY DECIMAL(18,2) = NULL,
|
208
|
@QTY_OLD DECIMAL(18,2) = NULL,
|
209
|
@PRICE NUMERIC(18, 0) = NULL,
|
210
|
@TOTAL_AMT NUMERIC(18, 2) = NULL,
|
211
|
@NOTES NVARCHAR(1000) = NULL,
|
212
|
@TO_BRN_ID varchar(15) = NULL,
|
213
|
@TO_DEPT_ID varchar(15) = NULL,
|
214
|
@EVENT_NAME NVARCHAR(1000) = NULL, --LUCTV BO SUNG 15-02-2019 TEN SU KIEN TREN LUOI DS XUAT VAT LIEU
|
215
|
@IS_BCT VARCHAR(1) = 'N',-- LUCTV BO SUNG 05-04-2019 TEN SU KIEN TREN LUOI DS XUAT VAT LIEU
|
216
|
@COST_ACC VARCHAR(50) = NULL
|
217
|
DECLARE @INDEX INT =0
|
218
|
DECLARE @PRICE_CODE VARCHAR(30)
|
219
|
DECLARE @hdoc INT;
|
220
|
EXEC sp_xml_preparedocument @hdoc OUTPUT, @p_XmlData;
|
221
|
DECLARE XmlData CURSOR FOR
|
222
|
SELECT *
|
223
|
FROM
|
224
|
OPENXML(@hdoc, '/Root/XmlData', 2)
|
225
|
WITH
|
226
|
(
|
227
|
OUT_ID VARCHAR(15),
|
228
|
MAST_BAL_ID VARCHAR(15),
|
229
|
--FR_BRN_ID varchar(15) ,
|
230
|
--FR_DEPT_ID varchar(15) ,
|
231
|
--FR_PRICE_ID varchar(15) ,
|
232
|
--TO_BRN_ID varchar(15) ,
|
233
|
--TO_DEPT_ID varchar(15) ,
|
234
|
CUST_NAME NVARCHAR(200),
|
235
|
QTY DECIMAL(18,2),
|
236
|
QTY_OLD DECIMAL(18,2) ,
|
237
|
PRICE NUMERIC(18, 0),
|
238
|
TOTAL_AMT NUMERIC(18, 2),
|
239
|
NOTES NVARCHAR(1000),
|
240
|
TO_BRN_ID varchar(15),
|
241
|
TO_DEPT_ID varchar(15),
|
242
|
EVENT_NAME NVARCHAR(1000),
|
243
|
IS_BCT VARCHAR(1),-- LUCTV BO SUNG 05-04-2019 TEN SU KIEN TREN LUOI DS XUAT VAT LIEU
|
244
|
COST_ACC VARCHAR(50)
|
245
|
);
|
246
|
OPEN XmlData;
|
247
|
BEGIN TRANSACTION;
|
248
|
UPDATE [dbo].[MW_OUT]
|
249
|
SET
|
250
|
[QTY] = @p_QTY,
|
251
|
AUTH_STATUS='U',
|
252
|
[PRICE] = @p_PRICE,
|
253
|
[TOTAL_AMT] = @p_TOTAL_AMT,
|
254
|
[NOTES] = @p_NOTES,
|
255
|
MAKER_ID=@p_MAKER_ID,
|
256
|
[CORE_NOTE] = @p_CORE_NOTE,
|
257
|
WARE_HOUSE= @p_WARE_HOUSE,DEPT_ID = @p_DEPT_ID
|
258
|
WHERE [OUT_ID] = @p_OUT_ID;
|
259
|
IF @@Error <> 0
|
260
|
GOTO ABORT;
|
261
|
--Insert XmlData
|
262
|
DECLARE @l_COST_ACC VARCHAR(50);
|
263
|
DELETE FROM MW_OUT_DT
|
264
|
WHERE OUT_ID = @p_OUT_ID;
|
265
|
FETCH NEXT FROM XmlData
|
266
|
INTO @OUT_ID, @MAST_BAL_ID, @CUST_NAME, @QTY, @QTY_OLD,@PRICE,@TOTAL_AMT, @NOTES,@TO_BRN_ID, @TO_DEPT_ID, @EVENT_NAME,@IS_BCT, @COST_ACC
|
267
|
WHILE @@FETCH_STATUS = 0
|
268
|
BEGIN
|
269
|
SET @INDEX = @INDEX +1
|
270
|
SET @PRICE_CODE =(SELECT PRICE_CODE FROM MW_MAST_PRICE WHERE PRICE_ID =(SELECT PRICE_ID FROM MW_MAST_BAL WHERE MAST_BAL_ID=@MAST_BAL_ID))
|
271
|
|
272
|
SET @l_COST_ACC = (SELECT TOP 1 COST_ACC = CASE WHEN MT.GROUP_ID = 'MWG000000016073' and LEN(@COST_ACC) > 0 then @COST_ACC
|
273
|
WHEN @COST_ACC = null then MT.EXP_ACCTNO
|
274
|
WHEN @COST_ACC = '' then MT.EXP_ACCTNO
|
275
|
ELSE MT.EXP_ACCTNO
|
276
|
END
|
277
|
FROM dbo.MW_MAST_BAL A
|
278
|
LEFT JOIN MW_MATERIAL MT ON A.MATERIAL_ID = MT.MATERIAL_ID
|
279
|
WHERE A.MAST_BAL_ID = @MAST_BAL_ID)
|
280
|
|
281
|
IF(@COST_ACC IS NULL OR @COST_ACC = '')
|
282
|
BEGIN
|
283
|
ROLLBACK TRANSACTION
|
284
|
CLOSE XmlData;
|
285
|
DEALLOCATE XmlData;
|
286
|
SELECT '-1' as Result, '' OUT_ID, N'Danh sách đơn vị/ khách hàng nhận, Dòng ' + CONVERT(VARCHAR(5),@INDEX)+N': Tài khoản chi phí không được để trống' ErrorDesc
|
287
|
RETURN '-1'
|
288
|
END
|
289
|
IF(@l_COST_ACC <> @COST_ACC)
|
290
|
BEGIN
|
291
|
ROLLBACK TRANSACTION
|
292
|
CLOSE XmlData;
|
293
|
DEALLOCATE XmlData;
|
294
|
SELECT '-1' as Result, '' OUT_ID, N'Danh sách đơn vị/ khách hàng nhận, Dòng ' + CONVERT(VARCHAR(5),@INDEX)+N': Tài khoản chi phí sai quy định. Bạn chỉ được điều chỉnh tài khoản chi phí của vật liệu thuộc nhóm Vật Liệu Thẻ Dùng Chung.' ErrorDesc
|
295
|
RETURN '-1'
|
296
|
END
|
297
|
--LUCTV: 03-1-2019 BO SUNG HAM KIEM TRA LO VAT LIEU NEU DANG DUOC XUAT SU DUNG THI PHAI CHO DUYET XONG MOI TAO MOI XUAT SD
|
298
|
--IF(EXISTS(SELECT * FROM MW_OUT_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND OUT_ID<>@p_OUT_ID AND OUT_ID IN (SELECT OUT_ID FROM MW_OUT WHERE KT_AUTH_STATUS<>'A' AND RECORD_STATUS='1')))
|
299
|
--BEGIN
|
300
|
-- CLOSE XmlData;
|
301
|
-- DEALLOCATE XmlData;
|
302
|
-- ROLLBACK TRANSACTION;
|
303
|
-- SELECT '-1' AS Result, '' OUT_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã '+@PRICE_CODE +N' đang được xuất sử dụng. Vui lòng duyệt thông tin trước khi tạo đợt mới' ErrorDesc;
|
304
|
-- RETURN '-1';
|
305
|
--END
|
306
|
----LUCTV: 08-03-2019 BO SUNG HAM KIEM TRA LO VAT LIEU NEU DANG DUOC DIEU CHUYEN THI PHAI CHO DUYET XONG MOI TAO MOI XUAT SD
|
307
|
--IF(EXISTS(SELECT * FROM MW_TRANSFER_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND TRANSFER_ID IN (SELECT TRANSFER_ID FROM MW_TRANSFER WHERE KT_AUTH_STATUS<>'A' AND RECORD_STATUS='1')))
|
308
|
--BEGIN
|
309
|
-- CLOSE XmlData;
|
310
|
-- DEALLOCATE XmlData;
|
311
|
-- ROLLBACK TRANSACTION;
|
312
|
-- SELECT '-1' AS Result, '' OUT_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã '+@PRICE_CODE +N' đang được điều chuyển. Vui lòng duyệt thông tin trước khi tạo đợt mới' ErrorDesc;
|
313
|
-- RETURN '-1';
|
314
|
--END
|
315
|
----LUCTV: 08-03-2019 BO SUNG HAM KIEM TRA LO VAT LIEU NEU DANG DUOC THANH LY THI PHAI CHO DUYET XONG MOI TAO MOI XUAT SD
|
316
|
--IF(EXISTS(SELECT * FROM MW_LIQ_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND LIQ_ID IN (SELECT LIQ_ID FROM MW_LIQ_MASTER WHERE KT_AUTH_STATUS<>'A' AND RECORD_STATUS='1')))
|
317
|
--BEGIN
|
318
|
-- CLOSE XmlData;
|
319
|
-- DEALLOCATE XmlData;
|
320
|
-- ROLLBACK TRANSACTION;
|
321
|
-- SELECT '-1' AS Result, '' OUT_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã '+@PRICE_CODE +N' đang được thanh lý. Vui lòng duyệt thông tin trước khi tạo đợt mới' ErrorDesc;
|
322
|
-- RETURN '-1';
|
323
|
--END
|
324
|
-- 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)
|
325
|
|
326
|
-- 22/04/2022 doanptt
|
327
|
IF(@QTY > @QTY_OLD)
|
328
|
BEGIN
|
329
|
CLOSE XmlData
|
330
|
DEALLOCATE XmlData
|
331
|
ROLLBACK TRANSACTION
|
332
|
SELECT '-1' as Result, @OUT_ID OUT_ID, N'Danh sách đơn vị, khách hàng nhậ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
|
333
|
RETURN '-1'
|
334
|
END
|
335
|
|
336
|
DECLARE @p_OUT_DT_ID VARCHAR(15);
|
337
|
EXEC SYS_CodeMasters_Gen 'MW_OUT_DT', @p_OUT_DT_ID OUT;
|
338
|
IF @p_OUT_DT_ID = ''
|
339
|
OR @p_OUT_DT_ID IS NULL
|
340
|
GOTO ABORT;
|
341
|
INSERT INTO [dbo].[MW_OUT_DT]
|
342
|
(
|
343
|
[OUT_DT_ID],
|
344
|
[OUT_ID],
|
345
|
[MAST_BAL_ID],
|
346
|
[CUST_NAME],
|
347
|
[QTY],
|
348
|
[QTY_OLD],
|
349
|
[PRICE],
|
350
|
[TOTAL_AMT],
|
351
|
[NOTES],
|
352
|
[TO_BRN_ID],
|
353
|
[TO_DEPT_ID],[EVENT_NAME],[IS_BCT],[COST_ACC]
|
354
|
)
|
355
|
SELECT @p_OUT_DT_ID,
|
356
|
@p_OUT_ID,
|
357
|
@MAST_BAL_ID,
|
358
|
@CUST_NAME,
|
359
|
@QTY,
|
360
|
@QTY_OLD,
|
361
|
@PRICE,
|
362
|
@QTY*@PRICE,
|
363
|
@NOTES,
|
364
|
@TO_BRN_ID,
|
365
|
@TO_DEPT_ID,@EVENT_NAME,@IS_BCT,@COST_ACC
|
366
|
|
367
|
IF @@Error <> 0
|
368
|
GOTO ABORT;
|
369
|
FETCH NEXT FROM XmlData
|
370
|
INTO @OUT_ID,
|
371
|
@MAST_BAL_ID,
|
372
|
@CUST_NAME,
|
373
|
@QTY,
|
374
|
@QTY_OLD,
|
375
|
@PRICE,
|
376
|
@TOTAL_AMT,
|
377
|
@NOTES,
|
378
|
@TO_BRN_ID,
|
379
|
@TO_DEPT_ID,@EVENT_NAME,@IS_BCT,@COST_ACC
|
380
|
END;
|
381
|
CLOSE XmlData;
|
382
|
DEALLOCATE XmlData;
|
383
|
|
384
|
-- doanptt 07/06/2022: XÓA CÁC PROCESS UPDATE CŨ
|
385
|
DELETE dbo.PL_PROCESS WHERE REQ_ID = @OUT_ID AND PROCESS_ID = 'UPDATE_HC'
|
386
|
INSERT INTO dbo.PL_PROCESS
|
387
|
(
|
388
|
REQ_ID,
|
389
|
PROCESS_ID,
|
390
|
CHECKER_ID,
|
391
|
APPROVE_DT,
|
392
|
PROCESS_DESC,NOTES
|
393
|
)
|
394
|
VALUES
|
395
|
( @OUT_ID, -- REQ_ID - varchar(15)
|
396
|
'UPDATE_HC', -- PROCESS_ID - varchar(10)
|
397
|
@p_MAKER_ID, -- CHECKER_ID - varchar(15)
|
398
|
GETDATE(), -- APPROVE_DT - datetime
|
399
|
N'Cập nhật phiếu xuất vật liệu thành công' ,
|
400
|
N'Cập nhật phiếu xuất vật liệu' -- PROCESS_DESC - nvarchar(1000)
|
401
|
)
|
402
|
|
403
|
---
|
404
|
UPDATE MW_OUT
|
405
|
SET TOTAL_AMT = (SELECT SUM(TOTAL_AMT) FROM MW_OUT_DT WHERE OUT_ID =@p_OUT_ID)
|
406
|
WHERE OUT_ID =@p_OUT_ID
|
407
|
COMMIT TRANSACTION;
|
408
|
SELECT '0' AS Result,@p_OUT_ID OUT_ID,'' ErrorDesc;
|
409
|
RETURN '0';
|
410
|
ABORT:
|
411
|
BEGIN
|
412
|
CLOSE XmlData;
|
413
|
DEALLOCATE XmlData;
|
414
|
ROLLBACK TRANSACTION;
|
415
|
SELECT '-1' AS Result,'' OUT_ID,'' ErrorDesc;
|
416
|
RETURN '-1';
|
417
|
END;
|
418
|
|
419
|
GO
|
420
|
|
421
|
|
422
|
ALTER PROCEDURE [dbo].[MW_TRANSFER_Ins]
|
423
|
@p_TRN_DATE VARCHAR(20) = NULL,
|
424
|
@p_TRN_TIME VARCHAR(50) = NULL,
|
425
|
@p_QTY DECIMAL(18,2) = NULL,
|
426
|
@p_PRICE NUMERIC(18, 0) = NULL,
|
427
|
@p_TOTAL_AMT NUMERIC(18, 2) = NULL,
|
428
|
@p_NOTES NVARCHAR(1000) = NULL,
|
429
|
@p_AUTH_STATUS VARCHAR(1) = NULL,
|
430
|
@p_MAKER_ID VARCHAR(15) = NULL,
|
431
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
432
|
@p_CHECKER_ID VARCHAR(15) = NULL,
|
433
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
434
|
@p_KT_AUTH_STATUS VARCHAR(1) = NULL,
|
435
|
@p_KT_MAKER_ID VARCHAR(15) = NULL,
|
436
|
@p_KT_CREATE_DT VARCHAR(20) = NULL,
|
437
|
@p_KT_CHECKER_ID VARCHAR(15) = NULL,
|
438
|
@p_KT_APPROVE_DT VARCHAR(20) = NULL,
|
439
|
@p_RECORD_STATUS VARCHAR(1) = NULL,
|
440
|
@p_FRM_BRANCH_ID VARCHAR(15) = NULL,
|
441
|
@p_FRM_DEPT_ID VARCHAR(15) = NULL,
|
442
|
@p_XmlData XML = NULL,
|
443
|
@p_BRANCH_CREATE VARCHAR(15) = NULL,
|
444
|
@p_WARE_HOUSE VARCHAR(15) = NULL
|
445
|
AS
|
446
|
DECLARE
|
447
|
--DVSD
|
448
|
@p_TRANSFER_CODE NVARCHAR(100) =NULL,
|
449
|
@TRANSFER_ID VARCHAR(15) = NULL,
|
450
|
@MAST_BAL_ID VARCHAR(15) = NULL,
|
451
|
@FR_BRN_ID VARCHAR(15) = NULL,
|
452
|
@FR_DEPT_ID VARCHAR(15) = NULL,
|
453
|
@FR_PRICE_ID VARCHAR(15) = NULL,
|
454
|
@TO_BRN_ID VARCHAR(15) = NULL,
|
455
|
@TO_DEPT_ID VARCHAR(15) = NULL,
|
456
|
@QTY DECIMAL(18,2) = NULL,
|
457
|
@QTY_OLD DECIMAL(18,2) = NULL,
|
458
|
@PRICE NUMERIC(18, 0) = NULL,
|
459
|
@TOTAL_AMT NUMERIC(18, 2) = NULL,
|
460
|
@NOTES NVARCHAR(1000) = NULL,
|
461
|
@COST_ACC VARCHAR(50) = NULL;
|
462
|
DECLARE @hdoc INT;
|
463
|
EXEC sp_xml_preparedocument @hdoc OUTPUT, @p_XmlData;
|
464
|
DECLARE XmlData CURSOR FOR
|
465
|
SELECT *
|
466
|
FROM
|
467
|
OPENXML (@hdoc, '/Root/XmlData', 2)
|
468
|
WITH (TRANSFER_ID VARCHAR (15),
|
469
|
MAST_BAL_ID VARCHAR (15),
|
470
|
FR_BRN_ID VARCHAR (15),
|
471
|
FR_DEPT_ID VARCHAR (15),
|
472
|
FR_PRICE_ID VARCHAR (15),
|
473
|
TO_BRN_ID VARCHAR (15),
|
474
|
TO_DEPT_ID VARCHAR (15),
|
475
|
QTY DECIMAL(18,2),
|
476
|
QTY_OLD DECIMAL(18,2),
|
477
|
PRICE NUMERIC (18, 2),
|
478
|
TOTAL_AMT NUMERIC (18, 2),
|
479
|
NOTES NVARCHAR (1000),
|
480
|
COST_ACC VARCHAR(50)
|
481
|
);
|
482
|
OPEN XmlData;
|
483
|
BEGIN TRANSACTION;
|
484
|
DECLARE @p_TRANSFER_ID VARCHAR(15);
|
485
|
EXEC [MW_TRANSFER_CODE_Gen] @p_BRANCH_CREATE,@p_WARE_HOUSE, @p_TRANSFER_CODE OUT;
|
486
|
EXEC SYS_CodeMasters_Gen 'MW_TRANSFER', @p_TRANSFER_ID OUT;
|
487
|
IF @p_TRANSFER_ID = '' OR @p_TRANSFER_ID IS NULL
|
488
|
GOTO ABORT;
|
489
|
INSERT INTO [dbo].[MW_TRANSFER]
|
490
|
(
|
491
|
[TRANSFER_ID],
|
492
|
[TRN_DATE],
|
493
|
[TRN_TIME],
|
494
|
[QTY],
|
495
|
[PRICE],
|
496
|
[TOTAL_AMT],
|
497
|
[NOTES],
|
498
|
[AUTH_STATUS],
|
499
|
[MAKER_ID],
|
500
|
[CREATE_DT],
|
501
|
[CHECKER_ID],
|
502
|
[APPROVE_DT],
|
503
|
[KT_AUTH_STATUS],
|
504
|
[KT_MAKER_ID],
|
505
|
[KT_CREATE_DT],
|
506
|
[KT_CHECKER_ID],
|
507
|
[KT_APPROVE_DT],
|
508
|
[RECORD_STATUS],
|
509
|
[FR_BRN_ID],
|
510
|
FR_DEPT_ID,
|
511
|
CORE_NOTE,
|
512
|
BRANCH_CREATE, WARE_HOUSE,TRANSFER_CODE
|
513
|
)
|
514
|
SELECT @p_TRANSFER_ID,
|
515
|
CONVERT (DATETIME, GETDATE(), 103),
|
516
|
CONVERT (DATE, @p_TRN_TIME, 103),
|
517
|
@p_QTY,
|
518
|
ROUND(@p_PRICE,0),
|
519
|
@p_TOTAL_AMT,
|
520
|
@p_NOTES,
|
521
|
'U',
|
522
|
@p_MAKER_ID,
|
523
|
CONVERT (DATETIME, GETDATE (), 0),
|
524
|
NULL,
|
525
|
NULL,
|
526
|
'U',
|
527
|
NULL,
|
528
|
NULL,
|
529
|
NULL,
|
530
|
NULL,
|
531
|
'1',
|
532
|
@p_FRM_BRANCH_ID,
|
533
|
@p_FRM_DEPT_ID,
|
534
|
'',
|
535
|
@p_BRANCH_CREATE,@p_WARE_HOUSE,@p_TRANSFER_CODE;
|
536
|
IF @@Error <> 0
|
537
|
GOTO ABORT;
|
538
|
--Insert XmlData
|
539
|
FETCH NEXT FROM XmlData
|
540
|
INTO @TRANSFER_ID,
|
541
|
@MAST_BAL_ID,
|
542
|
@FR_BRN_ID,
|
543
|
@FR_DEPT_ID,
|
544
|
@FR_PRICE_ID,
|
545
|
@TO_BRN_ID,
|
546
|
@TO_DEPT_ID,
|
547
|
@QTY,
|
548
|
@QTY_OLD,
|
549
|
@PRICE,
|
550
|
@TOTAL_AMT,
|
551
|
@NOTES,
|
552
|
@COST_ACC;
|
553
|
DECLARE @INDEX INT =0
|
554
|
DECLARE @PRICE_CODE VARCHAR(30)
|
555
|
--LUCTV 03062020 DIEU CHINH THEO HOP DONG BAO HANH BAO TRI: KHONG CHO CN, PGD DIEU CHUYEN VAT LIEU DO CHINH MINH TAO
|
556
|
DECLARE @BRANCH_TYPE_CRE VARCHAR(15), @l_COST_ACC VARCHAR(50);
|
557
|
--END LUCTV
|
558
|
WHILE @@FETCH_STATUS = 0
|
559
|
BEGIN
|
560
|
SET @INDEX = @INDEX +1
|
561
|
SET @PRICE_CODE = (SELECT PRICE_CODE FROM MW_MAST_PRICE WHERE PRICE_ID=@FR_PRICE_ID)
|
562
|
|
563
|
SET @l_COST_ACC = (SELECT TOP 1 COST_ACC = CASE WHEN MT.GROUP_ID = 'MWG000000016073' and LEN(@COST_ACC) > 0 then @COST_ACC
|
564
|
WHEN @COST_ACC = null then MT.EXP_ACCTNO
|
565
|
WHEN @COST_ACC = '' then MT.EXP_ACCTNO
|
566
|
ELSE MT.EXP_ACCTNO
|
567
|
END
|
568
|
FROM dbo.MW_MAST_BAL A
|
569
|
LEFT JOIN MW_MATERIAL MT ON A.MATERIAL_ID = MT.MATERIAL_ID
|
570
|
WHERE A.MAST_BAL_ID = @MAST_BAL_ID)
|
571
|
IF(@l_COST_ACC <> @COST_ACC)
|
572
|
BEGIN
|
573
|
ROLLBACK TRANSACTION
|
574
|
CLOSE XmlData;
|
575
|
DEALLOCATE XmlData;
|
576
|
SELECT '-1' as Result, '' OUT_ID, N'Danh sách đơn vị/ khách hàng nhận, Dòng ' + CONVERT(VARCHAR(5),@INDEX)+N': Tài khoản chi phí sai quy định. Bạn chỉ được điều chỉnh tài khoản chi phí của vật liệu thuộc nhóm Vật Liệu Thẻ Dùng Chung.' ErrorDesc
|
577
|
RETURN '-1'
|
578
|
END
|
579
|
|
580
|
IF(@COST_ACC IS NULL OR @COST_ACC = '')
|
581
|
BEGIN
|
582
|
ROLLBACK TRANSACTION
|
583
|
CLOSE XmlData;
|
584
|
DEALLOCATE XmlData;
|
585
|
SELECT '-1' as Result, '' OUT_ID, N'Danh sách đơn vị/ khách hàng nhận, Dòng ' + CONVERT(VARCHAR(5),@INDEX)+N': Tài khoản chi phí không được để trống' ErrorDesc
|
586
|
RETURN '-1'
|
587
|
END
|
588
|
|
589
|
IF(@QTY > @QTY_OLD)
|
590
|
BEGIN
|
591
|
ROLLBACK TRANSACTION
|
592
|
CLOSE XmlData;
|
593
|
DEALLOCATE XmlData;
|
594
|
SELECT '-1' as Result, '' OUT_ID, N'Danh sách đơn vị/ khách hàng nhận, Dòng ' + CONVERT(VARCHAR(5),@INDEX)+N': Số lượng điều chuyển vượt quá số lượng tồn' ErrorDesc
|
595
|
RETURN '-1'
|
596
|
END
|
597
|
--LUCTV: KIEM TRA XEM MAST_BAL_ID CO DANG DIEU CHUYEN CHO DON VI NAO KHAC HAY KHONG 29-11-2018
|
598
|
--IF(EXISTS (SELECT * FROM MW_TRANSFER_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND TRANSFER_ID <>@p_TRANSFER_ID
|
599
|
--AND TRANSFER_ID IN (SELECT TRANSFER_ID FROM MW_TRANSFER WHERE AUTH_STATUS IS NOT NULL AND KT_AUTH_STATUS <>'' AND KT_AUTH_STATUS <>'A' AND RECORD_STATUS ='1')))
|
600
|
--BEGIN
|
601
|
-- CLOSE XmlData;
|
602
|
-- DEALLOCATE XmlData;
|
603
|
-- ROLLBACK TRANSACTION;
|
604
|
-- SELECT '-1' AS Result,
|
605
|
-- '' TRANSFER_ID,
|
606
|
-- N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã '+ @PRICE_CODE +N' đang được điều chuyển. Vui lòng duyệt thông tin trước khi tạo đợt điều chuyển mới!'ErrorDesc;
|
607
|
-- RETURN '-1';
|
608
|
--END
|
609
|
----LUCTV: 09-04-2019 BO SUNG HAM KIEM TRA LO VAT LIEU NEU DANG DUOC DIEU CHUYEN THI PHAI CHO DUYET XONG MOI TAO MOI XUAT SD
|
610
|
--IF(EXISTS(SELECT * FROM MW_TRANSFER_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND TRANSFER_ID IN (SELECT TRANSFER_ID FROM MW_TRANSFER WHERE KT_AUTH_STATUS<>'A' AND RECORD_STATUS= '1' AND TRANSFER_ID <>@p_TRANSFER_ID)))
|
611
|
--BEGIN
|
612
|
-- CLOSE XmlData;
|
613
|
-- DEALLOCATE XmlData;
|
614
|
-- ROLLBACK TRANSACTION;
|
615
|
-- SELECT '-1' AS Result, '' TRANSFER_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã '+@PRICE_CODE +N' đang được điều chuyển. Vui lòng duyệt thông tin trước khi tạo đợt mới' ErrorDesc;
|
616
|
-- RETURN '-1';
|
617
|
--END
|
618
|
----LUCTV: 08-03-2019 BO SUNG HAM KIEM TRA LO VAT LIEU NEU DANG DUOC DIEU CHUYEN THI PHAI CHO DUYET XONG MOI TAO MOI XUAT SD
|
619
|
--IF(EXISTS(SELECT * FROM MW_OUT_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND OUT_ID IN (SELECT OUT_ID FROM MW_OUT WHERE KT_AUTH_STATUS<>'A' AND RECORD_STATUS= '1')))
|
620
|
--BEGIN
|
621
|
-- CLOSE XmlData;
|
622
|
-- DEALLOCATE XmlData;
|
623
|
-- ROLLBACK TRANSACTION;
|
624
|
-- SELECT '-1' AS Result, '' TRANSFER_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã '+@PRICE_CODE+N' đang được xuất sử dụng. Vui lòng duyệt thông tin trước khi tạo đợt mới' ErrorDesc;
|
625
|
-- RETURN '-1';
|
626
|
--END
|
627
|
----LUCTV: 08-03-2019 BO SUNG HAM KIEM TRA LO VAT LIEU NEU DANG DUOC THANH LY THI PHAI CHO DUYET XONG MOI TAO MOI XUAT SD
|
628
|
--IF(EXISTS(SELECT * FROM MW_LIQ_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND LIQ_ID IN (SELECT LIQ_ID FROM MW_LIQ_MASTER WHERE KT_AUTH_STATUS<>'A' AND RECORD_STATUS= '1')))
|
629
|
--BEGIN
|
630
|
-- CLOSE XmlData;
|
631
|
-- DEALLOCATE XmlData;
|
632
|
-- ROLLBACK TRANSACTION;
|
633
|
-- SELECT '-1' AS Result, '' TRANSFER_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã '+@PRICE_CODE +N' đang được thanh lý. Vui lòng duyệt thông tin trước khi tạo đợt mới' ErrorDesc;
|
634
|
-- RETURN '-1';
|
635
|
--END
|
636
|
----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)
|
637
|
|
638
|
-- LUCTV 03062020 DIEU CHINH THEO HOP DONG BAO HANH BAO TRI: KHONG CHO CN, PGD DIEU CHUYEN VAT LIEU DO CHINH MINH TAO
|
639
|
SET @BRANCH_TYPE_CRE =(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@p_BRANCH_CREATE)
|
640
|
--IF(@BRANCH_TYPE_CRE IN ('PGD','CN') AND @p_BRANCH_CREATE =@TO_BRN_ID)
|
641
|
IF(@p_BRANCH_CREATE =@TO_BRN_ID) -- DuyTN
|
642
|
BEGIN
|
643
|
CLOSE XmlData
|
644
|
DEALLOCATE XmlData
|
645
|
ROLLBACK TRANSACTION
|
646
|
SELECT '-1' as Result, @p_TRANSFER_ID TRANSFER_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': CN và PGD không được phép điều chuyển vật liệu về chính CN, PGD đang tạo phiếu điều chuyển vật liệu' ErrorDesc
|
647
|
RETURN '-1'
|
648
|
END
|
649
|
-----
|
650
|
IF(@QTY > (SELECT QTY_BALANCE FROM MW_MAST_BAL WHERE MAST_BAL_ID=@MAST_BAL_ID))
|
651
|
BEGIN
|
652
|
CLOSE XmlData
|
653
|
DEALLOCATE XmlData
|
654
|
ROLLBACK TRANSACTION
|
655
|
SELECT '-1' as Result, @p_TRANSFER_ID TRANSFER_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Số lượng điều chuyển vượt quá số lượng tồn' ErrorDesc
|
656
|
RETURN '-1'
|
657
|
END
|
658
|
DECLARE @p_TRANSFER_DT_ID VARCHAR(15);
|
659
|
EXEC SYS_CodeMasters_Gen 'MW_TRANSFER_DT', @p_TRANSFER_DT_ID OUT;
|
660
|
IF @p_TRANSFER_DT_ID = '' OR @p_TRANSFER_DT_ID IS NULL
|
661
|
GOTO ABORT;
|
662
|
INSERT INTO [dbo].[MW_TRANSFER_DT]
|
663
|
(
|
664
|
[TRANSFER_DT_ID], [TRANSFER_ID], [MAST_BAL_ID], [FR_BRN_ID], [FR_DEPT_ID], [FR_PRICE_ID], [TO_BRN_ID], [TO_DEPT_ID], [QTY], [QTY_OLD], [PRICE], [TOTAL_AMT], [NOTES], [COST_ACC]
|
665
|
)
|
666
|
VALUES
|
667
|
(@p_TRANSFER_DT_ID, @p_TRANSFER_ID, @MAST_BAL_ID, @FR_BRN_ID, @FR_DEPT_ID, @FR_PRICE_ID, @TO_BRN_ID, @TO_DEPT_ID, @QTY, @QTY_OLD, @PRICE, @QTY*@PRICE, @NOTES, @COST_ACC);
|
668
|
IF @@Error <> 0
|
669
|
GOTO ABORT;
|
670
|
FETCH NEXT FROM XmlData
|
671
|
INTO @TRANSFER_ID,
|
672
|
@MAST_BAL_ID,
|
673
|
@FR_BRN_ID,
|
674
|
@FR_DEPT_ID,
|
675
|
@FR_PRICE_ID,
|
676
|
@TO_BRN_ID,
|
677
|
@TO_DEPT_ID,
|
678
|
@QTY,
|
679
|
@QTY_OLD,
|
680
|
@PRICE,
|
681
|
@TOTAL_AMT,
|
682
|
@NOTES,
|
683
|
@COST_ACC;
|
684
|
END;
|
685
|
CLOSE XmlData;
|
686
|
DEALLOCATE XmlData;
|
687
|
|
688
|
-- doanptt 07/06/2022: XÓA CÁC PROCESS UPDATE CŨ
|
689
|
DELETE dbo.PL_PROCESS WHERE REQ_ID = @p_TRANSFER_ID AND PROCESS_ID = 'INSERT'
|
690
|
INSERT INTO dbo.PL_PROCESS
|
691
|
(
|
692
|
REQ_ID,
|
693
|
PROCESS_ID,
|
694
|
CHECKER_ID,
|
695
|
APPROVE_DT,
|
696
|
PROCESS_DESC,NOTES
|
697
|
)
|
698
|
VALUES
|
699
|
( @p_TRANSFER_ID, -- REQ_ID - varchar(15)
|
700
|
'INSERT', -- PROCESS_ID - varchar(10)
|
701
|
@p_MAKER_ID, -- CHECKER_ID - varchar(15)
|
702
|
GETDATE(), -- APPROVE_DT - datetime
|
703
|
N'Thêm mới phiếu điều chuyển vật liệu thành công' ,
|
704
|
N'Thêm mới phiếu điều chuyển vật liệu' -- PROCESS_DESC - nvarchar(1000)
|
705
|
)
|
706
|
|
707
|
COMMIT TRANSACTION;
|
708
|
SELECT '0' AS Result,
|
709
|
@p_TRANSFER_ID TRANSFER_ID,
|
710
|
@p_TRANSFER_CODE TRANSFER_CODE,
|
711
|
'' ErrorDesc;
|
712
|
RETURN '0';
|
713
|
ABORT:
|
714
|
BEGIN
|
715
|
CLOSE XmlData;
|
716
|
DEALLOCATE XmlData;
|
717
|
ROLLBACK TRANSACTION;
|
718
|
SELECT '-1' AS Result,
|
719
|
'' TRANSFER_ID,
|
720
|
'' ErrorDesc;
|
721
|
RETURN '-1';
|
722
|
END;
|
723
|
|
724
|
GO
|
725
|
|
726
|
|
727
|
ALTER PROCEDURE [dbo].[MW_TRANSFER_Upd]
|
728
|
@p_TRANSFER_ID varchar(15) = NULL,
|
729
|
@p_TRN_DATE VARCHAR(20) = NULL,
|
730
|
@p_TRN_TIME varchar(50) = NULL,
|
731
|
@p_QTY DECIMAL(18,2) = NULL,
|
732
|
@p_PRICE NUMERIC(18, 0) = NULL,
|
733
|
@p_TOTAL_AMT numeric(18, 2) = NULL,
|
734
|
@p_NOTES nvarchar(1000) = NULL,
|
735
|
@p_AUTH_STATUS varchar(1) = NULL,
|
736
|
@p_MAKER_ID varchar(15) = NULL,
|
737
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
738
|
@p_CHECKER_ID varchar(15) = NULL,
|
739
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
740
|
@p_KT_AUTH_STATUS varchar(1) = NULL,
|
741
|
@p_KT_MAKER_ID varchar(15) = NULL,
|
742
|
@p_KT_CREATE_DT VARCHAR(20) = NULL,
|
743
|
@p_KT_CHECKER_ID varchar(15) = NULL,
|
744
|
@p_KT_APPROVE_DT VARCHAR(20) = NULL,
|
745
|
@p_RECORD_STATUS VARCHAR(1)= NULL,
|
746
|
@p_FRM_BRANCH_ID VARCHAR(15) = NULL,
|
747
|
@p_FRM_DEPT_ID VARCHAR(15) = NULL,
|
748
|
@p_XmlData XML = NULL,
|
749
|
@p_WARE_HOUSE VARCHAR(15) = NULL
|
750
|
AS
|
751
|
DECLARE
|
752
|
--DVSD
|
753
|
@TRANSFER_ID varchar(15) = NULL,
|
754
|
@MAST_BAL_ID varchar(15) = NULL,
|
755
|
@FR_BRN_ID varchar(15) = NULL,
|
756
|
@FR_DEPT_ID varchar(15) = NULL,
|
757
|
@FR_PRICE_ID varchar(15) = NULL,
|
758
|
@TO_BRN_ID varchar(15) = NULL,
|
759
|
@TO_DEPT_ID varchar(15) = NULL,
|
760
|
@QTY DECIMAL(18,2) = NULL,
|
761
|
@QTY_OLD DECIMAL(18,2) = NULL,
|
762
|
@PRICE NUMERIC(18, 0) = NULL,
|
763
|
@TOTAL_AMT numeric(18, 2) = NULL,
|
764
|
@NOTES nvarchar(1000) = NULL,
|
765
|
@COST_ACC VARCHAR(20) = NULL
|
766
|
Declare @hdoc INT
|
767
|
Exec sp_xml_preparedocument @hdoc Output,@p_XmlData
|
768
|
DECLARE XmlData CURSOR FOR
|
769
|
SELECT *
|
770
|
FROM OPENXML(@hDoc,'/Root/XmlData',2)
|
771
|
WITH
|
772
|
(
|
773
|
TRANSFER_ID varchar(15) ,
|
774
|
MAST_BAL_ID varchar(15) ,
|
775
|
FR_BRN_ID varchar(15) ,
|
776
|
FR_DEPT_ID varchar(15) ,
|
777
|
FR_PRICE_ID varchar(15) ,
|
778
|
TO_BRN_ID varchar(15) ,
|
779
|
TO_DEPT_ID varchar(15) ,
|
780
|
QTY DECIMAL(18,2) ,
|
781
|
QTY_OLD DECIMAL(18,2) ,
|
782
|
PRICE NUMERIC(18, 0) ,
|
783
|
TOTAL_AMT numeric(18, 2) ,
|
784
|
NOTES nvarchar(1000) ,
|
785
|
COST_ACC VARCHAR(20)
|
786
|
)
|
787
|
OPEN XmlData
|
788
|
BEGIN TRANSACTION
|
789
|
UPDATE [dbo].[MW_TRANSFER]
|
790
|
SET [TRN_TIME] = CONVERT(DATE,@p_TRN_TIME,103), [QTY] = @p_QTY, [PRICE] = @p_PRICE,KT_MAKER_ID = NULL,AUTH_STATUS='U',
|
791
|
[TOTAL_AMT] = @p_TOTAL_AMT, [NOTES] = @p_NOTES,MAKER_ID = @p_MAKER_ID,FR_BRN_ID = @p_FRM_BRANCH_ID, FR_DEPT_ID = @p_FRM_DEPT_ID, WARE_HOUSE = @p_WARE_HOUSE
|
792
|
|
793
|
WHERE [TRANSFER_ID] = @p_TRANSFER_ID
|
794
|
IF @@Error <> 0 GOTO ABORT
|
795
|
--Insert XmlData
|
796
|
DECLARE @INDEX INT =0
|
797
|
DECLARE @PRICE_CODE VARCHAR(30)
|
798
|
--LUCTV 03062020 DIEU CHINH THEO HOP DONG BAO HANH BAO TRI: KHONG CHO CN, PGD DIEU CHUYEN VAT LIEU DO CHINH MINH TAO
|
799
|
DECLARE @p_BRANCH_CREATE VARCHAR(15), @BRANCH_TYPE_CRE VARCHAR(15), @l_COST_ACC VARCHAR(50);
|
800
|
SET @p_BRANCH_CREATE =(SELECT BRANCH_CREATE FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRANSFER_ID)
|
801
|
--END LUCTV
|
802
|
DELETE FROM MW_TRANSFER_DT WHERE TRANSFER_ID =@p_TRANSFER_ID
|
803
|
FETCH NEXT FROM XmlData INTO @TRANSFER_ID,
|
804
|
@MAST_BAL_ID,
|
805
|
@FR_BRN_ID,
|
806
|
@FR_DEPT_ID,
|
807
|
@FR_PRICE_ID,
|
808
|
@TO_BRN_ID,
|
809
|
@TO_DEPT_ID,
|
810
|
@QTY ,
|
811
|
@QTY_OLD,
|
812
|
@PRICE,
|
813
|
@TOTAL_AMT ,
|
814
|
@NOTES,
|
815
|
@COST_ACC
|
816
|
WHILE @@FETCH_STATUS = 0
|
817
|
BEGIN
|
818
|
SET @INDEX = @INDEX +1
|
819
|
SET @PRICE_CODE = (SELECT PRICE_CODE FROM MW_MAST_PRICE WHERE PRICE_ID=@FR_PRICE_ID)
|
820
|
|
821
|
SET @l_COST_ACC = (SELECT TOP 1 COST_ACC = CASE WHEN MT.GROUP_ID = 'MWG000000016073' and LEN(@COST_ACC) > 0 then @COST_ACC
|
822
|
WHEN @COST_ACC = null then MT.EXP_ACCTNO
|
823
|
WHEN @COST_ACC = '' then MT.EXP_ACCTNO
|
824
|
ELSE MT.EXP_ACCTNO
|
825
|
END
|
826
|
FROM dbo.MW_MAST_BAL A
|
827
|
LEFT JOIN MW_MATERIAL MT ON A.MATERIAL_ID = MT.MATERIAL_ID
|
828
|
WHERE A.MAST_BAL_ID = @MAST_BAL_ID)
|
829
|
|
830
|
IF(@l_COST_ACC <> @COST_ACC)
|
831
|
BEGIN
|
832
|
ROLLBACK TRANSACTION
|
833
|
CLOSE XmlData;
|
834
|
DEALLOCATE XmlData;
|
835
|
SELECT '-1' as Result, '' OUT_ID, N'Danh sách đơn vị/ khách hàng nhận, Dòng ' + CONVERT(VARCHAR(5),@INDEX)+N': Tài khoản chi phí sai quy định. Bạn chỉ được điều chỉnh tài khoản chi phí của vật liệu thuộc nhóm Vật Liệu Thẻ Dùng Chung.' ErrorDesc
|
836
|
RETURN '-1'
|
837
|
END
|
838
|
|
839
|
IF(@COST_ACC IS NULL OR @COST_ACC = '')
|
840
|
BEGIN
|
841
|
ROLLBACK TRANSACTION
|
842
|
CLOSE XmlData;
|
843
|
DEALLOCATE XmlData;
|
844
|
SELECT '-1' as Result, '' OUT_ID, N'Danh sách đơn vị/ khách hàng nhận, Dòng ' + CONVERT(VARCHAR(5),@INDEX)+N': Tài khoản chi phí không được để trống' ErrorDesc
|
845
|
RETURN '-1'
|
846
|
END
|
847
|
|
848
|
IF(@QTY > @QTY_OLD)
|
849
|
BEGIN
|
850
|
ROLLBACK TRANSACTION
|
851
|
CLOSE XmlData;
|
852
|
DEALLOCATE XmlData;
|
853
|
SELECT '-1' as Result, '' OUT_ID, N'Danh sách đơn vị/ khách hàng nhận, Dòng ' + CONVERT(VARCHAR(5),@INDEX)+N': Số lượng điều chuyển vượt quá số lượng tồn' ErrorDesc
|
854
|
RETURN '-1'
|
855
|
END
|
856
|
--LUCTV: KIEM TRA XEM MAST_BAL_ID CO DANG DIEU CHUYEN CHO DON VI NAO KHAC HAY KHONG 29-11-2018
|
857
|
--IF(EXISTS (SELECT * FROM MW_TRANSFER_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND TRANSFER_ID <>@p_TRANSFER_ID
|
858
|
--AND TRANSFER_ID IN (SELECT TRANSFER_ID FROM MW_TRANSFER WHERE AUTH_STATUS IS NOT NULL AND KT_AUTH_STATUS <>'' AND KT_AUTH_STATUS <>'A' AND RECORD_STATUS='1')))
|
859
|
--BEGIN
|
860
|
-- CLOSE XmlData;
|
861
|
-- DEALLOCATE XmlData;
|
862
|
-- ROLLBACK TRANSACTION;
|
863
|
-- SELECT '-1' AS Result,
|
864
|
-- '' TRANSFER_ID,
|
865
|
-- 'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã '+ @PRICE_CODE +N' đang được điều chuyển. Vui lòng duyệt thông tin trước khi tạo đợt điều chuyển mới!'ErrorDesc;
|
866
|
-- RETURN '-1';
|
867
|
--END
|
868
|
----LUCTV: 08-03-2019 BO SUNG HAM KIEM TRA LO VAT LIEU NEU DANG DUOC DIEU CHUYEN THI PHAI CHO DUYET XONG MOI TAO MOI XUAT SD
|
869
|
--IF(EXISTS(SELECT * FROM MW_OUT_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND OUT_ID IN (SELECT OUT_ID FROM MW_OUT WHERE KT_AUTH_STATUS<>'A' AND RECORD_STATUS='1')))
|
870
|
--BEGIN
|
871
|
-- CLOSE XmlData;
|
872
|
-- DEALLOCATE XmlData;
|
873
|
-- ROLLBACK TRANSACTION;
|
874
|
-- SELECT '-1' AS Result, '' TRANSFER_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã '+@PRICE_CODE +N' đang được xuất sử dụng. Vui lòng duyệt thông tin trước khi tạo đợt mới' ErrorDesc;
|
875
|
-- RETURN '-1';
|
876
|
--END
|
877
|
----LUCTV: 08-03-2019 BO SUNG HAM KIEM TRA LO VAT LIEU NEU DANG DUOC THANH LY THI PHAI CHO DUYET XONG MOI TAO MOI XUAT SD
|
878
|
--IF(EXISTS(SELECT * FROM MW_LIQ_DT WHERE MAST_BAL_ID =@MAST_BAL_ID AND LIQ_ID IN (SELECT LIQ_ID FROM MW_LIQ_MASTER WHERE KT_AUTH_STATUS<>'A' AND RECORD_STATUS='1')))
|
879
|
--BEGIN
|
880
|
-- CLOSE XmlData;
|
881
|
-- DEALLOCATE XmlData;
|
882
|
-- ROLLBACK TRANSACTION;
|
883
|
-- SELECT '-1' AS Result, '' TRANSFER_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Lô vật liệu có mã '+@PRICE_CODE +N' đang được thanh lý. Vui lòng duyệt thông tin trước khi tạo đợt mới' ErrorDesc;
|
884
|
-- RETURN '-1';
|
885
|
--END
|
886
|
--KIEM TRA XEM SO LUONG TON CO DU CHO VIEC DIEU CHUYEN NAY HAY KHONG
|
887
|
--IF(@QTY > (SELECT SUM(QTY_BALANCE) FROM MW_MAST_BAL WHERE PRICE_ID = @FR_PRICE_ID AND MAST_BAL_ID=@MAST_BAL_ID))
|
888
|
--BEGIN
|
889
|
-- CLOSE XmlData
|
890
|
-- DEALLOCATE XmlData
|
891
|
-- ROLLBACK TRANSACTION
|
892
|
-- SELECT '-1' as Result, @p_TRANSFER_ID TRANSFER_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Số lượng điều chuyển vượt quá số lượng tồn' ErrorDesc
|
893
|
-- RETURN '-1'
|
894
|
--END
|
895
|
IF(@QTY > (SELECT QTY_BALANCE FROM MW_MAST_BAL WHERE MAST_BAL_ID=@MAST_BAL_ID))
|
896
|
BEGIN
|
897
|
CLOSE XmlData
|
898
|
DEALLOCATE XmlData
|
899
|
ROLLBACK TRANSACTION
|
900
|
SELECT '-1' as Result, @p_TRANSFER_ID TRANSFER_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': Số lượng điều chuyển vượt quá số lượng tồn' ErrorDesc
|
901
|
RETURN '-1'
|
902
|
END
|
903
|
-- LUCTV 03062020 DIEU CHINH THEO HOP DONG BAO HANH BAO TRI: KHONG CHO CN, PGD DIEU CHUYEN VAT LIEU DO CHINH MINH TAO
|
904
|
SET @BRANCH_TYPE_CRE =(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@p_BRANCH_CREATE)
|
905
|
--IF(@BRANCH_TYPE_CRE IN ('PGD','CN') AND @p_BRANCH_CREATE =@TO_BRN_ID)
|
906
|
IF(@p_BRANCH_CREATE =@TO_BRN_ID) -- Duy TN
|
907
|
BEGIN
|
908
|
CLOSE XmlData
|
909
|
DEALLOCATE XmlData
|
910
|
ROLLBACK TRANSACTION
|
911
|
SELECT '-2' as Result, @p_TRANSFER_ID TRANSFER_ID, N'Dòng '+ CONVERT(VARCHAR(15),@INDEX) +N': CN và PGD không được phép điều chuyển vật liệu về chính CN, PGD đang tạo phiếu điều chuyển vật liệu' ErrorDesc
|
912
|
RETURN '-2'
|
913
|
END
|
914
|
DECLARE @p_TRANSFER_DT_ID VARCHAR(15)
|
915
|
EXEC SYS_CodeMasters_Gen 'MW_TRANSFER_DT', @p_TRANSFER_DT_ID out
|
916
|
IF @p_TRANSFER_DT_ID='' OR @p_TRANSFER_DT_ID IS NULL GOTO ABORT
|
917
|
INSERT INTO [dbo].[MW_TRANSFER_DT] ([TRANSFER_DT_ID], [TRANSFER_ID], [MAST_BAL_ID], [FR_BRN_ID], [FR_DEPT_ID], [FR_PRICE_ID], [TO_BRN_ID], [TO_DEPT_ID], [QTY], [QTY_OLD], [PRICE], [TOTAL_AMT], [NOTES], COST_ACC)
|
918
|
VALUES( @p_TRANSFER_DT_ID, @p_TRANSFER_ID, @MAST_BAL_ID, @FR_BRN_ID, @FR_DEPT_ID, @FR_PRICE_ID, @TO_BRN_ID, @TO_DEPT_ID, @QTY, @QTY_OLD, @PRICE, @QTY*@PRICE, @NOTES, @COST_ACC)
|
919
|
IF @@Error <> 0 GOTO ABORT
|
920
|
FETCH NEXT FROM XmlData INTO @TRANSFER_ID,
|
921
|
@MAST_BAL_ID,
|
922
|
@FR_BRN_ID,
|
923
|
@FR_DEPT_ID,
|
924
|
@FR_PRICE_ID,
|
925
|
@TO_BRN_ID,
|
926
|
@TO_DEPT_ID,
|
927
|
@QTY ,
|
928
|
@QTY_OLD,
|
929
|
@PRICE,
|
930
|
@TOTAL_AMT ,
|
931
|
@NOTES,
|
932
|
@COST_ACC
|
933
|
END
|
934
|
CLOSE XmlData
|
935
|
DEALLOCATE XmlData
|
936
|
|
937
|
-- doanptt 07/06/2022: XÓA CÁC PROCESS UPDATE CŨ
|
938
|
DELETE dbo.PL_PROCESS WHERE REQ_ID = @p_TRANSFER_ID AND PROCESS_ID = 'UPDATE_HC'
|
939
|
INSERT INTO dbo.PL_PROCESS
|
940
|
(
|
941
|
REQ_ID,
|
942
|
PROCESS_ID,
|
943
|
CHECKER_ID,
|
944
|
APPROVE_DT,
|
945
|
PROCESS_DESC,NOTES
|
946
|
)
|
947
|
VALUES
|
948
|
( @p_TRANSFER_ID, -- REQ_ID - varchar(15)
|
949
|
'UPDATE_HC', -- PROCESS_ID - varchar(10)
|
950
|
@p_MAKER_ID, -- CHECKER_ID - varchar(15)
|
951
|
GETDATE(), -- APPROVE_DT - datetime
|
952
|
N'Cập nhật phiếu điều chuyển vật liệu thành công' ,
|
953
|
N'Cập nhật phiếu điều chuyển vật liệu' -- PROCESS_DESC - nvarchar(1000)
|
954
|
)
|
955
|
|
956
|
COMMIT TRANSACTION
|
957
|
SELECT '0' as Result, @p_TRANSFER_ID TRANSFER_ID ,'' ErrorDesc
|
958
|
RETURN '0'
|
959
|
ABORT:
|
960
|
BEGIN
|
961
|
CLOSE XmlData
|
962
|
DEALLOCATE XmlData
|
963
|
ROLLBACK TRANSACTION
|
964
|
SELECT '-1' as Result, '' TRANSFER_ID, '' ErrorDesc
|
965
|
RETURN '-1'
|
966
|
END
|