Project

General

Profile

mới 3.txt

Luc Tran Van, 06/12/2025 03:36 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 @GD_TYPE_ID_NOT_VALIDATE VARCHAR(15)
9
	SET @GD_TYPE_ID_NOT_VALIDATE =(SELECT TOP 1 GD_TYPE_ID FROM CM_GOODSTYPE WHERE GD_TYPE_CODE ='OS')
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
	-- XÁC ĐỊNH HẠN MƯC CÒN ĐỦ HAY KO
13
	--- KIEM TRA NGAN SACH LUCTV 18052020
14
	DECLARE  @ERROR BIT ,@EROOR_DES NVARCHAR(500)
15
	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)
16
	IF(@ERROR=1)
17
		BEGIN
18
		ROLLBACK TRANSACTION;
19
			SELECT '-1'  Result, @EROOR_DES ErrorDesc
20
			RETURN '-1';
21
		END
22
	END
23
	-----
24
	DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20),@BRANCH_CREATE VARCHAR(20) ,@DEP_CREATE VARCHAR(20),@BRANCH_TYPE VARCHAR(10),
25
	@BRANCH_CREATE_TYPE VARCHAR(10)
26
	---LUCTV 11072023_SECRETKEY PHÒNG HC SẼ CÓ CƠ CHẾ CÁC TBP KIÊM NHIỆM GDDV
27
	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 
28
	AND (RoleName='TPGD' OR RoleName='GDDV'))) AND NOT EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_ID =(SELECT ISNULL(DEP_CREATE, DEP_ID) FROM PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID) AND DEP_CODE ='0690604'))
29
	BEGIN
30
	ROLLBACK TRANSACTION  
31
	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  
32
	RETURN '-1'  
33
	END
34
	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))) )
35
	BEGIN
36
			ROLLBACK TRANSACTION
37
			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
38
			RETURN '-1'
39
	END
40

    
41
	IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE  REQ_ID=@p_REQ_ID AND  (REQ_NAME IS NULL OR REQ_NAME='')) )
42
	BEGIN
43
			ROLLBACK TRANSACTION
44
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Tên tờ trình bắt buộc nhập' ErrorDesc
45
			RETURN '-1'
46
	END
47
	IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE  REQ_ID=@p_REQ_ID AND  (REQ_CONTENT IS NULL OR REQ_CONTENT='')) )
48
	BEGIN
49
			ROLLBACK TRANSACTION
50
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Nội dung 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_REASON IS NULL OR REQ_REASON='')) )
54
	BEGIN
55
			ROLLBACK TRANSACTION
56
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lý do trình chủ trương bắt buộc nhập' ErrorDesc
57
			RETURN '-1'
58
	END
59
	IF(NOT EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE  REQ_ID=@p_REQ_ID ) )
60
	BEGIN
61
			ROLLBACK TRANSACTION
62
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Danh sách hàng hóa bắt buộc nhập' ErrorDesc
63
			RETURN '-1'
64
	END
65
  IF(EXISTS(SELECT * FROM PL_REQUEST_DOC prd LEFT JOIN CM_BRANCH cb ON prd.BRANCH_ID = cb.BRANCH_ID WHERE prd.REQ_ID = @p_REQ_ID AND cb.BRANCH_CODE IN ('799','899','699')))
66
  BEGIN
67
      ROLLBACK TRANSACTION
68
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Không được chọn đơn vị tạo tờ trình là: 799, 899, 699' ErrorDesc
69
			RETURN '-1'
70
  END
71
  ---- LUCTV 26072023_SECRETKEY: FIX LỖI DEP_ID NULL DO CHỌN SAI ĐƠN VỊ TẠO TỜ TRÌNH
72
  IF(EXISTS(SELECT * FROM PL_REQUEST_DOC prd WHERE BRANCH_ID ='DV0001' AND ISNULL(DEP_ID,'') ='' AND REQ_ID=@p_REQ_ID))
73
  BEGIN
74
      ROLLBACK TRANSACTION
75
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Bạn đang trực thuộc Hội sở! Vui lòng chọn đơn vị tạo tờ trình là phòng ban hiện hành trên Hội Sở! Vui lòng không được chọn các đơn vị như 699,799,899' ErrorDesc
76
			RETURN '-1'
77
  END
78
	-- GIANT 10/11/2021 
79
	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 <>''))
80
	BEGIN
81
		DECLARE @PL_BASED_ID VARCHAR(20),
