Project

General

Profile

4.0 THEM MOI CHU TRUONG.txt

Luc Tran Van, 01/12/2021 02:29 PM

 
1
ALTER PROCEDURE [dbo].[PL_REQUEST_DOC_Ins]  
2
@p_REQ_CODE nvarchar(100) = NULL,  
3
@p_REQ_NAME nvarchar(200) = NULL,  
4
@p_REQ_DT DATETIME = NULL,  
5
@p_REQ_TYPE int = NULL,  
6
@p_REQ_CONTENT NVARCHAR(1000)=NULL,  
7
@p_REQ_REASON NVARCHAR(500)=NULL,  
8
@p_TOTAL_AMT decimal = NULL,  
9
@p_NOTES nvarchar(1000) = NULL,  
10
@p_RECORD_STATUS varchar(1) = NULL,  
11
@p_MAKER_ID varchar(20) = NULL,  
12
@p_CREATE_DT DATETIME = NULL,  
13
@p_AUTH_STATUS varchar(50) = NULL,  
14
@p_CHECKER_ID varchar(20) = NULL,  
15
@p_APPROVE_DT DATETIME = NULL,  
16
@p_BRANCH_ID VARCHAR(15)=NULL,  
17
@p_DVDM_ID VARCHAR(20) = NULL,  
18
@p_REQ_PARENT_ID VARCHAR(20) = NULL,  
19
@p_BRANCH_FEE NVARCHAR(500) = NULL,  
20
@p_DEP_ID VARCHAR(20)=NULL,  
21
@p_DEP_FEE_ID VARCHAR(20)= NULL,  
22
@p_IS_BACKDAY BIT = NULL,  
23
@p_REQ_LINE VARCHAR(20),  
24
@p_SIGN_USER VARCHAR(20) = NULL,  
25
@p_IS_CHECKALL BIT = NULL,  
26
@p_BASED_CONTENT NVARCHAR(3000) = NULL,  
27
@p_PL_BASED_ID VARCHAR(15) = NULL,  
28
@p_ListGood XML,  
29
@p_ListCostCenter XML,  
30
@p_ListTransfer XML  
31
AS  
32
BEGIN TRANSACTION  
33
DECLARE @DEP_ID VARCHAR(15) = (SELECT SECUR_CODE FROM TL_USER WHERE TLNANME = @p_MAKER_ID)  
34
exec [dbo].[PL_REQUEST_DOC_CODE_GenKey] @p_BRANCH_ID,@DEP_ID, @p_REQ_CODE out  
35
IF(@p_REQ_CODE IS NULL OR @p_REQ_CODE ='')  
36
BEGIN  
37
SELECT 'REQ-00001' Result, '' REQ_ID, N'Mã tờ trình chủ trương bắc buộc nhập' ErrorDesc  
38
ROLLBACK TRANSACTION  
39
RETURN '-1'  
40
END  
41
IF EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE [REQ_CODE] = @p_REQ_CODE)  
42
BEGIN  
43
SELECT '-1' Result, '' REQ_ID, N'Tờ trình số:' + @p_REQ_CODE + N' đã tồn tại trong hệ thống!"' ErrorDesc  
44
ROLLBACK TRANSACTION  
45
RETURN '-1'  
46
END  
47
-- KIEM TRA NGAY TAO TT PHẢI LỚN HƠN NGÀY TRÌNH
48
IF(CONVERT(DATE, @p_REQ_DT, 103) > CONVERT(DATE, GETDATE(), 103))
49
BEGIN  
50
SELECT '-1' Result, '' REQ_ID, N'Ngày tạo tờ trình không được lớn hơn ngày hiện tại' ErrorDesc  
51
ROLLBACK TRANSACTION  
52
RETURN '-1'  
53
END  
54
DECLARE @sErrorCode VARCHAR(20)  
55
--insert master  
56
DECLARE @l_REQ_ID VARCHAR(15)  
57
EXEC SYS_CodeMasters_Gen 'PL_REQUEST_DOC', @l_REQ_ID out  
58
IF @l_REQ_ID='' OR @l_REQ_ID IS NULL GOTO ABORT  
59
 
