Project

General

Profile

PL_REQ_DOC_SENDAPP.txt

Luc Tran Van, 03/04/2021 08:42 AM

 
1
USE [gAMSPro_VCCB_v2]
2
GO
3
/****** Object:  StoredProcedure [dbo].[PL_REQUEST_DOC_SendApp]    Script Date: 3/4/2021 8:38:45 AM ******/
4
SET ANSI_NULLS ON
5
GO
6
SET QUOTED_IDENTIFIER ON
7
GO
8

    
9

    
10
ALTER PROCEDURE [dbo].[PL_REQUEST_DOC_SendApp]
11
@p_REQ_ID VARCHAR(20),
12
@p_PROCESS_ID VARCHAR(20),
13
@p_TLNAME VARCHAR(20),
14
@p_MAKER_ID VARCHAR(20)
15
AS
16
BEGIN TRANSACTION
17

    
18
	IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND (PL_BASED_ID IS  NULL OR PL_BASED_ID ='')))
19
	BEGIN
20
	--- KIEM TRA NGAN SACH LUCTV 18052020
21
	DECLARE  @ERROR BIT ,@EROOR_DES NVARCHAR(500)
22
	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)
23
	IF(@ERROR=1)
24
	BEGIN
25
	ROLLBACK TRANSACTION;
26
		SELECT '-1'  Result, @EROOR_DES ErrorDesc
27
		RETURN '-1';
28
	END
29
	-----
30
	DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20),@BRANCH_CREATE VARCHAR(20) ,@DEP_CREATE VARCHAR(20),@BRANCH_TYPE VARCHAR(10),
31
	@BRANCH_CREATE_TYPE VARCHAR(10)
32
	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'))))
33
	BEGIN
34
	ROLLBACK TRANSACTION  
35
	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  
36
	RETURN '-1'  
37
	END
38

    
39

    
40
	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))) )
41
	BEGIN
42
			ROLLBACK TRANSACTION
43
			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
44
			RETURN '-1'
45
	END
46

    
47
	IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE  REQ_ID=@p_REQ_ID AND  (REQ_NAME IS NULL OR REQ_NAME='')) )
48
	BEGIN
49
			ROLLBACK TRANSACTION
50
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Tên tờ trình bắt buộc nhập' ErrorDesc
51
			RETURN '-1'
52
	END
53
	IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE  REQ_ID=@p_REQ_ID AND  (REQ_CONTENT IS NULL OR REQ_CONTENT='')) )
54
	BEGIN
55
			ROLLBACK TRANSACTION
56
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Nội dung tờ trình bắt buộc nhập' ErrorDesc
57
			RETURN '-1'
58
	END
59
	IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE  REQ_ID=@p_REQ_ID AND ( REQ_REASON IS NULL OR REQ_REASON='')) )
60
	BEGIN
61
			ROLLBACK TRANSACTION
62
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lý do bắt buộc nhập' ErrorDesc
63
			RETURN '-1'
64
	END
65

    
66
	IF(NOT EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE  REQ_ID=@p_REQ_ID ) )
67
	BEGIN
68
			ROLLBACK TRANSACTION
69
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Danh sách hàng hóa bắt buộc nhập' ErrorDesc
70
			RETURN '-1'
71
	END
72

    
73
	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 <>''))
74
	BEGIN
75
	DECLARE @PL_BASED_ID VARCHAR(20)
76
	SET @PL_BASED_ID=(SELECT PL_BASED_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID )
77
		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)))
78
		BEGIN
79
			ROLLBACK TRANSACTION
80
			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
81
			RETURN '-1'
82
		END
83
	END
84

    
85

    
86

    
87
	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 ='')) )
88
	BEGIN
89
			ROLLBACK TRANSACTION
90
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Hàng hóa bắt buộc nhập' ErrorDesc
91
			RETURN '-1'
92
	END
93
	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 ='')) )
94
	BEGIN
95
			ROLLBACK TRANSACTION
96
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Hạng mục ngân sách bắt buộc nhập' ErrorDesc
97
			RETURN '-1'
98
	END
99

    
100
	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)) )
101
	BEGIN
102
			ROLLBACK TRANSACTION