82
				@PL_BASE_CODE VARCHAR(20),
83
				@PL_BASE_TOTAL_USED DECIMAL(18,2), -- CÓ THỂ SỬ DỤNG
84
				@PL_BASE_TOTAL_PRICE DECIMAL(18,2), -- TỔNG TIỀN CỦA TTCT
85
				@TOTAL_PRICE DECIMAL(18,2) -- TỔNG TIỀN CỦA TỜ TRÌNH HIỆN TẠI SỬ DỤNG
86
		SET @PL_BASED_ID=(SELECT PL_BASED_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID )
87
		SET @PL_BASE_CODE = (SELECT REQ_CODE FROM PL_REQUEST_DOC WHERE REQ_ID = @PL_BASED_ID)
88
		SET @PL_BASE_TOTAL_USED = (SELECT SUM(TOTAL_AMT) FROM PL_REQUEST_DOC WHERE PL_BASED_ID = @PL_BASED_ID AND AUTH_STATUS NOT IN ('E','R'))
89
		SET @PL_BASE_TOTAL_PRICE = (SELECT TOTAL_AMT FROM PL_REQUEST_DOC WHERE REQ_ID = @PL_BASED_ID)
90
		SET @TOTAL_PRICE = (SELECT TOTAL_AMT FROM PL_REQUEST_DOC WHERE REQ_ID = @p_REQ_ID)
91
		--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)))
92
		--BEGIN
93
		--	ROLLBACK TRANSACTION
94
		--	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
95
		--	RETURN '-1'
96
		--END
97

    
98
		-- KIỂM TRA CÁC TỔNG CÁC TỜ TRÌNH SỬ DỤNG TTCC VƯỢT QUÁ SỐ TIỀN CỦA TTCC CHO PHÉP HAY CHƯA
99
		-- Tổng giá trị những tờ trình con đã sử dụng tờ trình số: <Lấy số TTCC ra> làm tờ trình căn cứ: 30 triệu. Giá trị còn lại có thể sử dụng: 70 triệu	
100
		PRINT  @PL_BASE_TOTAL_PRICE - @PL_BASE_TOTAL_USED
101
		IF (@PL_BASE_TOTAL_PRICE < (@PL_BASE_TOTAL_USED + @TOTAL_PRICE))
102
		BEGIN
103
			ROLLBACK TRANSACTION
104
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lưới hàng hóa mua sắm: Tổng giá trị những tờ trình con đã sử dụng tờ trình số: ' + @PL_BASE_CODE + N'  làm tờ trình căn cứ: ' + CONVERT(NVARCHAR(20),CAST(@PL_BASE_TOTAL_USED AS money),1) + N' VND. Giá trị còn lại có thể sử dụng: ' + CONVERT(NVARCHAR(20),CAST(@PL_BASE_TOTAL_PRICE - @PL_BASE_TOTAL_USED AS money),1) + ' VND' ErrorDesc
105
			RETURN '-1'
106
		END
107
		-- KIỂM TRA HẠNG MỤC ĐƯỢC CHỌN CÓ THUỘC VÀO HẠNG MỨC CHO PHÉP CỦA TTCC
108
		DECLARE LISTS CURSOR LOCAL FOR SELECT REQDT_ID,TRADE_ID,REQ_ID FROM PL_REQUEST_DOC_DT WHERE REQ_ID = @p_REQ_ID
109
		OPEN LISTS
110
		DECLARE @REQDT_ID VARCHAR(15),
111
				@TRADE_ID VARCHAR(15),
112
				@REQ_ID VARCHAR(15),
113
				@COUNT INT = 1
114
	
115
		FETCH NEXT FROM LISTS INTO @REQDT_ID,@TRADE_ID,@REQ_ID
116
		WHILE @@FETCH_STATUS = 0
117
		BEGIN
118
			-- Chỉ sử dụng hàng hóa từ tờ trình căn cứ
119
			IF (NOT EXISTS (SELECT * FROM PL_REQUEST_DOC_DT WHERE REQDT_ID = @REQDT_ID AND HANGHOA_ID IN (SELECT HANGHOA_ID FROM PL_REQUEST_DOC_DT WHERE REQ_ID = @PL_BASED_ID)))
120
			BEGIN
121
				ROLLBACK TRANSACTION
