Browse Source

Merge branch 'dev_epidemic_situation' into develop

dev
zhaoqifeng 3 years ago
parent
commit
7ad47d24a2
  1. 12
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java
  2. 67
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java
  3. 1
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcNoticeFormDTO.java
  4. 48
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java
  5. 1
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DemandUserResDTO.java
  6. 21
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionInfoDTO.java
  7. 48
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionResultDTO.java
  8. 20
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListDTO.java
  9. 21
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/TripListDTO.java
  10. 20
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccineListDTO.java
  11. 86
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java
  12. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java
  13. 20
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java
  14. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java
  15. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
  16. 15
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java
  17. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java
  18. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java
  19. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java
  20. 28
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  21. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java
  22. 27
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java
  23. 65
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java
  24. 33
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java
  25. 104
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  26. 59
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java
  27. 18
      epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml
  28. 64
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml
  29. 36
      epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml

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

@ -128,6 +128,7 @@ public class IcTripReportRecordDTO implements Serializable {
/** /**
* 创建时间 * 创建时间
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createdTime; private Date createdTime;
/** /**
@ -138,8 +139,19 @@ public class IcTripReportRecordDTO implements Serializable {
/** /**
* 更新时间 * 更新时间
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updatedTime; private Date updatedTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm") @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date reportTime; private Date reportTime;
/**
* pc行程上报-列表返参最近一次通知时间
*/
private Date latestNoticeTime;
/**
* pc行程上报-列表返参是否加入核酸检测关注名单true已加入false未加入
*/
private Boolean heSuanCheck;
} }

67
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java

@ -0,0 +1,67 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/3/29 14:17
*/
@NoArgsConstructor
@Data
public class EpidemicPreventionFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = 3610567618492110219L;
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 小区ID
*/
private String neighborId;
/**
* 楼栋ID
*/
private String buildingId;
/**
* 单元ID
*/
private String unitId;
/**
* 房屋ID
*/
private String houseId;
/**
* 姓名
*/
private String name;
/**
* 手机
*/
private String mobile;
/**
* 身份证
*/
private String idCard;
/**
* 疫苗接种次数
*/
private Integer vaccineCount;
/**
* 核酸检测次数
*/
private Integer natCount;
}

1
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcNoticeFormDTO.java

@ -16,6 +16,7 @@ import java.io.Serializable;
public class IcNoticeFormDTO extends PageFormDTO implements Serializable { public class IcNoticeFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = 7392894573654015338L; private static final long serialVersionUID = 7392894573654015338L;
private String customerId; private String customerId;
private String noticeId;
@NotBlank(message = "身份证号不能为空", groups = DefaultGroup.class) @NotBlank(message = "身份证号不能为空", groups = DefaultGroup.class)
private String idCard; private String idCard;
} }

48
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java

@ -0,0 +1,48 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class PageTripReportFormDTO extends PageFormDTO implements Serializable {
/**
* 姓名
*/
private String name;
/**
* 手机号
*/
private String mobile;
/**
* 身份证号
*/
private String idCard;
/**
* 来源地区编码
*/
private String sourceAddressCode;
/**
* 来到本地时间
*/
private Date startDate;
private Date endDate;
/**
* token里设置
*/
private String customerId;
private String userId;
/**
* 工作人员所属组织id
*/
private String agencyId;
}

1
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DemandUserResDTO.java

@ -12,4 +12,5 @@ public class DemandUserResDTO implements Serializable {
private String label; private String label;
private String gridId; private String gridId;
private String idCard; private String idCard;
private String agencyId;
} }

21
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionInfoDTO.java

@ -0,0 +1,21 @@
package com.epmet.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/3/29 16:19
*/
@NoArgsConstructor
@Data
public class EpidemicPreventionInfoDTO implements Serializable {
private static final long serialVersionUID = -1845197091484928L;
private List<NatListDTO> natList;
private List<VaccineListDTO> vaccineList;
private List<TripListDTO> tripList;
}

48
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionResultDTO.java

@ -0,0 +1,48 @@
package com.epmet.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/3/29 14:22
*/
@NoArgsConstructor
@Data
public class EpidemicPreventionResultDTO implements Serializable {
private static final long serialVersionUID = -1901847880985531089L;
private String id;
/**
* 姓名
*/
private String name;
/**
* 所属网格
*/
private String gridId;
private String gridName;
/**
* 所属家庭
*/
private String homeId;
private String houseName;
/**
* 手机号
*/
private String mobile;
/**
* 身份证
*/
private String idCard;
/**
* 疫苗接种次数
*/
private Double vaccineCount;
/**
* 核酸检测次数
*/
private Double natCount;
}

