Project

General

Profile

TR_BUDGET_CHECK_LIMIT_MONTH_GET_INFO_LIMIT.txt

Luc Tran Van, 03/07/2023 04:57 PM

 
1

    
2
ALTER   PROCEDURE [dbo].[TR_BUDGET_CHECK_LIMIT_MONTH_GET_INFO_LIMIT]
3
@p_GD_ID	varchar(20)  = NULL,
4
@p_GD_CODE	varchar(20)  = NULL,
5
@p_BRANCH_ID varchar(20)  = NULL,
6
@p_DEP_ID	varchar(20)  = NULL,
7
@p_KHOI_ID	varchar(20)  = NULL,
8
@p_TLNAME	varchar(20)  = NULL,
9
@p_ROLENAME	varchar(20)  = NULL,
10
@p_MONTH varchar(20) = NULL,
11
@p_YEAR varchar(20) = NULL,
12
@p_BRANCH_KIND varchar(20) = NULL
13
AS
14
DECLARE @l_BUDGET_LIMIT_CURRENT DECIMAL(18,0)
15
	-- Lấy hạn mức đã sử dụng đến hiện tại
16
DECLARE @l_BUDGET_USED_CURRENT DECIMAL(18,0)
17
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),
18
@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),
19
@l_BUDGET_USED_M11 DECIMAL(18,0), @l_BUDGET_USED_M12 DECIMAL(18,0)
20
	-- Lấy hạn mức đã gửi duyệt đến hiện tại
21
DECLARE @l_BUDGET_SEND_APPR_CURRENT DECIMAL(18,0)
22
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),
23
@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),
24
@l_BUDGET_SEND_APPR_M11 DECIMAL(18,0), @l_BUDGET_SEND_APPR_M12 DECIMAL(18,0)
25

    
26
DECLARE @BRANCH_TYPE VARCHAR(15), @IS_POTENTIAL VARCHAR(15)
27
SELECT @BRANCH_TYPE = BRANCH_TYPE, @IS_POTENTIAL = IS_POTENTIAL FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID
28
IF(ISNULL(@p_BRANCH_ID,'') = 'DV0001')
29
BEGIN
30
	SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE	WHEN @p_MONTH = 'M1' then M1
31
																						WHEN @p_MONTH = 'M2'  then M2
32
																						WHEN @p_MONTH = 'M3'  then M3
33
																						WHEN @p_MONTH = 'M4'  then M4
34
																						WHEN @p_MONTH = 'M5'  then M5
35
																						WHEN @p_MONTH = 'M6'  then M6
36
																						WHEN @p_MONTH = 'M7'  then M7
37
																						WHEN @p_MONTH = 'M8'  then M8
38
																						WHEN @p_MONTH = 'M9'  then M9
39
																						WHEN @p_MONTH = 'M10' then M10
40
																						WHEN @p_MONTH = 'M11' then M11
41
																						WHEN @p_MONTH = 'M12' then M12
42
																						ELSE M1
43
																				END
44
											FROM TR_REQ_BUDGET_MONTH_LIMIT 
45
											WHERE GD_ID = @p_GD_ID AND BRANCH_TYPE = 'HO' AND BUDGET_YEAR = @p_YEAR AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'),0)
46

    
47
			-- Lấy hạn mức đã sử dụng đến hiện tại
48
			SET @l_BUDGET_USED_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1
49
			AND A.BUDGET_YEAR = @p_YEAR
50
			AND (@p_MONTH = 'M1')
51
			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)
52
			
53
			SET @l_BUDGET_USED_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
54
			AND A.BUDGET_YEAR = @p_YEAR
55
			AND (@p_MONTH = 'M2')
56
			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)
57
			
58
			SET @l_BUDGET_USED_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
59
			AND A.BUDGET_YEAR = @p_YEAR
60
			AND (@p_MONTH = 'M3')
61
			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
			
63
			SET @l_BUDGET_USED_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
64
			AND A.BUDGET_YEAR = @p_YEAR
65
			AND (@p_MONTH = 'M4')
66
			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
			
68
			SET @l_BUDGET_USED_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
69
			AND A.BUDGET_YEAR = @p_YEAR
70
			AND (@p_MONTH = 'M5')
71
			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)
72
			
73
			SET @l_BUDGET_USED_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
74
			AND A.BUDGET_YEAR = @p_YEAR
75
			AND (@p_MONTH = 'M6')
76
			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)
77
			
78
			SET @l_BUDGET_USED_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
79
			AND A.BUDGET_YEAR = @p_YEAR
80
			AND (@p_MONTH = 'M7')
81
			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)
82
			
83
			SET @l_BUDGET_USED_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
84
			AND A.BUDGET_YEAR = @p_YEAR
85
			AND (@p_MONTH = 'M8')
86
			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)
87
			
88
			SET @l_BUDGET_USED_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
89
			AND A.BUDGET_YEAR = @p_YEAR
90
			AND (@p_MONTH = 'M9')
91
			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)
92
			
93
			SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
94
			AND A.BUDGET_YEAR = @p_YEAR
95
			AND (@p_MONTH = 'M10')
96
			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)
97
			
98
			SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
99
			AND A.BUDGET_YEAR = @p_YEAR
100
			AND (@p_MONTH = 'M11')
101
			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)
102
			
103
			SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
104
			AND A.BUDGET_YEAR = @p_YEAR
105
			AND (@p_MONTH = 'M12')
106
			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)
107

    
108
			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 
109
			+ @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12 
110

    
111
-- Lấy hạn mức đã gửi duyệt đến hiện tại
112
			SET @l_BUDGET_SEND_APPR_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1
113
			AND A.BUDGET_YEAR = @p_YEAR
114
			AND (@p_MONTH = 'M1')
115
			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)
116
			
117
			SET @l_BUDGET_SEND_APPR_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
118
			AND A.BUDGET_YEAR = @p_YEAR
119
			AND (@p_MONTH = 'M2')
120
			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)
121
			
122
			SET @l_BUDGET_SEND_APPR_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
123
			AND A.BUDGET_YEAR = @p_YEAR
124
			AND (@p_MONTH = 'M3')
125
			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)
126
			
127
			SET @l_BUDGET_SEND_APPR_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
128
			AND A.BUDGET_YEAR = @p_YEAR
129
			AND (@p_MONTH = 'M4')
130
			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)
131
			
132
			SET @l_BUDGET_SEND_APPR_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
133
			AND A.BUDGET_YEAR = @p_YEAR
134
			AND (@p_MONTH = 'M5')
135
			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)
136
			
137
			SET @l_BUDGET_SEND_APPR_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
138
			AND A.BUDGET_YEAR = @p_YEAR
139
			AND (@p_MONTH = 'M6')
140
			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)
141
			
142
			SET @l_BUDGET_SEND_APPR_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
143
			AND A.BUDGET_YEAR = @p_YEAR
144
			AND (@p_MONTH = 'M7')
145
			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)
146
			
147
			SET @l_BUDGET_SEND_APPR_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
148
			AND A.BUDGET_YEAR = @p_YEAR
149
			AND (@p_MONTH = 'M8')
150
			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)
151
			
152
			SET @l_BUDGET_SEND_APPR_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
153
			AND A.BUDGET_YEAR = @p_YEAR
154
			AND (@p_MONTH = 'M9')
155
			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)
156
			
157
			SET @l_BUDGET_SEND_APPR_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
158
			AND A.BUDGET_YEAR = @p_YEAR
159
			AND (@p_MONTH = 'M10')
160
			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)
161
			
162
			SET @l_BUDGET_SEND_APPR_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
163
			AND A.BUDGET_YEAR = @p_YEAR
164
			AND (@p_MONTH = 'M11')
165
			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)
166
			
167
			SET @l_BUDGET_SEND_APPR_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
168
			AND A.BUDGET_YEAR = @p_YEAR
169
			AND (@p_MONTH = 'M12')
170
			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)
171

    
172
			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 
173
			+ @l_BUDGET_SEND_APPR_M9 + @l_BUDGET_SEND_APPR_M10 + @l_BUDGET_SEND_APPR_M11 + @l_BUDGET_SEND_APPR_M12 
174

    
175
END
176
ELSE IF(@BRANCH_TYPE = 'CN' OR (@IS_POTENTIAL = 'Y' AND @BRANCH_TYPE = 'PGD'))
177
BEGIN
178
		SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE	WHEN @p_MONTH = 'M1' then M1
179
																						WHEN @p_MONTH = 'M2'  then M2
180
																						WHEN @p_MONTH = 'M3'  then M3
181
																						WHEN @p_MONTH = 'M4'  then M4
182
																						WHEN @p_MONTH = 'M5'  then M5
183
																						WHEN @p_MONTH = 'M6'  then M6
184
																						WHEN @p_MONTH = 'M7'  then M7
185
																						WHEN @p_MONTH = 'M8'  then M8
186
																						WHEN @p_MONTH = 'M9'  then M9
187
																						WHEN @p_MONTH = 'M10' then M10
188
																						WHEN @p_MONTH = 'M11' then M11
189
																						WHEN @p_MONTH = 'M12' then M12
190
																						ELSE M1
191
																				END
192
											FROM TR_REQ_BUDGET_MONTH_LIMIT 
193
											WHERE GD_ID = @p_GD_ID AND BRANCH_TYPE = 'DVKD' AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'),0)
194

    
195
			-- Lấy hạn mức đã sử dụng đến hiện tại
196
			SET @l_BUDGET_USED_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
197
			AND A.BUDGET_YEAR = @p_YEAR
198
			AND (@p_MONTH = 'M1')
199
			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)
200
			
201
			SET @l_BUDGET_USED_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
202
			AND A.BUDGET_YEAR = @p_YEAR
203
			AND (@p_MONTH = 'M2')
204
			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)
205
			
206
			SET @l_BUDGET_USED_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
207
			AND A.BUDGET_YEAR = @p_YEAR
208
			AND (@p_MONTH = 'M3')
209
			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)
210
			
211
			SET @l_BUDGET_USED_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
212
			AND A.BUDGET_YEAR = @p_YEAR
213
			AND (@p_MONTH = 'M4')
214
			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)
215
			
216
			SET @l_BUDGET_USED_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
217
			AND A.BUDGET_YEAR = @p_YEAR
218
			AND (@p_MONTH = 'M5')
219
			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)
220
			
221
			SET @l_BUDGET_USED_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
222
			AND A.BUDGET_YEAR = @p_YEAR
223
			AND (@p_MONTH = 'M6')
224
			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)
225
			
226
			SET @l_BUDGET_USED_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
227
			AND A.BUDGET_YEAR = @p_YEAR
228
			AND (@p_MONTH = 'M7')
229
			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)
230
			
231
			SET @l_BUDGET_USED_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
232
			AND A.BUDGET_YEAR = @p_YEAR
233
			AND (@p_MONTH = 'M8')
234
			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)
235
			
236
			SET @l_BUDGET_USED_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
237
			AND A.BUDGET_YEAR = @p_YEAR
238
			AND (@p_MONTH = 'M9')
239
			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)
240
			
241
			SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
242
			AND A.BUDGET_YEAR = @p_YEAR
243
			AND (@p_MONTH = 'M10')
244
			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)
245
			
246
			SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
247
			AND A.BUDGET_YEAR = @p_YEAR
248
			AND (@p_MONTH = 'M11')
249
			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)
250
			
251
			SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
252
			AND A.BUDGET_YEAR = @p_YEAR
253
			AND (@p_MONTH = 'M12')
254
			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)
255

    
256
			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 
257
			+ @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12
258
-- Lấy hạn mức đã gửi duyệt đến hiện tại
259
			SET @l_BUDGET_SEND_APPR_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
260
			AND A.BUDGET_YEAR = @p_YEAR
261
			AND (@p_MONTH = 'M1')
262
			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)
263
			
264
			SET @l_BUDGET_SEND_APPR_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
265
			AND A.BUDGET_YEAR = @p_YEAR
266
			AND (@p_MONTH = 'M2')
267
			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)
268
			
269
			SET @l_BUDGET_SEND_APPR_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
270
			AND A.BUDGET_YEAR = @p_YEAR
