1
|
CREATE OR ALTER PROCEDURE dbo.MW_TRANSFER_PRIVATE_App
|
2
|
@p_TRANFER_PRIVATE_ID VARCHAR(15),
|
3
|
@p_AUTH_STATUS VARCHAR(1),
|
4
|
@p_CHECKER_ID VARCHAR(200),
|
5
|
@p_APPROVE_DT VARCHAR(20)
|
6
|
AS
|
7
|
|
8
|
--Validation is
|
9
|
IF (EXISTS(SELECT mtp.AUTH_STATUS FROM MW_TRANFER_PRIVATE mtp WHERE mtp.TRANFER_PRIVATE_ID = @p_TRANFER_PRIVATE_ID AND mtp.AUTH_STATUS = 'A' AND mtp.PROCESS_ID = 'DONE'))
|
10
|
BEGIN
|
11
|
SELECT '0' as Result, '' ErrorDesc
|
12
|
RETURN 0
|
13
|
END
|
14
|
|
15
|
BEGIN TRANSACTION
|
16
|
|
17
|
DECLARE @ROLE_LOGIN TABLE(ROLE_USER VARCHAR(20), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20));
|
18
|
DECLARE @p_DEP_ID VARCHAR(15)
|
19
|
,@p_BRANCH_ID VARCHAR(15)
|
20
|
,@WARE_MASTER_ID VARCHAR(15)
|
21
|
,@ROLE_DV VARCHAR(20)
|
22
|
,@DEP_ROLE VARCHAR(20),
|
23
|
@IS_SEND_MAIL VARCHAR(1) = '0'
|
24
|
|
25
|
SELECT @WARE_MASTER_ID = mtp.WARE_ID FROM MW_TRANFER_PRIVATE mtp WHERE mtp.TRANFER_PRIVATE_ID = @p_TRANFER_PRIVATE_ID
|
26
|
|
27
|
SELECT @ROLE_DV = crt.ROLE_RECEIVE,
|
28
|
@DEP_ROLE = crt.DEP_RECEIVE
|
29
|
FROM CM_REQ_TYPE crt
|
30
|
WHERE crt.WARE_TYPE = @WARE_MASTER_ID
|
31
|
|
32
|
|
33
|
|
34
|
|
35
|
|
36
|
INSERT INTO @ROLE_LOGIN
|
37
|
SELECT tugr.ROLE_ID, tugr.BRANCH_ID, tugr.DEPT_ID FROM dbo.TL_USER_GET_ROLES(@p_CHECKER_ID) tugr
|
38
|
|
39
|
SELECT @p_DEP_ID = DEP_ID,
|
40
|
@p_BRANCH_ID = BRANCH_ID
|
41
|
FROM MW_REQUEST_PROCESS
|
42
|
WHERE REQ_ID = @p_TRANFER_PRIVATE_ID AND PROCESS_ID = 'ADDNEW'
|
43
|
|
44
|
IF (EXISTS(SELECT 1 FROM @ROLE_LOGIN
|
45
|
WHERE (BRANCH_ID = 'DV0001'
|
46
|
AND ISNULL(DEP_ID,'') = ISNULL(@DEP_ROLE ,'')))
|
47
|
AND EXISTS(SELECT 1
|
48
|
FROM MW_TRANFER_PRIVATE mtp
|
49
|
LEFT JOIN CM_WARE cw ON mtp.WARE_ID = cw.WARE_ID
|
50
|
WHERE mtp.TRANFER_PRIVATE_ID = @p_TRANFER_PRIVATE_ID AND cw.WARE_CODE IN ('02TE','03CT'))
|
51
|
)
|
52
|
BEGIN
|
53
|
-- Cập nhật số lượng lô vật liệu
|
54
|
|
55
|
|
56
|
-- cộng kho điều chuyển
|
57
|
|
58
|
DECLARE @MW_MAST_BAL_Temp TABLE(MAST_BAL_ID VARCHAR(15),TRANSFER_PRIVATE_DT_ID VARCHAR(15),TRANSFER_QUANTITY DECIMAL(18,2),PROMOTION_TRANFER_ID VARCHAR(15), PRICE_ID VARCHAR(15), BRANCH_ID VARCHAR(15), DEPT_ID VARCHAR(15), QTY_BALANCE DECIMAL(18,2), QTY_REAL DECIMAL(18,2), QTY_TEMP DECIMAL(18,2)
|
59
|
, QTY_DAMAGED DECIMAL(18,2), QTY_LOSS DECIMAL(18,2), MATERIAL_ID VARCHAR(15), TOTAL_AMT DECIMAL(18,2), PRICE DECIMAL(18,2), PROMOTION_ID VARCHAR(50), WARE_ID VARCHAR(50))
|
60
|
|
61
|
|
62
|
INSERT INTO @MW_MAST_BAL_Temp
|
63
|
SELECT mmb.MAST_BAL_ID,mtpd.TRANFER_PRIVATE_DT_ID,mtpd.TRANFER_QUANTITY,mtpd.PROMOTION_TRANFER_ID, mmb.PRICE_ID , mmb.BRANCH_ID , mmb.DEPT_ID , mmb.QTY_BALANCE, mmb.QTY_REAL , mmb.QTY_TEMP
|
64
|
, mmb.QTY_DAMAGED, mmb.QTY_LOSS , mmb.MATERIAL_ID , mmb.TOTAL_AMT , mmb.PRICE , mmb.PROMOTION_ID , mmb.WARE_ID
|
65
|
FROM MW_MAST_BAL mmb
|
66
|
JOIN MW_TRANFER_PRIVATE_DT mtpd ON mtpd.MAST_BAL_ID = mmb.MAST_BAL_ID
|
67
|
WHERE mtpd.TRANFER_PRIVATE_ID = @p_TRANFER_PRIVATE_ID AND mmb.WARE_ID = mtpd.DEFAULT_WARE_ID
|
68
|
|
69
|
-- loop insert value
|
70
|
|
71
|
DECLARE
|
72
|
@MAST_BAL_ID VARCHAR(15),
|
73
|
@TRANSFER_PRIVATE_DT_ID VARCHAR(15),
|
74
|
@TRANSFER_QUANTITY DECIMAL(18,2),
|
75
|
@PROMOTION_TRANFER_ID VARCHAR(15),
|
76
|
@PRICE_ID VARCHAR(15),
|
77
|
@BRANCH_ID VARCHAR(15),
|
78
|
@DEPT_ID VARCHAR(15),
|
79
|
@QTY_BALANCE DECIMAL(18,2),
|
80
|
@QTY_REAL DECIMAL(18,2),
|
81
|
@QTY_TEMP DECIMAL(18,2),
|
82
|
@QTY_DAMAGED DECIMAL(18,2),
|
83
|
@QTY_LOSS DECIMAL(18,2),
|
84
|
@MATERIAL_ID VARCHAR(15),
|
85
|
@TOTAL_AMT DECIMAL(18,2),
|
86
|
@PRICE DECIMAL(18,2),
|
87
|
@PROMOTION_ID VARCHAR(50),
|
88
|
@WARE_ID VARCHAR(50)
|
89
|
|
90
|
|
91
|
DECLARE PASS_DATA CURSOR FOR
|
92
|
SELECT MAST_BAL_ID,TRANSFER_PRIVATE_DT_ID,TRANSFER_QUANTITY,PROMOTION_TRANFER_ID, PRICE_ID, BRANCH_ID, DEPT_ID , QTY_BALANCE , QTY_REAL , QTY_TEMP
|
93
|
, QTY_DAMAGED , QTY_LOSS, MATERIAL_ID , TOTAL_AMT, PRICE , PROMOTION_ID , WARE_ID
|
94
|
FROM @MW_MAST_BAL_Temp;
|
95
|
|
96
|
-- Declare variables
|
97
|
DECLARE @Done BIT = 0;
|
98
|
|
99
|
|
100
|
-- Declare handlers for cursor
|
101
|
DECLARE @ErrorMessage NVARCHAR(4000);
|
102
|
DECLARE @ErrorSeverity INT;
|
103
|
DECLARE @ErrorState INT;
|
104
|
DECLARE @l_MAST_BAL_ID VARCHAR(15)
|
105
|
DECLARE @WARE_TRANFER_NEW_ID VARCHAR(15)
|
106
|
DECLARE @l_MAST_BAL_STMT_ID VARCHAR(15)
|
107
|
DECLARE @t_MAST_BAL_STMT_ID VARCHAR(15)
|
108
|
DECLARE @Mast_Bal_NEW_ID VARCHAR(15)
|
109
|
BEGIN
|
110
|
OPEN PASS_DATA;
|
111
|
|
112
|
FETCH NEXT FROM PASS_DATA INTO @MAST_BAL_ID,
|
113
|
@TRANSFER_PRIVATE_DT_ID,
|
114
|
@TRANSFER_QUANTITY,
|
115
|
@PROMOTION_TRANFER_ID,
|
116
|
@PRICE_ID ,
|
117
|
@BRANCH_ID ,
|
118
|
@DEPT_ID ,
|
119
|
@QTY_BALANCE,
|
120
|
@QTY_REAL,
|
121
|
@QTY_TEMP,
|
122
|
@QTY_DAMAGED,
|
123
|
@QTY_LOSS ,
|
124
|
@MATERIAL_ID ,
|
125
|
@TOTAL_AMT ,
|
126
|
@PRICE ,
|
127
|
@PROMOTION_ID,
|
128
|
@WARE_ID
|
129
|
|
130
|
WHILE @@FETCH_STATUS = 0
|
131
|
BEGIN
|
132
|
-- trừ kho đầu
|
133
|
UPDATE mmb
|
134
|
SET mmb.QTY_BALANCE = mmb.QTY_BALANCE - @TRANSFER_QUANTITY,
|
135
|
mmb.QTY_REAL = QTY_REAL - @TRANSFER_QUANTITY,
|
136
|
mmb.TOTAL_AMT = (mmb.QTY_BALANCE - @TRANSFER_QUANTITY) * mmb.PRICE
|
137
|
FROM MW_MAST_BAL mmb
|
138
|
WHERE mmb.MAST_BAL_ID = @MAST_BAL_ID
|
139
|
-- set ID kho được chuyển qua
|
140
|
SET @WARE_TRANFER_NEW_ID = (SELECT mtpd.WARE_TRANFER_ID
|
141
|
FROM
|
142
|
MW_TRANFER_PRIVATE_DT mtpd
|
143
|
WHERE mtpd.TRANFER_PRIVATE_DT_ID = @TRANSFER_PRIVATE_DT_ID)
|
144
|
-- nếu trong lô vật liệu không có kho được chuyển thì add thêm mới
|
145
|
IF(NOT EXISTS(SELECT * FROM
|
146
|
MW_MAST_BAL mmb
|
147
|
WHERE mmb.WARE_ID = @WARE_TRANFER_NEW_ID AND mmb.MATERIAL_ID = @MATERIAL_ID AND mmb.PRICE_ID = @PRICE_ID AND mmb.PROMOTION_ID = @PROMOTION_TRANFER_ID))
|
148
|
|
149
|
BEGIN
|
150
|
|
151
|
|
152
|
EXEC SYS_CodeMasters_Gen 'MW_MAST_BAL', @l_MAST_BAL_ID out
|
153
|
IF @l_MAST_BAL_ID='' OR @l_MAST_BAL_ID IS NULL GOTO ABORT
|
154
|
|
155
|
INSERT INTO MW_MAST_BAL(MAST_BAL_ID, PRICE_ID, BRANCH_ID, DEPT_ID , QTY_BALANCE , QTY_REAL , QTY_TEMP
|
156
|
, QTY_DAMAGED , QTY_LOSS, MATERIAL_ID , TOTAL_AMT, PRICE , PROMOTION_ID , WARE_ID )
|
157
|
VALUES(@l_MAST_BAL_ID,@PRICE_ID,@BRANCH_ID,@DEPT_ID,@TRANSFER_QUANTITY, @TRANSFER_QUANTITY, @QTY_TEMP
|
158
|
, @QTY_DAMAGED, @QTY_LOSS, @MATERIAL_ID, @TRANSFER_QUANTITY * @PRICE, @PRICE, @PROMOTION_TRANFER_ID, @WARE_TRANFER_NEW_ID)
|
159
|
|
160
|
|
161
|
END
|
162
|
|
163
|
-- cật nhật số lượng lô vật liệu ở kho được chuyển
|
164
|
ELSE
|
165
|
BEGIN
|
166
|
UPDATE mmb
|
167
|
SET mmb.QTY_BALANCE = mmb.QTY_BALANCE + @TRANSFER_QUANTITY,
|
168
|
mmb.QTY_REAL = mmb.QTY_REAL + @TRANSFER_QUANTITY
|
169
|
FROM MW_MAST_BAL mmb
|
170
|
WHERE mmb.WARE_ID = @WARE_TRANFER_NEW_ID AND mmb.MATERIAL_ID = @MATERIAL_ID AND mmb.PRICE_ID = @PRICE_ID AND mmb.PROMOTION_ID = @PROMOTION_TRANFER_ID
|
171
|
END
|
172
|
|
173
|
|
174
|
|
175
|
-- thêm vào Mast_bal_stmt
|
176
|
EXEC SYS_CodeMasters_Gen 'MW_MAST_BAL_STMT', @l_MAST_BAL_STMT_ID out
|
177
|
IF @l_MAST_BAL_STMT_ID='' OR @l_MAST_BAL_STMT_ID IS NULL GOTO ABORT
|
178
|
|
179
|
INSERT INTO MW_MAST_BAL_STMT( STMT_ID, REF_ID, MAST_BAL_ID, TRN_DATE, TRN_TIME, TRN_TYPE, CRDR, QTY, PRICE, TRN_DESC, TOTAL_AMT)
|
180
|
VALUES(@l_MAST_BAL_STMT_ID,@TRANSFER_PRIVATE_DT_ID, @MAST_BAL_ID,CONVERT(DATETIME, GETDATE(), 103), CONVERT(DATETIME, GETDATE(), 120),'PT','D',@TRANSFER_QUANTITY,@PRICE,'',@TRANSFER_QUANTITY * @PRICE )
|
181
|
|
182
|
EXEC SYS_CodeMasters_Gen 'MW_MAST_BAL_STMT', @t_MAST_BAL_STMT_ID out
|
183
|
IF @t_MAST_BAL_STMT_ID='' OR @t_MAST_BAL_STMT_ID IS NULL GOTO ABORT
|
184
|
|
185
|
|
186
|
SELECT @Mast_Bal_NEW_ID = mmb.MAST_BAL_ID
|
187
|
FROM MW_MAST_BAL mmb
|
188
|
WHERE mmb.PRICE_ID = @PRICE_ID AND mmb.WARE_ID = @WARE_TRANFER_NEW_ID AND mmb.MATERIAL_ID = @MATERIAL_ID AND mmb.PROMOTION_ID = @PROMOTION_TRANFER_ID
|
189
|
|
190
|
INSERT INTO MW_MAST_BAL_STMT( STMT_ID, REF_ID, MAST_BAL_ID, TRN_DATE, TRN_TIME, TRN_TYPE, CRDR, QTY, PRICE, TRN_DESC, TOTAL_AMT)
|
191
|
VALUES(@t_MAST_BAL_STMT_ID,@TRANSFER_PRIVATE_DT_ID,@Mast_Bal_NEW_ID,CONVERT(DATETIME, GETDATE(), 103), CONVERT(DATETIME, GETDATE(), 120),'PT','C',@TRANSFER_QUANTITY,@PRICE,'',@TRANSFER_QUANTITY * @PRICE )
|
192
|
|
193
|
FETCH NEXT FROM PASS_DATA INTO @MAST_BAL_ID,
|
194
|
@TRANSFER_PRIVATE_DT_ID,
|
195
|
@TRANSFER_QUANTITY,
|
196
|
@PROMOTION_TRANFER_ID,
|
197
|
@PRICE_ID ,
|
198
|
@BRANCH_ID ,
|
199
|
@DEPT_ID ,
|
200
|
@QTY_BALANCE,
|
201
|
@QTY_REAL,
|
202
|
@QTY_TEMP,
|
203
|
@QTY_DAMAGED,
|
204
|
@QTY_LOSS ,
|
205
|
@MATERIAL_ID ,
|
206
|
@TOTAL_AMT ,
|
207
|
@PRICE ,
|
208
|
@PROMOTION_ID,
|
209
|
@WARE_ID
|
210
|
END;
|
211
|
|
212
|
CLOSE PASS_DATA;
|
213
|
DEALLOCATE PASS_DATA;
|
214
|
END;
|
215
|
|
216
|
|
217
|
|
218
|
|
219
|
-- Cập nhật trạng thái
|
220
|
UPDATE MW_TRANFER_PRIVATE
|
221
|
SET AUTH_STATUS = @p_AUTH_STATUS,
|
222
|
APPROVE_DT = GETDATE(),
|
223
|
CHECKER_ID = @p_CHECKER_ID,
|
224
|
PROCESS_ID = 'DONE'
|
225
|
WHERE TRANFER_PRIVATE_ID = @p_TRANFER_PRIVATE_ID
|
226
|
|
227
|
IF @@Error <> 0 GOTO ABORT
|
228
|
|
229
|
-- Cập nhật lịch sử xử lý
|
230
|
|
231
|
-- thêm xử lý mới
|
232
|
INSERT INTO MW_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],PROCESS_NAME,ROLE_USER,[STATUS],BRANCH_ID,PARENT_PROCESS_ID,PROCESS_TYPE,DEP_ID, CHECKER_ID,RECEPTION_DT,NOTES)
|
233
|
VALUES(@p_TRANFER_PRIVATE_ID,'TDVDMDD',N'ĐƠN VỊ ĐẦU MỐI DUYỆT','','P',@p_BRANCH_ID,'DVDMTN','Approve',@p_DEP_ID, @p_CHECKER_ID,GETDATE(), N'Đơn vị đầu mối đã duyệt')
|
234
|
-- Câp nhật trạng thái yêu cầu
|
235
|
UPDATE MW_REQUEST_PROCESS
|
236
|
SET STATUS = 'P'
|
237
|
WHERE REQ_ID = @p_TRANFER_PRIVATE_ID AND PROCESS_ID = 'DVDMTN'
|
238
|
|
239
|
IF(EXISTS (SELECT STATUS FROM MW_REQUEST_PROCESS WHERE REQ_ID = @p_TRANFER_PRIVATE_ID AND PROCESS_ID = 'SENDAPP' AND STATUS = 'C'))
|
240
|
BEGIN
|
241
|
UPDATE MW_REQUEST_PROCESS
|
242
|
SET STATUS = 'P'
|
243
|
WHERE REQ_ID = @p_TRANFER_PRIVATE_ID AND PROCESS_ID = 'SENDAPP'
|
244
|
END
|
245
|
|
246
|
IF(NOT EXISTS(SELECT * FROM MW_REQUEST_PROCESS mrp WHERE mrp.STATUS = 'C' AND mrp.REQ_ID = @p_TRANFER_PRIVATE_ID))
|
247
|
BEGIN
|
248
|
INSERT INTO MW_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],PROCESS_NAME,ROLE_USER,[STATUS],BRANCH_ID,PARENT_PROCESS_ID,PROCESS_TYPE,DEP_ID, CHECKER_ID,RECEPTION_DT,NOTES)
|
249
|
VALUES(@p_TRANFER_PRIVATE_ID,'DONE',N'HOÀN THÀNH PHIẾU','','P',@p_BRANCH_ID,'TDVDMDD','Approve',@p_DEP_ID, @p_CHECKER_ID,DATEADD(SECOND,1,GETDATE()), N'Hoàn thành phiếu')
|
250
|
END
|
251
|
END
|
252
|
ELSE
|
253
|
BEGIN
|
254
|
IF(EXISTS(SELECT * FROM MW_REQUEST_PROCESS mrp WHERE mrp.PROCESS_ID = 'SENDAPP' AND mrp.STATUS = 'C' AND mrp.REQ_ID = @p_TRANFER_PRIVATE_ID))
|
255
|
BEGIN
|
256
|
IF(EXISTS(SELECT * FROM MW_REQUEST_PROCESS mrp WHERE mrp.CHECKER_ID = @p_CHECKER_ID AND mrp.REQ_ID = @p_TRANFER_PRIVATE_ID AND mrp.STATUS <> 'F'))
|
257
|
BEGIN
|
258
|
GOTO ABORT3
|
259
|
END
|
260
|
|
261
|
|
262
|
UPDATE MW_TRANFER_PRIVATE
|
263
|
SET
|
264
|
AUTH_STATUS = @p_AUTH_STATUS,
|
265
|
CHECKER_ID = @p_CHECKER_ID,
|
266
|
PROCESS_ID = 'DVDMTN'
|
267
|
WHERE TRANFER_PRIVATE_ID = @p_TRANFER_PRIVATE_ID IF @@Error <> 0 GOTO ABORT
|
268
|
-- Cập nhật lịch sử xử lý
|
269
|
|
270
|
-- thêm xử lý mới
|
271
|
INSERT INTO MW_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],PROCESS_NAME,ROLE_USER,[STATUS],BRANCH_ID,PARENT_PROCESS_ID,PROCESS_TYPE,DEP_ID, CHECKER_ID,RECEPTION_DT,NOTES)
|
272
|
VALUES(@p_TRANFER_PRIVATE_ID,'DVDMTN', N'TRƯỞNG ĐƠN VỊ DUYỆT','DVDM','C',@p_BRANCH_ID,'SENDAPP','APPROVE',@p_DEP_ID, @p_CHECKER_ID,GETDATE(), N'Trưởng đơn vị duyệt phiếu')
|
273
|
-- Câp nhật trạng thái yêu cầu
|
274
|
UPDATE MW_REQUEST_PROCESS
|
275
|
SET STATUS = 'P'
|
276
|
WHERE REQ_ID = @p_TRANFER_PRIVATE_ID AND PROCESS_ID = 'SENDAPP'AND STATUS = 'C'
|
277
|
-- GỬI MAIL CHECK
|
278
|
SET @IS_SEND_MAIL = '1'
|
279
|
END
|
280
|
ELSE
|
281
|
BEGIN
|
282
|
IF EXISTS(SELECT * FROM MW_REQUEST_PROCESS mrp WHERE mrp.PROCESS_ID = 'DVDMTN' AND mrp.STATUS = 'C' AND mrp.REQ_ID = @p_TRANFER_PRIVATE_ID)
|
283
|
BEGIN
|
284
|
|
285
|
|
286
|
-- Cập nhật trạng thái
|
287
|
UPDATE MW_TRANFER_PRIVATE
|
288
|
SET AUTH_STATUS = @p_AUTH_STATUS,
|
289
|
APPROVE_DT = GETDATE(),
|
290
|
CHECKER_ID = @p_CHECKER_ID,
|
291
|
PROCESS_ID = 'DONE'
|
292
|
WHERE TRANFER_PRIVATE_ID = @p_TRANFER_PRIVATE_ID
|
293
|
|
294
|
IF @@Error <> 0 GOTO ABORT
|
295
|
|
296
|
-- Cập nhật lịch sử xử lý
|
297
|
|
298
|
-- thêm xử lý mới
|
299
|
INSERT INTO MW_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],PROCESS_NAME,ROLE_USER,[STATUS],BRANCH_ID,PARENT_PROCESS_ID,PROCESS_TYPE,DEP_ID, CHECKER_ID,RECEPTION_DT,NOTES)
|
300
|
VALUES(@p_TRANFER_PRIVATE_ID,'TDVDMDD',N'ĐƠN VỊ ĐẦU MỐI DUYỆT','','P',@p_BRANCH_ID,'DVDMTN','Approve',@p_DEP_ID, @p_CHECKER_ID,GETDATE(), N'Đơn vị đầu mối đã duyệt')
|
301
|
-- Câp nhật trạng thái yêu cầu
|
302
|
UPDATE MW_REQUEST_PROCESS
|
303
|
SET STATUS = 'P'
|
304
|
WHERE REQ_ID = @p_TRANFER_PRIVATE_ID AND PROCESS_ID = 'DVDMTN'
|
305
|
|
306
|
IF(EXISTS (SELECT STATUS FROM MW_REQUEST_PROCESS WHERE REQ_ID = @p_TRANFER_PRIVATE_ID AND PROCESS_ID = 'SENDAPP' AND STATUS = 'C'))
|
307
|
BEGIN
|
308
|
UPDATE MW_REQUEST_PROCESS
|
309
|
SET STATUS = 'P'
|
310
|
WHERE REQ_ID = @p_TRANFER_PRIVATE_ID AND PROCESS_ID = 'SENDAPP'
|
311
|
END
|
312
|
|
313
|
IF(NOT EXISTS(SELECT * FROM MW_REQUEST_PROCESS mrp WHERE mrp.STATUS = 'C' AND mrp.REQ_ID = @p_TRANFER_PRIVATE_ID))
|
314
|
BEGIN
|
315
|
INSERT INTO MW_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],PROCESS_NAME,ROLE_USER,[STATUS],BRANCH_ID,PARENT_PROCESS_ID,PROCESS_TYPE,DEP_ID, CHECKER_ID,RECEPTION_DT,NOTES)
|
316
|
VALUES(@p_TRANFER_PRIVATE_ID,'DONE',N'HOÀN THÀNH PHIẾU','','P',@p_BRANCH_ID,'TDVDMDD','Approve',@p_DEP_ID, @p_CHECKER_ID,DATEADD(SECOND,1,GETDATE()), N'Hoàn thành phiếu')
|
317
|
END
|
318
|
END
|
319
|
END
|
320
|
END
|
321
|
|
322
|
COMMIT TRANSACTION
|
323
|
SELECT '0' as Result, '' ErrorDesc, @IS_SEND_MAIL SEND_MAIL
|
324
|
RETURN '0'
|
325
|
ABORT:
|
326
|
BEGIN
|
327
|
ROLLBACK TRANSACTION
|
328
|
SELECT '-1' as Result, '' ErrorDesc
|
329
|
RETURN '-1'
|
330
|
End
|
331
|
|
332
|
ABORT2:
|
333
|
BEGIN
|
334
|
ROLLBACK TRANSACTION
|
335
|
SELECT '-1' as Result, N'Không thể duyệt, phiếu chưa đến bước xử lý này' ErrorDesc
|
336
|
RETURN '-1'
|
337
|
End
|
338
|
|
339
|
ABORT3:
|
340
|
BEGIN
|
341
|
ROLLBACK TRANSACTION
|
342
|
SELECT '-1' as Result, N'Không thể duyệt phiếu này' ErrorDesc
|
343
|
RETURN '-1'
|
344
|
END
|
345
|
ABORT4:
|
346
|
BEGIN
|
347
|
ROLLBACK TRANSACTION
|
348
|
SELECT '-1' as Result, N'Có lỗi xảy ra vui lòng thử lại' ErrorDesc
|
349
|
RETURN '-1'
|
350
|
End
|