103
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Vui lòng nhập số tiền điều chuyển' ErrorDesc
104
			RETURN '-1'
105
	END
106
	SELECT @BRANCH_CREATE=BRANCH_CREATE,@DEP_CREATE=DEP_CREATE FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
107
	-- KIEM TRA NEU HINH THUC CHI DINH THAU LA THEO QUY DINH VCCB THI KHONG CHO PHEP CHON NHA CUNG CAP
108
	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))
109
			BEGIN
110
				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 
111
				ROLLBACK TRANSACTION
112
				RETURN '-1'
113
	END
114
	--
115
	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))
116
			BEGIN
117
				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 
118
				ROLLBACK TRANSACTION
119
				RETURN '-1'
120
	END
121
	---- NEU HINH THUC MUA SAM CHI DINH THAU THI KHONG DUOC PHEP DE TRONG LY DO CHI DINH
122
	IF(EXISTS(SELECT * FROM PL_REQUEST_DOC_DT WHERE TRADE_TYPE ='CDT' AND ( [NAME] ='' OR [NAME] IS NULL) AND REQ_ID =@p_REQ_ID))
123
			BEGIN
124
				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 
125
				ROLLBACK TRANSACTION
126
				RETURN '-1'
127
	END
128
	--
129
	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='')
130
	AND ((FR_DEP_ID=@DEP_CREATE) OR ((@DEP_CREATE IS NULL OR @DEP_CREATE='') AND (FR_DEP_ID IS NULL OR FR_DEP_ID=''))) ))
131
	BEGIN
132
		ROLLBACK TRANSACTION
133
			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
134
			RETURN '-1'
135
	END
136
	IF(EXISTS(SELECT Temp.TRADE_ID FROM (
137
		SELECT TB.TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
138
		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 
139
		FROM dbo.PL_REQUEST_DOC_DT TB
140
		LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.TRADE_ID
141
		WHERE   TB.REQ_ID=@p_REQ_ID AND  TB.REQDT_TYPE='I' 
142
		GROUP BY TB.TRADE_ID
143
		)Temp
144
		WHERE Temp.TOTAL_AMT_EXE > Temp.TOTAL_AMT_REMAIN))
145
		BEGIN
146
					ROLLBACK TRANSACTION
147
					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
148
					RETURN '-1'
149
		END
150

    
151
	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')))
152
		BEGIN
153
					ROLLBACK TRANSACTION
154
					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
155
					RETURN '-1'
156
		END
157
	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')))
158
	BEGIN
159
					ROLLBACK TRANSACTION
160
					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
161
					RETURN '-1'
162
	END
163
	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,''))) )
164
	BEGIN
165
					ROLLBACK TRANSACTION
166
					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
167
					RETURN '-1'
168
	END		
169

    
170

    
171
	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)) )
172
	BEGIN
173
			ROLLBACK TRANSACTION
174
			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
175
			RETURN '-1'
176
	END
177
	IF(EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE  REQ_ID=@p_REQ_ID AND  (DESCRIPTION IS NULL OR DESCRIPTION='')) )
178
	BEGIN
179
			ROLLBACK TRANSACTION
180
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Quy cách kỹ thuật bắt buộc nhập' ErrorDesc
181
			RETURN '-1'
182
	END
183

    
184
	IF(EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE  REQ_ID=@p_REQ_ID AND  (DESCRIPTION IS NULL OR DESCRIPTION='')) )
185
	BEGIN
186
			ROLLBACK TRANSACTION
187
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Quy cách kỹ thuật bắt buộc nhập' ErrorDesc
188
			RETURN '-1'
189
	END			
190
	--DECLARE lstTransfer CURSOR FOR 
191
	--SELECT FR_GOOD_ID,TO_GOOD_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID
192
	--OPEN lstTransfer
193
	--DECLARE @FR_GOOD_ID VARCHAR(20),@TO_GOOD_ID VARCHAR(20)
194

    
195
	--FETCH NEXT FROM lstTransfer INTO @FR_GOOD_ID,@TO_GOOD_ID
196
	--WHILE @@FETCH_STATUS=0
197
	--BEGIN
198
	--	IF(@FR_GOOD_ID IS NOT NULL AND @FR_GOOD_ID<>'')