60
 
61
DECLARE @BRANCH_CREATE VARCHAR(20),@DEP_CREATE VARCHAR(20)  
62
 
63
SET @BRANCH_CREATE= (SELECT TLSUBBRID FROM dbo.TL_USER WHERE TLNANME=@p_MAKER_ID)  
64
IF(EXISTS(SELECT * FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE AND BRANCH_TYPE='HS'))  
65
SET @DEP_CREATE=(SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_MAKER_ID)  
66
ELSE  
67
SET @DEP_CREATE=''  
68
 
69
 
70
IF(CAST(@p_REQ_DT AS DATE) < CAST(GETDATE() AS DATE))  
71
SET @p_IS_BACKDAY=1;  
72
ELSE  
73
SET @p_IS_BACKDAY=0  
74
 
75
INSERT INTO dbo.PL_REQUEST_DOC  
76
(  
77
REQ_ID,  
78
REQ_CODE,  
79
REQ_NAME,  
80
REQ_DT,  
81
REQ_TYPE,  
82
REQ_CONTENT,  
83
REQ_REASON,  
84
BRANCH_ID,  
85
TOTAL_AMT,  
86
NOTES,  
87
RECORD_STATUS,  
88
MAKER_ID,  
89
CREATE_DT,  
90
AUTH_STATUS,  
91
CHECKER_ID,  
92
APPROVE_DT,  
93
DVDM_APP_ID,  
94
REQ_PARENT_ID,  
95
BRANCH_FEE,  
96
IS_BACKDAY,  
97
PROCESS_ID,  
98
DEP_ID,  
99
DEP_FEE,  
100
BRANCH_CREATE,  
101
DEP_CREATE,  
102
REQ_LINE,SIGN_USER,  
103
IS_CHECKALL,  
104
BASED_CONTENT,PL_BASED_ID  
105
)  
106
VALUES  
107
( @l_REQ_ID, -- REQ_ID - varchar(15)  
108
@p_REQ_CODE, -- REQ_CODE - varchar(100)  
109
@p_REQ_NAME, -- REQ_NAME - nvarchar(200)  
110
CAST(@p_REQ_DT AS DATE), -- REQ_DT - datetime  
111
@p_REQ_TYPE, -- REQ_TYPE - int  
112
@p_REQ_CONTENT, -- REQ_CONTENT - nvarchar(1000)  
113
@p_REQ_REASON, -- REQ_REASON - nvarchar(500)  
114
@p_BRANCH_ID, -- BRANCH_ID - varchar(15)  
115
@p_TOTAL_AMT, -- TOTAL_AMT - decimal(18, 0)  
116
@p_NOTES, -- NOTES - nvarchar(1000)  
117
@p_RECORD_STATUS, -- RECORD_STATUS - varchar(1)  
118
@p_MAKER_ID, -- MAKER_ID - varchar(12)  
119
CAST(@p_CREATE_DT AS DATE), -- CREATE_DT - datetime  
120
'E', -- AUTH_STATUS - varchar(50)  
121
@p_CHECKER_ID, -- CHECKER_ID - varchar(12)  
122
CAST(@P_APPROVE_DT AS DATE), -- APPROVE_DT - datetime  
123
@p_DVDM_ID,  
124
@p_REQ_PARENT_ID,  
125
@p_BRANCH_FEE,  
126
@p_IS_BACKDAY,  
127
'',  
128
@p_DEP_ID,  
129
@p_DEP_FEE_ID,  
130
@BRANCH_CREATE,  
131
@DEP_CREATE,  
132
@p_REQ_LINE,  
133
@p_SIGN_USER,  
134
@p_IS_CHECKALL,  
135
@p_BASED_CONTENT,@p_PL_BASED_ID  
136
)  
137
 
