Project

General

Profile

6.6 CAU HINH CHAN DIEU CHUYEN CHI PHI TU OPEX SANG CAPEX.txt

Luc Tran Van, 05/07/2021 08:49 AM

 
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