Project

General

Profile

Get_History_Budget.txt

Luc Tran Van, 02/21/2023 12:49 PM

 
1

    
2
CREATE   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
IF(CONVERT(INT,@p_YEAR) < YEAR(GETDATE()))
15
BEGIN
16
	SET @p_MONTH = 'M12'
17
END
18
ELSE
19
BEGIN
20
	SET @p_MONTH = 'M' + CONVERT(VARCHAR, MONTH(GETDATE()))
21
END
22
DECLARE @l_BUDGET_LIMIT_CURRENT DECIMAL(18,0)
23
	-- Lấy hạn mức đã sử dụng đến hiện tại
24
DECLARE @l_BUDGET_USED_CURRENT DECIMAL(18,0)
25
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),
26
@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),
27
@l_BUDGET_USED_M11 DECIMAL(18,0), @l_BUDGET_USED_M12 DECIMAL(18,0)
28
DECLARE @BRANCH_TYPE VARCHAR(15)
29
SELECT @BRANCH_TYPE = BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID
30
IF(ISNULL(@p_BRANCH_ID,'') = 'DV0001')
31
BEGIN
32
	SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE	WHEN @p_MONTH = 'M1' then M1
33
																						WHEN @p_MONTH = 'M2' then M1 + M2
34
																						WHEN @p_MONTH = 'M3' then M1 + M2 + M3
35
																						WHEN @p_MONTH = 'M4' then M1 + M2 + M3 + M4
36
																						WHEN @p_MONTH = 'M5' then M1 + M2 + M3 + M4 + M5
37
																						WHEN @p_MONTH = 'M6' then M1 + M2 + M3 + M4 + M5 + M6
38
																						WHEN @p_MONTH = 'M7' then M1 + M2 + M3 + M4 + M5 + M6 + M7
39
																						WHEN @p_MONTH = 'M8' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8
40
																						WHEN @p_MONTH = 'M9' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9
41
																						WHEN @p_MONTH = 'M10' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10
42
																						WHEN @p_MONTH = 'M11' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 + M11
43
																						WHEN @p_MONTH = 'M12' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 + M11 + M12
44
																						ELSE M1
45
																				END
46
											FROM TR_REQ_BUDGET_MONTH_LIMIT 
47
											WHERE GD_ID = @p_GD_ID AND BRANCH_TYPE = 'HO' AND BUDGET_YEAR = @p_YEAR AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'),0)
48

    
49
			-- Lấy hạn mức đã sử dụng đến hiện tại
50
			SET @l_BUDGET_USED_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
51
			SET @l_BUDGET_USED_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
52
			SET @l_BUDGET_USED_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
53
			SET @l_BUDGET_USED_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
54
			SET @l_BUDGET_USED_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
55
			SET @l_BUDGET_USED_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
56
			SET @l_BUDGET_USED_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
57
			SET @l_BUDGET_USED_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
58
			SET @l_BUDGET_USED_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
59
			SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
60
			SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
61
			SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
62

    
63
			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 
64
			+ @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12 
65
END
66
ELSE IF(@BRANCH_TYPE = 'CN')
67
BEGIN
68
		SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE	WHEN @p_MONTH = 'M1' then M1
69
																						WHEN @p_MONTH = 'M2' then M1 + M2
70
																						WHEN @p_MONTH = 'M3' then M1 + M2 + M3
71
																						WHEN @p_MONTH = 'M4' then M1 + M2 + M3 + M4
72
																						WHEN @p_MONTH = 'M5' then M1 + M2 + M3 + M4 + M5
73
																						WHEN @p_MONTH = 'M6' then M1 + M2 + M3 + M4 + M5 + M6
74
																						WHEN @p_MONTH = 'M7' then M1 + M2 + M3 + M4 + M5 + M6 + M7
75
																						WHEN @p_MONTH = 'M8' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8
76
																						WHEN @p_MONTH = 'M9' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9
77
																						WHEN @p_MONTH = 'M10' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10
78
																						WHEN @p_MONTH = 'M11' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 + M11
79
																						WHEN @p_MONTH = 'M12' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 + M11 + M12
