From 2f3abcb57bbde91fc0d8e8056cfbf4887b5da21f Mon Sep 17 00:00:00 2001 From: gjh <1421wake> Date: Tue, 10 Jun 2025 10:45:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=90=E9=A1=B9=E7=9B=AE=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/HuzhouProjectController.java | 28 +++++++++++++++++++ .../huzhou/dto/ContractPayInfoDTO.java | 13 ++++++--- .../service/IHuzhouProjectinfoService.java | 2 ++ .../impl/HuzhouProjectinfoServiceImpl.java | 13 +++++++++ 4 files changed, 52 insertions(+), 4 deletions(-) diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java index f4c7b8f..2ccd975 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java @@ -1,10 +1,12 @@ package com.easy.admin.modules.huzhou.controller; +import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.metadata.IPage; import com.easy.admin.common.constant.CommonConstant; import com.easy.admin.common.core.annotation.ResponseResult; +import com.easy.admin.modules.huzhou.dto.ContractPayInfoDTO; import com.easy.admin.modules.huzhou.dto.ProjectResultExportDTO; import com.easy.admin.modules.huzhou.vo.*; @@ -25,6 +27,8 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.net.URLEncoder; +import java.time.LocalDate; import java.util.HashMap; import java.util.List; import java.util.Objects; @@ -527,4 +531,28 @@ public class HuzhouProjectController { String result ="Key 不能为空"; return Result.ok(result); } + + + @GetMapping("/queryContractPaySituation") + public Result> queryContractPaySituation(){ + //ContractPayInfoDTO tmp = contractinfoService.queryContractPaySituation(projectInfo); + List result = projectinfoService.queryContractPaySituation(); + return Result.ok(result); + } + + @GetMapping("/exportSubContractPaySituation") + public void exportSubContractPaySituation(HttpServletResponse response) throws IOException { + // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String flag = "子项目超时情况"; + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + LocalDate currentDate = LocalDate.now(); + String fileName = URLEncoder.encode( flag+currentDate, "UTF-8") + .replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + EasyExcel.write(response.getOutputStream(), ContractPayInfoDTO.class) + .sheet("子项目超时情况"+currentDate) + .doWrite(projectinfoService.queryContractPaySituation()); + } } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/dto/ContractPayInfoDTO.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/dto/ContractPayInfoDTO.java index 3a01a83..153d87d 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/dto/ContractPayInfoDTO.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/dto/ContractPayInfoDTO.java @@ -8,13 +8,18 @@ import java.util.List; @Data public class ContractPayInfoDTO { + @ExcelProperty(value = "项目名称") + private String projectName; - /** - * 超时支付次数 (超时7天以上为超时1次) - */ - private int timeOutPayCount; /** * 超时支付情况 */ + @ExcelProperty(value = "超时支付情况") private String timeOutPaySituation; + /** + * 超时支付次数 (超时7天以上为超时1次) + */ + @ExcelProperty(value = "超时支付次数") + private int timeOutPayCount; + } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java index e538697..837dc04 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java @@ -1,6 +1,7 @@ package com.easy.admin.modules.huzhou.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.easy.admin.modules.huzhou.dto.ContractPayInfoDTO; import com.easy.admin.modules.huzhou.dto.ProjectResultExportDTO; import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -248,5 +249,6 @@ public interface IHuzhouProjectinfoService extends IService { void fillSuperiorFundPayRateByChildren(List projectInfoList); + List queryContractPaySituation(); } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java index 6da1fcb..444b368 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java @@ -3065,6 +3065,19 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl queryContractPaySituation() { + List addList =new ArrayList<>(); + List subProjects = subProjectinfoService.list(); + for (HuzhouSubProjectinfo projectInfo : subProjects) { + ContractPayInfoDTO tmp = contractinfoService.queryContractPaySituation(projectInfo); + tmp.setProjectName(projectInfo.getProjectName()); + addList.add(tmp); + } + + return addList; + } + private void processProjectFundingRate(HuzhouProjectinfo projectInfo) { String projectId = projectInfo.getId();