Project

General

Profile

get_info_year_limit.txt

Luc Tran Van, 03/01/2023 10:59 AM

 
1

    
2

    
3
ALTER  PROCEDURE [dbo].[TR_BUDGET_CHECK_LIMIT_YEAR_GET_INFO_LIMIT]
4
@p_GD_ID	varchar(20)  = NULL,
5
@p_GD_CODE	varchar(20)  = NULL,
6
@p_BRANCH_ID varchar(20)  = NULL,
7
@p_DEP_ID	varchar(20)  = NULL,
8
@p_KHOI_ID	varchar(20)  = NULL,
9
@p_TLNAME	varchar(20)  = NULL,
10
@p_ROLENAME	varchar(20)  = NULL,
11
@p_MONTH varchar(20) = NULL,
12
@p_YEAR varchar(20) = NULL,
13
@p_BRANCH_KIND varchar(20) = NULL
14
AS
15
IF(@p_YEAR != 'null')
16
BEGIN
17
	IF(CONVERT(INT,@p_YEAR) < YEAR(GETDATE()))
18
	BEGIN
19
		SET @p_MONTH = 'M12'
20
	END
21
	ELSE
22
	BEGIN
23
		SET @p_MONTH = 'M'+ CONVERT(VARCHAR, MONTH(GETDATE()))
24
	END
25
END
26
DECLARE @l_BUDGET_LIMIT_CURRENT DECIMAL(18,0)
27
	-- Lấy hạn mức đã sử dụng đến hiện tại
28
DECLARE @l_BUDGET_USED_CURRENT DECIMAL(18,0)
29
DECLARE @l_BUDGET_USED_M1 DECIMAL(18,0), @l_BUDGET_USED_M2 DECIMAL(18,0), @l_BUDGET_USED_M3 DECIMAL(18,0), @l_BUDGET_USED_M4 DECIMAL(18,0), @l_BUDGET_USED_M5 DECIMAL(18,0),
30
@l_BUDGET_USED_M6 DECIMAL(18,0), @l_BUDGET_USED_M7 DECIMAL(18,0), @l_BUDGET_USED_M8 DECIMAL(18,0), @l_BUDGET_USED_M9 DECIMAL(18,0), @l_BUDGET_USED_M10 DECIMAL(18,0),
31
@l_BUDGET_USED_M11 DECIMAL(18,0), @l_BUDGET_USED_M12 DECIMAL(18,0)
32
	-- Lấy hạn mức đã gửi duyệt đến hiện tại
33
DECLARE @l_BUDGET_SEND_APPR_CURRENT DECIMAL(18,0)
34
DECLARE @l_BUDGET_SEND_APPR_M1 DECIMAL(18,0), @l_BUDGET_SEND_APPR_M2 DECIMAL(18,0), @l_BUDGET_SEND_APPR_M3 DECIMAL(18,0), @l_BUDGET_SEND_APPR_M4 DECIMAL(18,0), @l_BUDGET_SEND_APPR_M5 DECIMAL(18,0),
35
@l_BUDGET_SEND_APPR_M6 DECIMAL(18,0), @l_BUDGET_SEND_APPR_M7 DECIMAL(18,0), @l_BUDGET_SEND_APPR_M8 DECIMAL(18,0), @l_BUDGET_SEND_APPR_M9 DECIMAL(18,0), @l_BUDGET_SEND_APPR_M10 DECIMAL(18,0),
36
@l_BUDGET_SEND_APPR_M11 DECIMAL(18,0), @l_BUDGET_SEND_APPR_M12 DECIMAL(18,0)
37
DECLARE @BRANCH_TYPE VARCHAR(15)
38
SELECT @BRANCH_TYPE = BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID
39
IF(ISNULL(@p_BRANCH_ID,'') = 'DV0001')
40
BEGIN
41
	SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE	WHEN @p_MONTH = 'M1' then M1
42
																						WHEN @p_MONTH = 'M2' then M2
43
																						WHEN @p_MONTH = 'M3' then M3
44
																						WHEN @p_MONTH = 'M4' then M4
45
																						WHEN @p_MONTH = 'M5' then M5
46
																						WHEN @p_MONTH = 'M6' then M6
47
																						WHEN @p_MONTH = 'M7' then M7
48
																						WHEN @p_MONTH = 'M8' then M8
49
																						WHEN @p_MONTH = 'M9' then M9
50
																						WHEN @p_MONTH = 'M10' then M10
51
																						WHEN @p_MONTH = 'M11' then M11
52
																						WHEN @p_MONTH = 'M12' then M12
53
																						ELSE M1
54
																				END
55
											FROM TR_REQ_BUDGET_YEAR_LIMIT 
56
											WHERE GD_ID = @p_GD_ID AND BRANCH_TYPE = 'HO' AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'),0)
57

    
58
			-- Lấy hạn mức đã sử dụng đến hiện tại
59
			SET @l_BUDGET_USED_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
60
			SET @l_BUDGET_USED_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
61
			SET @l_BUDGET_USED_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
62
			SET @l_BUDGET_USED_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
63
			SET @l_BUDGET_USED_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
64
			SET @l_BUDGET_USED_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
65
			SET @l_BUDGET_USED_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
66
			SET @l_BUDGET_USED_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
67
			SET @l_BUDGET_USED_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
68
			SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
69
			SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
70
			SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
71

    
72
			SET @l_BUDGET_USED_CURRENT = @l_BUDGET_USED_M1 + @l_BUDGET_USED_M2 + @l_BUDGET_USED_M3 + @l_BUDGET_USED_M4 + @l_BUDGET_USED_M5 + @l_BUDGET_USED_M6 + @l_BUDGET_USED_M7 + @l_BUDGET_USED_M8 
73
			+ @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12 
74

    
75
			-- Lấy hạn mức đã gửi duyệt đến hiện tại
76
			SET @l_BUDGET_SEND_APPR_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
77
			SET @l_BUDGET_SEND_APPR_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
78
			SET @l_BUDGET_SEND_APPR_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
79
			SET @l_BUDGET_SEND_APPR_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
80
			SET @l_BUDGET_SEND_APPR_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
81
			SET @l_BUDGET_SEND_APPR_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
82
			SET @l_BUDGET_SEND_APPR_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
83
			SET @l_BUDGET_SEND_APPR_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
84
			SET @l_BUDGET_SEND_APPR_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
85
			SET @l_BUDGET_SEND_APPR_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
86
			SET @l_BUDGET_SEND_APPR_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
87
			SET @l_BUDGET_SEND_APPR_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.DEP_ID = @p_DEP_ID AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
88

    
89
			SET @l_BUDGET_SEND_APPR_CURRENT = @l_BUDGET_SEND_APPR_M1 + @l_BUDGET_SEND_APPR_M2 + @l_BUDGET_SEND_APPR_M3 + @l_BUDGET_SEND_APPR_M4 + @l_BUDGET_SEND_APPR_M5 + @l_BUDGET_SEND_APPR_M6 + @l_BUDGET_SEND_APPR_M7 + @l_BUDGET_SEND_APPR_M8 
90
			+ @l_BUDGET_SEND_APPR_M9 + @l_BUDGET_SEND_APPR_M10 + @l_BUDGET_SEND_APPR_M11 + @l_BUDGET_SEND_APPR_M12  
91
END
92
ELSE
93
BEGIN
94
		SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE	WHEN @p_MONTH = 'M1' then M1
95
																						WHEN @p_MONTH = 'M2' then M2
96
																						WHEN @p_MONTH = 'M3' then M3
97
																						WHEN @p_MONTH = 'M4' then M4
98
																						WHEN @p_MONTH = 'M5' then M5
99
																						WHEN @p_MONTH = 'M6' then M6
100
																						WHEN @p_MONTH = 'M7' then M7
101
																						WHEN @p_MONTH = 'M8' then M8
102
																						WHEN @p_MONTH = 'M9' then M9
103
																						WHEN @p_MONTH = 'M10' then M10
104
																						WHEN @p_MONTH = 'M11' then M11
105
																						WHEN @p_MONTH = 'M12' then M12
106
																						ELSE M1
107
																				END
108
											FROM TR_REQ_BUDGET_YEAR_LIMIT 
109
											WHERE GD_ID = @p_GD_ID AND BRANCH_TYPE = 'DVKD' AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'),0)
110

    
111
			-- Lấy hạn mức đã sử dụng đến hiện tại
112
			SET @l_BUDGET_USED_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
113
			SET @l_BUDGET_USED_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
114
			SET @l_BUDGET_USED_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
115
			SET @l_BUDGET_USED_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
116
			SET @l_BUDGET_USED_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
117
			SET @l_BUDGET_USED_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
118
			SET @l_BUDGET_USED_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
119
			SET @l_BUDGET_USED_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
120
			SET @l_BUDGET_USED_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
121
			SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
122
			SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
123
			SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND (EXISTS(SELECT * FROM TR_REQ_PAYMENT B WHERE A.REQ_PAY_ID = B.REQ_PAY_ID AND B.AUTH_STATUS_KT = 'A')) AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
124

    
125
			SET @l_BUDGET_USED_CURRENT = @l_BUDGET_USED_M1 + @l_BUDGET_USED_M2 + @l_BUDGET_USED_M3 + @l_BUDGET_USED_M4 + @l_BUDGET_USED_M5 + @l_BUDGET_USED_M6 + @l_BUDGET_USED_M7 + @l_BUDGET_USED_M8 
126
			+ @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12
127

    
128
			-- Lấy hạn mức đã gửi duyệt đến hiện tại
129
			SET @l_BUDGET_SEND_APPR_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
130
			SET @l_BUDGET_SEND_APPR_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
131
			SET @l_BUDGET_SEND_APPR_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
132
			SET @l_BUDGET_SEND_APPR_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
133
			SET @l_BUDGET_SEND_APPR_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
134
			SET @l_BUDGET_SEND_APPR_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
135
			SET @l_BUDGET_SEND_APPR_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
136
			SET @l_BUDGET_SEND_APPR_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
137
			SET @l_BUDGET_SEND_APPR_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
138
			SET @l_BUDGET_SEND_APPR_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
139
			SET @l_BUDGET_SEND_APPR_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
140
			SET @l_BUDGET_SEND_APPR_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A WHERE 1=1 AND A.GD_ID = @p_GD_ID AND A.BRANCH_ID = @p_BRANCH_ID AND A.BRANCH_KIND = @p_BRANCH_KIND AND A.BUDGET_YEAR = @p_YEAR AND A.RECORD_STATUS = '1' GROUP BY GD_ID),0)
141

    
142
			SET @l_BUDGET_SEND_APPR_CURRENT = @l_BUDGET_SEND_APPR_M1 + @l_BUDGET_SEND_APPR_M2 + @l_BUDGET_SEND_APPR_M3 + @l_BUDGET_SEND_APPR_M4 + @l_BUDGET_SEND_APPR_M5 + @l_BUDGET_SEND_APPR_M6 + @l_BUDGET_SEND_APPR_M7 + @l_BUDGET_SEND_APPR_M8 
143
			+ @l_BUDGET_SEND_APPR_M9 + @l_BUDGET_SEND_APPR_M10 + @l_BUDGET_SEND_APPR_M11 + @l_BUDGET_SEND_APPR_M12
144
END
145

    
146
SELECT FORMAT(@l_BUDGET_LIMIT_CURRENT,'#,#', 'vi-VN') + ' VND' AS BUDGET_LIMIT_APPR, FORMAT(@l_BUDGET_USED_CURRENT,'#,#', 'vi-VN') + ' VND' AS BUDGET_LIMIT_USED, FORMAT(@l_BUDGET_LIMIT_CURRENT - @l_BUDGET_USED_CURRENT,'#,#', 'vi-VN') + ' VND' AS BUDGET_LIMIT_REMAIN