From f6132f5446b1c7fd6e6308cb44e0279c1427dec1 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 02 四月 2025 22:13:42 +0800 Subject: [PATCH] bug修改 --- ruoyi-system/src/main/java/com/ruoyi/system/service/TContractService.java | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java | 4 +- ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScreenService.java | 38 +++++++++++++++--- ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml | 25 +++++++----- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java | 4 +- ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java | 4 +- ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml | 5 ++ ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WordUtil.java | 27 ++++++++++--- 11 files changed, 81 insertions(+), 34 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java index 5fb2a56..f7015bd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java @@ -514,7 +514,7 @@ "/usr/local/project/file/", templateFileName, templateParam, - templateFileName, + "租赁合同", "/usr/local/project/file/"); } @@ -523,7 +523,7 @@ if (StringUtils.isEmpty(key)){ throw new RuntimeException("key不能为空"); } - templateParam.put(StringUtils.format("${{}}", "contractNumber"), value != null ? value : ""); + templateParam.put("${"+key+"}", value != null ? value : ""); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WordUtil.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WordUtil.java index 60d821a..e3153a8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WordUtil.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WordUtil.java @@ -5,18 +5,31 @@ import freemarker.template.Template; import freemarker.template.TemplateException; import lombok.extern.slf4j.Slf4j; - -import org.apache.poi.xwpf.usermodel.*; +import org.apache.poi.xwpf.usermodel.UnderlinePatterns; +import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.apache.poi.xwpf.usermodel.XWPFParagraph; +import org.apache.poi.xwpf.usermodel.XWPFRun; +import org.apache.poi.xwpf.usermodel.XWPFTable; +import org.apache.poi.xwpf.usermodel.XWPFTableCell; +import org.apache.poi.xwpf.usermodel.XWPFTableRow; import org.springframework.mock.web.MockMultipartFile; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; -import java.util.*; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; +import java.io.Writer; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java index 5041a90..f87f3fe 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java @@ -50,5 +50,5 @@ * 街道租金排行 * @return */ - List<ScreenRentRankVO> getStreetRentRank(); + List<ScreenRentRankVO> getStreetRentRank(@Param("businessDeptId") String businessDeptId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java index 490e09e..89a3c7c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java @@ -32,5 +32,5 @@ * 本月新增租户数 * @return */ - Integer getCurrentMonthRentCount(); + Integer getCurrentMonthRentCount(@Param("businessDeptId") String businessDeptId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java index 7e6f3ae..305a22a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java @@ -95,5 +95,5 @@ * 查询街道租金排行 * @return */ - List<ScreenRentRankVO> getStreetRentRank(); + List<ScreenRentRankVO> getStreetRentRank(String businessDeptId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TContractService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TContractService.java index 3bd61b1..188ac73 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TContractService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TContractService.java @@ -47,5 +47,5 @@ * 本月新增租户数 * @return */ - Integer getCurrentMonthRentCount(); + Integer getCurrentMonthRentCount(String businessDeptId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScreenService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScreenService.java index 59f1cae..1e3f955 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScreenService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScreenService.java @@ -1,6 +1,8 @@ package com.ruoyi.system.service.impl; +import com.ruoyi.common.enums.BillTypeEnum; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.model.TBill; import com.ruoyi.system.model.TContract; import com.ruoyi.system.model.THouse; @@ -16,7 +18,12 @@ import java.math.BigDecimal; import java.math.RoundingMode; -import java.util.*; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Objects; /** * @author mitao @@ -33,9 +40,12 @@ * @return */ public ScreenTopStaticsDataVO getTopStaticsData() { + String businessDeptId = SecurityUtils.getBusinessDeptId(); ScreenTopStaticsDataVO vo = new ScreenTopStaticsDataVO(); //房屋总面积 - List<THouse> houseList = tHouseService.list(); + List<THouse> houseList = tHouseService.lambdaQuery() + .eq(!businessDeptId.equals("0"), THouse::getBusinessDeptId, businessDeptId) + .list(); Double totalArea = houseList.stream() .map(item -> Double.parseDouble(item.getHouseArea())) .reduce(0D, Double::sum); @@ -47,7 +57,10 @@ .reduce(0D, Double::sum); vo.setHouseRentedArea(totalRentedArea); //总计应收租金 - List<TBill> billList = tBillService.list(); + List<TBill> billList = tBillService.lambdaQuery() + .eq(!businessDeptId.equals("0"), TBill::getBusinessDeptId, businessDeptId) + .eq(TBill::getBillType, BillTypeEnum.Zujin.getCode()) + .list(); BigDecimal totalReceivableRent = billList.stream() .filter(item -> !item.getPayFeesStatus().equals("5")) .map(TBill::getPayableFeesMoney) @@ -61,11 +74,12 @@ .divide(new BigDecimal("10000"),2, RoundingMode.HALF_UP); vo.setTotalReceivedRent(totalReceivedRent); //本月新增租户数 - Integer newTenantCount = tContractService.getCurrentMonthRentCount(); + Integer newTenantCount = tContractService.getCurrentMonthRentCount(businessDeptId); vo.setNewTenantCount(newTenantCount); //总计租户数 系统租户列表里有生效合同绑定的租户总数。 List<TContract> tContracts = tContractService.lambdaQuery() .in(TContract::getStatus, "4", "5", "6", "7", "8", "9") + .eq(!businessDeptId.equals("0"), TContract::getBusinessDeptId, businessDeptId) .list(); long count = tContracts.stream() .map(TContract::getTenantId) @@ -76,7 +90,10 @@ Date first = quarterDate.get("first"); Date last = quarterDate.get("last"); List<TBill> currentQuarterBillList = tBillService.lambdaQuery() + .eq(!businessDeptId.equals("0"), TBill::getBusinessDeptId, businessDeptId) .between(TBill::getPayableFeesTime, first, last) + .eq(TBill::getBillType, BillTypeEnum.Zujin.getCode()) + .ne(TBill::getPayFeesStatus, 5) .list(); //本季度已交租金 BigDecimal totalRentPaid = currentQuarterBillList.stream() @@ -98,7 +115,11 @@ .divide(BigDecimal.valueOf(10000L), 2, RoundingMode.HALF_UP); vo.setTotalRentOwe(totalRentOwe); //总计欠费 - List<TBill> allBillList = tBillService.lambdaQuery().le(TBill::getPayableFeesTime, last).list(); + List<TBill> allBillList = tBillService.lambdaQuery() + .eq(TBill::getBillType, BillTypeEnum.Zujin.getCode()) + .eq(!businessDeptId.equals("0"), TBill::getBusinessDeptId, businessDeptId) + //.le(TBill::getPayableFeesTime, last) + .list(); BigDecimal totalRentOweAll = allBillList.stream() .map(TBill::getOutstandingMoney) .reduce(BigDecimal.ZERO, BigDecimal::add) @@ -112,7 +133,8 @@ * @return */ public List<ScreenRentRankVO> streetRentRank() { - return tBillService.getStreetRentRank(); + String businessDeptId = SecurityUtils.getBusinessDeptId(); + return tBillService.getStreetRentRank(businessDeptId); } /** @@ -121,7 +143,7 @@ */ public ScreenRentIncomeTrendVO rentIncomeTrend() { ScreenRentIncomeTrendVO vo = new ScreenRentIncomeTrendVO(); - + String businessDeptId = SecurityUtils.getBusinessDeptId(); // 获取当前日期 Date currentDate = new Date(); List<String> quarterLabels = new ArrayList<>(); // 季度标签列表 @@ -139,6 +161,8 @@ // 获取该季度的账单数据 List<TBill> quarterBills = tBillService.lambdaQuery() .between(TBill::getPayableFeesTime, quarterStart, quarterEnd) + .eq(TBill::getBillType, BillTypeEnum.Zujin.getCode()) + .eq(!businessDeptId.equals("0"), TBill::getBusinessDeptId, businessDeptId) .list(); // 计算季度租金收入总和 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java index b8e6ddc..7ac2904 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java @@ -585,7 +585,7 @@ * @return */ @Override - public List<ScreenRentRankVO> getStreetRentRank() { - return baseMapper.getStreetRentRank(); + public List<ScreenRentRankVO> getStreetRentRank(String businessDeptId) { + return baseMapper.getStreetRentRank(businessDeptId); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java index b8c2b1d..09ca4dc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java @@ -211,7 +211,7 @@ * @return */ @Override - public Integer getCurrentMonthRentCount() { - return baseMapper.getCurrentMonthRentCount(); + public Integer getCurrentMonthRentCount(String businessDeptId) { + return baseMapper.getCurrentMonthRentCount(businessDeptId); } } diff --git a/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml index 9e1bbcc..08bdfc9 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml @@ -204,6 +204,11 @@ LEFT JOIN t_house th ON ts.id = th.street_id LEFT JOIN t_contract tc ON tc.house_id = th.id LEFT JOIN t_bill tb ON tc.id = tb.contract_id + <where> + <if test="businessDeptId != 0"> + AND th.business_dept_id = #{businessDeptId} + </if> + </where> GROUP BY ts.id ORDER BY rentAmount DESC </select> diff --git a/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml index 1b7f6ac..b482d7d 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml @@ -130,16 +130,21 @@ <select id="getCurrentMonthRentCount" resultType="java.lang.Integer"> SELECT COUNT(DISTINCT tc.tenant_id) AS new_tenant_count FROM t_contract tc - WHERE - -- 筛选本月签订的合同 - DATE_FORMAT(tc.sign_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m') AND tc.status IN ("4", "5", "6", "7", "8", "9") - -- 且租户在本月前从未签订过任何合同 - AND NOT EXISTS ( - SELECT 1 - FROM t_contract tc_hist - WHERE tc_hist.tenant_id = tc.tenant_id - AND tc_hist.sign_time <![CDATA[ < ]]> DATE_FORMAT(CURDATE(), '%Y-%m-01') AND tc_hist.status IN ("4", "5", "6", "7", "8", "9") - ) + <where> + <if test="businessDeptId!=0"> + AND tc.business_dept_id = #{businessDeptId} + </if> + -- 筛选本月签订的合同 + AND DATE_FORMAT(tc.sign_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m') AND tc.status IN ("4", "5", "6", "7", "8", "9") + -- 且租户在本月前从未签订过任何合同 + AND NOT EXISTS ( + SELECT 1 + FROM t_contract tc_hist + WHERE tc_hist.tenant_id = tc.tenant_id + AND tc_hist.sign_time <![CDATA[ < ]]> DATE_FORMAT(CURDATE(), '%Y-%m-01') AND tc_hist.status IN ("4", "5", "6", "7", "8", "9") + ) + </where> + </select> </mapper> -- Gitblit v1.7.1