20
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/3/29 16:19
*/
@NoArgsConstructor
@Data
public class NatListDTO implements Serializable {
private static final long serialVersionUID = 6294272007213038642L;
private String testTime;
private String address;
private String result;
}

21
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/TripListDTO.java

@ -0,0 +1,21 @@
package com.epmet.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/3/29 16:22
*/
@NoArgsConstructor
@Data
public class TripListDTO implements Serializable {
private String fromRegion;
private String arrivalTime;
private String leaveTime;
private String noticeTime;
private String remark;
}

20
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccineListDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/3/29 16:20
*/
@NoArgsConstructor
@Data
public class VaccineListDTO implements Serializable {
private static final long serialVersionUID = 182173953023413061L;
private String vaccinateTime;
private String manufactor;
private String address;
}

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

@ -0,0 +1,86 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.EpidemicPreventionFormDTO;
import com.epmet.dto.result.EpidemicPreventionInfoDTO;
import com.epmet.dto.result.EpidemicPreventionResultDTO;
import com.epmet.service.IcResiUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 用户基础信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-26
*/
@Slf4j
@RestController
@RequestMapping("epidemicPrevention")
public class IcEpidemicPreventionController{
@Resource
private IcResiUserService icResiUserService;
/**
* 居民防疫信息查询
* @Param tokenDto
* @Param formDTO
* @Return {@link Result< PageData<EpidemicPreventionResultDTO>>}
* @Author zhaoqifeng
* @Date 2022/3/29 14:25
*/
@PostMapping("page")
public Result<PageData<EpidemicPreventionResultDTO>> search(@LoginUser TokenDto tokenDto, @RequestBody EpidemicPreventionFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
PageData<EpidemicPreventionResultDTO> result = icResiUserService.epidemicPreventionList(formDTO);
return new Result<PageData<EpidemicPreventionResultDTO>>().ok(result);
}
/**
* 居民防疫信息详情
* @Param formDTO
* @Return {@link Result< EpidemicPreventionResultDTO>}
* @Author zhaoqifeng
* @Date 2022/3/29 16:13
*/
@PostMapping("detail")
public Result<EpidemicPreventionResultDTO> detail(@RequestBody EpidemicPreventionFormDTO formDTO) {
EpidemicPreventionResultDTO result = icResiUserService.getEpidemicPreventionDetail(formDTO);
return new Result<EpidemicPreventionResultDTO>().ok(result);
}
@PostMapping("info")
public Result<EpidemicPreventionInfoDTO> info(@RequestBody EpidemicPreventionFormDTO formDTO) {
EpidemicPreventionInfoDTO result = icResiUserService.getEpidemicPreventionInfo(formDTO);
return new Result<EpidemicPreventionInfoDTO>().ok(result);
}
}

6
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java

@ -38,9 +38,9 @@ public class IcNoticeController {
return new Result<PageData<IcNoticeDTO>>().ok(page); return new Result<PageData<IcNoticeDTO>>().ok(page);
} }
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) @RequestMapping(method = {RequestMethod.POST,RequestMethod.GET})
public Result<IcNoticeDTO> get(@PathVariable("id") String id){ public Result<IcNoticeDTO> get(@RequestBody IcNoticeFormDTO formDTO){
IcNoticeDTO data = icNoticeService.get(id); IcNoticeDTO data = icNoticeService.get(formDTO.getNoticeId());
return new Result<IcNoticeDTO>().ok(data); return new Result<IcNoticeDTO>().ok(data);
} }

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

