Project

General

Profile

FILE 3.txt

Truong Nguyen Vu, 10/13/2020 03:42 PM

 
1

    
2

    
3

    
4
ALTER FUNCTION [dbo].[FN_CHECK_VALIDATE_APP]
5
(	
6
	-- Add the parameters for the function here
7
	@REQ_ID VARCHAR(20),
8
	@TYPE_VALIDATE VARCHAR(20),
9
	@REF_VALIDATE VARCHAR(20),
10
	@MAKER_ID VARCHAR(20),
11
	@PROCESS_ID VARCHAR(20)
12
)
13
RETURNS  @Results TABLE (ERROR BIT , ERROR_DES NVARCHAR(100))
14
AS
15
BEGIN
16

    
17

    
18
	IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@REQ_ID AND PL_BASED_ID IS NOT NULL AND PL_BASED_ID <>''))
19
	BEGIN
20
		 INSERT INTO @Results
21
			(
22
			    ERROR,
23
			    ERROR_DES
24
			)
25
			VALUES
26
			(    0, -- ERROR - bit
27
			    N''   -- ERROR_DES - nvarchar(100)
28
			)
29
		RETURN
30
	END
31

    
32
	DECLARE @BRANCH_ID VARCHAR(20),@DEP_ID VARCHAR(20),@BRANCH_TYPE VARCHAR(20),@ROLE_ID VARCHAR(20)
33
	DECLARE @LST_DVDM TABLE(DVDM_ID VARCHAR(20))
34
	DECLARE @LST_KHOI TABLE(KHOI_ID VARCHAR(20))
35
	SELECT @BRANCH_ID=TLSUBBRID,@BRANCH_TYPE=BRANCH_TYPE,@DEP_ID=SECUR_CODE,@ROLE_ID=RoleName FROM dbo.TL_USER WHERE TLNANME=@MAKER_ID
36

    
37
	IF(@ROLE_ID='TC' OR @ROLE_ID='TGD')
38
	BEGIN
39
		INSERT INTO @LST_DVDM
40
		SELECT CD.DVDM_ID FROM dbo.CM_DVDM CD
41
	
42
		WHERE CD.IS_DVDM=1
43

    
44

    
45
		INSERT INTO @LST_KHOI
46
		SELECT CD.DVDM_ID FROM dbo.CM_DVDM CD
47
	
48
		WHERE CD.IS_KHOI=1 
49
	END
50
	ELSE
51
	BEGIN
52
			INSERT INTO @LST_DVDM
53
			SELECT CD.DVDM_ID FROM dbo.CM_DVDM CD
54
			LEFT JOIN dbo.PL_COSTCENTER PC ON PC.DVDM_ID=CD.DVDM_ID
55
			LEFT JOIN dbo.PL_COSTCENTER_DT PCDT ON PCDT.COST_ID=PC.COST_ID
56
			WHERE CD.IS_DVDM=1 AND PCDT.DEP_ID=@DEP_ID AND PCDT.BRANCH_ID=@BRANCH_ID
57

    
58

    
59
			INSERT INTO @LST_KHOI
60
			SELECT CD.DVDM_ID FROM dbo.CM_DVDM CD
61
			LEFT JOIN dbo.PL_COSTCENTER PC ON PC.DVDM_ID=CD.DVDM_ID
62
			LEFT JOIN dbo.PL_COSTCENTER_DT PCDT ON PCDT.COST_ID=PC.COST_ID
63
			WHERE CD.IS_KHOI=1 AND PCDT.DEP_ID=@DEP_ID AND PCDT.BRANCH_ID=@BRANCH_ID
64
	END
65

    
66

    
67

    
68
 IF(@REF_VALIDATE='PL_REQUEST_DOC')
69
 BEGIN
70
	IF(@TYPE_VALIDATE='APPNEW')
71
	BEGIN
72
		IF(@BRANCH_TYPE='HS')
73
		BEGIN
74
			IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@REQ_ID AND FR_BRN_ID=@BRANCH_ID AND FR_DEP_ID=@DEP_ID
75
			AND (FR_TRADE_ID IS NULL OR FR_TRADE_ID ='')))
76
			BEGIN
77
				INSERT INTO @Results
78
			(
79
			    ERROR,
80
			    ERROR_DES
81
			)
82
			VALUES
