Project

General

Profile

2.4 CONFIG GUI DUYET TO TRINH CHU TRUONG.txt

Luc Tran Van, 08/20/2021 05:10 PM

 
1
ALTER 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
	DECLARE @ID_REQ_CHECKALL VARCHAR(15), @TOTAL_AMT_CHECKALL DECIMAL(18,2),@SUM_TOTAL_AMT_CHILD DECIMAL(18,2)
9
	SET @ID_REQ_CHECKALL =(SELECT PL_BASED_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID)
10
	SET @TOTAL_AMT_CHECKALL =(SELECT ISNULL(TOTAL_AMT,0) FROM PL_REQUEST_DOC WHERE REQ_ID =@TOTAL_AMT_CHECKALL)
11
	SET @SUM_TOTAL_AMT_CHILD =(SELECT SUM(ISNULL(TOTAL_AMT,0)) FROM PL_REQUEST_DOC WHERE PL_BASED_ID =@ID_REQ_CHECKALL AND AUTH_STATUS NOT IN ('R'))
12
	IF(ISNULL(@SUM_TOTAL_AMT_CHILD,0) >ISNULL(@TOTAL_AMT_CHECKALL,0) AND @ID_REQ_CHECKALL IS NOT NULL AND @ID_REQ_CHECKALL <> '' )
13
	BEGIN
14
		ROLLBACK TRANSACTION;
15
		SELECT '-1'  Result, N'Số tiền dử dụng tờ trình con đã vượt quá tổng số tiền trình sử dụng của tờ trình cha (tờ trình căn cứ)' ErrorDesc
16
		RETURN '-1';
17
	END
18
	-- LUCTV DIEU CHINH 2021820
19
	DECLARE @GD_TYPE_ID_NOT_VALIDATE VARCHAR(15)
20
	SET @GD_TYPE_ID_NOT_VALIDATE =(SELECT TOP 1 GD_TYPE_ID FROM CM_GOODSTYPE WHERE GD_TYPE_CODE ='OS')
21
	IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND (PL_BASED_ID IS  NULL OR PL_BASED_ID ='')))
22
	BEGIN
23
	--- KIEM TRA NGAN SACH LUCTV 18052020
24
	DECLARE  @ERROR BIT ,@EROOR_DES NVARCHAR(500)
25
	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)
26
	IF(@ERROR=1)
27
	BEGIN
28
	ROLLBACK TRANSACTION;
29
		SELECT '-1'  Result, @EROOR_DES ErrorDesc
30
		RETURN '-1';
31
	END
32
	-----
33
	DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20),@BRANCH_CREATE VARCHAR(20) ,@DEP_CREATE VARCHAR(20),@BRANCH_TYPE VARCHAR(10),
34
	@BRANCH_CREATE_TYPE VARCHAR(10)
35
	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'))))
36
	BEGIN
37
	ROLLBACK TRANSACTION  
38
	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  
39
	RETURN '-1'  
40
	END
41
	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))) )
42
	BEGIN
43
			ROLLBACK TRANSACTION
44
			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
45
			RETURN '-1'
46
	END
47

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

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

    
74
	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 <>''))
75
	BEGIN
76
	DECLARE @PL_BASED_ID VARCHAR(20)
77
	SET @PL_BASED_ID=(SELECT PL_BASED_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID )
78
		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)))
79
		BEGIN
80
			ROLLBACK TRANSACTION
81
			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
82
			RETURN '-1'
83
		END
84
	END
85
	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 ='')) )
86
	BEGIN
87
			ROLLBACK TRANSACTION
88
			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
89
			RETURN '-1'
90
	END
91
	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 ='')) )
92
	BEGIN
93
			ROLLBACK TRANSACTION
94
			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
95
			RETURN '-1'
96
	END
97

    
98
	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)) )
99
	BEGIN
100
			ROLLBACK TRANSACTION
101
			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
102
			RETURN '-1'
103
	END
104
	SELECT @BRANCH_CREATE=BRANCH_CREATE,@DEP_CREATE=DEP_CREATE FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
105
	-- KIEM TRA NEU HINH THUC CHI DINH THAU LA THEO QUY DINH VCCB THI KHONG CHO PHEP CHON NHA CUNG CAP
106
	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))
107
			BEGIN
108
				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 
109
				ROLLBACK TRANSACTION
110
				RETURN '-1'
111
	END
112
	--
113
	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))
114
			BEGIN
115
				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 
116
				ROLLBACK TRANSACTION
117
				RETURN '-1'
118
	END
119
	---- NEU HINH THUC MUA SAM CHI DINH THAU THI KHONG DUOC PHEP DE TRONG LY DO CHI DINH
120
	IF(EXISTS(SELECT * FROM PL_REQUEST_DOC_DT WHERE TRADE_TYPE ='CDT' AND ( [NAME] ='' OR [NAME] IS NULL) AND REQ_ID =@p_REQ_ID))
121
			BEGIN
122
				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 
123
				ROLLBACK TRANSACTION
124
				RETURN '-1'
125
	END
126
	--
127
	--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
128
	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'))
129
	BEGIN
130
			ROLLBACK TRANSACTION
131
			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
132
			RETURN '-1'
133
	END
134
	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='')
135
	AND ((FR_DEP_ID=@DEP_CREATE) OR ((@DEP_CREATE IS NULL OR @DEP_CREATE='') AND (FR_DEP_ID IS NULL OR FR_DEP_ID=''))) ))
136
	BEGIN
137
		ROLLBACK TRANSACTION
138
			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
139
			RETURN '-1'