@ -15,12 +15,12 @@ import com.epmet.constant.IcResiUserConstant;
import com.epmet.dto.IcTripReportRecordDTO; import com.epmet.dto.IcTripReportRecordDTO;
import com.epmet.dto.form.IcTripReportFormDTO; import com.epmet.dto.form.IcTripReportFormDTO;
import com.epmet.dto.form.MyReportedTripFormDTO; import com.epmet.dto.form.MyReportedTripFormDTO;
import com.epmet.dto.form.PageTripReportFormDTO;
import com.epmet.service.IcTripReportRecordService; import com.epmet.service.IcTripReportRecordService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
@ -36,9 +36,18 @@ public class IcTripReportRecordController {
@Autowired @Autowired
private IcTripReportRecordService icTripReportRecordService; private IcTripReportRecordService icTripReportRecordService;
/**
* pc: 行程上报-列表
* @param tokenDto
* @param formDTO
* @return
*/
@RequestMapping("page") @RequestMapping("page")
public Result<PageData<IcTripReportRecordDTO>> page(@RequestParam Map<String, Object> params){ public Result<PageData<IcTripReportRecordDTO>> page(@LoginUser TokenDto tokenDto,@RequestBody PageTripReportFormDTO formDTO){
PageData<IcTripReportRecordDTO> page = icTripReportRecordService.page(params); formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(PageFormDTO.AddUserInternalGroup.class);
PageData<IcTripReportRecordDTO> page = icTripReportRecordService.page(formDTO);
return new Result<PageData<IcTripReportRecordDTO>>().ok(page); return new Result<PageData<IcTripReportRecordDTO>>().ok(page);
} }
@ -48,6 +57,11 @@ public class IcTripReportRecordController {
return new Result<IcTripReportRecordDTO>().ok(data); return new Result<IcTripReportRecordDTO>().ok(data);
} }
/**
* pc: 行程上报-新增
* @param dto
* @return
*/
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("save") @PostMapping("save")
public Result save(@RequestBody IcTripReportRecordDTO dto){ public Result save(@RequestBody IcTripReportRecordDTO dto){

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

@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* 疫情特别关注 * 疫情特别关注
@ -52,4 +53,12 @@ public interface IcEpidemicSpecialAttentionDao extends BaseDao<IcEpidemicSpecial
*/ */
List<String> getExistList(@Param("attentionType")Integer attentionType,@Param("list")List<String> list); List<String> getExistList(@Param("attentionType")Integer attentionType,@Param("list")List<String> list);
/**
* 返回idCardSet中已经关注的身份证号
*
* @param idCardSet
* @param attentionType
* @return
*/
List<String> getIdCardList(@Param("customerId") String customerId,@Param("idCardSet") Set<String> idCardSet, @Param("attentionType") Integer attentionType);
} }

10
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java

@ -20,6 +20,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.commons.tools.dto.result.OptionDataResultDTO; import com.epmet.commons.tools.dto.result.OptionDataResultDTO;
import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.form.EpidemicPreventionFormDTO;
import com.epmet.dto.form.ResiUserQueryValueDTO; import com.epmet.dto.form.ResiUserQueryValueDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcResiUserEntity;
@ -271,4 +272,13 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
*/ */
List<String> getExistUserByHouseIds(@Param("ids") List<String> ids); List<String> getExistUserByHouseIds(@Param("ids") List<String> ids);
/**
* 居民防疫信息查询
* @Param formDTO
* @Return {@link List< EpidemicPreventionResultDTO>}
* @Author zhaoqifeng
* @Date 2022/3/29 14:52
*/
List<EpidemicPreventionResultDTO> getEpidemicPreventionList(EpidemicPreventionFormDTO formDTO);
} }

15
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java

@ -2,6 +2,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcTripReportRecordDTO; import com.epmet.dto.IcTripReportRecordDTO;
import com.epmet.dto.form.PageTripReportFormDTO;
import com.epmet.entity.IcTripReportRecordEntity; import com.epmet.entity.IcTripReportRecordEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -17,5 +18,19 @@ import java.util.List;
@Mapper @Mapper
public interface IcTripReportRecordDao extends BaseDao<IcTripReportRecordEntity> { public interface IcTripReportRecordDao extends BaseDao<IcTripReportRecordEntity> {
/**
* 居民端小程序我的上报
* @param userId
* @param customerId
* @param idCard
* @return
*/
List<IcTripReportRecordDTO> selectMyReported(@Param("userId") String userId, @Param("customerId") String customerId, @Param("idCard") String idCard); List<IcTripReportRecordDTO> selectMyReported(@Param("userId") String userId, @Param("customerId") String customerId, @Param("idCard") String idCard);
/**
* pc: 行程上报-列表
* @param formDTO
* @return
*/
List<IcTripReportRecordDTO> pageList(PageTripReportFormDTO formDTO);
} }

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

@ -10,6 +10,7 @@ import com.epmet.entity.IcEpidemicSpecialAttentionEntity;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* 疫情特别关注 * 疫情特别关注
@ -111,4 +112,11 @@ public interface IcEpidemicSpecialAttentionService extends BaseService<IcEpidemi
* @date 2022/3/28 13:51 * @date 2022/3/28 13:51
*/ */
void cancelAttention(CancelAttentionPackageFormDTO formDTO); void cancelAttention(CancelAttentionPackageFormDTO formDTO);
/**
* 传入身份证集合返回已经关注的身份证号列表
* @param idCardSet
* @return
*/
List<String> getHeSuanIdCardList(String customerId,Set<String> idCardSet);
} }

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

@ -6,6 +6,7 @@ import com.epmet.dto.IcNatDTO;
import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.AddIcNatFormDTO;
import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.form.MyNatListFormDTO;
import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.MyNatListResultDTO;
import com.epmet.dto.result.NatListDTO;
import com.epmet.dto.result.NatListResultDTO; import com.epmet.dto.result.NatListResultDTO;
import com.epmet.entity.IcNatEntity; import com.epmet.entity.IcNatEntity;
@ -68,4 +69,13 @@ public interface IcNatService extends BaseService<IcNatEntity> {
* @param filePath * @param filePath
*/ */
void execAsyncExcelImport(Path filePath, String importTaskId); void execAsyncExcelImport(Path filePath, String importTaskId);
/**
* 核酸检测信息
* @Param idCard
* @Return {@link List<NatListDTO>}
* @Author zhaoqifeng
* @Date 2022/3/29 16:29
*/
List<NatListDTO> getNatList(String idCard);
} }

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