199
	--		BEGIN
200
	--			DECLARE @FR_GD_TYPE VARCHAR(20),@TO_GD_TYPE VARCHAR(20)
201

    
202
	--			SET @FR_GD_TYPE =(SELECT GT.GD_TYPE_ID FROM 
203
	--			(
204
	--				SELECT GD_CODE FROM dbo.CM_GOODS WHERE GD_ID=@FR_GOOD_ID
205
	--			) CG
206
	--			LEFT JOIN dbo.CM_GOODSTYPE GT ON  CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%')
207

    
208

    
209
	--			SET @TO_GD_TYPE =(SELECT GT.GD_TYPE_ID FROM 
210
	--			(
211
	--				SELECT GD_CODE FROM dbo.CM_GOODS WHERE GD_ID=@TO_GOOD_ID
212
	--			) CG
213
	--			LEFT JOIN dbo.CM_GOODSTYPE GT ON  CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%')
214

    
215
	--			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,';')) )  )
216
	--			BEGIN
217
	--				DECLARE @FR_GD_TYPE_NAME NVARCHAR(100),@TO_GD_TYPE_NAME NVARCHAR(100)
218
	--				SET @FR_GD_TYPE_NAME=(SELECT GD_TYPE_NAME FROM dbo.CM_GOODSTYPE WHERE GD_TYPE_ID=@FR_GD_TYPE)
219
	--				SET @TO_GD_TYPE_NAME=(SELECT GD_TYPE_NAME FROM dbo.CM_GOODSTYPE WHERE GD_TYPE_ID=@TO_GD_TYPE)
220
					
221
	--					ROLLBACK TRANSACTION
222
	--					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
223
	--					RETURN '-1'
224
	--					CLOSE lstTransfer
225
	--					DEALLOCATE lstTransfer
226
	--			END
227
	--		END
228
	--	FETCH NEXT FROM lstTransfer INTO @FR_GOOD_ID,@TO_GOOD_ID
229
	--END
230
	--CLOSE lstTransfer
231
	--DEALLOCATE lstTransfer
232
	END
233

    
234

    
235

    
236

    
237

    
238
	UPDATE dbo.PL_REQUEST_DOC SET AUTH_STATUS='U',PROCESS_ID='APPNEW' WHERE REQ_ID=@p_REQ_ID
239
	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
240

    
241
	SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
242
	SET @BRANCH_CREATE_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE)
243

    
244
	
245
	--IF(@BRANCH_TYPE='PGD')
246
	--	SET @BRANCH_ID=(SELECT BRANCH_ID  FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
247
	
248
	
249
	DELETE FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID
250
	---KIEM TRA XEM CO CAP PHE DUYET TRUNG GIAN HAY KHONG 20-05-2020 LUCTV
251
	IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND SIGN_USER IS NOT NULL AND SIGN_USER <>''))
252
	BEGIN
253
		DECLARE @BRANCH_SIGN_ID VARCHAR(20),@DEP_SIGN_ID VARCHAR(20),@BRANCH_SIGN_TYPE VARCHAR(10),@ROLE_SIGN VARCHAR(20)
254

    
255
		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)
256

    
257

    
258

    
259
		UPDATE dbo.PL_REQUEST_DOC SET AUTH_STATUS='U',PROCESS_ID='SIGN' WHERE REQ_ID=@p_REQ_ID
260
		INSERT INTO dbo.PL_REQUEST_PROCESS
261
		(
262
		    REQ_ID,
263
		    PROCESS_ID,
264
		    STATUS,
265
		    ROLE_USER,
266
		    BRANCH_ID,
267
			DEP_ID,
268
		    CHECKER_ID,
269
		    APPROVE_DT,
270
		    PARENT_PROCESS_ID,
271
		    IS_LEAF,
272
		    COST_ID,
273
		    DVDM_ID,
274
		    NOTES,
275
		    IS_HAS_CHILD
276
		)
277
		VALUES
278
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
279
		    'SIGN',        -- PROCESS_ID - varchar(10)
280
		    'C',        -- STATUS - varchar(5)
281
		    @ROLE_SIGN,  -- ROLE_USER - varchar(50)
