1
|
|
2
|
|
3
|
|
4
|
ALTER PROCEDURE [dbo].[TR_PO_MASTER_Upd]
|
5
|
@p_PO_ID varchar(15) = NULL,
|
6
|
@P_PO_TYPE INT = NULL,
|
7
|
@p_PO_CODE varchar(15) = NULL,
|
8
|
@p_PO_NAME nvarchar(200) = NULL,
|
9
|
@p_CONTRACT_ID varchar(15) = NULL,
|
10
|
@p_SUP_ID varchar(15) = NULL,
|
11
|
@p_SUP_NAME nvarchar(200) = NULL,
|
12
|
@p_SUP_ADDR nvarchar(200) = NULL,
|
13
|
@p_INPUT_DT VARCHAR(20) = NULL,
|
14
|
@p_PAYMENT_DT VARCHAR(20) = NULL,
|
15
|
@p_TOTAL_AMT decimal(18) = NULL,
|
16
|
@p_REQ_DOC_ID varchar(15) = NULL,
|
17
|
@p_DELIVERY_DT VARCHAR(20) = NULL,
|
18
|
@p_PAYAPP_DT VARCHAR(20) = NULL,
|
19
|
@p_NOTES nvarchar(1000) = NULL,
|
20
|
@p_RECORD_STATUS varchar(1) = NULL,
|
21
|
@p_MAKER_ID varchar(15) = NULL,
|
22
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
23
|
@p_AUTH_STATUS varchar(50) = NULL,
|
24
|
@p_CHECKER_ID varchar(15) = NULL,
|
25
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
26
|
@p_TR_REQ_ID VARCHAR(20) = NULL,
|
27
|
@p_TR_REQ_CODE VARCHAR(20)= NULL,
|
28
|
@P_LISTASSET XML = NULL,
|
29
|
@P_LISTPAYMENT XML = NULL,
|
30
|
@P_LISTROLE XML = NULL,
|
31
|
@p_BRANCH_ID varchar(15) = null,
|
32
|
@p_IS_CLOSED VARCHAR(1) = NULL
|
33
|
AS
|
34
|
DECLARE @REF_CODE VARCHAR(15) = NULL, @PDN_TT VARCHAR(15) = NULL
|
35
|
SET @REF_CODE =
|
36
|
( SELECT TOP 1 B.REQ_PAY_CODE
|
37
|
FROM TR_REQ_ADVANCE_DT A
|
38
|
INNER JOIN TR_REQ_ADVANCE_PAYMENT B ON A.REQ_PAY_ID = B.REQ_PAY_ID
|
39
|
WHERE A.REF_ID =@p_PO_ID AND (B.AUTH_STATUS_KT <>'A' OR B.AUTH_STATUS_KT IS NULL)
|
40
|
)
|
41
|
--- TIM KIEM XEM PO NAY CO DUOC PHEP THANH TOAN HAY KHONG
|
42
|
SET @PDN_TT =
|
43
|
( SELECT TOP 1 B.REQ_PAY_CODE
|
44
|
FROM TR_REQ_ADVANCE_DT A
|
45
|
INNER JOIN TR_REQ_PAYMENT B ON A.REQ_PAY_ID = B.REQ_PAY_ID
|
46
|
WHERE A.REF_ID =@p_CONTRACT_ID AND (B.AUTH_STATUS_KT <>'A' OR B.AUTH_STATUS_KT IS NULL)
|
47
|
)
|
48
|
IF(@p_IS_CLOSED ='Y' AND @REF_CODE IS NOT NULL)
|
49
|
BEGIN
|
50
|
--ROLLBACK TRANSACTION
|
51
|
SELECT '-1' Result, @p_PO_ID AS PO_ID, N'PO đang được thực hiện tạm ứng với số phiếu: '+@REF_CODE AS ErrorDesc
|
52
|
RETURN '-1'
|
53
|
END
|
54
|
IF(@p_IS_CLOSED ='Y' AND @PDN_TT IS NOT NULL)
|
55
|
BEGIN
|
56
|
--ROLLBACK TRANSACTION
|
57
|
SELECT '-1' Result, @p_PO_ID AS PO_ID, N'PO đang được thực hiện thanh toán với số phiếu: '+@PDN_TT AS ErrorDesc
|
58
|
RETURN '-1'
|
59
|
END
|
60
|
IF EXISTS(SELECT * FROM TR_PO_MASTER WHERE [PO_CODE] = @p_PO_CODE AND [PO_ID] <> @p_PO_ID)
|
61
|
BEGIN
|
62
|
SELECT ErrorCode Result, '' PO_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = 'PO-00002'
|
63
|
RETURN '0'
|
64
|
END
|
65
|
--- 21052020 KIEM TRA XEM NEU PYCMS DA TON TAI HAY CHUA
|
66
|
IF((SELECT COUNT(*) FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID =@p_REQ_DOC_ID)=1)
|
67
|
BEGIN
|
68
|
IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE REQ_DOC_ID =@p_REQ_DOC_ID AND AUTH_STATUS IN ('E','U','A') AND PO_ID <>@p_PO_ID))
|
69
|
BEGIN
|
70
|
ROLLBACK TRANSACTION
|
71
|
SELECT '-1' Result, @p_PO_ID AS PO_ID, N'Phiếu yêu cầu mua sắm số :'+(SELECT REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_DOC_ID)+N' đã được link tới PO có số: '+(SELECT TOP 1 PO_CODE FROM TR_PO_MASTER WHERE REQ_DOC_ID =@p_REQ_DOC_ID) AS ErrorDes
|
72
|
RETURN '-1'
|
73
|
END
|
74
|
END
|
75
|
------
|
76
|
Declare @hdoc INT
|
77
|
Exec sp_xml_preparedocument @hdoc Output,@P_LISTASSET
|
78
|
DECLARE AssetDetail CURSOR FOR
|
79
|
SELECT *
|
80
|
FROM OPENXML(@hDoc,'/Root/AssetDetail',2)
|
81
|
WITH
|
82
|
(
|
83
|
PD_ID VARCHAR(15),
|
84
|
PLAN_ID varchar(15) ,
|
85
|
TRADE_ID varchar(15) ,
|
86
|
GOODS_ID varchar(15) ,
|
87
|
[DESCRIPTION] nvarchar(500),
|
88
|
UNIT_ID varchar(15) ,
|
89
|
QUANTITY decimal(18) ,
|
90
|
PRICE decimal(18,2) ,
|
91
|
TOTAL_AMT decimal(18,2),
|
92
|
IS_DELIVERY varchar(1) ,
|
93
|
DELIVERY_DT VARCHAR(20),
|
94
|
PAYMENT_STATUS varchar(4),
|
95
|
AMOUNT_PAID decimal(18) ,
|
96
|
PAID_DT VARCHAR(20) ,
|
97
|
INVOICENO varchar(1000),
|
98
|
NOTES nvarchar(1000),
|
99
|
RECEIVE_BRANCH varchar(15),
|
100
|
RECEIVE_ADDR nvarchar(1000),
|
101
|
RECEIVE_PERSON nvarchar(500),
|
102
|
RECEIVE_TEL varchar(100),
|
103
|
EXP_DELIVERY_DT varchar(20),
|
104
|
GOODS_NAME NVARCHAR(500),
|
105
|
INVOICE_DT VARCHAR(20),
|
106
|
--THIEUVQ 100415 THEM LOAI HANG HOA THUC TE
|
107
|
GOODSTYPE_REAL VARCHAR(15),
|
108
|
GOODSTYPE_REAL_NAME VARCHAR(15),
|
109
|
--THIEUVQ 13092016 THEM VAT, CONTRACT_DT
|
110
|
VAT DECIMAL(18,2),
|
111
|
PRICE_VAT DECIMAL(18,0),
|
112
|
CONTRACT_DT VARCHAR(15),
|
113
|
CURRENCY VARCHAR(15),
|
114
|
RATE INT,
|
115
|
TOTAL_AMT_FN DECIMAL(18,2)
|
116
|
)
|
117
|
OPEN AssetDetail
|
118
|
|
119
|
Exec sp_xml_preparedocument @hdoc Output,@P_LISTPAYMENT
|
120
|
DECLARE PaymentDetail CURSOR FOR
|
121
|
SELECT *
|
122
|
FROM OPENXML(@hDoc,'/Root/PaymentDetail',2)
|
123
|
WITH
|
124
|
(
|
125
|
PAY_ID VARCHAR(15),
|
126
|
PAY_PHASE varchar(15),
|
127
|
EXPECTED_DT VARCHAR(20),
|
128
|
[PERCENT] decimal(18),
|
129
|
[AMOUNT] decimal(18),
|
130
|
NOTES nvarchar(1000),
|
131
|
CURRENCY VARCHAR(15),
|
132
|
RATE INT,
|
133
|
TOTAL_AMT DECIMAL(18,2)
|
134
|
)
|
135
|
OPEN PaymentDetail
|
136
|
PRINT 'PASS KHOI TAO'
|
137
|
|
138
|
--Nhom user gui mail (DAO EDIT)
|
139
|
Exec sp_xml_preparedocument @hdoc Output,@P_LISTROLE
|
140
|
DECLARE LISTROLE CURSOR FOR
|
141
|
SELECT *
|
142
|
FROM OPENXML(@hDoc,'/Root/LISTROLE',2)
|
143
|
WITH
|
144
|
(
|
145
|
NOTIFI_ID VARCHAR(15),
|
146
|
TL_NAME varchar(15),
|
147
|
EDITOR_DT VARCHAR(20),
|
148
|
EDITOR_ID VARCHAR(15),
|
149
|
NOTES nvarchar(1000)
|
150
|
)
|
151
|
OPEN LISTROLE
|
152
|
|
153
|
BEGIN TRANSACTION
|
154
|
IF @p_DELIVERY_DT = ''
|
155
|
SET @p_DELIVERY_DT = NULL
|
156
|
IF @p_PAYAPP_DT = ''
|
157
|
SET @p_PAYAPP_DT = NULL
|
158
|
--insert master
|
159
|
UPDATE TR_PO_MASTER SET [PO_TYPE] = @P_PO_TYPE, [PO_CODE] = @p_PO_CODE,[PO_NAME] = @p_PO_NAME,
|
160
|
[CONTRACT_ID] = @p_CONTRACT_ID,[SUP_ID] = @p_SUP_ID,[SUP_NAME] = @p_SUP_NAME,[SUP_ADDR] = @p_SUP_ADDR,
|
161
|
[INPUT_DT] = CONVERT(DATETIME, @p_INPUT_DT, 103),[PAYMENT_DT] = CONVERT(DATETIME, @p_PAYMENT_DT, 103),
|
162
|
[TOTAL_AMT] = @p_TOTAL_AMT,[REQ_DOC_ID] = @p_TR_REQ_ID,[DELIVERY_DT] = CONVERT(DATETIME, @p_DELIVERY_DT, 103),
|
163
|
[PAYAPP_DT] = CONVERT(DATETIME, @p_PAYAPP_DT, 103),[NOTES] = @p_NOTES,[RECORD_STATUS] = '1',
|
164
|
[MAKER_ID] = @p_MAKER_ID,[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),[AUTH_STATUS] = 'E',
|
165
|
[CHECKER_ID] = @p_CHECKER_ID,[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103), BRANCH_ID = @p_BRANCH_ID
|
166
|
WHERE PO_ID= @p_PO_ID
|
167
|
IF @@Error <> 0 GOTO ABORT
|
168
|
PRINT 'INSERT MASTER SUCCESS'
|
169
|
UPDATE dbo.TR_PO_MASTER_TEMP SET TR_REQ_ID=@p_TR_REQ_ID,TR_REQ_CODE=@p_TR_REQ_CODE WHERE PO_ID=@p_PO_ID
|
170
|
|
171
|
--insert asset detail tương đương như NỘI DUNG trong bảng contract detail
|
172
|
Declare
|
173
|
@PAY_ID VARCHAR(15),
|
174
|
@PD_ID VARCHAR(15),
|
175
|
@PLAN_ID varchar(15),
|
176
|
@TRADE_ID varchar(15),
|
177
|
@GOODS_ID varchar(15),
|
178
|
@DESCRIPTION nvarchar(500),
|
179
|
@UNIT_ID varchar(15),
|
180
|
@QUANTITY decimal(18),
|
181
|
@PRICE decimal(18,2),
|
182
|
@TOTAL_AMT decimal(18,2),
|
183
|
@IS_DELIVERY varchar(1),
|
184
|
@DELIVERY_DT VARCHAR(20),
|
185
|
@PAYMENT_STATUS varchar(4),
|
186
|
@AMOUNT_PAID decimal(18),
|
187
|
@PAID_DT VARCHAR(20),
|
188
|
@INVOICENO varchar(20),
|
189
|
@NOTES nvarchar(1000),
|
190
|
@PO_ID varchar(15) = NULL,
|
191
|
@PAY_PHASE VARCHAR(20) = NULL,
|
192
|
@EXPECTED_DT VARCHAR(20) = NULL,
|
193
|
@PERCENT decimal(18) = NULL,
|
194
|
@AMOUNT decimal(18) = NULL,
|
195
|
@RECEIVE_BRANCH varchar(15)=NULL,
|
196
|
@RECEIVE_ADDR nvarchar(1000)=NULL,
|
197
|
@RECEIVE_PERSON nvarchar(500)=NULL,
|
198
|
@RECEIVE_TEL varchar(100)=NULL,
|
199
|
@EXP_DELIVERY_DT varchar(20) = NULL,
|
200
|
@GOODS_NAME NVARCHAR(500) = NULL,
|
201
|
@INVOICE_DT VARCHAR(20),
|
202
|
@GOODSTYPE_REAL VARCHAR(15) = NULL,
|
203
|
@GOODSTYPE_REAL_NAME VARCHAR(15) = NULL,
|
204
|
@VAT DECIMAL(18,2),
|
205
|
@PRICE_VAT DECIMAL(18,0),
|
206
|
@CONTRACT_DT VARCHAR(15),
|
207
|
--DAO MOI THEM
|
208
|
@NOTIFI_ID VARCHAR(15),
|
209
|
@TL_NAME VARCHAR(15),
|
210
|
@EDITOR_DT VARCHAR(20),
|
211
|
@EDITOR_ID VARCHAR(15),
|
212
|
@NOTES_ROLE nvarchar(1000),
|
213
|
|
214
|
@CURRENCY VARCHAR(15),
|
215
|
@RATE INT,
|
216
|
@TOTAL_AMT_FN DECIMAL(18,2)
|
217
|
|
218
|
DECLARE @l_GOODSTYPE_ID VARCHAR(15)
|
219
|
|
220
|
DELETE FROM TR_PO_DETAIL WHERE PO_ID = @P_PO_ID
|
221
|
|
222
|
FETCH NEXT FROM AssetDetail INTO @PD_ID,@PLAN_ID,@TRADE_ID,@GOODS_ID,@DESCRIPTION,@UNIT_ID,@QUANTITY,
|
223
|
@PRICE,@TOTAL_AMT,@IS_DELIVERY,@DELIVERY_DT,@PAYMENT_STATUS,@AMOUNT_PAID,@PAID_DT,
|
224
|
@INVOICENO,@NOTES, @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL,@EXP_DELIVERY_DT,@GOODS_NAME, @INVOICE_DT,
|
225
|
@GOODSTYPE_REAL,@GOODSTYPE_REAL_NAME,@VAT,@PRICE_VAT,@CONTRACT_DT,@CURRENCY,@RATE,@TOTAL_AMT_FN
|
226
|
WHILE @@FETCH_STATUS = 0
|
227
|
BEGIN
|
228
|
--if( NOT EXISTS (SELECT * FROM PL_MASTER A WHERE A.PLAN_ID = @PLAN_ID))
|
229
|
--BEGIN
|
230
|
-- SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = 'TR-00002'
|
231
|
-- GOTO ABORT
|
232
|
--END
|
233
|
|
234
|
IF(LEN(@PD_ID) = 0)
|
235
|
|
236
|
BEGIN
|
237
|
EXEC SYS_CodeMasters_Gen 'TR_PO_DETAIL', @PD_ID out
|
238
|
IF @PD_ID ='' OR @PD_ID IS NULL GOTO ABORT
|
239
|
END
|
240
|
|
241
|
IF(@DELIVERY_DT = '')
|
242
|
SET @DELIVERY_DT = NULL
|
243
|
IF(@PAID_DT = '')
|
244
|
SET @PAID_DT = NULL
|
245
|
IF(@INVOICE_DT = '')
|
246
|
SET @INVOICE_DT = NULL
|
247
|
IF @EXP_DELIVERY_DT = '' SET @EXP_DELIVERY_DT = NULL
|
248
|
|
249
|
/***THIEUVQ THEM KIEM TRA VA LUU THONG TIN LOAI HANG HOA THUC TE***/
|
250
|
--BEGIN
|
251
|
--CHUA CO LOAI HANG HOA THI THEM MOI
|
252
|
IF @GOODSTYPE_REAL IS NULL OR @GOODSTYPE_REAL = ''
|
253
|
BEGIN
|
254
|
--NEU TON TAI THI LAY RA ID
|
255
|
SET @GOODSTYPE_REAL = (SELECT TOP 1 GD_RETYPE_ID FROM CM_GOODSTYPE_REAL WHERE [TYPE_NAME] = @GOODSTYPE_REAL_NAME)
|
256
|
--NEU CHUA CO THI THEM MOI
|
257
|
IF @GOODSTYPE_REAL IS NULL OR @GOODSTYPE_REAL = ''
|
258
|
BEGIN
|
259
|
EXEC SYS_CodeMasters_Gen 'CM_GOODSTYPE_REAL', @l_GOODSTYPE_ID OUT
|
260
|
IF @l_GOODSTYPE_ID='' OR @l_GOODSTYPE_ID IS NULL GOTO ABORT
|
261
|
|
262
|
INSERT INTO CM_GOODSTYPE_REAL VALUES (@l_GOODSTYPE_ID, @l_GOODSTYPE_ID, @GOODSTYPE_REAL_NAME, '', '1',
|
263
|
@p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103),'A',@p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103))
|
264
|
IF @@ERROR <> 0 GOTO ABORT
|
265
|
|
266
|
SET @GOODSTYPE_REAL = @l_GOODSTYPE_ID
|
267
|
END
|
268
|
END
|
269
|
--END
|
270
|
|
271
|
INSERT INTO TR_PO_DETAIL([PD_ID],[PO_ID],[PLAN_ID],[TRADE_ID],[GOODS_ID],[DESCRIPTION],[UNIT_ID],[QUANTITY],[PRICE],[TOTAL_AMT],[IS_DELIVERY],[DELIVERY_DT],
|
272
|
[PAYMENT_STATUS],[AMOUNT_PAID],[PAID_DT],[INVOICENO],[NOTES], RECEIVE_BRANCH, RECEIVE_ADDR, RECEIVE_PERSON, RECEIVE_TEL,[RECORD_STATUS],[MAKER_ID],[CREATE_DT],
|
273
|
[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],EXP_DELIVERY_DT,GOODS_NAME,INVOICE_DT,GOODSTYPE_REAL,VAT,PRICE_VAT,CONTRACT_DT,CURRENCY,RATE,TOTAL_AMT_FN)
|
274
|
VALUES(@PD_ID ,@p_PO_ID ,@PLAN_ID ,@TRADE_ID ,@GOODS_ID,@DESCRIPTION ,@UNIT_ID ,@QUANTITY ,@PRICE ,@TOTAL_AMT ,
|
275
|
@IS_DELIVERY ,CONVERT(DATETIME, @DELIVERY_DT, 103) ,@PAYMENT_STATUS ,@AMOUNT_PAID ,
|
276
|
CONVERT(DATETIME, @PAID_DT, 103) ,@INVOICENO ,@NOTES , @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL,
|
277
|
@p_RECORD_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_AUTH_STATUS ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103),CONVERT(DATETIME, @EXP_DELIVERY_DT, 103),
|
278
|
@GOODS_NAME, CONVERT(DATETIME, @INVOICE_DT, 103),@GOODSTYPE_REAL,@VAT,@PRICE_VAT,@CONTRACT_DT,ISNULL(@CURRENCY,'VND'),ISNULL(@RATE,1) ,@TOTAL_AMT*ISNULL(@RATE,1) )
|
279
|
IF @@ERROR <> 0 GOTO ABORT
|
280
|
|
281
|
-- next Group_Id
|
282
|
FETCH NEXT FROM AssetDetail INTO @PD_ID,@PLAN_ID,@TRADE_ID,@GOODS_ID,@DESCRIPTION,@UNIT_ID,@QUANTITY,
|
283
|
@PRICE,@TOTAL_AMT,@IS_DELIVERY,@DELIVERY_DT,@PAYMENT_STATUS,@AMOUNT_PAID,@PAID_DT,
|
284
|
@INVOICENO,@NOTES, @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL, @EXP_DELIVERY_DT,@GOODS_NAME,@INVOICE_DT,
|
285
|
@GOODSTYPE_REAL,@GOODSTYPE_REAL_NAME,@VAT,@PRICE_VAT,@CONTRACT_DT,@CURRENCY,@RATE,@TOTAL_AMT_FN
|
286
|
END
|
287
|
|
288
|
--insert payment detail
|
289
|
|
290
|
DELETE FROM TR_PO_PAYMENT WHERE PO_ID = @p_PO_ID
|
291
|
|
292
|
FETCH NEXT FROM PaymentDetail INTO @PAY_ID,@PAY_PHASE,@EXPECTED_DT,@PERCENT,@AMOUNT,@NOTES,@CURRENCY,@RATE,@TOTAL_AMT_FN
|
293
|
WHILE @@FETCH_STATUS = 0
|
294
|
BEGIN
|
295
|
EXEC SYS_CodeMasters_Gen 'TR_PO_PAYMENT', @PAY_ID out
|
296
|
IF @PAY_ID ='' OR @PAY_ID IS NULL GOTO ABORT
|
297
|
--PRINT @PAY_ID
|
298
|
--IF(LEN(@PAY_ID) = 0)
|
299
|
--BEGIN
|
300
|
-- EXEC SYS_CodeMasters_Gen 'TR_PO_PAYMENT', @PAY_ID out
|
301
|
-- IF @PAY_ID ='' OR @PAY_ID IS NULL GOTO ABORT
|
302
|
--END
|
303
|
IF @EXPECTED_DT = ''
|
304
|
SET @EXPECTED_DT = NULL
|
305
|
INSERT INTO TR_PO_PAYMENT([PAY_ID],[PO_ID],[PAY_PHASE],[EXP_DT],[PERCENT],[AMOUNT],[NOTES],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],CURRENCY,RATE,TOTAL_AMT)
|
306
|
VALUES(@PAY_ID ,@p_PO_ID ,@PAY_PHASE ,CONVERT(DATETIME, @EXPECTED_DT, 103) ,@PERCENT ,@AMOUNT ,@NOTES ,@p_RECORD_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_AUTH_STATUS ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103),ISNULL(@CURRENCY,'VND'),ISNULL(@RATE,1) ,@AMOUNT*ISNULL(@RATE,1))
|
307
|
FETCH NEXT FROM PaymentDetail INTO @PAY_ID,@PAY_PHASE,@EXPECTED_DT,@PERCENT,@AMOUNT,@NOTES,@CURRENCY,@RATE,@TOTAL_AMT_FN
|
308
|
END
|
309
|
|
310
|
CLOSE AssetDetail
|
311
|
DEALLOCATE AssetDetail
|
312
|
CLOSE PaymentDetail
|
313
|
DEALLOCATE PaymentDetail
|
314
|
|
315
|
---INSERT NHOM QUYEN USER THONG BAO (DAO-EDIT)
|
316
|
DELETE FROM TL_ROLE_NOTIFICATION WHERE PO_ID=@p_PO_ID
|
317
|
|
318
|
FETCH NEXT FROM LISTROLE INTO
|
319
|
@NOTIFI_ID,
|
320
|
@TL_NAME,
|
321
|
@EDITOR_DT,
|
322
|
@EDITOR_ID,
|
323
|
@NOTES_ROLE
|
324
|
WHILE @@FETCH_STATUS = 0
|
325
|
BEGIN
|
326
|
IF(LEN(@NOTIFI_ID)=0)
|
327
|
EXEC SYS_CodeMasters_Gen 'TL_ROLE_NOTIFICATION', @NOTIFI_ID out
|
328
|
IF @NOTIFI_ID='' OR @NOTIFI_ID IS NULL GOTO ABORT
|
329
|
|
330
|
INSERT INTO [dbo].[TL_ROLE_NOTIFICATION]
|
331
|
([NOTIFI_ID]
|
332
|
,[NOTIFI_CODE]
|
333
|
,[NOTIFI_NAME]
|
334
|
,[TYPE]
|
335
|
,[PO_ID]
|
336
|
,[TL_NAME]
|
337
|
,[BRANCH_ID]
|
338
|
,[RECORD_STATUS]
|
339
|
,[AUTH_STATUS]
|
340
|
,[EDITOR_ID]
|
341
|
,[EDIT_DT]
|
342
|
,[NOTES])
|
343
|
VALUES
|
344
|
(@NOTIFI_ID
|
345
|
,''
|
346
|
,''
|
347
|
,'PO'
|
348
|
,@p_PO_ID
|
349
|
,@TL_NAME
|
350
|
,@p_BRANCH_ID
|
351
|
,'1'
|
352
|
,'U'
|
353
|
,@EDITOR_ID
|
354
|
,CONVERT(DATETIME, @EDITOR_DT, 103)
|
355
|
,@NOTES_ROLE)
|
356
|
|
357
|
IF @@ERROR <> 0 GOTO ABORT
|
358
|
|
359
|
FETCH NEXT FROM LISTROLE INTO
|
360
|
@NOTIFI_ID,
|
361
|
@TL_NAME,
|
362
|
@EDITOR_DT,
|
363
|
@EDITOR_ID,
|
364
|
@NOTES_ROLE
|
365
|
END
|
366
|
|
367
|
CLOSE LISTROLE
|
368
|
DEALLOCATE LISTROLE
|
369
|
--- BAT DAU CAP NHAT AUTH_STATUS ='U' NEU BAM GUI PHE DUYET
|
370
|
IF(@p_RECORD_STATUS ='U')
|
371
|
BEGIN
|
372
|
UPDATE TR_PO_MASTER SET AUTH_STATUS ='U' WHERE PO_ID =@p_PO_ID
|
373
|
END
|
374
|
COMMIT TRANSACTION
|
375
|
IF(@p_RECORD_STATUS ='U')
|
376
|
BEGIN
|
377
|
-- INSERT VAO LOG
|
378
|
INSERT INTO dbo.PL_PROCESS
|
379
|
(
|
380
|
REQ_ID,
|
381
|
PROCESS_ID,
|
382
|
CHECKER_ID,
|
383
|
APPROVE_DT,
|
384
|
PROCESS_DESC,NOTES
|
385
|
)
|
386
|
VALUES
|
387
|
( @p_PO_ID, -- REQ_ID - varchar(15)
|
388
|
'SEND', -- PROCESS_ID - varchar(10)
|
389
|
@p_MAKER_ID, -- CHECKER_ID - varchar(15)
|
390
|
GETDATE(), -- APPROVE_DT - datetime
|
391
|
N'Nhân viên gửi phê duyệt phiếu thành công' ,N'Gửi phê duyệt')
|
392
|
SELECT '2' as Result, @p_PO_ID PO_ID, N'PO số: '+ @p_PO_CODE +N' đã được gửi phê duyệt thành công. Vui lòng đợi cấp có thẩm quyền phê duyệt' ErrorDesc
|
393
|
RETURN '2'
|
394
|
|
395
|
END
|
396
|
ELSE
|
397
|
BEGIN
|
398
|
SELECT '0' as Result, @p_PO_ID PO_ID, N'PO số: '+ @p_PO_CODE +N' đã được cập nhật dữ liệu thành công. Bạn có thể bấm gửi phê duyệt' ErrorDesc
|
399
|
RETURN '0'
|
400
|
END
|
401
|
ABORT:
|
402
|
BEGIN
|
403
|
CLOSE AssetDetail
|
404
|
DEALLOCATE AssetDetail
|
405
|
CLOSE PaymentDetail
|
406
|
DEALLOCATE PaymentDetail
|
407
|
CLOSE LISTROLE
|
408
|
DEALLOCATE LISTROLE
|
409
|
ROLLBACK TRANSACTION
|
410
|
SELECT '-1' AS RESULT
|
411
|
RETURN '-1'
|
412
|
End
|
413
|
|
414
|
|
415
|
|