138
 
139
IF @@Error <> 0 GOTO ABORT  
140
DECLARE @TABLE TABLE(  
141
PLAN_ID varchar(15) ,  
142
TRADE_ID varchar(15) ,  
143
GOODS_ID varchar(15) ,  
144
[DESCRIPTION] nvarchar(500),  
145
UNIT_ID varchar(15) ,  
146
QUANTITY decimal(18,0) ,  
147
PRICE decimal(18,2) ,  
148
TOTAL_AMT decimal(18,2),  
149
NOTES nvarchar(1000),  
150
REQDT_TYPE VARCHAR(1),  
151
NAME NVARCHAR(500),  
152
DVDM_ID VARCHAR(20),  
153
HH_ID VARCHAR(20),  
154
CURRENCY nvarchar(50),  
155
EXCHANGE_RATE decimal(18,2),  
156
TAXES decimal(18, 2),  
157
SUP_ID VARCHAR(20),  
158
TRADE_TYPE VARCHAR(20),  
159
KHOI_ID VARCHAR(20),  
160
UNIT_NAME nvarchar(200)  
161
)  
162
 
163
 
164
--Insert into TABLE PL_REQUEST_DOC_DT  
165
Declare @hdoc INT  
166
Exec sp_xml_preparedocument @hdoc Output,@p_ListGood  
167
INSERT INTO @TABLE  
168
SELECT PLAN_ID,  
169
TRADE_ID,  
170
GOODS_ID,  
171
DESCRIPTION,  
172
UNIT_ID,  
173
QUANTITY,  
174
PRICE,  
175
TOTAL_AMT,  
176
NOTES,  
177
REQDT_TYPE,  
178
NAME,  
179
DVDM_ID,  
180
HH_ID,  
181
CURRENCY,  
182
EXCHANGE_RATE,  
183
TAXES,  
184
SUP_ID,  
185
TRADE_TYPE,  
186
KHOI_ID,UNIT_NAME  
187
FROM OPENXML(@hDoc,'/Root/ListGood',2)  
188
WITH  
189
(  
190
PLAN_ID varchar(15) ,  
191
TRADE_ID varchar(15) ,  
192
GOODS_ID varchar(15) ,  
193
[DESCRIPTION] nvarchar(500),  
194
UNIT_ID varchar(15) ,  
195
QUANTITY decimal(18,0) ,  
196
PRICE decimal(18,2) ,  
197
TOTAL_AMT decimal(18,2),  
198
NOTES nvarchar(1000),  
199
REQDT_TYPE VARCHAR(1),  
200
NAME NVARCHAR(500),  
201
DVDM_ID VARCHAR(20),  
202
HH_ID VARCHAR(20),  
203
CURRENCY nvarchar(50),  
204
EXCHANGE_RATE decimal(18,2),  
205
TAXES decimal(18, 2),  
206
SUP_ID VARCHAR(20),  
207
TRADE_TYPE VARCHAR(20),  
208
KHOI_ID VARCHAR(20),  
209
UNIT_NAME nvarchar(200)  
210
)  
211
 
212
 
213
 
214
 
215
 
216
 
217
DECLARE @TABLE_TRANSFER TABLE (  
218
FR_PLAN_ID varchar(15),  
219
FR_TRADE_ID varchar(15),  
220
FR_GOOD_ID varchar(15),  
221
FR_BRN_ID varchar(15),  
222
TO_BRN_ID varchar(15),  
223
TO_PLAN_ID varchar(15),  
224
TO_TRADE_ID varchar(15),  
225
TO_GOOD_ID varchar(15),  
226
QTY DECIMAL(18,0),  
227
TOTAL_AMT decimal(18),  
228
NOTES nvarchar(1000),  
229
FR_DEP_ID VARCHAR(20),  
230
TO_DEP_ID VARCHAR(20),  
231
FR_DVDM_ID VARCHAR(20),  
232
TO_DVDM_ID VARCHAR(20),  
233
FR_KHOI_ID VARCHAR(20),  
234
TO_KHOI_ID VARCHAR(20),  
235
FR_GD_TYPE VARCHAR(20),  
236
TO_GD_TYPE VARCHAR(20)  
237
)  
238
 
