Project

General

Profile

PL_SEND_APP.txt

Luc Tran Van, 01/27/2021 11:17 AM

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