Browse Source

Merge branch 'dev_epidemic_situation' into develop

dev
zhaoqifeng 3 years ago
parent
commit
c5cbdd4e37
  1. 57
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java
  2. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java
  3. 45
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java
  4. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java
  5. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java
  6. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java
  7. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java
  8. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java
  9. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java
  10. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java
  11. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java
  12. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java
  13. 14
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  14. 37
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java
  15. 49
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java
  16. 21
      epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.30__add_vaccine.sql
  17. 8
      epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml

57
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java

@ -1,5 +1,10 @@
package com.epmet.dto;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@ -13,6 +18,7 @@ import java.util.Date;
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-03-25
*/
@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 44)
@Data
public class IcTripReportRecordDTO implements Serializable {
@ -21,137 +27,180 @@ public class IcTripReportRecordDTO implements Serializable {
/**
* 主键ID
*/
@ExcelIgnore
private String id;
/**
* 居民端用户所在网格id,数字社区居民所属网格id
*/
@ExcelIgnore
private String gridId;
/**
* 居民端上报的存储用户所在网格的组织id;
*/
@ExcelIgnore
private String agencyId;
/**
* agency_id的所有上级
*/
@ExcelIgnore
private String pids;
/**
* 客户Id
*/
@ExcelIgnore
private String customerId;
/**
* 姓名
*/
@ColumnWidth(15)
@ExcelProperty("姓名")
private String name;
/**
* 手机号
*/
@ColumnWidth(15)
@ExcelProperty("手机号")
private String mobile;
/**
* 身份证号
*/
@ColumnWidth(22)
@ExcelProperty("身份证号")
private String idCard;
/**
* 用户id
*/
@ExcelIgnore
private String userId;
/**
* 居民端小程序的人resi;数字社区的居民icresi;单独录入input; 导入import
*/
@ExcelIgnore
private String userType;
/**
* 现居地编码
*/
@ExcelIgnore
private String presentAddressCode;
/**
* 现居地名称eg:山东省青岛市黄岛区玫瑰山路社区
*/
@ColumnWidth(50)
@ExcelProperty("现居地")
private String presentAddress;
/**
* 详细地址
*/
@ColumnWidth(35)
@ExcelProperty("详细地址")
private String detailAddress;
/**
* 来源地区编码
*/
@ExcelIgnore
private String sourceAddressCode;
/**
* 来源地区地址
*/
@ColumnWidth(50)
@ExcelProperty("来自地区")
private String sourceAddress;
/**
* 到达日期
*/
@ColumnWidth(25)
@ExcelProperty("来到本地时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date arriveDate;
/**
* 离开日期
*/
@ColumnWidth(25)
@ExcelProperty("离开本地时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date leaveDate;
/**
* pc行程上报-列表返参最近一次通知时间
*/
@ColumnWidth(25)
@ExcelProperty("最近一次通知时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date latestNoticeTime;
/**
* 备注信息
*/
@ColumnWidth(100)
@ExcelProperty("备注")
private String remark;
/**
* 删除标识 1删除0未删除
*/
@ExcelIgnore
private String delFlag;
/**
* 乐观锁
*/
@ExcelIgnore
private Integer revision;
/**
* 创建人
*/
@ExcelIgnore
private String createdBy;
/**
* 创建时间
*/
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createdTime;
/**
* 更新人
*/
@ExcelIgnore
private String updatedBy;
/**
* 更新时间
*/
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updatedTime;
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date reportTime;
/**
* pc行程上报-列表返参最近一次通知时间
*/
private Date latestNoticeTime;
/**
* pc行程上报-列表返参是否加入核酸检测关注名单true已加入false未加入
*/
@ExcelIgnore
private Boolean heSuanCheck;
@ColumnWidth(20)
@ExcelProperty("核算检测关注名单")
private String heSuanCheckDesc;
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java

@ -79,7 +79,8 @@ public class IcEpidemicPreventionController{
}
@PostMapping("info")
public Result<EpidemicPreventionInfoDTO> info(@RequestBody EpidemicPreventionFormDTO formDTO) {
public Result<EpidemicPreventionInfoDTO> info(@LoginUser TokenDto tokenDto, @RequestBody EpidemicPreventionFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
EpidemicPreventionInfoDTO result = icResiUserService.getEpidemicPreventionInfo(formDTO);
return new Result<EpidemicPreventionInfoDTO>().ok(result);
}

45
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java

@ -1,10 +1,15 @@
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.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constant.IcResiUserConstant;
@ -13,6 +18,8 @@ import com.epmet.dto.form.IcTripReportFormDTO;
import com.epmet.dto.form.MyReportedTripFormDTO;
import com.epmet.dto.form.PageTripReportFormDTO;
import com.epmet.service.IcTripReportRecordService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -33,6 +40,7 @@ import java.util.List;
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-03-25
*/
@Slf4j
@RestController
@RequestMapping("tripreport")
public class IcTripReportRecordController {
@ -157,5 +165,42 @@ public class IcTripReportRecordController {
}
}
/**
* pc:行程上报-导出
* @param tokenDto
* @param formDTO
* @param response
*/
@NoRepeatSubmit
@PostMapping("export")
public void export(@LoginUser TokenDto tokenDto, @RequestBody PageTripReportFormDTO formDTO, HttpServletResponse response) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
// formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc");
// formDTO.setUserId("35005df15fb0f7c791344f0b424870b7");
formDTO.setPage(false);
ExcelWriter excelWriter = null;
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
int pageNo = formDTO.getPageNo();
try {
// 这里 需要指定写用哪个class去写
String fileName = "行程上报.xlsx";
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcTripReportRecordDTO.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").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();
}
}
}
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java

@ -8,7 +8,6 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Set;
/**
* 疫情特别关注
@ -60,5 +59,5 @@ public interface IcEpidemicSpecialAttentionDao extends BaseDao<IcEpidemicSpecial
* @param attentionType
* @return
*/
List<String> getIdCardList(@Param("customerId") String customerId,@Param("idCardSet") Set<String> idCardSet, @Param("attentionType") Integer attentionType);
List<String> getIdCardList(@Param("customerId") String customerId,@Param("idCardSet") List<String> idCardSet, @Param("attentionType") Integer attentionType);
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java

@ -12,7 +12,6 @@ import com.epmet.entity.IcEpidemicSpecialAttentionEntity;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 疫情特别关注
@ -130,5 +129,5 @@ public interface IcEpidemicSpecialAttentionService extends BaseService<IcEpidemi
* @param idCardSet
* @return
*/
List<String> getHeSuanIdCardList(String customerId,Set<String> idCardSet);
List<String> getHeSuanIdCardList(String customerId,List<String> idCardSet);
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java

@ -77,5 +77,5 @@ public interface IcNatService extends BaseService<IcNatEntity> {
* @Author zhaoqifeng
* @Date 2022/3/29 16:29
*/
List<NatListDTO> getNatList(String idCard);
List<NatListDTO> getNatList(String customerId, String idCard);
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java

@ -10,7 +10,6 @@ import com.epmet.entity.IcNoticeEntity;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 防疫通知
@ -104,5 +103,5 @@ public interface IcNoticeService extends BaseService<IcNoticeEntity> {
* @param idCardSet
* @return
*/
Map<String, Date> getUserLatestNoticeTime(String customerId,Set<String> idCardSet);
Map<String, Date> getUserLatestNoticeTime(String customerId,List<String> idCardSet);
}

11
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java

@ -3,6 +3,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcResiVaccineDTO;
import com.epmet.dto.result.VaccineListDTO;
import com.epmet.entity.IcResiVaccineEntity;
import java.util.List;
@ -75,4 +76,14 @@ public interface IcResiVaccineService extends BaseService<IcResiVaccineEntity> {
* @date 2022-03-28
*/
void delete(String[] ids);
/**
* 获取居民疫苗接种信息
*
* @Param idCard
* @Return {@link List< VaccineListDTO>}
* @Author zhaoqifeng
* @Date 2022/3/30 10:24
*/
List<VaccineListDTO> getVaccineList(String customerId, String idCard);
}

11
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java

@ -6,6 +6,7 @@ import com.epmet.dto.IcTripReportRecordDTO;
import com.epmet.dto.form.IcTripReportFormDTO;
import com.epmet.dto.form.MyReportedTripFormDTO;
import com.epmet.dto.form.PageTripReportFormDTO;
import com.epmet.dto.result.TripListDTO;
import com.epmet.entity.IcTripReportRecordEntity;
import java.util.List;
@ -82,4 +83,14 @@ public interface IcTripReportRecordService extends BaseService<IcTripReportRecor
* @return
*/
List<IcTripReportRecordDTO> resiList(MyReportedTripFormDTO formDTO);
/**
* 获取居民行程信息
*
* @Param idCard
* @Return {@link List< TripListDTO>}
* @Author zhaoqifeng
* @Date 2022/3/30 10:31
*/
List<TripListDTO> tripList(String customerId, String idCard);
}

10
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java

@ -17,7 +17,6 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.ExcelPoiUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constants.ImportTaskConstants;
@ -30,7 +29,6 @@ import com.epmet.dto.form.VaccinationListFormDTO;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.dto.result.VaccinationListResultDTO;
import com.epmet.entity.IcEpidemicSpecialAttentionEntity;
import com.epmet.enums.AttentionTypeEnum;
import com.epmet.enums.ChannelEnum;
import com.epmet.excel.ImportEpidemicSpecialAttention;
import com.epmet.excel.error.EpidemicSpecialAttentionErrorModel;
@ -54,13 +52,9 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.*;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -401,7 +395,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
* @return
*/
@Override
public List<String> getHeSuanIdCardList(String customerId,Set<String> idCardSet) {
public List<String> getHeSuanIdCardList(String customerId,List<String> idCardSet) {
if(CollectionUtils.isEmpty(idCardSet)){
return new ArrayList<>();
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java

@ -342,8 +342,9 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
* @Date 2022/3/29 16:29
*/
@Override
public List<NatListDTO> getNatList(String idCard) {
public List<NatListDTO> getNatList(String customerId, String idCard) {
LambdaQueryWrapper<IcNatEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcNatEntity::getCustomerId, customerId);
wrapper.eq(IcNatEntity::getIdCard, idCard);
wrapper.orderByDesc(IcNatEntity::getNatTime);
List<IcNatEntity> list = baseDao.selectList(wrapper);

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java

@ -225,7 +225,7 @@ public class IcNoticeServiceImpl extends BaseServiceImpl<IcNoticeDao, IcNoticeEn
* @return
*/
@Override
public Map<String, Date> getUserLatestNoticeTime(String customerId,Set<String> idCardSet) {
public Map<String, Date> getUserLatestNoticeTime(String customerId,List<String> idCardSet) {
Map<String, Date> map=new HashMap<>();
for(String idCard:idCardSet) {
LambdaQueryWrapper<IcNoticeEntity> wrapper = new LambdaQueryWrapper<>();

14
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -120,6 +120,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
private RedisTemplate redisTemplate;
@Resource
private IcNatService icNatService;
@Resource
private IcResiVaccineService icResiVaccineService;
@Resource
private IcTripReportRecordService icTripReportRecordService;
private QueryWrapper<IcResiUserEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
@ -1326,10 +1330,14 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
IcResiUserEntity icResiUser = baseDao.selectById(formDTO.getId());
if (null != icResiUser) {
//核酸检测
List<NatListDTO> natList = icNatService.getNatList(icResiUser.getIdCard());
List<NatListDTO> natList = icNatService.getNatList(formDTO.getCustomerId(), icResiUser.getIdCard());
result.setNatList(natList);
//TODO 疫苗接种
//TODO 行程信息
//疫苗接种
List<VaccineListDTO> vaccineList = icResiVaccineService.getVaccineList(formDTO.getCustomerId(), icResiUser.getIdCard());
result.setVaccineList(vaccineList);
//行程信息
List<TripListDTO> tripList = icTripReportRecordService.tripList(formDTO.getCustomerId(), icResiUser.getIdCard());
result.setTripList(tripList);
}
return result;
}

37
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java

@ -1,23 +1,28 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dao.IcResiVaccineDao;
import com.epmet.dto.IcResiVaccineDTO;
import com.epmet.dto.result.VaccineListDTO;
import com.epmet.entity.IcResiVaccineEntity;
import com.epmet.service.IcResiVaccineService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 居民疫苗情况
@ -80,4 +85,32 @@ public class IcResiVaccineServiceImpl extends BaseServiceImpl<IcResiVaccineDao,
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 获取居民疫苗接种信息
*
* @param idCard
* @Param idCard
* @Return {@link List< VaccineListDTO >}
* @Author zhaoqifeng
* @Date 2022/3/30 10:24
*/
@Override
public List<VaccineListDTO> getVaccineList(String customerId, String idCard) {
LambdaQueryWrapper<IcResiVaccineEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiVaccineEntity::getCustomerId, customerId);
wrapper.eq(IcResiVaccineEntity::getIdCard, idCard);
wrapper.orderByDesc(IcResiVaccineEntity::getInoculateTime);
List<IcResiVaccineEntity> list = baseDao.selectList(wrapper);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
return list.stream().map(item -> {
VaccineListDTO dto = new VaccineListDTO();
dto.setAddress(item.getInoculateAddress());
dto.setManufactor(item.getManufacturer());
dto.setVaccinateTime(DateUtils.format(item.getInoculateTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE));
return dto;
}).collect(Collectors.toList());
}
}

49
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java

@ -1,5 +1,6 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
@ -13,12 +14,14 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.IcResiUserConstant;
import com.epmet.dao.IcTripReportRecordDao;
import com.epmet.dao.UserBaseInfoDao;
import com.epmet.dto.IcEpidemicSpecialAttentionDTO;
import com.epmet.dto.IcTripReportRecordDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.TripListDTO;
import com.epmet.entity.IcTripReportRecordEntity;
import com.epmet.service.IcEpidemicSpecialAttentionService;
import com.epmet.service.IcNoticeService;
@ -27,6 +30,7 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -69,14 +73,24 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl<IcTripReportR
List<IcTripReportRecordDTO> list = data.getList();
//3.查询最近一次通知时间、核算检测关注名单
if (CollectionUtils.isNotEmpty(list)) {
Set<String> idCardSet = list.stream().map(m -> m.getIdCard()).collect(Collectors.toSet());
Map<String, Date> latestNotice = icNoticeService.getUserLatestNoticeTime(formDTO.getCustomerId(),idCardSet);
List<String> gzIdCardList = epidemicSpecialAttentionService.getHeSuanIdCardList(formDTO.getCustomerId(),idCardSet);
Map<String, Date> latestNotice = new HashMap<>();
List<String> gzIdCardList = new ArrayList<>();
List<String> idCardList = list.stream().map(m -> m.getIdCard()).distinct().collect(Collectors.toList());
//如果不分页可能会有很多个身份证号
List<List<String>> partionList = ListUtils.partition(idCardList, NumConstant.ONE_HUNDRED);
partionList.forEach(l -> {
Map<String, Date> map = icNoticeService.getUserLatestNoticeTime(formDTO.getCustomerId(), l);
List<String> gzIdCards = epidemicSpecialAttentionService.getHeSuanIdCardList(formDTO.getCustomerId(), l);
latestNotice.putAll(map);
gzIdCardList.addAll(gzIdCards);
});
for (IcTripReportRecordDTO dto : list) {
//默认未加入
dto.setHeSuanCheck(false);
dto.setHeSuanCheckDesc("未加入");
if (CollectionUtils.isNotEmpty(gzIdCardList) && gzIdCardList.contains(dto.getIdCard())) {
dto.setHeSuanCheck(true);
dto.setHeSuanCheckDesc("已加入");
}
if (MapUtils.isNotEmpty(latestNotice) && latestNotice.containsKey(dto.getIdCard())) {
dto.setLatestNoticeTime(latestNotice.get(dto.getIdCard()));
@ -263,5 +277,34 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl<IcTripReportR
return result.getList();
}
/**
* 获取居民行程信息
*
* @param idCard
* @Param idCard
* @Return {@link List< TripListDTO >}
* @Author zhaoqifeng
* @Date 2022/3/30 10:31
*/
@Override
public List<TripListDTO> tripList(String customerId, String idCard) {
LambdaQueryWrapper<IcTripReportRecordEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcTripReportRecordEntity::getCustomerId, customerId);
wrapper.eq(IcTripReportRecordEntity::getIdCard, idCard);
wrapper.orderByDesc(IcTripReportRecordEntity::getArriveDate);
List<IcTripReportRecordEntity> list = baseDao.selectList(wrapper);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
return list.stream().map(item -> {
TripListDTO dto = new TripListDTO();
dto.setArrivalTime(DateUtils.format(item.getArriveDate(), DateUtils.DATE_PATTERN));
dto.setFromRegion(item.getSourceAddress());
dto.setLeaveTime(DateUtils.format(item.getLeaveDate(), DateUtils.DATE_PATTERN));
dto.setRemark(item.getRemark());
return dto;
}).collect(Collectors.toList());
}
}

21
epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.30__add_vaccine.sql

@ -0,0 +1,21 @@
CREATE TABLE `ic_resi_vaccine` (
`ID` varchar(64) NOT NULL COMMENT '唯一标识',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id customer.id',
`NAME` varchar(64) NOT NULL COMMENT '姓名',
`MOBILE` varchar(11) NOT NULL COMMENT '手机号',
`ID_CARD` varchar(18) NOT NULL COMMENT '身份证号',
`INOCULATE_TIME` datetime NOT NULL COMMENT '接种时间',
`INOCULATE_ADDRESS` varchar(32) NOT NULL DEFAULT '' COMMENT '接种地点',
`MANUFACTURER` varchar(32) NOT NULL DEFAULT '' COMMENT '疫苗厂家',
`FIELD1` varchar(32) DEFAULT NULL COMMENT '预留字段1',
`FIELD2` varchar(255) DEFAULT NULL COMMENT '预留字段2',
`FIELD3` varchar(255) DEFAULT NULL COMMENT '预留字段3',
`REMAEK` varchar(255) DEFAULT NULL COMMENT '备注',
`DEL_FLAG` int(11) NOT NULL DEFAULT '0' COMMENT '删除标识 0.未删除 1.已删除',
`REVISION` int(11) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(64) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='居民疫苗情况';

8
epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml

@ -47,11 +47,11 @@
<if test='null != sourceAddressCode and "" != sourceAddressCode'>
AND SOURCE_ADDRESS_CODE like concat(#{sourceAddressCode},'%')
</if>
<if test='null != startTime and "" != startTime'>
AND ARRIVE_DATE <![CDATA[ >= ]]> #{startTime}
<if test='null != startDate and "" != startDate'>
AND ARRIVE_DATE <![CDATA[ >= ]]> #{startDate}
</if>
<if test='null != endTime and "" != endTime'>
AND ARRIVE_DATE <![CDATA[ <= ]]> #{endTime}
<if test='null != endDate and "" != endDate'>
AND ARRIVE_DATE <![CDATA[ <= ]]> #{endDate}
</if>
ORDER BY
r.CREATED_TIME DESC

Loading…
Cancel
Save