Browse Source

联建活动导出

master
yinzuomei 3 years ago
parent
commit
cc9a49883e
  1. 6
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcPartyActivityDTO.java
  2. 7
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyActivityFormDTO.java
  3. 57
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java
  4. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java
  5. 30
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcPartyActivityExcel.java
  6. 5
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java

6
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcPartyActivityDTO.java

@ -179,5 +179,9 @@ public class IcPartyActivityDTO implements Serializable {
*/ */
@JsonIgnore @JsonIgnore
private Date updatedTime; private Date updatedTime;
/**
* actId不为空小程序
* 为空管理平台
*/
private String originName;
} }

7
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyActivityFormDTO.java

@ -1,5 +1,6 @@
package com.epmet.dto.form; package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -15,7 +16,7 @@ import java.util.Date;
*/ */
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public class PartyActivityFormDTO implements Serializable { public class PartyActivityFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = -2510068555703677L; private static final long serialVersionUID = -2510068555703677L;
@NotBlank(message = "组织Id不能为空" ) @NotBlank(message = "组织Id不能为空" )
private String agencyId; private String agencyId;
@ -27,7 +28,7 @@ public class PartyActivityFormDTO implements Serializable {
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date endTime; private Date endTime;
private String serviceMatter; private String serviceMatter;
private Integer pageNo; // private Integer pageNo;
private Integer pageSize; // private Integer pageSize;
private String customerId; private String customerId;
} }

57
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java

@ -17,15 +17,21 @@
package com.epmet.controller; package com.epmet.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.DefaultGroup;
@ -53,11 +59,9 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.ArrayList; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/** /**
@ -116,23 +120,36 @@ public class IcPartyActivityController {
} }
@PostMapping("export") @PostMapping("export")
public void export(@RequestBody PartyActivityFormDTO formDTO, HttpServletResponse response) throws Exception { public void export(@LoginUser TokenDto tokenDto, @RequestBody PartyActivityFormDTO formDTO, HttpServletResponse response) throws Exception {
List<IcPartyActivityDTO> list = icPartyActivityService.list(formDTO); formDTO.setCustomerId(tokenDto.getCustomerId());
List<IcPartyActivityExcel> excelList = new ArrayList<>(); formDTO.setIsPage(false);
AtomicInteger i = new AtomicInteger(1); ExcelWriter excelWriter = null;
if (CollectionUtils.isNotEmpty(list)) { formDTO.setPageSize(NumConstant.TEN_THOUSAND);
excelList = list.stream().map(item -> { int pageNo = formDTO.getPageNo();
IcPartyActivityExcel excel = new IcPartyActivityExcel(); try {
excel.setIndex(i.getAndIncrement()); // 这里 需要指定写用哪个class去写
excel.setUnitName(item.getUnitName()); String today= DateUtils.format(new Date(),DateUtils.DATE_PATTERN_MMDD);
excel.setTitle(item.getTitle()); String fileName = "联建活动".concat(today);
excel.setAddress(item.getAddress()); excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcPartyActivityExcel.class).build();
excel.setPeopleCount(item.getPeopleCount()); WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
excel.setActivityTime(DateUtils.format(item.getActivityTime(), DateUtils.DATE_TIME_PATTERN)); PageData<IcPartyActivityDTO> data = null;
return excel; List<IcPartyActivityExcel> list = null;
}).collect(Collectors.toList()); do {
} data = icPartyActivityService.search(formDTO);
ExcelUtils.exportExcelToTarget(response, null, excelList, IcPartyActivityExcel.class); list = ConvertUtils.sourceToTarget(data.getList(), IcPartyActivityExcel.class);
formDTO.setPageNo(++pageNo);
excelWriter.write(list, writeSheet);
} while (CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize());
} catch (Exception e) {
log.error("export exception", e);
} finally {
// 千万别忘记finish 会帮忙关闭流
if (excelWriter != null) {
excelWriter.finish();
}
}
} }
/** /**

2
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java

@ -132,7 +132,7 @@ public class IcPartyUnitController {
try { try {
// 这里 需要指定写用哪个class去写 // 这里 需要指定写用哪个class去写
String today= DateUtils.format(new Date(),DateUtils.DATE_PATTERN_MMDD); String today= DateUtils.format(new Date(),DateUtils.DATE_PATTERN_MMDD);
String fileName = "行程上报信息".concat(today); String fileName = "联建单位".concat(today);
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcPartyUnitExcel.class).build(); excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcPartyUnitExcel.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
PageData<IcPartyUnitDTO> data = null; PageData<IcPartyUnitDTO> data = null;

30
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcPartyActivityExcel.java

@ -17,7 +17,8 @@
package com.epmet.excel; package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data; import lombok.Data;
/** /**
@ -28,23 +29,30 @@ import lombok.Data;
*/ */
@Data @Data
public class IcPartyActivityExcel { public class IcPartyActivityExcel {
@ColumnWidth(20)
@Excel(name = "序号") @ExcelProperty(value = "单位名称")
private Integer index;
@Excel(name = "单位名称")
private String unitName; private String unitName;
@Excel(name = "活动标题") @ColumnWidth(25)
@ExcelProperty(value = "活动标题")
private String title; private String title;
@Excel(name = "活动地址") @ColumnWidth(35)
@ExcelProperty(value = "活动地址")
private String address; private String address;
@Excel(name = "服务人数") @ColumnWidth(15)
@ExcelProperty(value = "服务人数")
private Integer peopleCount; private Integer peopleCount;
@Excel(name = "活动时间") @ColumnWidth(20)
@ExcelProperty(value = "活动时间")
private String activityTime; private String activityTime;
/**
* actId不为空小程序
* 为空管理平台
*/
@ColumnWidth(20)
@ExcelProperty(value = "来源")
private String originName;
} }

5
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java

@ -151,6 +151,11 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
dto.setServiceMatterNameList(serviceMatterNameList); dto.setServiceMatterNameList(serviceMatterNameList);
dto.setServiceMatterName(StringUtils.join(serviceMatterNameList, StrConstant.COMMA)); dto.setServiceMatterName(StringUtils.join(serviceMatterNameList, StrConstant.COMMA));
} }
if(StringUtils.isNotBlank(dto.getActId())){
dto.setOriginName("小程序");
}else{
dto.setOriginName("管理平台");
}
}); });
} }

Loading…
Cancel
Save