From 1ea92f7b715e9fcc6bbf8e0b34395d05385b1aaf Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 29 十一月 2024 21:39:55 +0800
Subject: [PATCH] 流程跟进列表返回流程是否挂起
---
business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
index 060e8cf..b865b20 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
@@ -1,5 +1,7 @@
package com.ycl.service.impl;
+import cn.hutool.core.collection.CollUtil;
+import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -7,13 +9,18 @@
import com.ycl.common.enums.business.FileTypeEnum;
import com.ycl.common.enums.business.ImportanceTypeEnum;
import com.ycl.common.enums.business.ProjectCategoryEnum;
+import com.ycl.common.exception.base.BaseException;
import com.ycl.common.utils.CopyUtils;
import com.ycl.common.utils.DateUtils;
import com.ycl.common.utils.SecurityUtils;
import com.ycl.common.utils.StringUtils;
+import com.ycl.common.utils.bean.BeanUtils;
+import com.ycl.common.utils.excel.OutputExcelUtils;
import com.ycl.domain.entity.*;
+import com.ycl.domain.excel.ProjectExcelTemplate;
import com.ycl.domain.form.DocumentInfoForm;
import com.ycl.domain.form.ProjectInfoForm;
+import com.ycl.domain.query.ProjectExportQuery;
import com.ycl.domain.query.ProjectInfoQuery;
import com.ycl.domain.vo.*;
import com.ycl.framework.utils.PageUtil;
@@ -25,8 +32,11 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -156,6 +166,7 @@
query.setProjectEndTime(DateUtils.getDayEnd(query.getProjectEndTime()));
}
String projectCategory = query.getProjectCategory();
+ //瀹炴柦闃舵鏈変袱涓�兼斁鍦╯ql澶勭悊
if (ProjectCategoryEnum.RESERVE.getType().equals(projectCategory)) {
query.setProjectStatus(ProjectCategoryEnum.RESERVE.getStatus());
query.setReserveOrPrevious(ProjectCategoryEnum.RESERVE.getCode());
@@ -375,4 +386,30 @@
return Result.ok().data(false);
}
}
+
+ @Override
+ public void export(HttpServletResponse response, ProjectExportQuery query) {
+ List<ProjectVO> data = baseMapper.selectProjectDetailByIds(query.getDataIdList());
+ List<ProjectExcelTemplate> excelList = new ArrayList<>();
+ //瀛楀吀浣滅炕璇�
+ data.forEach(item->{
+ ProjectExcelTemplate excel = new ProjectExcelTemplate();
+ BeanUtils.copyProperties(item,excel);
+ //椤圭洰闃舵
+ excel.setProjectPhase(ProjectCategoryEnum.getPhaseByProjectStatus(item.getProjectStatus(),item.getProcessId()!=null));
+ excelList.add(excel);
+ });
+ //琛ュ厖鏂囦欢鐨勫瓧娈�
+ Set<Integer> indexes = OutputExcelUtils.getSelectFields(query.getFieldList(), ProjectExcelTemplate.class);
+ //涓嶉渶瑕侀檮浠�
+ if(!query.getRequireFile()) {
+ try (ServletOutputStream outputStream = response.getOutputStream()) {
+ EasyExcel.write(outputStream, ProjectExcelTemplate.class).includeColumnIndexes(indexes).sheet("椤圭洰鍒楄〃").doWrite(excelList);
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ throw new BaseException("瀵煎嚭澶辫触锛�" + e.getMessage());
+ }
+ }
+ //TODO锛氶渶瑕侀檮浠�
+ }
}
--
Gitblit v1.8.0