239
Exec sp_xml_preparedocument @hdoc Output,@p_ListTransfer  
240
 
241
INSERT INTO @TABLE_TRANSFER  
242
SELECT FR_PLAN_ID,  
243
FR_TRADE_ID,  
244
FR_GOOD_ID,  
245
FR_BRN_ID,  
246
TO_BRN_ID,  
247
TO_PLAN_ID,  
248
TO_TRADE_ID,  
249
TO_GOOD_ID,  
250
QTY,  
251
TOTAL_AMT,  
252
NOTES,  
253
FR_DEP_ID,  
254
TO_DEP_ID,  
255
FR_DVDM_ID,  
256
TO_DVDM_ID,  
257
FR_KHOI_ID,  
258
TO_KHOI_ID,  
259
FR_GD_TYPE,  
260
TO_GD_TYPE  
261
FROM OPENXML(@hdoc,'/Root/ListTransfer',2)  
262
WITH  
263
(  
264
FR_PLAN_ID varchar(15),  
265
FR_TRADE_ID varchar(15),  
266
FR_GOOD_ID varchar(15),  
267
FR_BRN_ID varchar(15),  
268
TO_BRN_ID varchar(15),  
269
TO_PLAN_ID varchar(15),  
270
TO_TRADE_ID varchar(15),  
271
TO_GOOD_ID varchar(15),  
272
QTY DECIMAL(18,0),  
273
TOTAL_AMT decimal(18),  
274
NOTES nvarchar(1000),  
275
FR_DEP_ID VARCHAR(20),  
276
TO_DEP_ID VARCHAR(20),  
277
FR_DVDM_ID VARCHAR(20),  
278
TO_DVDM_ID VARCHAR(20),  
279
FR_KHOI_ID VARCHAR(20),  
280
TO_KHOI_ID VARCHAR(20),  
281
FR_GD_TYPE VARCHAR(20),  
282
TO_GD_TYPE VARCHAR(20)  
283
 
284
)  
285
WHERE FR_BRN_ID !='' AND FR_BRN_ID IS NOT NULL  
286
 
287
 
288
 
289
 
290
 
291
 
292
 
293
 
294
 
295
DECLARE ListGoods CURSOR FOR  
296
SELECT PLAN_ID,  
297
TRADE_ID,  
298
GOODS_ID,  
299
DESCRIPTION,  
300
UNIT_ID,  
301
QUANTITY,  
302
PRICE,  
303
TOTAL_AMT,  
304
NOTES,  
305
REQDT_TYPE,  
306
NAME,  
307
DVDM_ID,  
308
HH_ID,  
309
CURRENCY,  
310
EXCHANGE_RATE,  
311
TAXES,  
312
SUP_ID,  
313
TRADE_TYPE,KHOI_ID,UNIT_NAME FROM @TABLE  
314
 
315
OPEN ListGoods  
316
 
317
Declare  
318
@PLAN_ID varchar(15),  
319
@TRADE_ID varchar(15),  
320
@GOODS_ID varchar(15),  
321
@DESCRIPTION nvarchar(500),  
322
@UNIT_ID varchar(15),  
323
@QUANTITY decimal(18),  
324
@PRICE decimal(18,2),  
325
@TOTAL_AMT decimal(18,2),  
326
@NOTES nvarchar(1000),  
327
@REQDT_TYPE VARCHAR(1),  
328
@NAME NVARCHAR(500),  
329
@DVDM_ID VARCHAR(20),  
330
@HH_ID VARCHAR(20),  
331
@CURRENCY nvarchar(50),  
332
@EXCHANGE_RATE decimal(18, 2),  
333
@TAXES decimal(18, 2),  
334
@SUP_ID VARCHAR(20),  
335
@TRADE_TYPE VARCHAR(20),  
336
@KHOI_ID VARCHAR(20),  
337
@UNIT_NAME nvarchar(200)  
338
 
