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
|