Browse Source

emm

dev_shibei_match
zxc 4 years ago
parent
commit
67468af4c2
  1. 2
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PcWorkListResultDTO.java
  2. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PcWorkListExport.java
  3. 50
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java

2
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PcWorkListResultDTO.java

@ -49,6 +49,8 @@ public class PcWorkListResultDTO implements Serializable {
*/
private String isNormal;
private String workTypeNames;
/**
* 发生地点
*/

16
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PcWorkListExport.java

@ -1,7 +1,9 @@
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@ -20,38 +22,50 @@ import java.util.List;
public class PcWorkListExport {
@ExcelProperty("事项名称")
@ColumnWidth(20)
private String title;
@ExcelProperty("事项类型码")
@ColumnWidth(20)
@ExcelIgnore
private String workTypeCode;
@ExcelProperty("事项类型名称")
private String workTypeName;
@ColumnWidth(40)
private String workTypeNames;
@ExcelProperty("有无异常")
private String isNormal;
@ExcelProperty("发生地点")
@ColumnWidth(20)
private String happenAddress;
@ExcelProperty("发生时间")
@ColumnWidth(20)
private String happenTime;
@ExcelProperty("人员ID")
@ExcelIgnore
private String staffId;
@ExcelProperty("人员姓名")
@ColumnWidth(20)
private String staffName;
@ExcelProperty("网格ID")
@ExcelIgnore
private String gridId;
@ExcelProperty("网格名字")
@ColumnWidth(20)
private String gridName;
@ExcelProperty("提交日期")
@ColumnWidth(30)
private String createdTime;
@ExcelProperty("工作内容")
@ColumnWidth(60)
private String workContent;
}

50
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java

@ -27,8 +27,12 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.DictTreeResultDTO;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.enums.OrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
@ -63,6 +67,8 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletResponse;
import java.beans.Encoder;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -198,25 +204,30 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl<PatrolRoutineW
@Override
public void pcWorkListExport(PcWorkListFormDTO formDTO, HttpServletResponse response) throws Exception {
String name = "zxc.xlsx";
String fileName = getFileName(formDTO);
ExcelWriter excelWriter = null;
try {
// 这里 需要指定写用哪个class去写
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(name,response)).build();
// 这里注意 如果同一个sheet只要创建一次
WriteSheet writeSheet = EasyExcel.writerSheet("模板").build();
String name = URLEncoder.encode(fileName, "UTF-8");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-disposition", "attachment;");
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(name,response),PcWorkListExport.class).build();
// 如果同一个sheet只要创建一次
WriteSheet writeSheet = EasyExcel.writerSheet(name).build();
Integer pageNo = NumConstant.ONE;
Integer pageSize = NumConstant.ONE_HUNDRED;
Integer num = NumConstant.ZERO;
do {
formDTO.setPageNo(pageNo);
formDTO.setPageSize(pageSize);
List<PcWorkListExport> data = ConvertUtils.sourceToTarget(pcWorkList(formDTO).getList(), PcWorkListExport.class);
List<PcWorkListResultDTO.PcWorkListResult> dtos = pcWorkList(formDTO).getList();
dtos.forEach(d -> {
d.setWorkTypeNames(d.getWorkTypeName().toString());
});
List<PcWorkListExport> data = ConvertUtils.sourceToTarget(dtos, PcWorkListExport.class);
num = data.size();
excelWriter.write(data, writeSheet);
pageNo++;
}while (num > NumConstant.ZERO && num.compareTo(pageSize) == NumConstant.ZERO);
} finally {
if (excelWriter != null) {
excelWriter.finish();
@ -224,6 +235,31 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl<PatrolRoutineW
}
}
public String getFileName(PcWorkListFormDTO formDTO){
StringBuilder name = new StringBuilder();
if (formDTO.getOrgType().equals(OrgTypeEnum.GRID.getCode())){
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(formDTO.getOrgId());
if (null == gridInfo){
throw new EpmetException("查询网格信息失败...");
}
name.append(gridInfo.getGridName());
}else {
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getOrgId());
if (null == agencyInfo){
throw new EpmetException("查询组织信息失败...");
}
name.append(agencyInfo.getOrganizationName());
}
name.append("例行工作列表");
if (StringUtils.isNotBlank(formDTO.getStartTime())){
name.append(formDTO.getStartTime()).append("-").append(formDTO.getEndTime()).append("区间新增值");
}else {
name.append(formDTO.getEndTime()).append("截止累计值");
}
name.append(".xlsx");
return name.toString();
};
/**
* @Description 处理 workTypeName
* @param workTypeList

Loading…
Cancel
Save