339
FETCH NEXT FROM ListGoods INTO @PLAN_ID,@TRADE_ID,@GOODS_ID,@DESCRIPTION,@UNIT_ID,@QUANTITY,  
340
@PRICE,@TOTAL_AMT,@NOTES, @REQDT_TYPE, @NAME,@DVDM_ID,@HH_ID,@CURRENCY,@EXCHANGE_RATE,@TAXES,@SUP_ID,@TRADE_TYPE,@KHOI_ID,@UNIT_NAME  
341
WHILE @@FETCH_STATUS = 0  
342
BEGIN  
343
-- KIEM TRA NEU HINH THUC CHI DINH THAU LA THEO QUY DINH VCCB THI KHONG CHO PHEP CHON NHA CUNG CAP  
344
--IF(@TRADE_TYPE IS NOT NULL AND @TRADE_TYPE <>'' AND @TRADE_TYPE ='VCCB' AND (@SUP_ID IS NOT NULL AND @SUP_ID <>''))  
345
--BEGIN  
346
-- SELECT 'REQ-00001' Result, '' REQ_ID, N'Lưới hàng hóa: Nếu chọn hình thức mua sắm theo quy định VCCB thì bạn không được phép chọn nhà cung cấp. Vui lòng để trống nhà cung cấp' ErrorDesc  
347
-- ROLLBACK TRANSACTION  
348
-- RETURN '-1'  
349
--END  
350
DECLARE @l_REQDT_ID VARCHAR(15)  
351
EXEC SYS_CodeMasters_Gen 'PL_REQUEST_DOC_DT', @l_REQDT_ID out  
352
IF @l_REQDT_ID='' OR @l_REQDT_ID IS NULL GOTO ABORT  
353
 
354
--SET @TOTAL_AMT=(@PRICE * @QUANTITY * @EXCHANGE_RATE) + (@TAXES * @EXCHANGE_RATE)  
355
 
356
INSERT INTO dbo.PL_REQUEST_DOC_DT  
357
(  
358
REQDT_ID,  
359
REQ_ID,  
360
PLAN_ID,  
361
TRADE_ID,  
362
GOODS_ID,  
363
NAME,  
364
DESCRIPTION,  
365
REQDT_TYPE,  
366
UNIT_ID,  
367
QUANTITY,  
368
PRICE,  
369
TOTAL_AMT,  
370
RECORD_STATUS,  
371
MAKER_ID,  
372
CREATE_DT,  
373
AUTH_STATUS,  
374
CHECKER_ID,  
375
APPROVE_DT,  
376
DVDM_ID,  
377
HANGHOA_ID,  
378
CURRENCY,  
379
EXCHANGE_RATE,  
380
TAXES,SUP_ID,TRADE_TYPE,KHOI_ID,UNIT_NAME  
381
)  
382
VALUES  
383
( @l_REQDT_ID, -- REQDT_ID - varchar(15)  
384
@l_REQ_ID, -- REQ_ID - varchar(15)  
385
@PLAN_ID, -- PLAN_ID - varchar(15)  
386
@TRADE_ID, -- TRADE_ID - varchar(15)  
387
@GOODS_ID, -- GOODS_ID - varchar(15)  
388
@NAME, -- NAME - nvarchar(200)  
389
@DESCRIPTION, -- DESCRIPTION - nvarchar(500)  
390
@REQDT_TYPE, -- REQDT_TYPE - varchar(1)  
391
@UNIT_ID, -- UNIT_ID - varchar(15)  
392
@QUANTITY, -- QUANTITY - decimal(18, 0)  
393
@PRICE, -- PRICE - decimal(18, 0)  
394
@TOTAL_AMT, -- TOTAL_AMT - decimal(18, 0)  
395
@p_RECORD_STATUS, -- RECORD_STATUS - varchar(1)  
396
@p_MAKER_ID, -- MAKER_ID - varchar(15)  
397
CAST(@p_CREATE_DT AS DATE) , -- CREATE_DT - datetime  
398
@p_AUTH_STATUS, -- AUTH_STATUS - varchar(50)  
399
@p_CHECKER_ID, -- CHECKER_ID - varchar(15)  
400
CAST(@P_APPROVE_DT AS DATE), -- APPROVE_DT - datetime  
401
@DVDM_ID,  
402
@HH_ID,  
403
@CURRENCY,  
404
@EXCHANGE_RATE,  
405
@TAXES,@SUP_ID,@TRADE_TYPE,@KHOI_ID,@UNIT_NAME  
406
)  
407
 
408
 
409
IF @@ERROR <> 0 GOTO ABORT1  
410
-- next Group_Id  
411
FETCH NEXT FROM ListGoods INTO @PLAN_ID,@TRADE_ID,@GOODS_ID,@DESCRIPTION,@UNIT_ID,@QUANTITY,  
412
@PRICE,@TOTAL_AMT,@NOTES, @REQDT_TYPE, @NAME,@DVDM_ID,@HH_ID,@CURRENCY,@EXCHANGE_RATE,@TAXES,@SUP_ID,@TRADE_TYPE,@KHOI_ID,@UNIT_NAME  
413
END  
414
CLOSE ListGoods  
415
DEALLOCATE ListGoods  
416
 
417
 
418
IF @@Error <> 0 GOTO ABORT  
419
--Insert into TABLE PL_REQUEST_DOC_DT  
420
 
421
UPDATE dbo.PL_REQUEST_DOC SET TOTAL_AMT = (SELECT SUM(TOTAL_AMT) FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID =@l_REQ_ID) WHERE PL_REQUEST_DOC.REQ_ID=@l_REQ_ID  
422
 
423
 
424
Exec sp_xml_preparedocument @hdoc Output,@p_ListTransfer  
425
DECLARE ListTransfers CURSOR FOR  
426
SELECT *  
427
FROM @TABLE_TRANSFER  
428
OPEN ListTransfers  
429
 
430
Declare  
431
@FR_PLAN_ID varchar(15),  
432
@FR_TRADE_ID varchar(15),  
433
@FR_GOOD_ID varchar(15),  
434
@FR_BRN_ID varchar(15),  
435
@TO_BRN_ID varchar(15),  
436
@TO_PLAN_ID varchar(15),  
437
@TO_TRADE_ID varchar(15),  
438
@TO_GOOD_ID varchar(15),  
439
@QTY DECIMAL(18,0),  
440
@FR_DEP_ID VARCHAR(20),  
441
@TO_DEP_ID VARCHAR(20),  
442
@FR_DVDM_ID VARCHAR(20),  
443
@TO_DVDM_ID VARCHAR(20),  
444
@FR_KHOI_ID VARCHAR(20),  
445
@TO_KHOI_ID VARCHAR(20),  
446
@FR_GD_TYPE VARCHAR(20),  
447
@TO_GD_TYPE VARCHAR(20)  
448
 
449
FETCH NEXT FROM ListTransfers INTO @FR_PLAN_ID,@FR_TRADE_ID,@FR_GOOD_ID,@FR_BRN_ID,@TO_BRN_ID,@TO_PLAN_ID,  
450
@TO_TRADE_ID,@TO_GOOD_ID,@QTY,@TOTAL_AMT, @NOTES,@FR_DEP_ID,@TO_DEP_ID,@FR_DVDM_ID,@TO_DVDM_ID,@FR_KHOI_ID,@TO_KHOI_ID,@FR_GD_TYPE,@TO_GD_TYPE  
451
WHILE @@FETCH_STATUS = 0  
452
BEGIN  
453
 
454
 
455
 
456
 
457
 
458
 
459
DECLARE @l_REQ_TRANSFER_ID VARCHAR(15)  
460
EXEC SYS_CodeMasters_Gen 'PL_REQUEST_TRANSFER', @l_REQ_TRANSFER_ID out  
461
IF @l_REQ_TRANSFER_ID='' OR @l_REQ_TRANSFER_ID IS NULL GOTO ABORT  
462
 
463
INSERT INTO dbo.PL_REQUEST_TRANSFER  
464
(  
465
REQ_TRANSFER_ID,  
466
REQ_DOC_ID,  
467
FR_PLAN_ID,  
468
FR_TRADE_ID,  
469
FR_GOOD_ID,  
470
FR_BRN_ID,  
471
TO_BRN_ID,  
472
TO_PLAN_ID,  
473
TO_TRADE_ID,  
474
TO_GOOD_ID,  
475
QTY,  
476
TOTAL_AMT,  
477
NOTES,  
478
AUTH_STATUS,  
479
MAKER_ID,  
480
CREATE_DT,  
481
CHECKER_ID,  
482
APPROVE_DT,  
483
FR_DEP_ID,  
484
TO_DEP_ID,  
485
FR_DVDM_ID,  
486
TO_DVDM_ID,  
487
FR_KHOI_ID,  
488
TO_KHOI_ID  
489
)  
490
VALUES  
491
( @l_REQ_TRANSFER_ID, -- REQ_TRANSFER_ID - varchar(15)  
492
@l_REQ_ID, -- REQ_DOC_ID - varchar(15)  
493
@FR_PLAN_ID, -- FR_PLAN_ID - varchar(15)  
494
@FR_TRADE_ID, -- FR_TRADE_ID - varchar(15)  
495
@FR_GOOD_ID, -- FR_GOOD_ID - varchar(15)  
496
@FR_BRN_ID, -- FR_BRN_ID - varchar(15)  
497
@TO_BRN_ID, -- TO_BRN_ID - varchar(15)  
498
@TO_PLAN_ID, -- TO_PLAN_ID - varchar(15)  
499
@TO_TRADE_ID, -- TO_TRADE_ID - varchar(15)  
500
@TO_GOOD_ID, -- TO_GOOD_ID - varchar(15)  
501
@QTY, -- QTY - decimal(18, 0)  
502
@TOTAL_AMT, -- TOTAL_AMT - decimal(18, 0)  
503
@NOTES, -- NOTES - nvarchar(500)  
504
@p_AUTH_STATUS, -- AUTH_STATUS - varchar(1)  
505
@p_MAKER_ID, -- MAKER_ID - varchar(15)  
506
CAST(@p_CREATE_DT AS DATE), -- CREATE_DT - datetime  
507
@p_CHECKER_ID, -- CHECKER_ID - varchar(15)  
508
CAST(@p_APPROVE_DT AS DATE),  
509
@FR_DEP_ID,  
510
@TO_DEP_ID,  
511
@FR_DVDM_ID,  
512
@TO_DVDM_ID,  
513
@FR_KHOI_ID,  
514
@TO_KHOI_ID -- APPROVE_DT - datetime  
515
)  
516
 
517
 
518
IF @@ERROR <> 0 GOTO ABORT1  
519
-- next Group_Id  
520
FETCH NEXT FROM ListTransfers INTO @FR_PLAN_ID,@FR_TRADE_ID,@FR_GOOD_ID,@FR_BRN_ID,@TO_BRN_ID,@TO_PLAN_ID,  
521
@TO_TRADE_ID,@TO_GOOD_ID,@QTY,@TOTAL_AMT, @NOTES,@FR_DEP_ID,@TO_DEP_ID,@FR_DVDM_ID,@TO_DVDM_ID,@FR_KHOI_ID,@TO_KHOI_ID,@FR_GD_TYPE,@TO_GD_TYPE  
522
END  
523
CLOSE ListTransfers  
524
DEALLOCATE ListTransfers  
525
 
