diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java index 21b26ce7be..b3d8819d76 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java @@ -85,7 +85,7 @@ public class IcTripReportRecordDTO implements Serializable { * 身份证号 */ @ColumnWidth(22) - @ExcelProperty("身份证号") + @ExcelProperty("证件号") private String idCard; /** @@ -128,7 +128,7 @@ public class IcTripReportRecordDTO implements Serializable { * 详细地址 */ @ColumnWidth(35) - @ExcelProperty("详细地址") + @ExcelProperty("现居地详细地址") private String detailAddress; /** @@ -238,22 +238,42 @@ public class IcTripReportRecordDTO implements Serializable { * 交通方式,来源字典表(traffic_type) */ private String trafficType; + /** + * 交通方式-中国字 + */ + @ColumnWidth(50) + @ExcelProperty("返回方式") + private String trafficTypeName; /** * 其他返回方式,交通方式为其他时此列需要有值 */ + @ColumnWidth(50) + @ExcelProperty("其他返回方式") private String trafficTypeExplain; /** * 来源地详细信息 source_address字段的说明 */ private String sourceDetailAddress; /** - * 疫苗接种针次 (0针 1针 2针 3针)【小寨子】 + * 疫苗接种针次 (0 1 2 3)【小寨子】 */ private String vaccineNum; + /** + * 疫苗接种针次 -中国字(0针 1针 2针 3针) + */ + @ColumnWidth(50) + @ExcelProperty("疫苗接种针次") + private String vaccineNumName; /** * 是否有48小时核算记录 0:否 1:是 【小寨子】 */ private String isNatRecord; + /** + * 是否有48小时核算记录 0:否 1:是 【小寨子】-中国字 + */ + @ColumnWidth(50) + @ExcelProperty("48小时核酸检测") + private String isNatRecordName; /** * 户籍地 【磐石】 */ @@ -267,28 +287,49 @@ public class IcTripReportRecordDTO implements Serializable { */ private String describe; /** - * 48小时核算检查结果(阴性 阳性)【磐石】 + * 48小时核算检查结果(0:阴性 1:阳性)【磐石】 */ private String natOutcome; + /** + * 48小时核算检查结果(阴性 阳性)【磐石】-中国字 + */ + private String natOutcomeName; /** * 7天内旅居史情况,字典表(sojourn_history)【磐石】 */ private String sojournHistory; + /** + * 7天内旅居史情况,字典表(sojourn_history)【磐石】-中国字 + */ + private String sojournHistoryName; /** * 隔离状态,字典表(isolate_type)【磐石】 */ private String isolateType; + /** + * 隔离状态,字典表(isolate_type)【磐石】-中国字 + */ + private String isolateTypeName; /** * 是否落实"落地检" 0:否 1:是【磐石】 */ private String isArriveCheck; + /** + * 是否落实"落地检" 0:否 1:是【磐石】-中国字 + */ + private String isArriveCheckName; /** * 是否达到曹县 0:否 1:是【磐石】 */ private String isArrive; + /** + * 是否达到曹县 0:否 1:是【磐石】-中国字 + */ + private String isArriveName; /** * 上报时间【磐石】 */ + @JsonFormat(pattern = "yyyy-MM-dd") private Date reportingTime; /** * 管控措施【磐石】 @@ -298,4 +339,8 @@ public class IcTripReportRecordDTO implements Serializable { * 行程记录类型,字典表(trip_data_type)【磐石】 */ private String tripDataType; + /** + * 行程记录类型,字典表(trip_data_type)【磐石】-中国字 + */ + private String tripDataTypeName; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index 316610e690..185189cfb7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -368,6 +368,43 @@ public class IcTripReportRecordController implements ResultDataResolver { return new Result(); } + /** + * pc:磐石-行程上报-导出 + */ + @NoRepeatSubmit + @PostMapping("psexport") + public void psEexport(@LoginUser TokenDto tokenDto, @RequestBody PageTripReportFormDTO formDTO, HttpServletResponse response) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + // formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); + // formDTO.setUserId("35005df15fb0f7c791344f0b424870b7"); + formDTO.setIsPage(false); + ExcelWriter excelWriter = null; + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + int pageNo = formDTO.getPageNo(); + try { + // 这里 需要指定写用哪个class去写 + String today= DateUtils.format(new Date(),DateUtils.DATE_PATTERN_MMDD); + String fileName = "行程上报信息".concat(today); + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcTripReportRecordDTO.class).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + PageData data = null; + do { + data = icTripReportRecordService.page(formDTO); + formDTO.setPageNo(++pageNo); + excelWriter.write(data.getList(), 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(); + } + } + } + /** * @Description 【重点行程名单】列表 * @param tokenDto diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java index 5feb599051..35bde836c4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java @@ -148,7 +148,7 @@ public class IcTripReportRecordEntity extends BaseEpmetEntity { */ private String describe; /** - * 48小时核算检查结果(阴性 阳性)【磐石】 + * 48小时核算检查结果(0:阴性 1:阳性)【磐石】 */ private String natOutcome; /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcTripReportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcTripReportExcelData.java index af4c6aae75..89afb8d7f1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcTripReportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcTripReportExcelData.java @@ -19,8 +19,8 @@ public class IcTripReportExcelData { @ExcelProperty("姓名") private String name; - @NotBlank(message = "身份证号为必填项") - @ExcelProperty("身份证号") + @NotBlank(message = "证件号为必填项") + @ExcelProperty("证件号") private String idCard; @NotBlank(message = "手机号为必填项") diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index 9b21c1c212..67f2e06383 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -75,6 +75,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Collector; import java.util.stream.Collectors; /** @@ -117,6 +118,22 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) .doSelectPageInfo(() -> baseDao.pageList(formDTO)); List list = data.getList(); + if(CollectionUtils.isEmpty(list)){ + return new PageData(list, data.getTotal()); + } + //获取需要的字典表数据 + //交通方式 + Result> trafficTypeMap = adminOpenFeignClient.dictMap(DictTypeEnum.TRAFFIC_TYPE.getCode()); + Map tMap = trafficTypeMap.getData().entrySet().stream().collect(Collectors.toMap(entry -> entry.getValue(), entry -> entry.getKey())); + //7天内旅居史情况 + Result> sojournHistoryMap = adminOpenFeignClient.dictMap(DictTypeEnum.SOJOURN_HISTORY.getCode()); + Map sMap = sojournHistoryMap.getData().entrySet().stream().collect(Collectors.toMap(entry -> entry.getValue(), entry -> entry.getKey())); + //隔离状态 + Result> isolateTypeMap = adminOpenFeignClient.dictMap(DictTypeEnum.ISOLATE_TYPE.getCode()); + Map iMap = isolateTypeMap.getData().entrySet().stream().collect(Collectors.toMap(entry -> entry.getValue(), entry -> entry.getKey())); + //行程记录类型 + Result> tripDataTypeMap = adminOpenFeignClient.dictMap(DictTypeEnum.TRIP_DATA_TYPE.getCode()); + Map tdMap = tripDataTypeMap.getData().entrySet().stream().collect(Collectors.toMap(entry -> entry.getValue(), entry -> entry.getKey())); //3.查询最近一次通知时间、核算检测关注名单 if (CollectionUtils.isNotEmpty(list)) { Map latestNotice = new HashMap<>(); @@ -141,6 +158,16 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl