1
|
|
2
|
ALTER PROCEDURE [dbo].[PL_REQUEST_DOC_SendApp]
|
3
|
@p_REQ_ID VARCHAR(20),
|
4
|
@p_PROCESS_ID VARCHAR(20),
|
5
|
@p_TLNAME VARCHAR(20),
|
6
|
@p_MAKER_ID VARCHAR(20)
|
7
|
AS
|
8
|
BEGIN TRANSACTION
|
9
|
|
10
|
IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND (PL_BASED_ID IS NULL OR PL_BASED_ID ='')))
|
11
|
BEGIN
|
12
|
--- KIEM TRA NGAN SACH LUCTV 18052020
|
13
|
DECLARE @ERROR BIT ,@EROOR_DES NVARCHAR(500)
|
14
|
SELECT @ERROR=ERROR, @EROOR_DES=ERROR_DES FROM dbo.FN_CHECK_VALIDATE_APP(@p_REQ_ID,'APPNEW','PL_REQUEST_DOC',@p_TLNAME,@p_PROCESS_ID)
|
15
|
IF(@ERROR=1)
|
16
|
BEGIN
|
17
|
ROLLBACK TRANSACTION;
|
18
|
SELECT '-1' Result, @EROOR_DES ErrorDesc
|
19
|
RETURN '-1';
|
20
|
END
|
21
|
-----
|
22
|
DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20),@BRANCH_CREATE VARCHAR(20) ,@DEP_CREATE VARCHAR(20),@BRANCH_TYPE VARCHAR(10),
|
23
|
@BRANCH_CREATE_TYPE VARCHAR(10)
|
24
|
IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND EXISTS(SELECT TLNANME FROM dbo.TL_USER WHERE TLNANME=SIGN_USER AND BRANCH_CREATE=TLSUBBRID AND (RoleName='TPGD' OR RoleName='GDDV'))))
|
25
|
BEGIN
|
26
|
ROLLBACK TRANSACTION
|
27
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Người ký nháy không được là trường phòng, trưởng đơn vị.' ErrorDesc
|
28
|
RETURN '-1'
|
29
|
END
|
30
|
IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND ( CAST(REQ_DT AS DATE) > CAST(GETDATE() AS DATE))) )
|
31
|
BEGIN
|
32
|
ROLLBACK TRANSACTION
|
33
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Ngày tạo không được lớn hơn ngày hiện tại' ErrorDesc
|
34
|
RETURN '-1'
|
35
|
END
|
36
|
|
37
|
IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND (REQ_NAME IS NULL OR REQ_NAME='')) )
|
38
|
BEGIN
|
39
|
ROLLBACK TRANSACTION
|
40
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Tên tờ trình bắt buộc nhập' ErrorDesc
|
41
|
RETURN '-1'
|
42
|
END
|
43
|
IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND (REQ_CONTENT IS NULL OR REQ_CONTENT='')) )
|
44
|
BEGIN
|
45
|
ROLLBACK TRANSACTION
|
46
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Nội dung tờ trình bắt buộc nhập' ErrorDesc
|
47
|
RETURN '-1'
|
48
|
END
|
49
|
IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND ( REQ_REASON IS NULL OR REQ_REASON='')) )
|
50
|
BEGIN
|
51
|
ROLLBACK TRANSACTION
|
52
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Lý do trình chủ trương bắt buộc nhập' ErrorDesc
|
53
|
RETURN '-1'
|
54
|
END
|
55
|
|
56
|
IF(NOT EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID ) )
|
57
|
BEGIN
|
58
|
ROLLBACK TRANSACTION
|
59
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Danh sách hàng hóa bắt buộc nhập' ErrorDesc
|
60
|
RETURN '-1'
|
61
|
END
|
62
|
|
63
|
IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND PL_BASED_ID IS NOT NULL AND PL_BASED_ID <>''))
|
64
|
BEGIN
|
65
|
DECLARE @PL_BASED_ID VARCHAR(20)
|
66
|
SET @PL_BASED_ID=(SELECT PL_BASED_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID )
|
67
|
IF( EXISTS(SELECT DT.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT DT WHERE DT.REQ_ID=@p_REQ_ID AND NOT EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC_DT DTB WHERE DTB.REQ_ID=@PL_BASED_ID AND DTB.TRADE_ID=DT.TRADE_ID AND DTB.HANGHOA_ID=DT.HANGHOA_ID)))
|
68
|
BEGIN
|
69
|
ROLLBACK TRANSACTION
|
70
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Lưới hàng hóa mua sắm: Danh sách hàng hóa không có trong tờ trình căn cứ' ErrorDesc
|
71
|
RETURN '-1'
|
72
|
END
|
73
|
END
|
74
|
|
75
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND (HANGHOA_ID IS NULL OR HANGHOA_ID ='')) )
|
76
|
BEGIN
|
77
|
ROLLBACK TRANSACTION
|
78
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Lưới hàng hóa mua sắm: Hàng hóa bắt buộc nhập' ErrorDesc
|
79
|
RETURN '-1'
|
80
|
END
|
81
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND (GOODS_ID IS NULL OR GOODS_ID ='')) )
|
82
|
BEGIN
|
83
|
ROLLBACK TRANSACTION
|
84
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Lưới hàng hóa mua sắm: Hạng mục ngân sách bắt buộc nhập' ErrorDesc
|
85
|
RETURN '-1'
|
86
|
END
|
87
|
|
88
|
IF(EXISTS(SELECT REQ_TRANSFER_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID AND (TOTAL_AMT IS NULL OR TOTAL_AMT = 0)) )
|
89
|
BEGIN
|
90
|
ROLLBACK TRANSACTION
|
91
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Lưới điều chuyển ngân sách: Vui lòng nhập số tiền điều chuyển' ErrorDesc
|
92
|
RETURN '-1'
|
93
|
END
|
94
|
SELECT @BRANCH_CREATE=BRANCH_CREATE,@DEP_CREATE=DEP_CREATE FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
|
95
|
-- KIEM TRA NEU HINH THUC CHI DINH THAU LA THEO QUY DINH VCCB THI KHONG CHO PHEP CHON NHA CUNG CAP
|
96
|
IF(EXISTS(SELECT * FROM PL_REQUEST_DOC_DT WHERE TRADE_TYPE ='VCCB' AND SUP_ID <>'' AND SUP_ID IS NOT NULL AND REQ_ID =@p_REQ_ID))
|
97
|
BEGIN
|
98
|
SELECT 'REQ-00001' Result, '' REQ_ID, N'Nếu 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
|
99
|
ROLLBACK TRANSACTION
|
100
|
RETURN '-1'
|
101
|
END
|
102
|
--
|
103
|
IF(EXISTS(SELECT * FROM PL_REQUEST_DOC_DT WHERE TRADE_TYPE ='CDT' AND ( SUP_ID ='' OR SUP_ID IS NULL) AND REQ_ID =@p_REQ_ID))
|
104
|
BEGIN
|
105
|
SELECT 'REQ-00001' Result, '' REQ_ID, N'Nếu hình thức mua sắm chỉ định thầu thì bạn không được phép bỏ trống nhà cung cấp. Vui lòng chọn nhà cung cấp' ErrorDesc
|
106
|
ROLLBACK TRANSACTION
|
107
|
RETURN '-1'
|
108
|
END
|
109
|
---- NEU HINH THUC MUA SAM CHI DINH THAU THI KHONG DUOC PHEP DE TRONG LY DO CHI DINH
|
110
|
IF(EXISTS(SELECT * FROM PL_REQUEST_DOC_DT WHERE TRADE_TYPE ='CDT' AND ( [NAME] ='' OR [NAME] IS NULL) AND REQ_ID =@p_REQ_ID))
|
111
|
BEGIN
|
112
|
SELECT 'REQ-00001' Result, '' REQ_ID, N'Lưới Danh sách hàng hóa: Nếu hình thức mua sắm chỉ định thầu thì bạn không được phép bỏ trống lý do chỉ định thầu. Vui lòng nhập lý do chỉ định thầu' ErrorDesc
|
113
|
ROLLBACK TRANSACTION
|
114
|
RETURN '-1'
|
115
|
END
|
116
|
--
|
117
|
--LUCTV: 04052021 BO SUNG RANG BUOC NEU TIEN TE LA VND THI DON GIA BAO GOM VAT * SO LUONG MUA MUA = VOI NS SU DUNG
|
118
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND ROUND(QUANTITY * PRICE,0) <> ROUND(TOTAL_AMT,0) AND CURRENCY='VND'))
|
119
|
BEGIN
|
120
|
ROLLBACK TRANSACTION
|
121
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Lưới hàng hóa mua sắm: Đối với tiền tệ VNĐ, Cột Ngân sách sử dụng chưa khớp với Đơn giá bao gồm VAT * Số lượng trình mua sắm ' ErrorDesc
|
122
|
RETURN '-1'
|
123
|
END
|
124
|
IF(EXISTS(SELECT REQ_TRANSFER_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID AND FR_BRN_ID=@BRANCH_CREATE AND (FR_GOOD_ID IS NULL OR FR_GOOD_ID='')
|
125
|
AND ((FR_DEP_ID=@DEP_CREATE) OR ((@DEP_CREATE IS NULL OR @DEP_CREATE='') AND (FR_DEP_ID IS NULL OR FR_DEP_ID=''))) ))
|
126
|
BEGIN
|
127
|
ROLLBACK TRANSACTION
|
128
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Bạn là đơn vị chuyển ngân sách, vui lòng chọn hạn mục ngân sách chuyển' ErrorDesc
|
129
|
RETURN '-1'
|
130
|
END
|
131
|
IF(EXISTS(SELECT Temp.TRADE_ID FROM (
|
132
|
SELECT TB.TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
|
133
|
SUM(ISNULL(PT.AMT_APP,0) + ISNULL(PT.AMT_RECEIVE_TF,0) - ISNULL(PT.AMT_TF,0) - ISNULL(PT.AMT_ETM,0)) AS TOTAL_AMT_REMAIN
|
134
|
FROM dbo.PL_REQUEST_DOC_DT TB
|
135
|
LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.TRADE_ID
|
136
|
WHERE TB.REQ_ID=@p_REQ_ID AND TB.REQDT_TYPE='I'
|
137
|
GROUP BY TB.TRADE_ID
|
138
|
)Temp
|
139
|
WHERE Temp.TOTAL_AMT_EXE > Temp.TOTAL_AMT_REMAIN))
|
140
|
BEGIN
|
141
|
ROLLBACK TRANSACTION
|
142
|
SELECT '-1' AS RESULT , '' REQ_CODE,'' REQ_ID, N'Số tiền sử dụng lớn hơn số tiền dự kiến còn lại của hạng mục trong ngân sách' ErrorDesc
|
143
|
RETURN '-1'
|
144
|
END
|
145
|
|
146
|
IF( EXISTS(SELECT GOODS_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND REQDT_TYPE='O') AND NOT EXISTS(SELECT * FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID AND TO_GOOD_ID IN (SELECT GOODS_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND REQDT_TYPE='O')))
|
147
|
BEGIN
|
148
|
ROLLBACK TRANSACTION
|
149
|
SELECT '-1' AS RESULT ,'' REQ_CODE, '' REQ_ID, N'Hạng mục ngoài ngân sách, vui lòng thêm danh sách điều chuyển ngân sách' ErrorDesc
|
150
|
RETURN '-1'
|
151
|
END
|
152
|
IF( NOT EXISTS(SELECT GOODS_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND REQDT_TYPE='O') AND EXISTS(SELECT * FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID AND TO_GOOD_ID IN (SELECT GOODS_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND REQDT_TYPE='O')))
|
153
|
BEGIN
|
154
|
ROLLBACK TRANSACTION
|
155
|
SELECT '-1' AS RESULT ,'' REQ_CODE, '' REQ_ID, N'Hạng mục trong ngân sách, vui lòng không thêm danh sách điều chuyển ngân sách' ErrorDesc
|
156
|
RETURN '-1'
|
157
|
END
|
158
|
IF( EXISTS(SELECT PLDT.GOODS_ID FROM dbo.PL_REQUEST_DOC_DT PLDT WHERE PLDT.REQ_ID=@p_REQ_ID AND PLDT.REQDT_TYPE='O' AND NOT EXISTS(SELECT PLTF.REQ_TRANSFER_ID FROM dbo.PL_REQUEST_TRANSFER PLTF WHERE PLTF.TO_GOOD_ID=PLDT.GOODS_ID AND ISNULL(PLTF.TO_TRADE_ID,'')=ISNULL(PLDT.TRADE_ID,''))) )
|
159
|
BEGIN
|
160
|
ROLLBACK TRANSACTION
|
161
|
SELECT '-1' AS RESULT ,'' REQ_CODE, '' REQ_ID, N'Hạng mục ngoài ngân sách, vui lòng nhập danh sách điều chuyển ngân sách' ErrorDesc
|
162
|
RETURN '-1'
|
163
|
END
|
164
|
|
165
|
|
166
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND (PRICE IS NULL OR PRICE=0 OR QUANTITY IS NULL OR QUANTITY=0)) )
|
167
|
BEGIN
|
168
|
ROLLBACK TRANSACTION
|
169
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Lưới hàng hóa mua sắm: Số luợng, đơn giá của hàng hóa bắt buộc nhập' ErrorDesc
|
170
|
RETURN '-1'
|
171
|
END
|
172
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND (DESCRIPTION IS NULL OR DESCRIPTION='')) )
|
173
|
BEGIN
|
174
|
ROLLBACK TRANSACTION
|
175
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Lưới hàng hóa mua sắm: Quy cách kỹ thuật bắt buộc nhập' ErrorDesc
|
176
|
RETURN '-1'
|
177
|
END
|
178
|
|
179
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND (UNIT_NAME IS NULL OR UNIT_NAME='')) )
|
180
|
BEGIN
|
181
|
ROLLBACK TRANSACTION
|
182
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Lưới hàng hóa mua sắm: Đơn vị tính bắt buộc nhập' ErrorDesc
|
183
|
RETURN '-1'
|
184
|
END
|
185
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND (UNIT_NAME IS NULL OR UNIT_NAME='')) )
|
186
|
BEGIN
|
187
|
ROLLBACK TRANSACTION
|
188
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Lưới hàng hóa mua sắm: Đây là thông tin bắt buộc nhập' ErrorDesc
|
189
|
RETURN '-1'
|
190
|
END
|
191
|
-- LUCTV BO SUNG PHAN CHAN DIEU CHUYEN TU CAPEX SANG OPEX
|
192
|
DECLARE lstTransfer CURSOR FOR
|
193
|
SELECT FR_GOOD_ID,TO_GOOD_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID
|
194
|
OPEN lstTransfer
|
195
|
DECLARE @FR_GOOD_ID VARCHAR(20),@TO_GOOD_ID VARCHAR(20)
|
196
|
|
197
|
FETCH NEXT FROM lstTransfer INTO @FR_GOOD_ID,@TO_GOOD_ID
|
198
|
WHILE @@FETCH_STATUS=0
|
199
|
BEGIN
|
200
|
IF(@FR_GOOD_ID IS NOT NULL AND @FR_GOOD_ID<>'')
|
201
|
BEGIN
|
202
|
DECLARE @FR_GD_TYPE VARCHAR(20),@TO_GD_TYPE VARCHAR(20)
|
203
|
|
204
|
SET @FR_GD_TYPE =(SELECT GT.GD_TYPE_ID FROM
|
205
|
(
|
206
|
SELECT GD_CODE FROM dbo.CM_GOODS WHERE GD_ID=@FR_GOOD_ID
|
207
|
) CG
|
208
|
LEFT JOIN dbo.CM_GOODSTYPE GT ON CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%')
|
209
|
|
210
|
|
211
|
SET @TO_GD_TYPE =(SELECT GT.GD_TYPE_ID FROM
|
212
|
(
|
213
|
SELECT GD_CODE FROM dbo.CM_GOODS WHERE GD_ID=@TO_GOOD_ID
|
214
|
) CG
|
215
|
LEFT JOIN dbo.CM_GOODSTYPE GT ON CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%')
|
216
|
|
217
|
IF(NOT EXISTS(SELECT * FROM dbo.CM_GOODSTYPE WHERE GD_TYPE_ID= @FR_GD_TYPE AND @TO_GD_TYPE IN (SELECT value FROM dbo.wsiSplit(NOTES,';')) ) )
|
218
|
BEGIN
|
219
|
DECLARE @FR_GD_TYPE_NAME NVARCHAR(100),@TO_GD_TYPE_NAME NVARCHAR(100)
|
220
|
SET @FR_GD_TYPE_NAME=(SELECT GD_TYPE_NAME FROM dbo.CM_GOODSTYPE WHERE GD_TYPE_ID=@FR_GD_TYPE)
|
221
|
SET @TO_GD_TYPE_NAME=(SELECT GD_TYPE_NAME FROM dbo.CM_GOODSTYPE WHERE GD_TYPE_ID=@TO_GD_TYPE)
|
222
|
|
223
|
ROLLBACK TRANSACTION
|
224
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Không được điều chuyển từ ' + @FR_GD_TYPE_NAME +N' sang ' + @TO_GD_TYPE_NAME ErrorDesc
|
225
|
RETURN '-1'
|
226
|
CLOSE lstTransfer
|
227
|
DEALLOCATE lstTransfer
|
228
|
END
|
229
|
END
|
230
|
FETCH NEXT FROM lstTransfer INTO @FR_GOOD_ID,@TO_GOOD_ID
|
231
|
END
|
232
|
CLOSE lstTransfer
|
233
|
DEALLOCATE lstTransfer
|
234
|
END
|
235
|
UPDATE dbo.PL_REQUEST_DOC SET AUTH_STATUS='U',PROCESS_ID='APPNEW' WHERE REQ_ID=@p_REQ_ID
|
236
|
SELECT @BRANCH_ID =BRANCH_ID,@DEP_ID=DEP_ID,@BRANCH_CREATE=BRANCH_CREATE,@DEP_CREATE=DEP_CREATE FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
|
237
|
|
238
|
SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
|
239
|
SET @BRANCH_CREATE_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE)
|
240
|
|
241
|
|
242
|
--IF(@BRANCH_TYPE='PGD')
|
243
|
-- SET @BRANCH_ID=(SELECT BRANCH_ID FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
|
244
|
|
245
|
|
246
|
DELETE FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID
|
247
|
---KIEM TRA XEM CO CAP PHE DUYET TRUNG GIAN HAY KHONG 20-05-2020 LUCTV
|
248
|
IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND SIGN_USER IS NOT NULL AND SIGN_USER <>''))
|
249
|
BEGIN
|
250
|
DECLARE @BRANCH_SIGN_ID VARCHAR(20),@DEP_SIGN_ID VARCHAR(20),@BRANCH_SIGN_TYPE VARCHAR(10),@ROLE_SIGN VARCHAR(20)
|
251
|
|
252
|
SELECT @BRANCH_SIGN_ID=TLSUBBRID,@DEP_SIGN_ID=SECUR_CODE,@BRANCH_SIGN_TYPE=BRANCH_TYPE,@ROLE_SIGN=RoleName FROM dbo.TL_USER WHERE TLNANME =(SELECT SIGN_USER FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID)
|
253
|
|
254
|
UPDATE dbo.PL_REQUEST_DOC SET AUTH_STATUS='U',PROCESS_ID='SIGN', TOTAL_AMT =(SELECT ISNULL(SUM(TOTAL_AMT),0) FROM PL_REQUEST_DOC_DT WHERE REQ_ID =@p_REQ_ID) WHERE REQ_ID=@p_REQ_ID
|
255
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
256
|
(
|
257
|
REQ_ID,
|
258
|
PROCESS_ID,
|
259
|
STATUS,
|
260
|
ROLE_USER,
|
261
|
BRANCH_ID,
|
262
|
DEP_ID,
|
263
|
CHECKER_ID,
|
264
|
APPROVE_DT,
|
265
|
PARENT_PROCESS_ID,
|
266
|
IS_LEAF,
|
267
|
COST_ID,
|
268
|
DVDM_ID,
|
269
|
NOTES,
|
270
|
IS_HAS_CHILD
|
271
|
)
|
272
|
VALUES
|
273
|
( @p_REQ_ID, -- REQ_ID - varchar(15)
|
274
|
'SIGN', -- PROCESS_ID - varchar(10)
|
275
|
'C', -- STATUS - varchar(5)
|
276
|
@ROLE_SIGN, -- ROLE_USER - varchar(50)
|
277
|
@BRANCH_SIGN_ID,
|
278
|
CASE WHEN @BRANCH_SIGN_TYPE='HS' THEN @DEP_SIGN_ID ELSE '' END, -- BRANCH_ID - varchar(15)
|
279
|
'', -- CHECKER_ID - varchar(15)
|
280
|
NULL, -- APPROVE_DT - datetime
|
281
|
'', -- PARENT_PROCESS_ID - varchar(10)
|
282
|
'N', -- IS_LEAF - varchar(1)
|
283
|
'', -- COST_ID - varchar(15)
|
284
|
'', -- DVDM_ID - varchar(15)
|
285
|
N'Chờ cấp phê duyệt trung gian xác nhận phiếu', -- NOTES - nvarchar(500)
|
286
|
NULL -- IS_HAS_CHILD - bit
|
287
|
)
|
288
|
END
|
289
|
ELSE -- NGUOC LAI KHONG CO CAP PHE DUYET TRUNG GIAN
|
290
|
BEGIN
|
291
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
292
|
(
|
293
|
REQ_ID,
|
294
|
PROCESS_ID,
|
295
|
STATUS,
|
296
|
ROLE_USER,
|
297
|
BRANCH_ID,
|
298
|
DEP_ID,
|
299
|
CHECKER_ID,
|
300
|
APPROVE_DT,
|
301
|
PARENT_PROCESS_ID,
|
302
|
IS_LEAF,
|
303
|
COST_ID,
|
304
|
DVDM_ID,
|
305
|
NOTES,
|
306
|
IS_HAS_CHILD
|
307
|
)
|
308
|
VALUES
|
309
|
( @p_REQ_ID, -- REQ_ID - varchar(15)
|
310
|
'APPNEW', -- PROCESS_ID - varchar(10)
|
311
|
'C', -- STATUS - varchar(5)
|
312
|
'GDDV', -- ROLE_USER - varchar(50)
|
313
|
@BRANCH_ID,
|
314
|
@DEP_ID, -- BRANCH_ID - varchar(15)
|
315
|
'', -- CHECKER_ID - varchar(15)
|
316
|
NULL, -- APPROVE_DT - datetime
|
317
|
'', -- PARENT_PROCESS_ID - varchar(10)
|
318
|
'N', -- IS_LEAF - varchar(1)
|
319
|
'', -- COST_ID - varchar(15)
|
320
|
'', -- DVDM_ID - varchar(15)
|
321
|
-- N'Chờ trưởng đơn vị phê duyệt', -- NOTES - nvarchar(500)
|
322
|
N'Chờ trưởng đơn vị phê duyệt' ,
|
323
|
NULL -- IS_HAS_CHILD - bit
|
324
|
)
|
325
|
|
326
|
END
|
327
|
INSERT INTO dbo.PL_PROCESS
|
328
|
(
|
329
|
REQ_ID,
|
330
|
PROCESS_ID,
|
331
|
CHECKER_ID,
|
332
|
APPROVE_DT,
|
333
|
PROCESS_DESC,
|
334
|
NOTES
|
335
|
)
|
336
|
VALUES
|
337
|
( @p_REQ_ID, -- REQ_ID - varchar(15)
|
338
|
--@p_PROCESS_ID, -- PROCESS_ID - varchar(10)
|
339
|
'SEND',
|
340
|
@p_TLNAME, -- CHECKER_ID - varchar(15)
|
341
|
GETDATE(), -- APPROVE_DT - datetime
|
342
|
N'Người tạo tờ trình gửi phê duyệt thành công' , -- PROCESS_DESC - nvarchar(1000)
|
343
|
N'Nhân viên gửi phê duyệt ' -- NOTES - nvarchar(1000)
|
344
|
)
|
345
|
|
346
|
|
347
|
|
348
|
IF @@Error <> 0 GOTO ABORT
|
349
|
COMMIT TRANSACTION
|
350
|
IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND PROCESS_ID ='SIGN'))
|
351
|
BEGIN
|
352
|
SELECT '4' as Result,'' REQ_CODE,''REQ_ID, N'Tờ trình số: '+(SELECT REQ_CODE FROM PL_REQUEST_DOC WHERE REQ_ID = @p_REQ_ID)+N' đã được gửi phê duyệt thành công. Vui lòng đợi cấp phê duyệt trung gian xác nhận phiếu' ErrorDesc
|
353
|
RETURN '4'
|
354
|
END
|
355
|
ELSE
|
356
|
BEGIN
|
357
|
SELECT '0' as Result,'' REQ_CODE,''REQ_ID, '' ErrorDesc
|
358
|
RETURN '0'
|
359
|
END
|
360
|
ABORT:
|
361
|
BEGIN
|
362
|
ROLLBACK TRANSACTION
|
363
|
SELECT '-1' as Result,'' REQ_CODE,''REQ_ID, '' ErrorDesc
|
364
|
RETURN '-1'
|
365
|
End
|