122
				SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lưới hàng hóa mua sắm - Dòng ' + CONVERT(nvarchar(10),@COUNT) + N' : Hàng hóa mua sắm đã chọn không thuộc vào Hàng hóa mua sắm cho phép của Tờ trình căn cứ' ErrorDesc
123
				RETURN '-1'
124
			END
125

    
126
			-- Chỉ sử dụng hạng mục ngân sách từ tờ trình căn cứ
127
			IF (NOT EXISTS (SELECT * FROM PL_REQUEST_DOC_DT WHERE REQDT_ID = @REQDT_ID AND TRADE_ID IN (SELECT TRADE_ID FROM PL_REQUEST_DOC_DT WHERE REQ_ID = @PL_BASED_ID)))
128
			BEGIN
129
				ROLLBACK TRANSACTION
130
				SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lưới hàng hóa mua sắm - Dòng ' + CONVERT(nvarchar(10),@COUNT) + N' : Hạng mục ngân sách đã chọn không thuộc vào hạng mục ngân sách cho phép của Tờ trình căn cứ' ErrorDesc
131
				RETURN '-1'
132
			END
133

    
134
			-- SỐ NGÂN SÁCH CHỌN VƯỢT QUÁ NGÂN SÁCH CHO PHÉP CỦA HẠN MỤC ĐÓ
135
			IF ((SELECT TOTAL_AMT FROM PL_REQUEST_DOC_DT WHERE REQ_ID = @PL_BASED_ID AND TRADE_ID = @TRADE_ID) < (SELECT TOTAL_AMT FROM PL_REQUEST_DOC_DT WHERE REQDT_ID = @REQDT_ID))
136
			BEGIN
137
				ROLLBACK TRANSACTION
138
				SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lưới hàng hóa mua sắm - Dòng ' + CONVERT(nvarchar(10),@COUNT) + N' : Hạng mục ngân sách đã chọn vượt quá hạng mục cho phép của Tờ trình căn cứ' ErrorDesc
139
				RETURN '-1'
140
			END
141

    
142
      IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC_DT prdd WHERE  REQDT_ID = @REQDT_ID AND prdd.HANGHOA_ID NOT IN (SELECT HH_ID FROM SYS_HH_GROUP_LIMIT)))
143
    	BEGIN
144
    			ROLLBACK TRANSACTION
145
    			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lưới hàng hóa mua sắm - Dòng ' + CONVERT(nvarchar(10),@COUNT) + N' : Hàng hóa mua sắm đã chọn không có hạn mức phê duyệt' ErrorDesc
146
    			RETURN '-1'
147
    	END
148

    
149
			SET @COUNT += 1
150
			FETCH NEXT FROM LISTS INTO @REQDT_ID,@TRADE_ID,@REQ_ID
151
		END
152
		CLOSE LISTS
153
		DEALLOCATE LISTS
154

    
155

    
156
	END
157

    
158
	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 ='')) )
159
	BEGIN
160
			ROLLBACK TRANSACTION
161
			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
162
			RETURN '-1'
163
	END
164
	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 ='')) )
165
	BEGIN
166
			ROLLBACK TRANSACTION
167
			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
168
			RETURN '-1'
169
	END
170

    
171
	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)) )
172
	BEGIN
173
			ROLLBACK TRANSACTION
174
			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
175
			RETURN '-1'
176
	END
177

    
178
  IF(EXISTS(SELECT REQ_TRANSFER_ID FROM dbo.PL_REQUEST_TRANSFER A 
179
    LEFT JOIN CM_BRANCH cb ON A.FR_BRN_ID = cb.BRANCH_ID
180
    LEFT JOIN CM_DEPARTMENT cd ON A.FR_DEP_ID = cd.DEP_ID
181
    WHERE REQ_DOC_ID=@p_REQ_ID
182
    AND ((FR_BRN_ID = 'DV0001' AND FR_DEP_ID IN ('DEP000000000001','DEP000000000024'))
183
    OR cb.BRANCH_CODE IN ('DV0003','000','799','899','699'))))
184
	BEGIN
185
			ROLLBACK TRANSACTION
186
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lưới điều chuyển ngân sách: Đơn vị chuyển không hợp lệ, vui lòng không chọn Hội sở - Chung, Chung - CNTT, KV Tổng, KV Khác' ErrorDesc
187
			RETURN '-1'
188
	END
189

    
190
	SELECT @BRANCH_CREATE=BRANCH_CREATE,@DEP_CREATE=DEP_CREATE FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
191
	-- KIEM TRA NEU HINH THUC CHI DINH THAU LA THEO QUY DINH VCCB THI KHONG CHO PHEP CHON NHA CUNG CAP
192
	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))
193
			BEGIN
194
				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 
195
				ROLLBACK TRANSACTION
196
				RETURN '-1'
197
	END
198
	--- LUCTV 06-03-2023 KIEM TRA THEM NEU MUA SAM THEO QUY DINH VCCB THI KHONG DUOC PHEP NHAP LY DO CHI DINH
199
	IF(EXISTS(SELECT * FROM PL_REQUEST_DOC_DT WHERE TRADE_TYPE ='VCCB' AND [NAME] <>'' AND [NAME] IS NOT NULL AND REQ_ID =@p_REQ_ID))
200
	BEGIN
201
				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 nhập lý do chỉ định thầu. Vui lòng để trống lý do chỉ định thầu' ErrorDesc 
202
				ROLLBACK TRANSACTION
203
				RETURN '-1'
204
	END
205
	--
206
	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))
207
			BEGIN
208
				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 
209
				ROLLBACK TRANSACTION
210
				RETURN '-1'
211
	END
212
	---- NEU HINH THUC MUA SAM CHI DINH THAU THI KHONG DUOC PHEP DE TRONG LY DO CHI DINH
213
	IF(EXISTS(SELECT * FROM PL_REQUEST_DOC_DT WHERE TRADE_TYPE ='CDT' AND ( [NAME] ='' OR [NAME] IS NULL) AND REQ_ID =@p_REQ_ID))
214
			BEGIN
215
				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 
216
				ROLLBACK TRANSACTION
217
				RETURN '-1'
218
	END
219
	--
220
	--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
221
	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'))
222
	BEGIN
223
			ROLLBACK TRANSACTION
224
			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
225
			RETURN '-1'
226
	END
227
	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='')
228
	AND ((FR_DEP_ID=@DEP_CREATE) OR ((@DEP_CREATE IS NULL OR @DEP_CREATE='') AND (FR_DEP_ID IS NULL OR FR_DEP_ID=''))) ))
229
	BEGIN
230
		ROLLBACK TRANSACTION
231
			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
232
			RETURN '-1'
233
	END
234
	--- 06.04.2023 LUCTV BỔ SUNG LỆNH CHẶN KHÔNG CHO ĐIỀU CHUYỂN NGÂN SÁCH CỦA NĂM CŨ
235
	IF(EXISTS(SELECT * FROM PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID AND TO_PLAN_ID IN (SELECT PLAN_ID FROM PL_MASTER WHERE YEAR < YEAR(GETDATE()))))
236
	BEGIN
237
			ROLLBACK TRANSACTION
238
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lưới điều chuyển ngân sách: Bạn không được phép điều chuyển ngân sách của năm cũ sang năm hiện hành' ErrorDesc
239
			RETURN '-1'
240
	END
241
	---- END
242
	IF(EXISTS(SELECT Temp.TRADE_ID FROM (
243
		SELECT TB.TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
244
		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 
245
		FROM dbo.PL_REQUEST_DOC_DT TB
246
		LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.TRADE_ID
247
		INNER JOIN PL_REQUEST_DOC PL ON TB.REQ_ID = PL.REQ_ID
248
		WHERE TB.REQ_ID=@p_REQ_ID AND  TB.REQDT_TYPE='I' 
249
		---- LUCTV 06.02.2023 BỔ SUNG THÊM ĐIỀU KIỆN TỜ TRÌNH ĐÓ KHÔNG PHẢI LÀ TỜ TRÌNH CĂN CỨ
250
		AND ISNULL(PL.PL_BASED_ID,'') =''
251
		--- END LUCTV 06.02.23
252
		AND PT.GOODS_ID NOT IN (SELECT ISNULL(GD_ID,'') FROM CM_GOODS WHERE GD_TYPE_ID =@GD_TYPE_ID_NOT_VALIDATE)
253
		GROUP BY TB.TRADE_ID
254
		)Temp
255
		WHERE Temp.TOTAL_AMT_EXE > Temp.TOTAL_AMT_REMAIN))
256
		BEGIN
257
					ROLLBACK TRANSACTION
258
					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
259
					RETURN '-1'
260
		END
261

    
262
	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')))
263
		BEGIN
264
					ROLLBACK TRANSACTION
265
					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
266
					RETURN '-1'
267
		END
268
	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')))
269
	BEGIN
270
					ROLLBACK TRANSACTION
271
					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
272
					RETURN '-1'
273
	END
274
	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,''))) )
275
	BEGIN
276
					ROLLBACK TRANSACTION
277
					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
278
					RETURN '-1'
279
	END		
280

    
281

    
282
	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)) )
283
	BEGIN
284
			ROLLBACK TRANSACTION
285
			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
286
			RETURN '-1'
287
	END
288
	IF(EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE  REQ_ID=@p_REQ_ID AND  (DESCRIPTION IS NULL OR DESCRIPTION='')) )
289
	BEGIN
290
			ROLLBACK TRANSACTION
291
			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
292
			RETURN '-1'
293
	END
294

    
295
	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='')) )
296
	BEGIN
297
			ROLLBACK TRANSACTION
298
			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
299
			RETURN '-1'
300
	END		
301
	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='')) )
302
	BEGIN
303
			ROLLBACK TRANSACTION
304
			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
305
			RETURN '-1'
306
	END	
307
	--- LUCTV 14.11.2022 CHECK NEU CO DIEU CHUYEN NGAN SACH THI DON VI NHAN, DON VI CHUYEN PHAI KHAC NULL
308
	IF(EXISTS(SELECT REQ_TRANSFER_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID AND (ISNULL(FR_BRN_ID,'')='' OR ISNULL(TO_BRN_ID,'')='')))
309
	BEGIN
310
			ROLLBACK TRANSACTION
311
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lưới điều chuyển ngân sách: Đơn vị chuyển, đơn vị nhận không được phép để trống' ErrorDesc
312
			RETURN '-1'
313
	END	
314
	IF(EXISTS(SELECT REQ_TRANSFER_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID AND (ISNULL(FR_BRN_ID,'')='DV0001' AND ISNULL(FR_DEP_ID,'')='')))
315
	BEGIN
316
			ROLLBACK TRANSACTION
317
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lưới điều chuyển ngân sách: Đơn vị chuyển ngân sách nếu ở Hội Sở thì bạn phải chọn cụ thể phòng ban' ErrorDesc
318
			RETURN '-1'
319
	END	
320
	IF(EXISTS(SELECT REQ_TRANSFER_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID AND (ISNULL(TO_BRN_ID,'')='DV0001' AND ISNULL(TO_DEP_ID,'')='')))
321
	BEGIN
322
			ROLLBACK TRANSACTION
323
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lưới điều chuyển ngân sách: Đơn vị nhận ngân sách nếu ở Hội Sở thì bạn phải cụ thể chọn phòng ban' ErrorDesc
324
			RETURN '-1'
325
	END	
326
	IF(EXISTS(SELECT REQ_TRANSFER_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID)) --- LUCTV: 25052023_secretkey_NẾU TỜ TRÌNH ĐIỀU CHUYỂN THÌ KHÔNG CHO CHỌN ĐVCM TÀI CHÍNH
327
	BEGIN
328
			IF(EXISTS (SELECT * FROM PL_REQUEST_COSTCENTER WHERE REQ_ID=@p_REQ_ID AND (COST_ID ='DM0000000000048' OR DVMD_ID='DM0000000000048')))
329
			BEGIN
330
				ROLLBACK TRANSACTION
331
				SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Đây là tờ trình điều chuyển, hệ thống sẽ tự động chuyển sang phòng Tài Chính. Vui lòng gỡ DVCM Tài Chính khỏi danh sách đơn vị chuyên môn' ErrorDesc
332
				RETURN '-1'
333
			END
334
	END	
335
	--- LUCTV 20062023_SECRETKEY TẠI HỘI SỞ, CHỈ ĐƯỢC PHÉP SỬ DỤNG NGÂN SÁCH TRONG KẾ HOẠCH (TỨC ĐÃ ĐƯỢC IMPORT VÀO HỆ THỐNG)
336
	SET @BRANCH_CREATE_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE)
337
	IF(EXISTS(SELECT * FROM PL_REQUEST_DOC_DT WHERE REQ_ID =@p_REQ_ID AND ISNULL(KHOI_ID,'')='' AND @BRANCH_CREATE_TYPE ='HS'))
338
	BEGIN
339
			ROLLBACK TRANSACTION
340
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Lưới hàng hóa mua sắm: Tại hạng mục "'+ (SELECT TOP 1 ISNULL(DESCRIPTION,'') FROM PL_REQUEST_DOC_DT WHERE REQ_ID =@p_REQ_ID AND ISNULL(KHOI_ID,'')='')+N'" đang tồn tại mã hạng mục ngân sách chưa xác định thuộc đơn vị đầu mối nào quản lý. Vui lòng kiểm tra lại với đơn vị Tài Chính để xác định lại đơn vị đầu mối quản lý ngân sách' ErrorDesc
341
			RETURN '-1'
342
	END
343
	---- END LUCTV
344
	DECLARE lstTransfer CURSOR FOR 
345
	SELECT FR_GOOD_ID,TO_GOOD_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID
346
	OPEN lstTransfer
347
	DECLARE @FR_GOOD_ID VARCHAR(20),@TO_GOOD_ID VARCHAR(20)
348

    
349
	FETCH NEXT FROM lstTransfer INTO @FR_GOOD_ID,@TO_GOOD_ID
350
	WHILE @@FETCH_STATUS=0
351
	BEGIN
352
		IF(@FR_GOOD_ID IS NOT NULL AND @FR_GOOD_ID<>'')
353
			BEGIN
354
				DECLARE @FR_GD_TYPE VARCHAR(20),@TO_GD_TYPE VARCHAR(20)
355

    
356
				SET @FR_GD_TYPE =(SELECT GT.GD_TYPE_ID FROM 
357
				(
358
					SELECT GD_CODE FROM dbo.CM_GOODS WHERE GD_ID=@FR_GOOD_ID
359
				) CG
360
				LEFT JOIN dbo.CM_GOODSTYPE GT ON  CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%')
361

    
362

    
363
				SET @TO_GD_TYPE =(SELECT GT.GD_TYPE_ID FROM 
364
				(
365
					SELECT GD_CODE FROM dbo.CM_GOODS WHERE GD_ID=@TO_GOOD_ID
366
				) CG
367
				LEFT JOIN dbo.CM_GOODSTYPE GT ON  CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%')
368

    
369
				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,';')) )  )
370
				BEGIN
371
					DECLARE @FR_GD_TYPE_NAME NVARCHAR(100),@TO_GD_TYPE_NAME NVARCHAR(100)
372
					SET @FR_GD_TYPE_NAME=(SELECT GD_TYPE_NAME FROM dbo.CM_GOODSTYPE WHERE GD_TYPE_ID=@FR_GD_TYPE)
373
					SET @TO_GD_TYPE_NAME=(SELECT GD_TYPE_NAME FROM dbo.CM_GOODSTYPE WHERE GD_TYPE_ID=@TO_GD_TYPE)
374
					
375
						ROLLBACK TRANSACTION
376
						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
377
						CLOSE lstTransfer
378
						DEALLOCATE lstTransfer
379
            RETURN '-1'
380
				END
381
			END
382
		FETCH NEXT FROM lstTransfer INTO @FR_GOOD_ID,@TO_GOOD_ID
383
	END
384
	CLOSE lstTransfer
385
	DEALLOCATE lstTransfer
386
	--END
387
	UPDATE dbo.PL_REQUEST_DOC SET AUTH_STATUS='U',PROCESS_ID='APPNEW' WHERE REQ_ID=@p_REQ_ID
388
	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
389

    
390
	SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
391
	SET @BRANCH_CREATE_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE)
392

    
393
	
394
	--IF(@BRANCH_TYPE='PGD')
