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) @ColumnWidth(22)
@ExcelProperty("身份证号") @ExcelProperty("证号")
private String idCard; private String idCard;
/** /**
@ -128,7 +128,7 @@ public class IcTripReportRecordDTO implements Serializable {
* 详细地址 * 详细地址
*/ */
@ColumnWidth(35) @ColumnWidth(35)
@ExcelProperty("详细地址") @ExcelProperty("现居地详细地址")
private String detailAddress; private String detailAddress;
/** /**
@ -238,22 +238,42 @@ public class IcTripReportRecordDTO implements Serializable {
* 交通方式来源字典表(traffic_type) * 交通方式来源字典表(traffic_type)
*/ */
private String trafficType; private String trafficType;
/**
* 交通方式-中国字
*/
@ColumnWidth(50)
@ExcelProperty("返回方式")
private String trafficTypeName;
/** /**
* 其他返回方式交通方式为其他时此列需要有值 * 其他返回方式交通方式为其他时此列需要有值
*/ */
@ColumnWidth(50)
@ExcelProperty("其他返回方式")
private String trafficTypeExplain; private String trafficTypeExplain;
/** /**
* 来源地详细信息 source_address字段的说明 * 来源地详细信息 source_address字段的说明
*/ */
private String sourceDetailAddress; private String sourceDetailAddress;
/** /**
* 疫苗接种针次 (0 1 2 3)小寨子 * 疫苗接种针次 (0 1 2 3)小寨子
*/ */
private String vaccineNum; private String vaccineNum;
/**
* 疫苗接种针次 -中国字(0针 1针 2针 3针)
*/
@ColumnWidth(50)
@ExcelProperty("疫苗接种针次")
private String vaccineNumName;
/** /**
* 是否有48小时核算记录 0: 1: 小寨子 * 是否有48小时核算记录 0: 1: 小寨子
*/ */
private String isNatRecord; 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; private String describe;
/** /**
* 48小时核算检查结果(阴性 阳性)磐石 * 48小时核算检查结果(0:阴性 1:阳性)磐石
*/ */
private String natOutcome; private String natOutcome;
/**
* 48小时核算检查结果(阴性 阳性)磐石-中国字
*/
private String natOutcomeName;
/** /**
* 7天内旅居史情况字典表(sojourn_history)磐石 * 7天内旅居史情况字典表(sojourn_history)磐石
*/ */
private String sojournHistory; private String sojournHistory;
/**
* 7天内旅居史情况字典表(sojourn_history)磐石-中国字
*/
private String sojournHistoryName;
/** /**
* 隔离状态字典表(isolate_type)磐石 * 隔离状态字典表(isolate_type)磐石
*/ */
private String isolateType; private String isolateType;
/**
* 隔离状态字典表(isolate_type)磐石-中国字
*/
private String isolateTypeName;
/** /**
* 是否落实"落地检" 0: 1:磐石 * 是否落实"落地检" 0: 1:磐石
*/ */
private String isArriveCheck; private String isArriveCheck;
/**
* 是否落实"落地检" 0: 1:磐石-中国字
*/
private String isArriveCheckName;
/** /**
* 是否达到曹县 0: 1:磐石 * 是否达到曹县 0: 1:磐石
*/ */
private String isArrive; private String isArrive;
/**
* 是否达到曹县 0: 1:磐石-中国字
*/
private String isArriveName;
/** /**
* 上报时间磐石 * 上报时间磐石
*/ */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date reportingTime; private Date reportingTime;
/** /**
* 管控措施磐石 * 管控措施磐石
@ -298,4 +339,8 @@ public class IcTripReportRecordDTO implements Serializable {
* 行程记录类型字典表(trip_data_type)磐石 * 行程记录类型字典表(trip_data_type)磐石
*/ */
private String tripDataType; 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(); 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 重点行程名单列表 * @Description 重点行程名单列表
* @param tokenDto * @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; private String describe;
/** /**
* 48小时核算检查结果(阴性 阳性)磐石 * 48小时核算检查结果(0:阴性 1:阳性)磐石
*/ */
private String natOutcome; 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("姓名") @ExcelProperty("姓名")
private String name; private String name;
@NotBlank(message = "身份证号为必填项") @NotBlank(message = "证号为必填项")
@ExcelProperty("身份证号") @ExcelProperty("证号")
private String idCard; private String idCard;
@NotBlank(message = "手机号为必填项") @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.nio.file.Path;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collector;
import java.util.stream.Collectors; 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()) PageInfo<IcTripReportRecordDTO> data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage())
.doSelectPageInfo(() -> baseDao.pageList(formDTO)); .doSelectPageInfo(() -> baseDao.pageList(formDTO));
List<IcTripReportRecordDTO> list = data.getList(); 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.查询最近一次通知时间、核算检测关注名单 //3.查询最近一次通知时间、核算检测关注名单
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
Map<String, Date> latestNotice = new HashMap<>(); Map<String, Date> latestNotice = new HashMap<>();
@ -141,6 +158,16 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl<IcTripReportR
if (MapUtils.isNotEmpty(latestNotice) && latestNotice.containsKey(dto.getIdCard())) { if (MapUtils.isNotEmpty(latestNotice) && latestNotice.containsKey(dto.getIdCard())) {
dto.setLatestNoticeTime(latestNotice.get(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()); 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