80
																						ELSE M1
81
																				END
82
											FROM TR_REQ_BUDGET_MONTH_LIMIT 
83
											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)
84

    
85
			-- Lấy hạn mức đã sử dụng đến hiện tại
86
			SET @l_BUDGET_USED_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
87
			SET @l_BUDGET_USED_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
88
			SET @l_BUDGET_USED_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
89
			SET @l_BUDGET_USED_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
90
			SET @l_BUDGET_USED_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
91
			SET @l_BUDGET_USED_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
92
			SET @l_BUDGET_USED_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
93
			SET @l_BUDGET_USED_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
94
			SET @l_BUDGET_USED_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
95
			SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
96
			SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
97
			SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
98

    
99
			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 
100
			+ @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12
101
END
102
ELSE
103
BEGIN
104
	SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE	WHEN @p_MONTH = 'M1' then M1
105
																						WHEN @p_MONTH = 'M2' then M1 + M2
106
																						WHEN @p_MONTH = 'M3' then M1 + M2 + M3
107
																						WHEN @p_MONTH = 'M4' then M1 + M2 + M3 + M4
108
																						WHEN @p_MONTH = 'M5' then M1 + M2 + M3 + M4 + M5
109
																						WHEN @p_MONTH = 'M6' then M1 + M2 + M3 + M4 + M5 + M6
110
																						WHEN @p_MONTH = 'M7' then M1 + M2 + M3 + M4 + M5 + M6 + M7
111
																						WHEN @p_MONTH = 'M8' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8
112
																						WHEN @p_MONTH = 'M9' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9
113
																						WHEN @p_MONTH = 'M10' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10
114
																						WHEN @p_MONTH = 'M11' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 + M11
115
																						WHEN @p_MONTH = 'M12' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 + M11 + M12
116
																						ELSE M1
117
																				END
118
											FROM TR_REQ_BUDGET_MONTH_LIMIT 
119
											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)
120

    
121
			-- Lấy hạn mức đã sử dụng đến hiện tại
122
			SET @l_BUDGET_USED_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
123
			SET @l_BUDGET_USED_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
124
			SET @l_BUDGET_USED_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
125
			SET @l_BUDGET_USED_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
126
			SET @l_BUDGET_USED_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
127
			SET @l_BUDGET_USED_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
128
			SET @l_BUDGET_USED_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
129
			SET @l_BUDGET_USED_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
130
			SET @l_BUDGET_USED_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
131
			SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
132
			SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
133
			SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
134

    
135
			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 
136
			+ @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12
137
END
138

    
139
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
140

    
141
GO
142

    
143
CREATE  PROCEDURE [dbo].[TR_BUDGET_CHECK_LIMIT_YEAR_GET_INFO_LIMIT]
144
@p_GD_ID	varchar(20)  = NULL,
145
@p_GD_CODE	varchar(20)  = NULL,
146
@p_BRANCH_ID varchar(20)  = NULL,
147
@p_DEP_ID	varchar(20)  = NULL,
148
@p_KHOI_ID	varchar(20)  = NULL,
149
@p_TLNAME	varchar(20)  = NULL,
150
@p_ROLENAME	varchar(20)  = NULL,
151
@p_MONTH varchar(20) = NULL,
152
@p_YEAR varchar(20) = NULL,
153
@p_BRANCH_KIND varchar(20) = NULL
154
AS
155
IF(@p_YEAR != 'null')
156
BEGIN
157
	IF(CONVERT(INT,@p_YEAR) < YEAR(GETDATE()))
158
	BEGIN
159
		SET @p_MONTH = 'M12'
160
	END
161
	ELSE
162
	BEGIN
163
		SET @p_MONTH = 'M'+ CONVERT(VARCHAR, MONTH(GETDATE()))
164
	END
165
END
166
DECLARE @l_BUDGET_LIMIT_CURRENT DECIMAL(18,0)
167
	-- Lấy hạn mức đã sử dụng đến hiện tại
168
DECLARE @l_BUDGET_USED_CURRENT DECIMAL(18,0)
169
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),
170
@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),
171
@l_BUDGET_USED_M11 DECIMAL(18,0), @l_BUDGET_USED_M12 DECIMAL(18,0)
172
DECLARE @BRANCH_TYPE VARCHAR(15)
173
SELECT @BRANCH_TYPE = BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID
174
IF(ISNULL(@p_BRANCH_ID,'') = 'DV0001')
175
BEGIN
176
	SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE	WHEN @p_MONTH = 'M1' then M1
177
																						WHEN @p_MONTH = 'M2' then M2
178
																						WHEN @p_MONTH = 'M3' then M3
179
																						WHEN @p_MONTH = 'M4' then M4
180
																						WHEN @p_MONTH = 'M5' then M5
181
																						WHEN @p_MONTH = 'M6' then M6
182
																						WHEN @p_MONTH = 'M7' then M7
183
																						WHEN @p_MONTH = 'M8' then M8
184
																						WHEN @p_MONTH = 'M9' then M9
185
																						WHEN @p_MONTH = 'M10' then M10
186
																						WHEN @p_MONTH = 'M11' then M11
187
																						WHEN @p_MONTH = 'M12' then M12
188
																						ELSE M1
189
																				END
190
											FROM TR_REQ_BUDGET_YEAR_LIMIT 
191
											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)
192

    
193
			-- Lấy hạn mức đã sử dụng đến hiện tại
194
			SET @l_BUDGET_USED_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
195
			SET @l_BUDGET_USED_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
196
			SET @l_BUDGET_USED_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
197
			SET @l_BUDGET_USED_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
198
			SET @l_BUDGET_USED_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
199
			SET @l_BUDGET_USED_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
200
			SET @l_BUDGET_USED_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
201
			SET @l_BUDGET_USED_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
202
			SET @l_BUDGET_USED_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
203
			SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
204
			SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
205
			SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
206

    
207
			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 
208
			+ @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12 
209
END
210
ELSE
211
BEGIN
212
		SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE	WHEN @p_MONTH = 'M1' then M1
213
																						WHEN @p_MONTH = 'M2' then M2
214
																						WHEN @p_MONTH = 'M3' then M3
215
																						WHEN @p_MONTH = 'M4' then M4
216
																						WHEN @p_MONTH = 'M5' then M5
217
																						WHEN @p_MONTH = 'M6' then M6
218
																						WHEN @p_MONTH = 'M7' then M7
219
																						WHEN @p_MONTH = 'M8' then M8
220
																						WHEN @p_MONTH = 'M9' then M9
221
																						WHEN @p_MONTH = 'M10' then M10
222
																						WHEN @p_MONTH = 'M11' then M11
223
																						WHEN @p_MONTH = 'M12' then M12
224
																						ELSE M1
225
																				END
226
											FROM TR_REQ_BUDGET_YEAR_LIMIT 
227
											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)
228

    
229
			-- Lấy hạn mức đã sử dụng đến hiện tại
230
			SET @l_BUDGET_USED_M1  = ISNULL((SELECT SUM(M1)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
231
			SET @l_BUDGET_USED_M2  = ISNULL((SELECT SUM(M2)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
232
			SET @l_BUDGET_USED_M3  = ISNULL((SELECT SUM(M3)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
233
			SET @l_BUDGET_USED_M4  = ISNULL((SELECT SUM(M4)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
234
			SET @l_BUDGET_USED_M5  = ISNULL((SELECT SUM(M5)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
235
			SET @l_BUDGET_USED_M6  = ISNULL((SELECT SUM(M6)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
236
			SET @l_BUDGET_USED_M7  = ISNULL((SELECT SUM(M7)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
237
			SET @l_BUDGET_USED_M8  = ISNULL((SELECT SUM(M8)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
238
			SET @l_BUDGET_USED_M9  = ISNULL((SELECT SUM(M9)  FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
239
			SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
240
			SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
241
			SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND BRANCH_KIND = @p_BRANCH_KIND AND BUDGET_YEAR = @p_YEAR AND RECORD_STATUS = '1' GROUP BY GD_ID),0)
242

    
243
			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 
244
			+ @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12
245
END
246

    
247
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