140
	END
141
	IF(EXISTS(SELECT Temp.TRADE_ID FROM (
142
		SELECT TB.TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
143
		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 
144
		FROM dbo.PL_REQUEST_DOC_DT TB
145
		LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.TRADE_ID
146
		WHERE   TB.REQ_ID=@p_REQ_ID AND  TB.REQDT_TYPE='I' 
147
		AND PT.GOODS_ID NOT IN (SELECT ISNULL(GD_ID,'') FROM CM_GOODS WHERE GOODS_CODE LIKE '%.OS.%')
148
		GROUP BY TB.TRADE_ID
149
		)Temp
150
		WHERE Temp.TOTAL_AMT_EXE > Temp.TOTAL_AMT_REMAIN))
151
		BEGIN
152
					ROLLBACK TRANSACTION
153
					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
154
					RETURN '-1'
155
		END
156

    
157
	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')))
158
		BEGIN
159
					ROLLBACK TRANSACTION
160
					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
161
					RETURN '-1'
162
		END
163
	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')))
164
	BEGIN
165
					ROLLBACK TRANSACTION
166
					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
167
					RETURN '-1'
168
	END
169
	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,''))) )
170
	BEGIN
171
					ROLLBACK TRANSACTION
172
					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
173
					RETURN '-1'
174
	END		
175

    
176

    
177
	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)) )
178
	BEGIN
179
			ROLLBACK TRANSACTION
180
			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
181
			RETURN '-1'
182
	END
183
	IF(EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE  REQ_ID=@p_REQ_ID AND  (DESCRIPTION IS NULL OR DESCRIPTION='')) )
184
	BEGIN
185
			ROLLBACK TRANSACTION
186
			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
187
			RETURN '-1'
188
	END
189

    
190
	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='')) )
191
	BEGIN
192
			ROLLBACK TRANSACTION
193
			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
194
			RETURN '-1'
195
	END		
196
	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='')) )
197
	BEGIN
198
			ROLLBACK TRANSACTION
199
			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
200
			RETURN '-1'
201
	END		
202
	DECLARE lstTransfer CURSOR FOR 
203
	SELECT FR_GOOD_ID,TO_GOOD_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID
204
	OPEN lstTransfer
205
	DECLARE @FR_GOOD_ID VARCHAR(20),@TO_GOOD_ID VARCHAR(20)
206

    
207
	FETCH NEXT FROM lstTransfer INTO @FR_GOOD_ID,@TO_GOOD_ID
208
	WHILE @@FETCH_STATUS=0
209
	BEGIN
210
		IF(@FR_GOOD_ID IS NOT NULL AND @FR_GOOD_ID<>'')
211
			BEGIN
212
				DECLARE @FR_GD_TYPE VARCHAR(20),@TO_GD_TYPE VARCHAR(20)
213

    
214
				SET @FR_GD_TYPE =(SELECT GT.GD_TYPE_ID FROM 
215
				(
216
					SELECT GD_CODE FROM dbo.CM_GOODS WHERE GD_ID=@FR_GOOD_ID
217
				) CG
218
				LEFT JOIN dbo.CM_GOODSTYPE GT ON  CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%')
219

    
220

    
221
				SET @TO_GD_TYPE =(SELECT GT.GD_TYPE_ID FROM 
222
				(
223
					SELECT GD_CODE FROM dbo.CM_GOODS WHERE GD_ID=@TO_GOOD_ID
224
				) CG
225
				LEFT JOIN dbo.CM_GOODSTYPE GT ON  CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%')
226

    
227
				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,';')) )  )
228
				BEGIN
229
					DECLARE @FR_GD_TYPE_NAME NVARCHAR(100),@TO_GD_TYPE_NAME NVARCHAR(100)
230
					SET @FR_GD_TYPE_NAME=(SELECT GD_TYPE_NAME FROM dbo.CM_GOODSTYPE WHERE GD_TYPE_ID=@FR_GD_TYPE)
231
					SET @TO_GD_TYPE_NAME=(SELECT GD_TYPE_NAME FROM dbo.CM_GOODSTYPE WHERE GD_TYPE_ID=@TO_GD_TYPE)
232
					
233
						ROLLBACK TRANSACTION
234
						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
235
						RETURN '-1'
236
						CLOSE lstTransfer
237
						DEALLOCATE lstTransfer
238
				END
239
			END
240
		FETCH NEXT FROM lstTransfer INTO @FR_GOOD_ID,@TO_GOOD_ID
241
	END
242
	CLOSE lstTransfer
243
	DEALLOCATE lstTransfer
244
	END
245
	UPDATE dbo.PL_REQUEST_DOC SET AUTH_STATUS='U',PROCESS_ID='APPNEW' WHERE REQ_ID=@p_REQ_ID
246
	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
247

    
248
	SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
249
	SET @BRANCH_CREATE_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE)
250

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

    
262
		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)
263

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

    
356

    
357

    
358
IF @@Error <> 0 GOTO ABORT
359
COMMIT TRANSACTION
360
IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND PROCESS_ID ='SIGN'))
361
BEGIN
362
	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
363
	RETURN '4'
364
END
365
ELSE
366
BEGIN
367
	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 hoặc trưởng đơn vị phê duyệt phiếu' ErrorDesc
368
	RETURN '4'
369
END
370
ABORT:
371
BEGIN
372
		ROLLBACK TRANSACTION
373
		SELECT '-1' 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ất bại. Vui lòng rà soát lại các thông tin tờ trình' ErrorDesc
374
		RETURN '-1'
375
End