Pārlūkot izejas kodu

汇总统计表统计数据错误的修改

yanliming 8 mēneši atpakaļ
vecāks
revīzija
ad0a5d9b6e

+ 2 - 0
common/src/main/java/com/jpsoft/employment/modules/base/dao/FundIncomeInfoDAO.java

@@ -37,6 +37,8 @@ public interface FundIncomeInfoDAO {
 
     Map<String, BigDecimal> sumBudgetRevenue(@Param("serialNumber") String serialNumber, @Param("startDate") String startDate, @Param("endDate") String endDate, @Param("templateId") String templateId);
 
+    Map<String, BigDecimal> sumBudgetRevenue2(@Param("serialNumber") String serialNumber, @Param("startDate") String startDate, @Param("endDate") String endDate, @Param("templateId") String templateId,@Param("serialNumberStr") String serialNumberStr);
+
     List<Map<String, BigDecimal>> findBudgetRevenue(@Param("serialNumber") String serialNumber, @Param("startDate") String startDate, @Param("endDate") String endDate, @Param("templateId") String templateId);
 
     FundIncomeInfo findOneByTemplateOptionId(@Param("templateOptionId") String templateOptionId, @Param("startDate") String startDate, @Param("endDate") String endDate);

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/base/service/FundIncomeInfoService.java

@@ -19,6 +19,7 @@ public interface FundIncomeInfoService {
 	BigDecimal sumBySerialNumber(String serialNumber,String curMonth,String templateId);
 	BigDecimal sumByTemplateOptionId(String templateOptionId,String startDate,String endDate);
 	Map<String,BigDecimal> sumBudgetRevenue(String serialNumber,String startDate,String endDate,String templateId);
+	Map<String,BigDecimal> sumBudgetRevenue2(String serialNumber,String startDate,String endDate,String templateId,String serialNumberStr);
 	List<Map<String, BigDecimal>> findBudgetRevenue(String serialNumber,String startDate,String endDate,String templateId);
 	FundIncomeInfo findOneByTemplateOptionId(String templateOptionId,String startDate,String endDate);
 	Page<FundIncomeInfo> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);

+ 5 - 0
common/src/main/java/com/jpsoft/employment/modules/base/service/impl/FundIncomeInfoServiceImpl.java

@@ -267,6 +267,11 @@ public class FundIncomeInfoServiceImpl implements FundIncomeInfoService {
         return fundIncomeInfoDAO.sumBudgetRevenue(serialNumber, startDate, endDate, templateId);
     }
 
+    @Override
+    public Map<String, BigDecimal> sumBudgetRevenue2(String serialNumber, String startDate, String endDate, String templateId,String serialNumberStr) {
+        return fundIncomeInfoDAO.sumBudgetRevenue2(serialNumber, startDate, endDate, templateId,serialNumberStr);
+    }
+
     @Override
     public List<Map<String, BigDecimal>> findBudgetRevenue(String serialNumber, String startDate, String endDate, String templateId) {
         return fundIncomeInfoDAO.findBudgetRevenue(serialNumber, startDate, endDate, templateId);

+ 25 - 0
common/src/main/resources/mapper/base/FundIncomeInfo.xml

@@ -249,6 +249,31 @@
 			</where>
 			order by create_time
 
+	</select>
+	<select id="sumBudgetRevenue2" resultType="java.util.Map">
+		<![CDATA[
+			select
+			IFNULL(sum(budget_revenue),0) as 'sumBudget',
+			IFNULL(sum(cur_budget_revenue),0) as 'sumCurBudgetRevenue',
+			IFNULL(sum(cur_month_received),0) as 'sumCurMonthReceived'
+			from base_fund_income_info
+		]]>
+		<where>
+			del_flag=false
+			<if test="serialNumber != null">
+				<![CDATA[
+				and serial_number like #{serialNumber}
+				and serial_number <> #{serialNumberStr}
+				]]>
+			</if>
+			<![CDATA[
+					and year_>=#{startDate}
+					and year_<=#{endDate}
+					and template_id=#{templateId}
+				]]>
+		</where>
+		order by create_time
+
 	</select>
 	<select id="findBudgetRevenue" resultType="java.util.Map">
 		<![CDATA[

+ 3 - 3
web/src/main/java/com/jpsoft/employment/modules/base/controller/FundIncomeInfoController.java

@@ -1035,7 +1035,7 @@ public class FundIncomeInfoController {
     private List<Map> getChildTemplateOption(String id, String serialNum, String curMonth, String startDate, String endDate, String startYearDate) {
 
         List<Map> mapList = new ArrayList<>();
-
+        //1.3.1.1.1 高职食堂管理费(汇总)
         List<TemplateOption> templateOptionList = templateOptionService.findByTemplateIdAndNum(id, serialNum + "%", serialNum.length() + 2);
 
         for (TemplateOption item : templateOptionList) {
@@ -1053,7 +1053,7 @@ public class FundIncomeInfoController {
 
             if (item.getIsSum()) {
                 //为合计行数据
-                Map<String, BigDecimal> sumMap = fundIncomeInfoService.sumBudgetRevenue(item.getSerialNum() + "%", startDate, endDate, item.getTemplateId());
+                Map<String, BigDecimal> sumMap = fundIncomeInfoService.sumBudgetRevenue2(item.getSerialNum() + "%", startDate, endDate, item.getTemplateId(),item.getSerialNum());
 
                 BigDecimal sumCurBudgetRevenue = BigDecimal.ZERO;
                 if (sumMap.get("sumCurBudgetRevenue") != null) {
@@ -1070,7 +1070,7 @@ public class FundIncomeInfoController {
 
                 map.put("curBudgetRevenue", sumCurBudgetRevenue);
 
-                Map<String, BigDecimal> accSumMap = fundIncomeInfoService.sumBudgetRevenue(item.getSerialNum() + "%", startYearDate, endDate, item.getTemplateId());
+                Map<String, BigDecimal> accSumMap = fundIncomeInfoService.sumBudgetRevenue2(item.getSerialNum() + "%", startYearDate, endDate, item.getTemplateId(),item.getSerialNum());
 
                 BigDecimal actualTotalRevenue = BigDecimal.ZERO;
                 if (accSumMap.get("sumCurMonthReceived") != null) {