282
		    @BRANCH_SIGN_ID,  
283
			CASE WHEN @BRANCH_SIGN_TYPE='HS' THEN @DEP_SIGN_ID ELSE '' END,      -- BRANCH_ID - varchar(15)
284
		    '',        -- CHECKER_ID - varchar(15)
285
		    NULL,      -- APPROVE_DT - datetime
286
		    '',        -- PARENT_PROCESS_ID - varchar(10)
287
		    'N',        -- IS_LEAF - varchar(1)
288
		    '',        -- COST_ID - varchar(15)
289
		    '',        -- DVDM_ID - varchar(15)
290
		    N'Chờ cấp phê duyệt trung gian xác nhận phiếu',       -- NOTES - nvarchar(500)
291
		    NULL       -- IS_HAS_CHILD - bit
292
		 )
293
	END
294
	ELSE -- NGUOC LAI KHONG CO CAP PHE DUYET TRUNG GIAN
295
	BEGIN
296
	INSERT INTO dbo.PL_REQUEST_PROCESS
297
		(
298
		    REQ_ID,
299
		    PROCESS_ID,
300
		    STATUS,
301
		    ROLE_USER,
302
		    BRANCH_ID,
303
			DEP_ID,
304
		    CHECKER_ID,
305
		    APPROVE_DT,
306
		    PARENT_PROCESS_ID,
307
		    IS_LEAF,
308
		    COST_ID,
309
		    DVDM_ID,
310
		    NOTES,
311
		    IS_HAS_CHILD
312
		)
313
		VALUES
314
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
315
		    'APPNEW',        -- PROCESS_ID - varchar(10)
316
		    'C',        -- STATUS - varchar(5)
317
		    'GDDV',        -- ROLE_USER - varchar(50)
318
		    @BRANCH_ID,  
319
			@DEP_ID,      -- BRANCH_ID - varchar(15)
320
		    '',        -- CHECKER_ID - varchar(15)
321
		    NULL,      -- APPROVE_DT - datetime
322
		    '',        -- PARENT_PROCESS_ID - varchar(10)
323
		    'N',        -- IS_LEAF - varchar(1)
324
		    '',        -- COST_ID - varchar(15)
325
		    '',        -- DVDM_ID - varchar(15)
326
		   -- N'Chờ trưởng đơn vị phê duyệt',       -- NOTES - nvarchar(500)
327
		    N'Chờ trưởng đơn vị phê duyệt' ,
328
		    NULL       -- IS_HAS_CHILD - bit
329
		 )
330
		
331
	END
332
	INSERT INTO dbo.PL_PROCESS
333
					(
334
					    REQ_ID,
335
					    PROCESS_ID,
336
					    CHECKER_ID,
337
					    APPROVE_DT,
338
					    PROCESS_DESC,
339
					    NOTES
340
					)
341
					VALUES
342
					(   @p_REQ_ID,        -- REQ_ID - varchar(15)
343
					    --@p_PROCESS_ID,        -- PROCESS_ID - varchar(10)
344
						'SEND',
345
					    @p_TLNAME,        -- CHECKER_ID - varchar(15)
346
					    GETDATE(), -- APPROVE_DT - datetime
347
					    N'Người tạo tờ trình gửi phê duyệt thành công' ,       -- PROCESS_DESC - nvarchar(1000)
348
					    N'Nhân viên gửi phê duyệt '        -- NOTES - nvarchar(1000)
349
					 )
350

    
351

    
352

    
353
IF @@Error <> 0 GOTO ABORT
354
COMMIT TRANSACTION
355
IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND PROCESS_ID ='SIGN'))
356
BEGIN
357
	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
358
	RETURN '4'
359
END
360
ELSE
361
BEGIN
362
	SELECT '0' as Result,'' REQ_CODE,''REQ_ID, '' ErrorDesc
363
	RETURN '0'
364
END
365
ABORT:
366
BEGIN
367
		ROLLBACK TRANSACTION
368
		SELECT '-1' as Result,'' REQ_CODE,''REQ_ID, '' ErrorDesc
369
		RETURN '-1'
370
End
371

    
372

    
373

    
374

    
375

    
376