526
IF @@Error <> 0 GOTO ABORT  
527
--Insert into TABLE PL_REQUEST_DOC_DT  
528
Exec sp_xml_preparedocument @hdoc Output,@p_ListCostCenter  
529
DECLARE ListCostCenters CURSOR FOR  
530
SELECT *  
531
FROM OPENXML(@hDoc,'/Root/ListCostCenter',2)  
532
WITH  
533
(  
534
COST_ID varchar(15),  
535
NOTES nvarchar(1000)  
536
 
537
)  
538
OPEN ListCostCenters  
539
 
540
Declare  
541
@COST_ID varchar(15)  
542
 
543
 
544
FETCH NEXT FROM ListCostCenters INTO @COST_ID, @NOTES  
545
WHILE @@FETCH_STATUS = 0  
546
BEGIN  
547
 
548
DECLARE @l_REQ_COST_ID VARCHAR(15)  
549
EXEC SYS_CodeMasters_Gen 'PL_REQUEST_COSTCENTER', @l_REQ_COST_ID out  
550
IF @l_REQ_COST_ID='' OR @l_REQ_COST_ID IS NULL GOTO ABORT  
551
 
552
INSERT INTO dbo.PL_REQUEST_COSTCENTER  
553
(  
554
REQ_COST_ID,  
555
COST_ID,  
556
REQ_ID,  
557
NOTES,  
558
AUTH_STATUS,  
559
MAKER_ID,  
560
CREATE_DT,  
561
CHECKER_ID,  
562
APPROVE_DT  
563
)  
564
VALUES  
565
( @l_REQ_COST_ID, -- REQ_COST_ID - varchar(15)  
566
@COST_ID, -- COST_ID - varchar(15)  
567
@l_REQ_ID, -- REQ_ID - varchar(15)  
568
@NOTES, -- NOTES - nvarchar(500)  
569
@p_AUTH_STATUS, -- AUTH_STATUS - varchar(1)  
570
@p_MAKER_ID, -- MAKER_ID - varchar(15)  
571
CAST(@p_CREATE_DT AS DATE) , -- CREATE_DT - datetime  
572
@p_CHECKER_ID, -- CHECKER_ID - varchar(15)  
573
CAST(@p_APPROVE_DT AS DATE) -- APPROVE_DT - datetime  
574
)  
575
 
576
 
577
IF @@ERROR <> 0 GOTO ABORT1  
578
-- next Group_Id  
579
FETCH NEXT FROM ListCostCenters INTO @COST_ID, @NOTES  
580
END  
581
CLOSE ListCostCenters  
582
DEALLOCATE ListCostCenters  
583
 
584
 
585
 
586
 
587
 
588
COMMIT TRANSACTION  
589
SELECT '0' as Result, @l_REQ_ID REQ_ID, @p_REQ_CODE ErrorDesc  
590
RETURN '0'  
591
ABORT:  
592
BEGIN  
593
ROLLBACK TRANSACTION  
594
SELECT '-1' AS Result ,'' REQ_ID, '' ErrorDesc  
595
RETURN '-1'  
596
End  
597
ABORT1:  
598
BEGIN  
599
CLOSE ListGoods  
600
DEALLOCATE ListGoods  
601
CLOSE ListCostCenters  
602
DEALLOCATE ListCostCenters  
603
CLOSE ListCostCenters  
604
DEALLOCATE ListCostCenters  
605
ROLLBACK TRANSACTION  
606
SELECT '-1' AS Result ,'' REQ_ID, '' ErrorDesc  
607
RETURN '-1'  
608
End