@ -7,8 +7,10 @@ import com.epmet.dto.form.IcNoticeFormDTO;
import com.epmet.dto.form.SendNoticeFormDTO; import com.epmet.dto.form.SendNoticeFormDTO;
import com.epmet.entity.IcNoticeEntity; import com.epmet.entity.IcNoticeEntity;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* 防疫通知 * 防疫通知
@ -96,4 +98,11 @@ public interface IcNoticeService extends BaseService<IcNoticeEntity> {
* @Date 2022/3/28 15:43 * @Date 2022/3/28 15:43
*/ */
IcNoticeDTO getNotice(String customerId, String idCard); IcNoticeDTO getNotice(String customerId, String idCard);
/**
* 根据身份证号查询最近一次通知时间
* @param idCardSet
* @return
*/
Map<String, Date> getUserLatestNoticeTime(String customerId,Set<String> idCardSet);
} }

28
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java

@ -216,4 +216,32 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
* @date 2022/3/2 10:32 上午 * @date 2022/3/2 10:32 上午
*/ */
List<String> getExistUserByHouseIds(List<String> ids); List<String> getExistUserByHouseIds(List<String> ids);
/**
* 居民防疫信息查询
*
* @Param formDTO
* @Return {@link PageData< EpidemicPreventionResultDTO>}
* @Author zhaoqifeng
* @Date 2022/3/29 14:27
*/
PageData<EpidemicPreventionResultDTO> epidemicPreventionList(EpidemicPreventionFormDTO formDTO);
/**
* 居民防疫信息详情
* @Param formDTO
* @Return {@link EpidemicPreventionResultDTO}
* @Author zhaoqifeng
* @Date 2022/3/29 15:16
*/
EpidemicPreventionResultDTO getEpidemicPreventionDetail(EpidemicPreventionFormDTO formDTO);
/**
* 居民防疫信息详情:核酸疫苗行程
* @Param formDTO
* @Return {@link EpidemicPreventionInfoDTO}
* @Author zhaoqifeng
* @Date 2022/3/29 16:25
*/
EpidemicPreventionInfoDTO getEpidemicPreventionInfo(EpidemicPreventionFormDTO formDTO);
} }

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

@ -5,6 +5,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcTripReportRecordDTO; import com.epmet.dto.IcTripReportRecordDTO;
import com.epmet.dto.form.IcTripReportFormDTO; import com.epmet.dto.form.IcTripReportFormDTO;
import com.epmet.dto.form.MyReportedTripFormDTO; import com.epmet.dto.form.MyReportedTripFormDTO;
import com.epmet.dto.form.PageTripReportFormDTO;
import com.epmet.entity.IcTripReportRecordEntity; import com.epmet.entity.IcTripReportRecordEntity;
import java.util.List; import java.util.List;
@ -19,14 +20,14 @@ import java.util.Map;
public interface IcTripReportRecordService extends BaseService<IcTripReportRecordEntity> { public interface IcTripReportRecordService extends BaseService<IcTripReportRecordEntity> {
/** /**
* 默认分页 * pc行程上报-列表
* *
* @param params * @param formDTO
* @return PageData<IcTripReportRecordDTO> * @return PageData<IcTripReportRecordDTO>
* @author generator * @author generator
* @date 2022-03-25 * @date 2022-03-25
*/ */
PageData<IcTripReportRecordDTO> page(Map<String, Object> params); PageData<IcTripReportRecordDTO> page(PageTripReportFormDTO formDTO);
/** /**
* 默认查询 * 默认查询

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

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
@ -12,10 +13,11 @@ import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; 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.AgencyInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IcEpidemicSpecialAttentionDao; import com.epmet.dao.IcEpidemicSpecialAttentionDao;
import com.epmet.dto.IcEpidemicSpecialAttentionDTO; import com.epmet.dto.IcEpidemicSpecialAttentionDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.CancelAttentionPackageFormDTO;
import com.epmet.dto.form.VaccinationAddFormDTO;
import com.epmet.dto.form.VaccinationListFormDTO;
import com.epmet.dto.result.VaccinationListResultDTO; import com.epmet.dto.result.VaccinationListResultDTO;
import com.epmet.entity.IcEpidemicSpecialAttentionEntity; import com.epmet.entity.IcEpidemicSpecialAttentionEntity;
import com.epmet.service.IcEpidemicSpecialAttentionService; import com.epmet.service.IcEpidemicSpecialAttentionService;
@ -23,14 +25,10 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -216,4 +214,19 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
} }
} }
/**
* 传入身份证集合返回已经关注的身份证号列表
*
* @param idCardSet
* @return
*/
@Override
public List<String> getHeSuanIdCardList(String customerId,Set<String> idCardSet) {
if(CollectionUtils.isEmpty(idCardSet)){
return new ArrayList<>();
}
//关注类型,核酸检测:2,疫苗接种:1
return baseDao.getIdCardList(customerId,idCardSet,NumConstant.TWO);
}
} }

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

