ALTER 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 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) -- Lấy hạn mức đã gửi duyệt đến hiện tại DECLARE @l_BUDGET_SEND_APPR_CURRENT DECIMAL(18,0) 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), @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), @l_BUDGET_SEND_APPR_M11 DECIMAL(18,0), @l_BUDGET_SEND_APPR_M12 DECIMAL(18,0) DECLARE @BRANCH_TYPE VARCHAR(15), @IS_POTENTIAL VARCHAR(15) SELECT @BRANCH_TYPE = BRANCH_TYPE, @IS_POTENTIAL = IS_POTENTIAL 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_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 A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M1') 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) SET @l_BUDGET_USED_M2 = ISNULL((SELECT SUM(M2) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M2') 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) SET @l_BUDGET_USED_M3 = ISNULL((SELECT SUM(M3) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M3') 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) SET @l_BUDGET_USED_M4 = ISNULL((SELECT SUM(M4) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M4') 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) SET @l_BUDGET_USED_M5 = ISNULL((SELECT SUM(M5) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M5') 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) SET @l_BUDGET_USED_M6 = ISNULL((SELECT SUM(M6) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M6') 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) SET @l_BUDGET_USED_M7 = ISNULL((SELECT SUM(M7) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M7') 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) SET @l_BUDGET_USED_M8 = ISNULL((SELECT SUM(M8) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M8') 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) SET @l_BUDGET_USED_M9 = ISNULL((SELECT SUM(M9) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M9') 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) SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M10') 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) SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M11') 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) SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M12') 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) 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 -- Lấy hạn mức đã gửi duyệt đến hiện tại SET @l_BUDGET_SEND_APPR_M1 = ISNULL((SELECT SUM(M1) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M1') 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) SET @l_BUDGET_SEND_APPR_M2 = ISNULL((SELECT SUM(M2) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M2') 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) SET @l_BUDGET_SEND_APPR_M3 = ISNULL((SELECT SUM(M3) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M3') 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) SET @l_BUDGET_SEND_APPR_M4 = ISNULL((SELECT SUM(M4) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M4') 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) SET @l_BUDGET_SEND_APPR_M5 = ISNULL((SELECT SUM(M5) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M5') 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) SET @l_BUDGET_SEND_APPR_M6 = ISNULL((SELECT SUM(M6) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M6') 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) SET @l_BUDGET_SEND_APPR_M7 = ISNULL((SELECT SUM(M7) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M7') 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) SET @l_BUDGET_SEND_APPR_M8 = ISNULL((SELECT SUM(M8) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M8') 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) SET @l_BUDGET_SEND_APPR_M9 = ISNULL((SELECT SUM(M9) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M9') 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) SET @l_BUDGET_SEND_APPR_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M10') 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) SET @l_BUDGET_SEND_APPR_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M11') 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) SET @l_BUDGET_SEND_APPR_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M12') 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) 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 + @l_BUDGET_SEND_APPR_M9 + @l_BUDGET_SEND_APPR_M10 + @l_BUDGET_SEND_APPR_M11 + @l_BUDGET_SEND_APPR_M12 END ELSE IF(@BRANCH_TYPE = 'CN' OR (@IS_POTENTIAL = 'Y' AND @BRANCH_TYPE = 'PGD')) 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_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 A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M1') 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) SET @l_BUDGET_USED_M2 = ISNULL((SELECT SUM(M2) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M2') 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) SET @l_BUDGET_USED_M3 = ISNULL((SELECT SUM(M3) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M3') 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) SET @l_BUDGET_USED_M4 = ISNULL((SELECT SUM(M4) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M4') 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) SET @l_BUDGET_USED_M5 = ISNULL((SELECT SUM(M5) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M5') 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) SET @l_BUDGET_USED_M6 = ISNULL((SELECT SUM(M6) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M6') 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) SET @l_BUDGET_USED_M7 = ISNULL((SELECT SUM(M7) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M7') 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) SET @l_BUDGET_USED_M8 = ISNULL((SELECT SUM(M8) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M8') 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) SET @l_BUDGET_USED_M9 = ISNULL((SELECT SUM(M9) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M9') 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) SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M10') 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) SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M11') 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) SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M12') 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) 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 -- Lấy hạn mức đã gửi duyệt đến hiện tại SET @l_BUDGET_SEND_APPR_M1 = ISNULL((SELECT SUM(M1) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M1') 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) SET @l_BUDGET_SEND_APPR_M2 = ISNULL((SELECT SUM(M2) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M2') 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) SET @l_BUDGET_SEND_APPR_M3 = ISNULL((SELECT SUM(M3) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M3') 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) SET @l_BUDGET_SEND_APPR_M4 = ISNULL((SELECT SUM(M4) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M4') 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) SET @l_BUDGET_SEND_APPR_M5 = ISNULL((SELECT SUM(M5) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M5') 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) SET @l_BUDGET_SEND_APPR_M6 = ISNULL((SELECT SUM(M6) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M6') 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) SET @l_BUDGET_SEND_APPR_M7 = ISNULL((SELECT SUM(M7) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M7') 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) SET @l_BUDGET_SEND_APPR_M8 = ISNULL((SELECT SUM(M8) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M8') 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) SET @l_BUDGET_SEND_APPR_M9 = ISNULL((SELECT SUM(M9) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M9') 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) SET @l_BUDGET_SEND_APPR_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M10') 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) SET @l_BUDGET_SEND_APPR_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M11') 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) SET @l_BUDGET_SEND_APPR_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M12') 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) 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 + @l_BUDGET_SEND_APPR_M9 + @l_BUDGET_SEND_APPR_M10 + @l_BUDGET_SEND_APPR_M11 + @l_BUDGET_SEND_APPR_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_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 A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M1') 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) SET @l_BUDGET_USED_M2 = ISNULL((SELECT SUM(M2) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M2') 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) SET @l_BUDGET_USED_M3 = ISNULL((SELECT SUM(M3) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M3') 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) SET @l_BUDGET_USED_M4 = ISNULL((SELECT SUM(M4) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M4') 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) SET @l_BUDGET_USED_M5 = ISNULL((SELECT SUM(M5) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M5') 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) SET @l_BUDGET_USED_M6 = ISNULL((SELECT SUM(M6) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M6') 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) SET @l_BUDGET_USED_M7 = ISNULL((SELECT SUM(M7) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M7') 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) SET @l_BUDGET_USED_M8 = ISNULL((SELECT SUM(M8) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M8') 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) SET @l_BUDGET_USED_M9 = ISNULL((SELECT SUM(M9) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M9') 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) SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M10') 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) SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M11') 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) SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M12') 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) 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 -- Lấy hạn mức đã gửi duyệt đến hiện tại SET @l_BUDGET_SEND_APPR_M1 = ISNULL((SELECT SUM(M1) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M1') 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) SET @l_BUDGET_SEND_APPR_M2 = ISNULL((SELECT SUM(M2) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M2') 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) SET @l_BUDGET_SEND_APPR_M3 = ISNULL((SELECT SUM(M3) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M3') 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) SET @l_BUDGET_SEND_APPR_M4 = ISNULL((SELECT SUM(M4) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M4') 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) SET @l_BUDGET_SEND_APPR_M5 = ISNULL((SELECT SUM(M5) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M5') 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) SET @l_BUDGET_SEND_APPR_M6 = ISNULL((SELECT SUM(M6) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M6') 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) SET @l_BUDGET_SEND_APPR_M7 = ISNULL((SELECT SUM(M7) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M7') 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) SET @l_BUDGET_SEND_APPR_M8 = ISNULL((SELECT SUM(M8) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M8') 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) SET @l_BUDGET_SEND_APPR_M9 = ISNULL((SELECT SUM(M9) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M9') 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) SET @l_BUDGET_SEND_APPR_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M10') 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) SET @l_BUDGET_SEND_APPR_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M11') 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) SET @l_BUDGET_SEND_APPR_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL A WHERE 1=1 AND A.BUDGET_YEAR = @p_YEAR AND (@p_MONTH = 'M12') 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) 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 + @l_BUDGET_SEND_APPR_M9 + @l_BUDGET_SEND_APPR_M10 + @l_BUDGET_SEND_APPR_M11 + @l_BUDGET_SEND_APPR_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