Browse Source

Merge branch 'dev_tripreport' of E:\work\workSpace\epmet-cloud with conflicts.

dev
sunyuchao 3 years ago
parent
commit
2d9112ad08
  1. 53
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java
  2. 37
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java
  3. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java
  4. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcTripReportExcelData.java
  5. 27
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java
  6. BIN
      epmet-user/epmet-user-server/src/main/resources/excel/trip_report_import_template.xlsx

53
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;
}

37
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<IcTripReportRecordDTO> 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

2
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;
/**

4
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 = "手机号为必填项")

27
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<IcTripReportR
PageInfo<IcTripReportRecordDTO> data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage())
.doSelectPageInfo(() -> baseDao.pageList(formDTO));
List<IcTripReportRecordDTO> list = data.getList();
if(CollectionUtils.isEmpty(list)){
return new PageData(list, data.getTotal());
}
//获取需要的字典表数据
//交通方式
Result<Map<String, String>> trafficTypeMap = adminOpenFeignClient.dictMap(DictTypeEnum.TRAFFIC_TYPE.getCode());
Map<String, String> tMap = trafficTypeMap.getData().entrySet().stream().collect(Collectors.toMap(entry -> entry.getValue(), entry -> entry.getKey()));
//7天内旅居史情况
Result<Map<String, String>> sojournHistoryMap = adminOpenFeignClient.dictMap(DictTypeEnum.SOJOURN_HISTORY.getCode());
Map<String, String> sMap = sojournHistoryMap.getData().entrySet().stream().collect(Collectors.toMap(entry -> entry.getValue(), entry -> entry.getKey()));
//隔离状态
Result<Map<String, String>> isolateTypeMap = adminOpenFeignClient.dictMap(DictTypeEnum.ISOLATE_TYPE.getCode());
Map<String, String> iMap = isolateTypeMap.getData().entrySet().stream().collect(Collectors.toMap(entry -> entry.getValue(), entry -> entry.getKey()));
//行程记录类型
Result<Map<String, String>> tripDataTypeMap = adminOpenFeignClient.dictMap(DictTypeEnum.TRIP_DATA_TYPE.getCode());
Map<String, String> tdMap = tripDataTypeMap.getData().entrySet().stream().collect(Collectors.toMap(entry -> entry.getValue(), entry -> entry.getKey()));
//3.查询最近一次通知时间、核算检测关注名单
if (CollectionUtils.isNotEmpty(list)) {
Map<String, Date> latestNotice = new HashMap<>();
@ -141,6 +158,16 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl<IcTripReportR
if (MapUtils.isNotEmpty(latestNotice) && latestNotice.containsKey(dto.getIdCard())) {
dto.setLatestNoticeTime(latestNotice.get(dto.getIdCard()));
}
//字典表字段、是否字段赋值对应中国字
dto.setTrafficTypeName(tMap.containsKey(dto.getTrafficType()) ? tMap.get(dto.getTrafficType()) : "无");
dto.setVaccineNumName(StringUtils.isNotBlank(dto.getVaccineNum()) ? dto.getVaccineNum().concat("针") : "");
dto.setIsNatRecordName("1".equals(dto.getIsNatRecord()) ? "是" : "否");
dto.setNatOutcomeName("1".equals(dto.getIsNatRecord()) ? "阳性" : "阴性");
dto.setSojournHistoryName(sMap.containsKey(dto.getSojournHistory()) ? sMap.get(dto.getSojournHistory()) : "无");
dto.setIsolateTypeName(iMap.containsKey(dto.getIsolateType()) ? iMap.get(dto.getIsolateType()) : "无");
dto.setIsArriveCheckName("1".equals(dto.getIsArriveCheck()) ? "是" : "否");
dto.setIsArriveName("1".equals(dto.getIsArrive()) ? "是" : "否");
dto.setTripDataTypeName(tdMap.containsKey(dto.getTripDataType()) ? tdMap.get(dto.getTripDataType()) : "无");
}
}
return new PageData(list, data.getTotal());

BIN
epmet-user/epmet-user-server/src/main/resources/excel/trip_report_import_template.xlsx

Binary file not shown.
Loading…
Cancel
Save