395
	--	SET @BRANCH_ID=(SELECT BRANCH_ID  FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
396
	DELETE FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID
397
	---- LUCTV:30112023_SECRETKEY KIỂM TRA NẾU HÀNG HÓA MUA SẮM THUỘC NHÓM NÀY VÀ TỔNG GIÁ TRỊ TỜ TRÌNH TRÊN 50 TRIỆU SẼ QUA ĐƠN VỊ TÀI CHÍNH
398
	IF EXISTS (SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND ISNULL(PL_BASED_ID,'')= '')
399
	BEGIN
400
		IF(EXISTS(SELECT * FROM PL_REQUEST_DOC_DT WHERE REQ_ID =@p_REQ_ID AND HANGHOA_ID IN (SELECT HH_ID FROM CM_HANGHOA WHERE HH_CODE IN ('SPMKT-002-000002','SPMKT-002-999999','SPMKT-002-000002'))
401
					AND (SELECT SUM(TOTAL_AMT) FROM PL_REQUEST_DOC_DT WHERE REQ_ID =@p_REQ_ID) >50000000))
402
		BEGIN
403
			DECLARE @l_REQ_COST_ID VARCHAR(15)
404
			EXEC SYS_CodeMasters_Gen 'PL_REQUEST_COSTCENTER', @l_REQ_COST_ID OUT
405
			IF @l_REQ_COST_ID='' OR @l_REQ_COST_ID IS NULL GOTO ABORT
406
			INSERT INTO PL_REQUEST_COSTCENTER (REQ_COST_ID, COST_ID, REQ_ID,AUTH_STATUS,MAKER_ID,DVMD_ID, CHECKER_ID, NOTES,CREATE_DT)
407
			VALUES (@l_REQ_COST_ID,'DM0000000000048',@p_REQ_ID,'U',(SELECT MAKER_ID FROM PL_REQUEST_DOC_DT WHERE REQ_ID =@p_REQ_ID),'','','',GETDATE())
408
		END
409

    
410
	END
411
	-----
412
	---KIEM TRA XEM CO CAP PHE DUYET TRUNG GIAN HAY KHONG 20-05-2020 LUCTV
413
	IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND SIGN_USER IS NOT NULL AND SIGN_USER <>''))
414
	BEGIN
415
		DECLARE @BRANCH_SIGN_ID VARCHAR(20),@DEP_SIGN_ID VARCHAR(20),@BRANCH_SIGN_TYPE VARCHAR(10),@ROLE_SIGN VARCHAR(20), @TL_USER_ID INT
416

    
417
		SELECT @TL_USER_ID = ID, @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)
418
		
419
		SET @ROLE_SIGN = (SELECT TOP 1 B.DisplayName FROM AbpUserRoles A
420
		INNER JOIN AbpRoles B ON A.RoleId = B.Id
421
		WHERE A.UserId = @TL_USER_ID)
422

    
423
		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
424
		INSERT INTO dbo.PL_REQUEST_PROCESS
425
		(
426
		    REQ_ID,
427
		    PROCESS_ID,
428
		    STATUS,
429
		    ROLE_USER,
430
		    BRANCH_ID,
431
			DEP_ID,
432
		    CHECKER_ID,
433
		    APPROVE_DT,
434
		    PARENT_PROCESS_ID,
435
		    IS_LEAF,
436
		    COST_ID,
437
		    DVDM_ID,
438
		    NOTES,
439
		    IS_HAS_CHILD
440
		)
441
		VALUES
442
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
443
		    'SIGN',        -- PROCESS_ID - varchar(10)
444
		    'C',        -- STATUS - varchar(5)
445
		    @ROLE_SIGN,  -- ROLE_USER - varchar(50)
446
		    @BRANCH_SIGN_ID,  
447
			CASE WHEN @BRANCH_SIGN_TYPE='HS' THEN @DEP_SIGN_ID ELSE '' END,      -- BRANCH_ID - varchar(15)
448
		    '',        -- CHECKER_ID - varchar(15)
449
		    NULL,      -- APPROVE_DT - datetime
450
		    '',        -- PARENT_PROCESS_ID - varchar(10)
451
		    'N',        -- IS_LEAF - varchar(1)
452
		    '',        -- COST_ID - varchar(15)
453
		    '',        -- DVDM_ID - varchar(15)
454
		    N'Chờ cấp phê duyệt trung gian xác nhận phiếu',       -- NOTES - nvarchar(500)
455
		    NULL       -- IS_HAS_CHILD - bit
456
		 )
457
	END
458
	ELSE -- NGUOC LAI KHONG CO CAP PHE DUYET TRUNG GIAN
459
	BEGIN
460
	IF(@BRANCH_TYPE ='PGD') --- 11102023_SECRETKEY: PHÂN LOẠI ROLE CỦA PGD VỚI CN/ HỘI SỞ
461
	BEGIN
462
		INSERT INTO dbo.PL_REQUEST_PROCESS
463
		(
464
		    REQ_ID,
465
		    PROCESS_ID,
466
		    STATUS,
467
		    ROLE_USER,
468
		    BRANCH_ID,
469
			DEP_ID,
470
		    CHECKER_ID,
471
		    APPROVE_DT,
472
		    PARENT_PROCESS_ID,
473
		    IS_LEAF,
474
		    COST_ID,
475
		    DVDM_ID,
476
		    NOTES,
477
		    IS_HAS_CHILD
478
		)
479
		VALUES
480
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
481
		    'APPNEW',        -- PROCESS_ID - varchar(10)
482
		    'C',        -- STATUS - varchar(5)
483
		    'TPGD',        -- ROLE_USER - varchar(50)
484
		    @BRANCH_ID,  
485
			@DEP_ID,      -- BRANCH_ID - varchar(15)
486
		    '',        -- CHECKER_ID - varchar(15)
487
		    NULL,      -- APPROVE_DT - datetime
488
		    '',        -- PARENT_PROCESS_ID - varchar(10)
489
		    'N',        -- IS_LEAF - varchar(1)
490
		    '',        -- COST_ID - varchar(15)
491
		    '',        -- DVDM_ID - varchar(15)
492
		   -- N'Chờ trưởng đơn vị phê duyệt',       -- NOTES - nvarchar(500)
493
		    N'Chờ trưởng đơn vị phê duyệt' ,
494
		    NULL       -- IS_HAS_CHILD - bit
495
		 )
496
		
497
	END
498
	ELSE
499
	BEGIN
500
		INSERT INTO dbo.PL_REQUEST_PROCESS
501
		(
502
		    REQ_ID,
503
		    PROCESS_ID,
504
		    STATUS,
505
		    ROLE_USER,
506
		    BRANCH_ID,
507
			DEP_ID,
508
		    CHECKER_ID,
509
		    APPROVE_DT,
510
		    PARENT_PROCESS_ID,
511
		    IS_LEAF,
512
		    COST_ID,
513
		    DVDM_ID,
514
		    NOTES,
515
		    IS_HAS_CHILD
516
		)
517
		VALUES
518
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
519
		    'APPNEW',        -- PROCESS_ID - varchar(10)
520
		    'C',        -- STATUS - varchar(5)
521
		    'GDDV',        -- ROLE_USER - varchar(50)
522
		    @BRANCH_ID,  
523
			@DEP_ID,      -- BRANCH_ID - varchar(15)
524
		    '',        -- CHECKER_ID - varchar(15)
525
		    NULL,      -- APPROVE_DT - datetime
526
		    '',        -- PARENT_PROCESS_ID - varchar(10)
527
		    'N',        -- IS_LEAF - varchar(1)
528
		    '',        -- COST_ID - varchar(15)
529
		    '',        -- DVDM_ID - varchar(15)
530
		   -- N'Chờ trưởng đơn vị phê duyệt',       -- NOTES - nvarchar(500)
531
		    N'Chờ trưởng đơn vị phê duyệt' ,
532
		    NULL       -- IS_HAS_CHILD - bit
533
		 )
534
		
535
	END
536
	END
537
	INSERT INTO dbo.PL_PROCESS
538
					(
539
					    REQ_ID,
540
					    PROCESS_ID,
541
					    CHECKER_ID,
542
					    APPROVE_DT,
543
					    PROCESS_DESC,
544
					    NOTES
545
					)
546
					VALUES
547
					(   @p_REQ_ID,        -- REQ_ID - varchar(15)
548
					    --@p_PROCESS_ID,        -- PROCESS_ID - varchar(10)
549
						'SEND',
550
					    @p_TLNAME,        -- CHECKER_ID - varchar(15)
551
					    GETDATE(), -- APPROVE_DT - datetime
552
					    N'Người tạo tờ trình gửi phê duyệt thành công' ,       -- PROCESS_DESC - nvarchar(1000)
553
					    N'Nhân viên gửi phê duyệt '        -- NOTES - nvarchar(1000)
554
					 )
555

    
556

    
557

    
558
IF @@Error <> 0 GOTO ABORT
559
COMMIT TRANSACTION
560
IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND PROCESS_ID ='SIGN'))
561
BEGIN
562
	SELECT '0' as Result,'' REQ_CODE,''REQ_ID, (SELECT PROCESS_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID) Attr1, 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
563
	RETURN '0'
564
END
565
ELSE
566
BEGIN
567
	SELECT '0' as Result,'' REQ_CODE,''REQ_ID, (SELECT PROCESS_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID) Attr1, 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 trưởng đơn vị phê duyệt phiếu' ErrorDesc
568
	RETURN '0'
569
END
570
ABORT:
571
BEGIN
572
		ROLLBACK TRANSACTION
573
		SELECT '-1' as Result,'' REQ_CODE,''REQ_ID, '' ErrorDesc
574
		RETURN '-1'
575
End