271
			AND (@p_MONTH = 'M3')
272
			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)
273
			
274
			SET @l_BUDGET_SEND_APPR_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
275
			AND A.BUDGET_YEAR = @p_YEAR
276
			AND (@p_MONTH = 'M4')
277
			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)
278
			
279
			SET @l_BUDGET_SEND_APPR_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
280
			AND A.BUDGET_YEAR = @p_YEAR
281
			AND (@p_MONTH = 'M5')
282
			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)
283
			
284
			SET @l_BUDGET_SEND_APPR_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
285
			AND A.BUDGET_YEAR = @p_YEAR
286
			AND (@p_MONTH = 'M6')
287
			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)
288
			
289
			SET @l_BUDGET_SEND_APPR_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
290
			AND A.BUDGET_YEAR = @p_YEAR
291
			AND (@p_MONTH = 'M7')
292
			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)
293
			
294
			SET @l_BUDGET_SEND_APPR_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
295
			AND A.BUDGET_YEAR = @p_YEAR
296
			AND (@p_MONTH = 'M8')
297
			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)
298
			
299
			SET @l_BUDGET_SEND_APPR_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
300
			AND A.BUDGET_YEAR = @p_YEAR
301
			AND (@p_MONTH = 'M9')
302
			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)
303
			
304
			SET @l_BUDGET_SEND_APPR_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
305
			AND A.BUDGET_YEAR = @p_YEAR
306
			AND (@p_MONTH = 'M10')
307
			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)
308
			
309
			SET @l_BUDGET_SEND_APPR_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
310
			AND A.BUDGET_YEAR = @p_YEAR
311
			AND (@p_MONTH = 'M11')
312
			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)
313
			
314
			SET @l_BUDGET_SEND_APPR_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
315
			AND A.BUDGET_YEAR = @p_YEAR
316
			AND (@p_MONTH = 'M12')
317
			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)
318

    
319
			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 
320
			+ @l_BUDGET_SEND_APPR_M9 + @l_BUDGET_SEND_APPR_M10 + @l_BUDGET_SEND_APPR_M11 + @l_BUDGET_SEND_APPR_M12
321
END
322
ELSE
323
BEGIN
324
	SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE	WHEN @p_MONTH = 'M1' then M1
325
																						WHEN @p_MONTH = 'M2'  then M2
326
																						WHEN @p_MONTH = 'M3'  then M3
327
																						WHEN @p_MONTH = 'M4'  then M4
328
																						WHEN @p_MONTH = 'M5'  then M5
329
																						WHEN @p_MONTH = 'M6'  then M6
330
																						WHEN @p_MONTH = 'M7'  then M7
331
																						WHEN @p_MONTH = 'M8'  then M8
332
																						WHEN @p_MONTH = 'M9'  then M9
333
																						WHEN @p_MONTH = 'M10' then M10
334
																						WHEN @p_MONTH = 'M11' then M11
335
																						WHEN @p_MONTH = 'M12' then M12
336
																						ELSE M1
337
																				END
338
											FROM TR_REQ_BUDGET_MONTH_LIMIT 
339
											WHERE GD_ID = @p_GD_ID AND BRANCH_TYPE = 'PGD' AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'),0)
340

    
341
-- Lấy hạn mức đã sử dụng đến hiện tại
342
			SET @l_BUDGET_USED_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
343
			AND A.BUDGET_YEAR = @p_YEAR
344
			AND (@p_MONTH = 'M1')
345
			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)
346
			
347
			SET @l_BUDGET_USED_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
348
			AND A.BUDGET_YEAR = @p_YEAR
349
			AND (@p_MONTH = 'M2')
350
			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)
351
			
352
			SET @l_BUDGET_USED_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
353
			AND A.BUDGET_YEAR = @p_YEAR
354
			AND (@p_MONTH = 'M3')
355
			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)
356
			
357
			SET @l_BUDGET_USED_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
358
			AND A.BUDGET_YEAR = @p_YEAR
359
			AND (@p_MONTH = 'M4')
360
			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)
361
			
362
			SET @l_BUDGET_USED_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
363
			AND A.BUDGET_YEAR = @p_YEAR