@ -1,11 +1,9 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
@ -18,23 +16,13 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; 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.AgencyInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.FileUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constants.ImportTaskConstants; import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcNatDao; import com.epmet.dao.IcNatDao;
import com.epmet.dto.IcNatDTO; import com.epmet.dto.IcNatDTO;
import com.epmet.dto.IcNoticeDTO; import com.epmet.dto.IcNoticeDTO;
import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.*;
import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.result.*;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.form.MyNatListFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.dto.form.SendNoticeFormDTO;
import com.epmet.dto.result.MyNatListResultDTO;
import com.epmet.dto.result.NatListResultDTO;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.entity.IcNatEntity; import com.epmet.entity.IcNatEntity;
import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.excel.data.IcNatImportExcelData;
import com.epmet.excel.handler.IcNatExcelImportListener; import com.epmet.excel.handler.IcNatExcelImportListener;
@ -47,11 +35,9 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.entity.ContentType; import org.apache.http.entity.ContentType;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
@ -59,15 +45,15 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.commons.CommonsMultipartFile; import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.util.ArrayList;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.Arrays; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
/** /**
* 核酸上报记录 * 核酸上报记录
@ -344,6 +330,43 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
} }
/**
* 核酸检测信息
*
* @param idCard
* @Param idCard
* @Return {@link List< NatListDTO >}
* @Author zhaoqifeng
* @Date 2022/3/29 16:29
*/
@Override
public List<NatListDTO> getNatList(String idCard) {
LambdaQueryWrapper<IcNatEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcNatEntity::getIdCard, idCard);
wrapper.orderByDesc(IcNatEntity::getNatTime);
List<IcNatEntity> list = baseDao.selectList(wrapper);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
return list.stream().map(item -> {
NatListDTO dto = new NatListDTO();
dto.setAddress(item.getNatAddress());
dto.setTestTime(DateUtils.format(item.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE));
switch (item.getNatResult())
{
case NumConstant.ZERO_STR:
dto.setResult("阴性");
break;
case NumConstant.ONE_STR:
dto.setResult("阳性");
break;
default:
dto.setResult("未知");
}
return dto;
}).collect(Collectors.toList());
}
/** /**
* 批量持久化 * 批量持久化
* @param entities * @param entities

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

@ -29,10 +29,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -161,7 +158,7 @@ public class IcNoticeServiceImpl extends BaseServiceImpl<IcNoticeDao, IcNoticeEn
messageFormDTO.setTargetId(item.getId()); messageFormDTO.setTargetId(item.getId());
msgList.add(messageFormDTO); msgList.add(messageFormDTO);
} }
//TODO //TODO 短信消息
if (StringUtils.isNotBlank(item.getMobile())) { if (StringUtils.isNotBlank(item.getMobile())) {
ProjectSendMsgFormDTO sms = new ProjectSendMsgFormDTO(); ProjectSendMsgFormDTO sms = new ProjectSendMsgFormDTO();
sms.setCustomerId(item.getCustomerId()); sms.setCustomerId(item.getCustomerId());
@ -171,11 +168,12 @@ public class IcNoticeServiceImpl extends BaseServiceImpl<IcNoticeDao, IcNoticeEn
smsList.add(sms); smsList.add(sms);
} }
}); });
//发送小程序消息
Result result = messageFeignClient.saveUserMessageList(msgList); Result result = messageFeignClient.saveUserMessageList(msgList);
if (!result.success()) { if (!result.success()) {
log.error("发送小程序消息失败" + JSON.toJSONString(result)); log.error("发送小程序消息失败" + JSON.toJSONString(result));
} }
//TODO 发送短信
} }
/** /**
@ -202,4 +200,27 @@ public class IcNoticeServiceImpl extends BaseServiceImpl<IcNoticeDao, IcNoticeEn
return result; return result;
} }
/**
* 根据身份证号查询最近一次通知时间
*
* @param idCardSet
* @return
*/
@Override
public Map<String, Date> getUserLatestNoticeTime(String customerId,Set<String> idCardSet) {
Map<String, Date> map=new HashMap<>();
for(String idCard:idCardSet) {
LambdaQueryWrapper<IcNoticeEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcNoticeEntity::getCustomerId, customerId);
wrapper.eq(IcNoticeEntity::getIdCard, idCard);
wrapper.orderByDesc(IcNoticeEntity::getCreatedTime);
wrapper.last("limit 1");
IcNoticeEntity entity = baseDao.selectOne(wrapper);
if(null!=entity){
map.put(idCard,entity.getCreatedTime());
}
}
return map;
}
} }

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

