Browse Source

主项目超时情况导出

master
gjh 3 weeks ago
parent
commit
c4c6edeae1
  1. 25
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java
  2. 5
      huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/ProjectScore.java
  3. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java
  4. 6
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java
  5. 14
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java

25
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java

@ -555,4 +555,29 @@ public class HuzhouProjectController {
.sheet("子项目超时情况"+currentDate)
.doWrite(projectinfoService.querySubContractPaySituation());
}
@GetMapping("/queryContractPaySituation")
public Result<List<ContractPayInfoDTO>> queryContractPaySituation(){
//ContractPayInfoDTO tmp = contractinfoService.queryContractPaySituation(projectInfo);
List<ContractPayInfoDTO> result = projectinfoService.queryContractPaySituation();
return Result.ok(result);
}
@GetMapping("/exportContractPaySituation")
public void exportContractPaySituation(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());
}
}

5
huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/ProjectScore.java

@ -2,9 +2,7 @@ package com.easy.admin.modules.huzhou.entity;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@ -44,7 +42,8 @@ public class ProjectScore implements Serializable {
/**
* 评分细则
*/
@ExcelProperty(value = "评分细则")
@ExcelIgnore
// @ExcelProperty(value = "评分细则")
private String detail;
@TableField(exist = false)

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java

@ -250,5 +250,7 @@ public interface IHuzhouProjectinfoService extends IService<HuzhouProjectinfo> {
void fillSuperiorFundPayRateByChildren(List<HuzhouProjectinfo> projectInfoList);
List<ContractPayInfoDTO> querySubContractPaySituation();
List<ContractPayInfoDTO> queryContractPaySituation();
}

6
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java

@ -561,7 +561,11 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl<HuzhouContractinf
// 获取计划和实际合同信息集合,假设它们已经按照 pay_date 排序
List<HuzhouContractinfo> planList = this.getPlanContractinfoByprojectId(projectId);
List<HuzhouContractinfo> realList = this.getRealContractinfoByprojectId(projectId);
// if (realList.size() == 0){
// resultDesc.append("该项目未提交合同信息");
// log.info("子项目名称{}未上传合同信息", projectInfo.getProjectName());
// }
// 假设两个列表长度相同并且一一对应
for (int i = 0; i < Math.min(planList.size(), realList.size()); i++) { // 确保不超出任一列表的范围
HuzhouContractinfo planContract = planList.get(i);

14
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java

@ -3078,6 +3078,20 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
return addList;
}
@Override
public List<ContractPayInfoDTO> queryContractPaySituation() {
List<ContractPayInfoDTO> addList =new ArrayList<>();
List<HuzhouProjectinfo> projectInfoList = this.queryBoardInfo();
for (HuzhouProjectinfo projectInfo : projectInfoList) {
ContractPayInfoDTO tmp = contractinfoService.queryContractPaySituation(projectInfo);
tmp.setProjectName(projectInfo.getProjectName());
addList.add(tmp);
}
return addList;
}
private void processProjectFundingRate(HuzhouProjectinfo projectInfo) {
String projectId = projectInfo.getId();

Loading…
Cancel
Save