364
			AND (@p_MONTH = 'M5')
365
			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)
366
			
367
			SET @l_BUDGET_USED_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
368
			AND A.BUDGET_YEAR = @p_YEAR
369
			AND (@p_MONTH = 'M6')
370
			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)
371
			
372
			SET @l_BUDGET_USED_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
373
			AND A.BUDGET_YEAR = @p_YEAR
374
			AND (@p_MONTH = 'M7')
375
			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)
376
			
377
			SET @l_BUDGET_USED_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
378
			AND A.BUDGET_YEAR = @p_YEAR
379
			AND (@p_MONTH = 'M8')
380
			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)
381
			
382
			SET @l_BUDGET_USED_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
383
			AND A.BUDGET_YEAR = @p_YEAR
384
			AND (@p_MONTH = 'M9')
385
			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)
386
			
387
			SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
388
			AND A.BUDGET_YEAR = @p_YEAR
389
			AND (@p_MONTH = 'M10')
390
			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)
391
			
392
			SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
393
			AND A.BUDGET_YEAR = @p_YEAR
394
			AND (@p_MONTH = 'M11')
395
			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)
396
			
397
			SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
398
			AND A.BUDGET_YEAR = @p_YEAR
399
			AND (@p_MONTH = 'M12')
400
			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)
401

    
402
			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 
403
			+ @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12
404
-- Lấy hạn mức đã gửi duyệt đến hiện tại
405
			
406
			SET @l_BUDGET_SEND_APPR_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
407
			AND A.BUDGET_YEAR = @p_YEAR
408
			AND (@p_MONTH = 'M1')
409
			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)
410
			
411
			SET @l_BUDGET_SEND_APPR_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
412
			AND A.BUDGET_YEAR = @p_YEAR
413
			AND (@p_MONTH = 'M2')
414
			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)
415
			
416
			SET @l_BUDGET_SEND_APPR_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
417
			AND A.BUDGET_YEAR = @p_YEAR
418
			AND (@p_MONTH = 'M3')
419
			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)
420
			
421
			SET @l_BUDGET_SEND_APPR_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
422
			AND A.BUDGET_YEAR = @p_YEAR
423
			AND (@p_MONTH = 'M4')
424
			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)
425
			
426
			SET @l_BUDGET_SEND_APPR_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
427
			AND A.BUDGET_YEAR = @p_YEAR
428
			AND (@p_MONTH = 'M5')
429
			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)
430
			
431
			SET @l_BUDGET_SEND_APPR_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
432
			AND A.BUDGET_YEAR = @p_YEAR
433
			AND (@p_MONTH = 'M6')
434
			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)
435
			
436
			SET @l_BUDGET_SEND_APPR_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
437
			AND A.BUDGET_YEAR = @p_YEAR
438
			AND (@p_MONTH = 'M7')
439
			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)
440
			
441
			SET @l_BUDGET_SEND_APPR_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
442
			AND A.BUDGET_YEAR = @p_YEAR
443
			AND (@p_MONTH = 'M8')
444
			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)
445
			
446
			SET @l_BUDGET_SEND_APPR_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
447
			AND A.BUDGET_YEAR = @p_YEAR
448
			AND (@p_MONTH = 'M9')
449
			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)
450
			
451
			SET @l_BUDGET_SEND_APPR_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
452
			AND A.BUDGET_YEAR = @p_YEAR
453
			AND (@p_MONTH = 'M10')
454
			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)
455
			
456
			SET @l_BUDGET_SEND_APPR_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
457
			AND A.BUDGET_YEAR = @p_YEAR
458
			AND (@p_MONTH = 'M11')
459
			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)
460
			
461
			SET @l_BUDGET_SEND_APPR_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 
462
			AND A.BUDGET_YEAR = @p_YEAR
463
			AND (@p_MONTH = 'M12')
464
			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)
465

    
466
			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 
467
			+ @l_BUDGET_SEND_APPR_M9 + @l_BUDGET_SEND_APPR_M10 + @l_BUDGET_SEND_APPR_M11 + @l_BUDGET_SEND_APPR_M12
468
END
469

    
470
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