@ -71,6 +71,7 @@ import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.sql.Date; import java.sql.Date;
@ -117,6 +118,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
private IcUserTransferRecordService icUserTransferRecordService; private IcUserTransferRecordService icUserTransferRecordService;
@Autowired @Autowired
private RedisTemplate redisTemplate; private RedisTemplate redisTemplate;
@Resource
private IcNatService icNatService;
private QueryWrapper<IcResiUserEntity> getWrapper(Map<String, Object> params){ private QueryWrapper<IcResiUserEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP); String id = (String)params.get(FieldConstant.ID_HUMP);
@ -1230,6 +1233,107 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
return baseDao.getExistUserByHouseIds(ids); return baseDao.getExistUserByHouseIds(ids);
} }
/**
* 居民防疫信息查询
*
* @param formDTO
* @Param formDTO
* @Return {@link PageData< EpidemicPreventionResultDTO>}
* @Author zhaoqifeng
* @Date 2022/3/29 14:27
*/
@Override
public PageData<EpidemicPreventionResultDTO> epidemicPreventionList(EpidemicPreventionFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<EpidemicPreventionResultDTO> list = baseDao.getEpidemicPreventionList(formDTO);
PageInfo<EpidemicPreventionResultDTO> pageInfo = new PageInfo<>(list);
if (CollectionUtils.isNotEmpty(list)) {
//查询网格名称
List<String> gridIds = list.stream().map(EpidemicPreventionResultDTO::getGridId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
Result<List<AllGridsByUserIdResultDTO>> gridInfoRes = govOrgOpenFeignClient.getGridListByGridIds(gridIds);
List<AllGridsByUserIdResultDTO> gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>();
Map<String, AllGridsByUserIdResultDTO> gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity()));
//查询房子名称
Set<String> houseIds = new HashSet<>();
List<String> houseIdList = list.stream().map(EpidemicPreventionResultDTO::getHomeId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
houseIds.addAll(houseIdList);
Result<List<HouseInfoDTO>> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(houseIds,formDTO.getCustomerId());
List<HouseInfoDTO> houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>();
Map<String, HouseInfoDTO> houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity()));
list.forEach(item -> {
if (gridInfoMap.containsKey(item.getGridId()) && null != gridInfoMap.get(item.getGridId())) {
item.setGridName(gridInfoMap.get(item.getGridId()).getGridName());
}
if (houseInfoMap.containsKey(item.getHomeId()) && null != houseInfoMap.get(item.getHomeId())) {
HouseInfoDTO houseInfoDTO = houseInfoMap.get(item.getHomeId());
item.setHomeId(houseInfoDTO.getAllName());
}
});
}
return new PageData<>(list, pageInfo.getTotal());
}
/**
* 居民防疫信息详情
*
* @param formDTO
* @Param formDTO
* @Return {@link EpidemicPreventionResultDTO}
* @Author zhaoqifeng
* @Date 2022/3/29 15:16
*/
@Override
public EpidemicPreventionResultDTO getEpidemicPreventionDetail(EpidemicPreventionFormDTO formDTO) {
EpidemicPreventionResultDTO result = new EpidemicPreventionResultDTO();
if (StringUtils.isBlank(formDTO.getId())) {
return result;
}
List<EpidemicPreventionResultDTO> list = baseDao.getEpidemicPreventionList(formDTO);
if (CollectionUtils.isNotEmpty(list)) {
result = list.get(NumConstant.ZERO);
//查询网格名称
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(result.getGridId());
if (null != gridInfo) {
result.setGridName(gridInfo.getGridName());
}
//查询房子名称
Set<String> houseIds = new HashSet<>();
houseIds.add(result.getHomeId());
Result<List<HouseInfoDTO>> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(new HashSet<>(houseIds),formDTO.getCustomerId());
List<HouseInfoDTO> houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>();
Map<String, HouseInfoDTO> houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity()));
if (houseInfoMap.containsKey(result.getHomeId()) && null != houseInfoMap.get(result.getHomeId())) {
HouseInfoDTO houseInfoDTO = houseInfoMap.get(result.getHomeId());
result.setHomeId(houseInfoDTO.getAllName());
}
}
return result;
}
/**
* 居民防疫信息详情:核酸疫苗行程
*
* @param formDTO
* @Param formDTO
* @Return {@link EpidemicPreventionInfoDTO}
* @Author zhaoqifeng
* @Date 2022/3/29 16:25
*/
@Override
public EpidemicPreventionInfoDTO getEpidemicPreventionInfo(EpidemicPreventionFormDTO formDTO) {
EpidemicPreventionInfoDTO result = new EpidemicPreventionInfoDTO();
IcResiUserEntity icResiUser = baseDao.selectById(formDTO.getId());
if (null != icResiUser) {
//核酸检测
List<NatListDTO> natList = icNatService.getNatList(icResiUser.getIdCard());
result.setNatList(natList);
//TODO 疫苗接种
//TODO 行程信息
}
return result;
}
/** /**
* @Description 居民分类 网格名 处理 * @Description 居民分类 网格名 处理
* @param list * @param list

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

@ -1,13 +1,14 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
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.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
@ -16,18 +17,22 @@ import com.epmet.dao.UserBaseInfoDao;
import com.epmet.dto.IcTripReportRecordDTO; import com.epmet.dto.IcTripReportRecordDTO;
import com.epmet.dto.form.IcTripReportFormDTO; import com.epmet.dto.form.IcTripReportFormDTO;
import com.epmet.dto.form.MyReportedTripFormDTO; import com.epmet.dto.form.MyReportedTripFormDTO;
import com.epmet.dto.form.PageTripReportFormDTO;
import com.epmet.entity.IcTripReportRecordEntity; import com.epmet.entity.IcTripReportRecordEntity;
import com.epmet.service.IcEpidemicSpecialAttentionService;
import com.epmet.service.IcNoticeService;
import com.epmet.service.IcTripReportRecordService; import com.epmet.service.IcTripReportRecordService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.*;
import java.util.List; import java.util.stream.Collectors;
import java.util.Map;
/** /**
* 行程上报信息 * 行程上报信息
@ -39,14 +44,46 @@ import java.util.Map;
public class IcTripReportRecordServiceImpl extends BaseServiceImpl<IcTripReportRecordDao, IcTripReportRecordEntity> implements IcTripReportRecordService { public class IcTripReportRecordServiceImpl extends BaseServiceImpl<IcTripReportRecordDao, IcTripReportRecordEntity> implements IcTripReportRecordService {
@Autowired @Autowired
private UserBaseInfoDao userBaseInfoDao; private UserBaseInfoDao userBaseInfoDao;
//关注
@Autowired
private IcEpidemicSpecialAttentionService epidemicSpecialAttentionService;
//通知
@Autowired
private IcNoticeService icNoticeService;
/**
* pc: 行程上报-列表
* @param formDTO
* @return
*/
@Override @Override
public PageData<IcTripReportRecordDTO> page(Map<String, Object> params) { public PageData<IcTripReportRecordDTO> page(PageTripReportFormDTO formDTO) {
IPage<IcTripReportRecordEntity> page = baseDao.selectPage( //1.获取工作人员缓存信息
getPage(params, FieldConstant.CREATED_TIME, false), CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
getWrapper(params) if (null == staffInfo) {
); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询工作人员缓存信息异常", EpmetErrorCode.SERVER_ERROR.getMsg());
return getPageData(page, IcTripReportRecordDTO.class); }
formDTO.setAgencyId(staffInfo.getAgencyId());
//2.按条件查询业务数据
PageInfo<IcTripReportRecordDTO> data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage())
.doSelectPageInfo(() -> baseDao.pageList(formDTO));
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);
for (IcTripReportRecordDTO dto : list) {
//默认未加入
dto.setHeSuanCheck(false);
if (CollectionUtils.isNotEmpty(gzIdCardList) && gzIdCardList.contains(dto.getIdCard())) {
dto.setHeSuanCheck(true);
}
if (MapUtils.isNotEmpty(latestNotice) && latestNotice.containsKey(dto.getIdCard())) {
dto.setLatestNoticeTime(latestNotice.get(dto.getIdCard()));
}
}
}
return new PageData(list, data.getTotal());
} }
@Override @Override

