CREATE PROCEDURE [dbo].[TR_BUDGET_CHECK_LIMIT_MONTH_GET_INFO_LIMIT] @p_GD_ID varchar(20) = NULL, @p_GD_CODE varchar(20) = NULL, @p_BRANCH_ID varchar(20) = NULL, @p_DEP_ID varchar(20) = NULL, @p_KHOI_ID varchar(20) = NULL, @p_TLNAME varchar(20) = NULL, @p_ROLENAME varchar(20) = NULL, @p_MONTH varchar(20) = NULL, @p_YEAR varchar(20) = NULL, @p_BRANCH_KIND varchar(20) = NULL AS IF(CONVERT(INT,@p_YEAR) < YEAR(GETDATE())) BEGIN SET @p_MONTH = 'M12' END ELSE BEGIN SET @p_MONTH = 'M' + CONVERT(VARCHAR, MONTH(GETDATE())) END DECLARE @l_BUDGET_LIMIT_CURRENT DECIMAL(18,0) -- Lấy hạn mức đã sử dụng đến hiện tại DECLARE @l_BUDGET_USED_CURRENT DECIMAL(18,0) 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), @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), @l_BUDGET_USED_M11 DECIMAL(18,0), @l_BUDGET_USED_M12 DECIMAL(18,0) DECLARE @BRANCH_TYPE VARCHAR(15) SELECT @BRANCH_TYPE = BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID IF(ISNULL(@p_BRANCH_ID,'') = 'DV0001') BEGIN SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE WHEN @p_MONTH = 'M1' then M1 WHEN @p_MONTH = 'M2' then M1 + M2 WHEN @p_MONTH = 'M3' then M1 + M2 + M3 WHEN @p_MONTH = 'M4' then M1 + M2 + M3 + M4 WHEN @p_MONTH = 'M5' then M1 + M2 + M3 + M4 + M5 WHEN @p_MONTH = 'M6' then M1 + M2 + M3 + M4 + M5 + M6 WHEN @p_MONTH = 'M7' then M1 + M2 + M3 + M4 + M5 + M6 + M7 WHEN @p_MONTH = 'M8' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 WHEN @p_MONTH = 'M9' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 WHEN @p_MONTH = 'M10' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 WHEN @p_MONTH = 'M11' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 + M11 WHEN @p_MONTH = 'M12' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 + M11 + M12 ELSE M1 END FROM TR_REQ_BUDGET_MONTH_LIMIT WHERE GD_ID = @p_GD_ID AND BRANCH_TYPE = 'HO' AND BUDGET_YEAR = @p_YEAR AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'),0) -- Lấy hạn mức đã sử dụng đến hiện tại 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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 + @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12 END ELSE IF(@BRANCH_TYPE = 'CN') BEGIN SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE WHEN @p_MONTH = 'M1' then M1 WHEN @p_MONTH = 'M2' then M1 + M2 WHEN @p_MONTH = 'M3' then M1 + M2 + M3 WHEN @p_MONTH = 'M4' then M1 + M2 + M3 + M4 WHEN @p_MONTH = 'M5' then M1 + M2 + M3 + M4 + M5 WHEN @p_MONTH = 'M6' then M1 + M2 + M3 + M4 + M5 + M6 WHEN @p_MONTH = 'M7' then M1 + M2 + M3 + M4 + M5 + M6 + M7 WHEN @p_MONTH = 'M8' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 WHEN @p_MONTH = 'M9' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 WHEN @p_MONTH = 'M10' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 WHEN @p_MONTH = 'M11' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 + M11 WHEN @p_MONTH = 'M12' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 + M11 + M12 ELSE M1 END FROM TR_REQ_BUDGET_MONTH_LIMIT 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) -- Lấy hạn mức đã sử dụng đến hiện tại 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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 + @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12 END ELSE BEGIN SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE WHEN @p_MONTH = 'M1' then M1 WHEN @p_MONTH = 'M2' then M1 + M2 WHEN @p_MONTH = 'M3' then M1 + M2 + M3 WHEN @p_MONTH = 'M4' then M1 + M2 + M3 + M4 WHEN @p_MONTH = 'M5' then M1 + M2 + M3 + M4 + M5 WHEN @p_MONTH = 'M6' then M1 + M2 + M3 + M4 + M5 + M6 WHEN @p_MONTH = 'M7' then M1 + M2 + M3 + M4 + M5 + M6 + M7 WHEN @p_MONTH = 'M8' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 WHEN @p_MONTH = 'M9' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 WHEN @p_MONTH = 'M10' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 WHEN @p_MONTH = 'M11' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 + M11 WHEN @p_MONTH = 'M12' then M1 + M2 + M3 + M4 + M5 + M6 + M7 + M8 + M9 + M10 + M11 + M12 ELSE M1 END FROM TR_REQ_BUDGET_MONTH_LIMIT 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) -- Lấy hạn mức đã sử dụng đến hiện tại 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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 + @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12 END 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 GO CREATE PROCEDURE [dbo].[TR_BUDGET_CHECK_LIMIT_YEAR_GET_INFO_LIMIT] @p_GD_ID varchar(20) = NULL, @p_GD_CODE varchar(20) = NULL, @p_BRANCH_ID varchar(20) = NULL, @p_DEP_ID varchar(20) = NULL, @p_KHOI_ID varchar(20) = NULL, @p_TLNAME varchar(20) = NULL, @p_ROLENAME varchar(20) = NULL, @p_MONTH varchar(20) = NULL, @p_YEAR varchar(20) = NULL, @p_BRANCH_KIND varchar(20) = NULL AS IF(@p_YEAR != 'null') BEGIN IF(CONVERT(INT,@p_YEAR) < YEAR(GETDATE())) BEGIN SET @p_MONTH = 'M12' END ELSE BEGIN SET @p_MONTH = 'M'+ CONVERT(VARCHAR, MONTH(GETDATE())) END END DECLARE @l_BUDGET_LIMIT_CURRENT DECIMAL(18,0) -- Lấy hạn mức đã sử dụng đến hiện tại DECLARE @l_BUDGET_USED_CURRENT DECIMAL(18,0) 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), @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), @l_BUDGET_USED_M11 DECIMAL(18,0), @l_BUDGET_USED_M12 DECIMAL(18,0) DECLARE @BRANCH_TYPE VARCHAR(15) SELECT @BRANCH_TYPE = BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID IF(ISNULL(@p_BRANCH_ID,'') = 'DV0001') BEGIN SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE WHEN @p_MONTH = 'M1' then M1 WHEN @p_MONTH = 'M2' then M2 WHEN @p_MONTH = 'M3' then M3 WHEN @p_MONTH = 'M4' then M4 WHEN @p_MONTH = 'M5' then M5 WHEN @p_MONTH = 'M6' then M6 WHEN @p_MONTH = 'M7' then M7 WHEN @p_MONTH = 'M8' then M8 WHEN @p_MONTH = 'M9' then M9 WHEN @p_MONTH = 'M10' then M10 WHEN @p_MONTH = 'M11' then M11 WHEN @p_MONTH = 'M12' then M12 ELSE M1 END FROM TR_REQ_BUDGET_YEAR_LIMIT 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) -- Lấy hạn mức đã sử dụng đến hiện tại 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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 + @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12 END ELSE BEGIN SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE WHEN @p_MONTH = 'M1' then M1 WHEN @p_MONTH = 'M2' then M2 WHEN @p_MONTH = 'M3' then M3 WHEN @p_MONTH = 'M4' then M4 WHEN @p_MONTH = 'M5' then M5 WHEN @p_MONTH = 'M6' then M6 WHEN @p_MONTH = 'M7' then M7 WHEN @p_MONTH = 'M8' then M8 WHEN @p_MONTH = 'M9' then M9 WHEN @p_MONTH = 'M10' then M10 WHEN @p_MONTH = 'M11' then M11 WHEN @p_MONTH = 'M12' then M12 ELSE M1 END FROM TR_REQ_BUDGET_YEAR_LIMIT 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) -- Lấy hạn mức đã sử dụng đến hiện tại 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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 + @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12 END 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