83
			(    1, -- ERROR - bit
84
			    N'Vui lòng chọn hạng mục ngân sách điều chuyển'   -- ERROR_DES - nvarchar(100)
85
			 )
86
			RETURN 
87
			END
88
			ELSE
89
			BEGIN
90
						IF(EXISTS(SELECT Temp.FR_TRADE_ID FROM (
91
						SELECT TB.FR_TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
92
						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 
93
						FROM dbo.PL_REQUEST_TRANSFER TB
94
						LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.FR_TRADE_ID
95
						WHERE  TB.REQ_DOC_ID=@REQ_ID AND TB.FR_BRN_ID=@BRANCH_ID AND @DEP_ID=TB.FR_DEP_ID
96
						GROUP BY TB.FR_TRADE_ID
97
						)Temp
98
						WHERE (Temp.TOTAL_AMT_EXE) > Temp.TOTAL_AMT_REMAIN))
99
						BEGIN
100
						
101
								INSERT INTO @Results
102
							(
103
								ERROR,
104
								ERROR_DES
105
							)
106
							VALUES
107
							(    1, -- ERROR - bit
108
								N'Lưới điều chuyển ngân sách: Số tiền điều chuyển vượt hạng mức ngân sách dự kiến còn lại'   -- ERROR_DES - nvarchar(100)
109
							 )
110
							RETURN 
111
						END
112
			END
113

    
114
		END
115
		ELSE IF(@BRANCH_TYPE<>'HS')
116
		BEGIN
117
			IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@REQ_ID AND FR_BRN_ID=@BRANCH_ID 
118
			AND (FR_TRADE_ID IS NULL OR FR_TRADE_ID ='')))
119
			BEGIN
120
				INSERT INTO @Results
121
			(
122
			    ERROR,
123
			    ERROR_DES
124
			)
125
			VALUES
126
			(    1, -- ERROR - bit
127
			    N'Vui lòng chọn hạng mục ngân sách điều chuyển'   -- ERROR_DES - nvarchar(100)
128
			 )
129
			RETURN 
130
			END
131
			ELSE
132
			BEGIN
133
						IF(EXISTS(SELECT Temp.FR_TRADE_ID FROM (
134
						SELECT TB.FR_TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
135
						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 
136
						FROM dbo.PL_REQUEST_TRANSFER TB
137
						LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.FR_TRADE_ID
138
						WHERE  TB.REQ_DOC_ID=@REQ_ID AND TB.FR_BRN_ID=@BRANCH_ID 
139
						GROUP BY TB.FR_TRADE_ID
140
						)Temp
141
						WHERE (Temp.TOTAL_AMT_EXE) > Temp.TOTAL_AMT_REMAIN))
142
						BEGIN
143
						
144
								INSERT INTO @Results
145
							(
146
								ERROR,
147
								ERROR_DES
148
							)
149
							VALUES
150
							(    1, -- ERROR - bit
151
								N'Lưới hàng hóa: Số tiền điều chuyển vượt hạng mức ngân sách dự kiến còn lại'   -- ERROR_DES - nvarchar(100)
152
							 )
153
							RETURN 
154
						END
155
			END
156
		END
157
		IF(EXISTS(SELECT Temp.TRADE_ID FROM (
158
		SELECT TB.TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
159
		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 ,
160
		SUM(ISNULL(PLTF.TOTAL_AMT,0)) AS TOTAL_TF
161
		FROM dbo.PL_REQUEST_DOC_DT TB
162
		LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.TRADE_ID
163
		LEFT JOIN dbo.PL_MASTER PM ON PM.PLAN_ID=PT.PLAN_ID
164
		LEFT JOIN dbo.PL_REQUEST_TRANSFER PLTF ON PLTF.FR_BRN_ID=PM.BRANCH_ID AND PLTF.FR_TRADE_ID=PT.TRADE_ID AND PLTF.REQ_DOC_ID=TB.REQ_ID
165
		WHERE TB.REQDT_TYPE='I' AND TB.REQ_ID=@REQ_ID
166
		GROUP BY TB.TRADE_ID
167
		)Temp
168
		WHERE (Temp.TOTAL_AMT_EXE + Temp.TOTAL_TF) > Temp.TOTAL_AMT_REMAIN))
169
		BEGIN
170
			INSERT INTO @Results