18
epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml

@ -91,5 +91,21 @@
) )
</select> </select>
<select id="getIdCardList" parameterType="map" resultType="java.lang.String">
SELECT
DISTINCT
ID_CARD
FROM
ic_epidemic_special_attention
WHERE
DEL_FLAG = 0
AND IS_ATTENTION = '1'
AND ATTENTION_TYPE = #{attentionType}
AND CUSTOMER_ID=#{customerId}
AND ID_CARD IN (
<foreach collection="idCardSet" item="idCard" separator=",">
#{idCard}
</foreach>
)
</select>
</mapper> </mapper>

64
epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

@ -301,7 +301,8 @@
IFNULL(ir.MOBILE,'') AS demandUserMobile, IFNULL(ir.MOBILE,'') AS demandUserMobile,
concat(ir.`NAME`,'(',ir.MOBILE,')')as label, concat(ir.`NAME`,'(',ir.MOBILE,')')as label,
ir.grid_id as gridId, ir.grid_id as gridId,
ir.ID_CARD as idCard ir.ID_CARD as idCard,
ir.AGENCY_ID as agencyId
FROM FROM
ic_resi_user ir ic_resi_user ir
WHERE WHERE
@ -641,4 +642,65 @@
</foreach> </foreach>
) )
</select> </select>
<select id="getEpidemicPreventionList" resultType="com.epmet.dto.result.EpidemicPreventionResultDTO">
SELECT * FROM
(SELECT
ID,
`NAME`,
GRID_ID,
HOME_ID,
MOBILE,
a.ID_CARD,
IFNULL( b.count, 0 ) AS vaccineCount,
IFNULL( c.count, 0 ) AS natCount
FROM
ic_resi_user a
LEFT JOIN ( SELECT ID_CARD, count( id ) AS count FROM ic_resi_vaccine WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} GROUP BY ID_CARD ) b ON a.ID_CARD = b.ID_CARD
LEFT JOIN ( SELECT ID_CARD, count( id ) AS count FROM ic_nat WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} GROUP BY ID_CARD ) c ON a.ID_CARD = c.ID_CARD
WHERE
a.DEL_FLAG = '0'
<if test="customerId != null and customerId != ''">
AND a.CUSTOMER_ID = #{customerId}
</if>
<if test="agencyId != null and agencyId != ''">
AND (AGENCY_ID = #{agencyId} OR PIDS LIKE concat( '%', #{agencyId}, '%' ))
</if>
<if test="id != null and id != ''">
AND ID = #{id}
</if>
<if test="gridId != null and gridId != ''">
AND GRID_ID = #{gridId}
</if>
<if test="neighborId != null and neighborId != ''">
AND NEIGHBOR_HOOD_ID = #{neighborId}
</if>
<if test="buildingId != null and buildingId != ''">
AND BUILD_ID = #{buildingId}
</if>
<if test="unitId != null and unitId != ''">
AND UNIT_ID = #{unitId}
</if>
<if test="houseId != null and houseId != ''">
AND HOME_ID = #{houseId}
</if>
<if test="name != null and name != ''">
AND `NAME` LIKE concat( '%', #{name}, '%' )
</if>
<if test="mobile != null and mobile != ''">
AND MOBILE LIKE concat( '%', #{mobile}, '%' )
</if>
<if test="idCard != null and idCard != ''">
AND ID_CARD LIKE concat( '%', #{idCard}, '%' )
</if>
) t
WHERE
1=1
<if test="vaccineCount != null">
AND vaccineCount = #{vaccineCount}
</if>
<if test="natCount != null">
AND natCount = #{natCount}
</if>
ORDER BY `NAME`
</select>
</mapper> </mapper>

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

@ -3,6 +3,7 @@
<mapper namespace="com.epmet.dao.IcTripReportRecordDao"> <mapper namespace="com.epmet.dao.IcTripReportRecordDao">
<!-- 居民端小程序:我的上报 -->
<select id="selectMyReported" parameterType="map" resultType="com.epmet.dto.IcTripReportRecordDTO"> <select id="selectMyReported" parameterType="map" resultType="com.epmet.dto.IcTripReportRecordDTO">
SELECT SELECT
r.*, r.*,
@ -21,5 +22,38 @@
r.CREATED_TIME DESC r.CREATED_TIME DESC
</select> </select>
<!-- pc: 行程上报-列表 -->
<select id="pageList" parameterType="com.epmet.dto.form.PageTripReportFormDTO" resultType="com.epmet.dto.IcTripReportRecordDTO">
SELECT
r.*,
r.CREATED_TIME AS reportTime
FROM
ic_trip_report_record r
WHERE
r.DEL_FLAG = '0'
AND r.CUSTOMER_ID = #{customerId}
<if test='null != agencyId and "" != agencyId'>
AND (AGENCY_ID = #{agencyId} OR pids like concat('%', #{agencyId}, '%'))
</if>
<if test='null != name and "" != name'>
AND NAME like concat('%',#{name},'%')
</if>
<if test='null != mobile and "" != mobile'>
AND MOBILE like concat('%',#{mobile},'%')
</if>
<if test='null != idCard and "" != idCard'>
AND ID_CARD like concat('%',#{idCard},'%')
</if>
<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>
<if test='null != endTime and "" != endTime'>
AND ARRIVE_DATE <![CDATA[ <= ]]> #{endTime}
</if>
ORDER BY
r.CREATED_TIME DESC
</select>
</mapper> </mapper>
Loading…
Cancel
Save