171
			(
172
			    ERROR,
173
			    ERROR_DES
174
			)
175
			VALUES
176
			(    1, -- ERROR - bit
177
			    N'Lưới hàng hóa: Số tiền sử dụng vượt số tiền còn lại dự kiến của hạng mục ngân sách'   -- ERROR_DES - nvarchar(100)
178
			 )
179
			RETURN 
180
		END
181

    
182
		
183

    
184
		IF(EXISTS(SELECT Temp.GOODS_ID FROM (
185
		SELECT TB.GOODS_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
186
		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 ,
187
		SUM(ISNULL(PLTF.TOTAL_AMT,0)) AS TOTAL_TF
188
		FROM dbo.PL_REQUEST_DOC_DT TB
189
		LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.TRADE_ID
190
		LEFT JOIN
191
		(
192
			SELECT SUM(TOTAL_AMT) AS TOTAL_AMT,TO_GOOD_ID,REQ_DOC_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@REQ_ID
193
			GROUP BY TO_GOOD_ID,REQ_DOC_ID 
194
		) PLTF  ON PLTF.TO_GOOD_ID=TB.GOODS_ID AND PLTF.REQ_DOC_ID=TB.REQ_ID
195
		WHERE TB.REQDT_TYPE='O' AND TB.REQ_ID=@REQ_ID
196
		GROUP BY TB.GOODS_ID
197
		)Temp
198
		WHERE Temp.TOTAL_AMT_EXE > (Temp.TOTAL_AMT_REMAIN + Temp.TOTAL_TF)))
199
		BEGIN
200
			INSERT INTO @Results
201
			(
202
			    ERROR,
203
			    ERROR_DES
204
			)
205
			VALUES
206
			(    1, -- ERROR - bit
207
			    --N'Số tiền sử dụng vượt số tiền còn lại dự kiến của hạng mục ngân sách và số tiền điều chuyển'   -- ERROR_DES - nvarchar(100)
208
				N'Lưới hàng hóa: Số tiền ngân sách sử dụng đang vượt quá số tiền chuyển của lưới điều chuyển ngân sách'
209
			 )
210
			RETURN 
211
		END
212

    
213

    
214
		 
215
	END
216
	ELSE IF (@TYPE_VALIDATE='PDDC')
217
	BEGIN
218
		IF(@PROCESS_ID='DVDM_DC')
219
		BEGIN
220
					IF(EXISTS(SELECT Temp.FR_TRADE_ID FROM (
221
						SELECT TB.FR_TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
222
						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 
223
						FROM dbo.PL_REQUEST_TRANSFER TB
224
						LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.FR_TRADE_ID
225
						WHERE  TB.REQ_DOC_ID=@REQ_ID AND TB.FR_DVDM_ID IN (SELECT DVDM_ID FROM @LST_DVDM)
226
						GROUP BY TB.FR_TRADE_ID
227
						)Temp
228
						WHERE (Temp.TOTAL_AMT_EXE) > Temp.TOTAL_AMT_REMAIN))
229
						BEGIN
230
								INSERT INTO @Results
231
							(
232
								ERROR,
233
								ERROR_DES
234
							)
235
							VALUES
236
							(    1, -- ERROR - bit
237
								N'Số tiền điều chuyển vượt hạng mức ngân sách dự kiến còn lại'   -- ERROR_DES - nvarchar(100)
238
							 )
239
							RETURN 
240
						END
241
		END
242
		ELSE IF(@PROCESS_ID='TC')
243
		BEGIN
244
			IF(EXISTS(SELECT Temp.FR_TRADE_ID FROM (
245
						SELECT TB.FR_TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
246
						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 
247
						FROM dbo.PL_REQUEST_TRANSFER TB
248
						LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.FR_TRADE_ID
249
						WHERE  TB.REQ_DOC_ID=@REQ_ID
250
						GROUP BY TB.FR_TRADE_ID
251
						)Temp
252
						WHERE (Temp.TOTAL_AMT_EXE) > Temp.TOTAL_AMT_REMAIN))
253
						BEGIN
254
								INSERT INTO @Results
255
							(
256
								ERROR,
257
								ERROR_DES
258
							)
259
							VALUES
260
							(    1, -- ERROR - bit
261
								N'Số tiền điều chuyển vượt hạng mức ngân sách dự kiến còn lại'   -- ERROR_DES - nvarchar(100)
262
							 )
263
							RETURN 
264
						END
265
		END
266
		ELSE
267
		BEGIN
268
		IF(@BRANCH_TYPE='HS')
269
		BEGIN
270
			IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@REQ_ID AND FR_BRN_ID=@BRANCH_ID AND FR_DEP_ID=@DEP_ID
271
			AND (FR_TRADE_ID IS NULL OR FR_TRADE_ID ='')))
272
			BEGIN
273
				INSERT INTO @Results
274
			(
275
			    ERROR,
276
			    ERROR_DES
277
			)
278
			VALUES
279
			(    1, -- ERROR - bit
280
			    N'Chưa chọn hạng mục ngân sách điều chuyển'   -- ERROR_DES - nvarchar(100)
281
			 )
282
			RETURN 
283
			END
284
			ELSE
285
			BEGIN
286
						IF(EXISTS(SELECT Temp.FR_TRADE_ID FROM (
287
						SELECT TB.FR_TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
288
						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 
289
						FROM dbo.PL_REQUEST_TRANSFER TB
290
						LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.FR_TRADE_ID
291
						WHERE  TB.REQ_DOC_ID=@REQ_ID AND TB.FR_BRN_ID=@BRANCH_ID AND @DEP_ID=TB.FR_DEP_ID
292
						GROUP BY TB.FR_TRADE_ID
293
						)Temp
294
						WHERE (Temp.TOTAL_AMT_EXE) > Temp.TOTAL_AMT_REMAIN))
295
						BEGIN
296
						
297
								INSERT INTO @Results
298
							(
299
								ERROR,
300
								ERROR_DES
301
							)
302
							VALUES
303
							(    1, -- ERROR - bit
304
								N'Số tiền điều chuyển vượt hạng mức ngân sách dự kiến còn lại'   -- ERROR_DES - nvarchar(100)
305
							 )
306
							RETURN 
307
						END
308
			END
309

    
310
		END
311
		ELSE IF(@BRANCH_TYPE<>'HS')
312
		BEGIN
313
			IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@REQ_ID AND FR_BRN_ID=@BRANCH_ID 
314
			AND (FR_TRADE_ID IS NULL OR FR_TRADE_ID ='')))
315
			BEGIN
316
				INSERT INTO @Results
317
			(
318
			    ERROR,
319
			    ERROR_DES
320
			)
321
			VALUES
322
			(    1, -- ERROR - bit
323
			    N'Chưa chọn hạng mục ngân sách điều chuyển'   -- ERROR_DES - nvarchar(100)
324
			 )
325
			RETURN 
326
			END
327
			ELSE
328
			BEGIN
329
						IF(EXISTS(SELECT Temp.FR_TRADE_ID FROM (
330
						SELECT TB.FR_TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
331
						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 
332
						FROM dbo.PL_REQUEST_TRANSFER TB
333
						LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.FR_TRADE_ID
334
						WHERE  TB.REQ_DOC_ID=@REQ_ID AND TB.FR_BRN_ID=@BRANCH_ID 
335
						GROUP BY TB.FR_TRADE_ID
336
						)Temp
337
						WHERE (Temp.TOTAL_AMT_EXE) > Temp.TOTAL_AMT_REMAIN))
338
						BEGIN
339
						
340
								INSERT INTO @Results
341
								(
342
									ERROR,
343
									ERROR_DES
344
								)
345
								VALUES
346
								(    1, -- ERROR - bit
347
									N'Số tiền điều chuyển vượt hạng mức ngân sách dự kiến còn lại'   -- ERROR_DES - nvarchar(100)
348
								 )
349
								RETURN 
350
						END
351
			END
352
		END
353
		END
354
	END
355
	ELSE IF(@TYPE_VALIDATE='PDTT')
356
	BEGIN
357
		
358
		IF(EXISTS(SELECT Temp.TRADE_ID FROM (
359
		SELECT TB.TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
360
		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 ,
361
		SUM(ISNULL(PLTF.TOTAL_AMT,0)) AS TOTAL_TF
362
		FROM dbo.PL_REQUEST_DOC_DT TB
363
		LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.TRADE_ID
364
		LEFT JOIN dbo.PL_MASTER PM ON PM.PLAN_ID=PT.PLAN_ID
365
		LEFT JOIN dbo.PL_REQUEST_TRANSFER PLTF ON PLTF.FR_BRN_ID=PM.BRANCH_ID AND PLTF.FR_TRADE_ID=PT.TRADE_ID AND PLTF.REQ_DOC_ID=TB.REQ_ID
366
		WHERE TB.REQDT_TYPE='I' AND TB.REQ_ID=@REQ_ID AND TB.KHOI_ID IN (SELECT KHOI_ID FROM @LST_KHOI)
367
		GROUP BY TB.TRADE_ID
368
		)Temp
369
		WHERE (Temp.TOTAL_AMT_EXE + Temp.TOTAL_TF) > Temp.TOTAL_AMT_REMAIN))
370
		BEGIN
371
			INSERT INTO @Results
372
			(
373
			    ERROR,
374
			    ERROR_DES
375
			)
376
			VALUES
377
			(    1, -- ERROR - bit
378
			    N'Số tiền sử dụng vượt số tiền còn lại dự kiến của hạng mục ngân sách'   -- ERROR_DES - nvarchar(100)
379
			 )
380
			RETURN 
381
		END
382

    
383
		
384

    
385
		IF(EXISTS(SELECT Temp.GOODS_ID FROM (
386
		SELECT TB.GOODS_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
387
		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 ,
388
		SUM(ISNULL(PLTF.TOTAL_AMT,0)) AS TOTAL_TF
389
		FROM dbo.PL_REQUEST_DOC_DT TB
390
		LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.TRADE_ID
391
			LEFT JOIN
392
		(
393
			SELECT SUM(TOTAL_AMT) AS TOTAL_AMT,TO_GOOD_ID,REQ_DOC_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@REQ_ID
394
			GROUP BY TO_GOOD_ID,REQ_DOC_ID 
395
		) PLTF  ON PLTF.TO_GOOD_ID=TB.GOODS_ID AND PLTF.REQ_DOC_ID=TB.REQ_ID
396
		WHERE TB.REQDT_TYPE='O' AND TB.REQ_ID=@REQ_ID AND TB.KHOI_ID IN (SELECT KHOI_ID FROM @LST_KHOI)
397
		GROUP BY TB.GOODS_ID
398
		)Temp
399
		WHERE Temp.TOTAL_AMT_EXE > (Temp.TOTAL_AMT_REMAIN + Temp.TOTAL_TF)))
400
		BEGIN
401
			INSERT INTO @Results
402
			(
403
			    ERROR,
404
			    ERROR_DES
405
			)
406
			VALUES
407
			(    1, -- ERROR - bit
408
			    N'Số tiền sử dụng vượt số tiền còn lại dự kiến của hạng mục ngân sách và số tiền điều chuyển'   -- ERROR_DES - nvarchar(100)
409
			 )
410
			RETURN 
411
		END
412

    
413
					IF(EXISTS(SELECT Temp.FR_TRADE_ID FROM (
414
						SELECT TB.FR_TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
415
						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 
416
						FROM dbo.PL_REQUEST_TRANSFER TB
417
						LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.FR_TRADE_ID
418
						WHERE  TB.REQ_DOC_ID=@REQ_ID AND  TB.FR_KHOI_ID IN (SELECT KHOI_ID FROM @LST_KHOI) 
419
						GROUP BY TB.FR_TRADE_ID
420
						)Temp
421
						WHERE (Temp.TOTAL_AMT_EXE) > Temp.TOTAL_AMT_REMAIN))
422
						BEGIN
423
						
424
								INSERT INTO @Results
425
							(
426
								ERROR,
427
								ERROR_DES
428
							)
429
							VALUES
430
							(    1, -- ERROR - bit
431
								N'Số tiền điều chuyển vượt hạng mức ngân sách dự kiến còn lại'   -- ERROR_DES - nvarchar(100)
432
							 )
433
							RETURN 
434
						END
435

    
436

    
437
	END
438
 END
439

    
440
 INSERT INTO @Results
441
			(
442
			    ERROR,
443
			    ERROR_DES
444
			)
445
			VALUES
446
			(    0, -- ERROR - bit
447
			    N''   -- ERROR_DES - nvarchar(100)
448
			)
449

    
450
RETURN 
451
END
452
 
453

    
454

    
455

    
456

    
457