From ac471df96c5202c2278cb0a7ff30fe0214d1999b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 25 Mar 2022 15:20:33 +0800 Subject: [PATCH 001/129] =?UTF-8?q?/resi/mine/personalcenter/initinfo?= =?UTF-8?q?=E8=BF=94=E5=8F=82mobile=E3=80=81realName?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/resi/mine/dto/result/InitInfoResultDTO.java | 8 ++++++++ .../mine/service/impl/PersonalCenterServiceImpl.java | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/InitInfoResultDTO.java b/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/InitInfoResultDTO.java index 6ee30a91e4..36b860a3e9 100644 --- a/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/InitInfoResultDTO.java +++ b/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/InitInfoResultDTO.java @@ -45,4 +45,12 @@ public class InitInfoResultDTO implements Serializable { * 身份证号 */ private String idNum; + /** + * 姓名 + */ + private String realName; + /** + * 手机号 + */ + private String mobile; } diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/mine/service/impl/PersonalCenterServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/mine/service/impl/PersonalCenterServiceImpl.java index d3ba9d2b22..a508fffe31 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/mine/service/impl/PersonalCenterServiceImpl.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/mine/service/impl/PersonalCenterServiceImpl.java @@ -28,8 +28,8 @@ public class PersonalCenterServiceImpl implements PersonalCenterService { @Override public InitInfoResultDTO initInfo(TokenDto tokenDto) { - Result baseInfoResult = epmetUserOpenFeignClient.selectUserBaseInfo(tokenDto); - if (!baseInfoResult.success()) { + Result baseInfoResult = epmetUserOpenFeignClient.selectUserBaseInfo(tokenDto); + if (!baseInfoResult.success() || null == baseInfoResult.getData()) { throw new RenException(baseInfoResult.getCode(), baseInfoResult.getMsg()); } InitInfoResultDTO resultDTO = new InitInfoResultDTO(); @@ -41,6 +41,8 @@ public class PersonalCenterServiceImpl implements PersonalCenterService { resultDTO.setBuildingAddress(baseInfoResult.getData().getBuildingAddress()); resultDTO.setNickname(baseInfoResult.getData().getNickname()); resultDTO.setIdNum(baseInfoResult.getData().getIdNum()); + resultDTO.setMobile(baseInfoResult.getData().getMobile()); + resultDTO.setRealName(baseInfoResult.getData().getRealName()); return resultDTO; } From 308c9715eb01f3fab87cc56a255e90489a680d7c Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 25 Mar 2022 15:55:49 +0800 Subject: [PATCH 002/129] init --- .../com/epmet/dto/IcFollowUpRecordDTO.java | 89 ++++++++++++ .../com/epmet/dto/IcTripReportRecordDTO.java | 134 ++++++++++++++++++ .../IcFollowUpRecordController.java | 72 ++++++++++ .../IcTripReportRecordController.java | 72 ++++++++++ .../com/epmet/dao/IcFollowUpRecordDao.java | 16 +++ .../com/epmet/dao/IcTripReportRecordDao.java | 16 +++ .../epmet/entity/IcFollowUpRecordEntity.java | 59 ++++++++ .../entity/IcTripReportRecordEntity.java | 104 ++++++++++++++ .../epmet/excel/IcFollowUpRecordExcel.java | 60 ++++++++ .../epmet/excel/IcTripReportRecordExcel.java | 87 ++++++++++++ .../service/IcFollowUpRecordService.java | 78 ++++++++++ .../service/IcTripReportRecordService.java | 78 ++++++++++ .../impl/IcFollowUpRecordServiceImpl.java | 83 +++++++++++ .../impl/IcTripReportRecordServiceImpl.java | 83 +++++++++++ .../resources/mapper/IcFollowUpRecordDao.xml | 8 ++ .../mapper/IcTripReportRecordDao.xml | 8 ++ 16 files changed, 1047 insertions(+) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcFollowUpRecordDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcFollowUpRecordEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcFollowUpRecordExcel.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcTripReportRecordExcel.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcFollowUpRecordService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcFollowUpRecordDao.xml create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java new file mode 100644 index 0000000000..ae5c05bede --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java @@ -0,0 +1,89 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 随访记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Data +public class IcFollowUpRecordDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 0行程上报,1疫苗接种,2核酸检测 + */ + private String origin; + + /** + * 随访时间 + */ + private Date visitTime; + + /** + * 随访内容 + */ + private String content; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java new file mode 100644 index 0000000000..7c452c6e8f --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java @@ -0,0 +1,134 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 行程上报信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Data +public class IcTripReportRecordDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 用户id + */ + private String userId; + + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + */ + private String userType; + + /** + * 0:未加入;1:已加入 + */ + private Integer heSuanCheck; + + /** + * 最近一次通知时间 + */ + private Date latestNoticeTime; + + /** + * 现居地编码 + */ + private String presentAddressCode; + + /** + * 现居地名称eg:山东省青岛市黄岛区玫瑰山路社区 + */ + private String presentAddress; + + /** + * 详细地址 + */ + private String detailAddress; + + /** + * 来源地区编码 + */ + private String sourceAddressCode; + + /** + * 来源地区地址 + */ + private String sourceAddress; + + /** + * 到达日期 + */ + private Date arriveDate; + + /** + * 离开日期 + */ + private Date leaveDate; + + /** + * 备注信息 + */ + private String remark; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java new file mode 100644 index 0000000000..2e717fbe8d --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java @@ -0,0 +1,72 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.dto.IcFollowUpRecordDTO; +import com.epmet.service.IcFollowUpRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 随访记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@RestController +@RequestMapping("followup") +public class IcFollowUpRecordController { + + @Autowired + private IcFollowUpRecordService icFollowUpRecordService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icFollowUpRecordService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcFollowUpRecordDTO data = icFollowUpRecordService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcFollowUpRecordDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icFollowUpRecordService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcFollowUpRecordDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icFollowUpRecordService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icFollowUpRecordService.delete(ids); + return new Result(); + } + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java new file mode 100644 index 0000000000..9e3faa4bd2 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -0,0 +1,72 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.dto.IcTripReportRecordDTO; +import com.epmet.service.IcTripReportRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 行程上报信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@RestController +@RequestMapping("triprecord") +public class IcTripReportRecordController { + + @Autowired + private IcTripReportRecordService icTripReportRecordService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icTripReportRecordService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcTripReportRecordDTO data = icTripReportRecordService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcTripReportRecordDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icTripReportRecordService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcTripReportRecordDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icTripReportRecordService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icTripReportRecordService.delete(ids); + return new Result(); + } + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcFollowUpRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcFollowUpRecordDao.java new file mode 100644 index 0000000000..0117f48651 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcFollowUpRecordDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcFollowUpRecordEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 随访记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Mapper +public interface IcFollowUpRecordDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java new file mode 100644 index 0000000000..f6e54e8100 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcTripReportRecordEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 行程上报信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Mapper +public interface IcTripReportRecordDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcFollowUpRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcFollowUpRecordEntity.java new file mode 100644 index 0000000000..4d9e6de99e --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcFollowUpRecordEntity.java @@ -0,0 +1,59 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 随访记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_follow_up_record") +public class IcFollowUpRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 0行程上报,1疫苗接种,2核酸检测 + */ + private String origin; + + /** + * 随访时间 + */ + private Date visitTime; + + /** + * 随访内容 + */ + private String content; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java new file mode 100644 index 0000000000..6ca87717fa --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java @@ -0,0 +1,104 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 行程上报信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_trip_report_record") +public class IcTripReportRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 用户id + */ + private String userId; + + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + */ + private String userType; + + /** + * 0:未加入;1:已加入 + */ + private Integer heSuanCheck; + + /** + * 最近一次通知时间 + */ + private Date latestNoticeTime; + + /** + * 现居地编码 + */ + private String presentAddressCode; + + /** + * 现居地名称eg:山东省青岛市黄岛区玫瑰山路社区 + */ + private String presentAddress; + + /** + * 详细地址 + */ + private String detailAddress; + + /** + * 来源地区编码 + */ + private String sourceAddressCode; + + /** + * 来源地区地址 + */ + private String sourceAddress; + + /** + * 到达日期 + */ + private Date arriveDate; + + /** + * 离开日期 + */ + private Date leaveDate; + + /** + * 备注信息 + */ + private String remark; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcFollowUpRecordExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcFollowUpRecordExcel.java new file mode 100644 index 0000000000..8f3eb1ecc0 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcFollowUpRecordExcel.java @@ -0,0 +1,60 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 随访记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Data +public class IcFollowUpRecordExcel { + + @Excel(name = "主键ID") + private String id; + + @Excel(name = "客户Id") + private String customerId; + + @Excel(name = "姓名") + private String name; + + @Excel(name = "手机号") + private String mobile; + + @Excel(name = "身份证号") + private String idCard; + + @Excel(name = "0行程上报,1疫苗接种,2核酸检测") + private String origin; + + @Excel(name = "随访时间") + private Date visitTime; + + @Excel(name = "随访内容") + private String content; + + @Excel(name = "删除标识 1删除;0未删除") + private String delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcTripReportRecordExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcTripReportRecordExcel.java new file mode 100644 index 0000000000..c904a6c244 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcTripReportRecordExcel.java @@ -0,0 +1,87 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 行程上报信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Data +public class IcTripReportRecordExcel { + + @Excel(name = "主键ID") + private String id; + + @Excel(name = "客户Id") + private String customerId; + + @Excel(name = "姓名") + private String name; + + @Excel(name = "手机号") + private String mobile; + + @Excel(name = "身份证号") + private String idCard; + + @Excel(name = "用户id") + private String userId; + + @Excel(name = "居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other") + private String userType; + + @Excel(name = "0:未加入;1:已加入") + private Integer heSuanCheck; + + @Excel(name = "最近一次通知时间") + private Date latestNoticeTime; + + @Excel(name = "现居地编码") + private String presentAddressCode; + + @Excel(name = "现居地名称eg:山东省青岛市黄岛区玫瑰山路社区") + private String presentAddress; + + @Excel(name = "详细地址") + private String detailAddress; + + @Excel(name = "来源地区编码") + private String sourceAddressCode; + + @Excel(name = "来源地区地址") + private String sourceAddress; + + @Excel(name = "到达日期") + private Date arriveDate; + + @Excel(name = "离开日期") + private Date leaveDate; + + @Excel(name = "备注信息") + private String remark; + + @Excel(name = "删除标识 1删除;0未删除") + private String delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcFollowUpRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcFollowUpRecordService.java new file mode 100644 index 0000000000..7183ae1e4d --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcFollowUpRecordService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcFollowUpRecordDTO; +import com.epmet.entity.IcFollowUpRecordEntity; + +import java.util.List; +import java.util.Map; + +/** + * 随访记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +public interface IcFollowUpRecordService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-03-25 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-03-25 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcFollowUpRecordDTO + * @author generator + * @date 2022-03-25 + */ + IcFollowUpRecordDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-03-25 + */ + void save(IcFollowUpRecordDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-03-25 + */ + void update(IcFollowUpRecordDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-03-25 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java new file mode 100644 index 0000000000..3949fed1bc --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcTripReportRecordDTO; +import com.epmet.entity.IcTripReportRecordEntity; + +import java.util.List; +import java.util.Map; + +/** + * 行程上报信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +public interface IcTripReportRecordService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-03-25 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-03-25 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcTripReportRecordDTO + * @author generator + * @date 2022-03-25 + */ + IcTripReportRecordDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-03-25 + */ + void save(IcTripReportRecordDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-03-25 + */ + void update(IcTripReportRecordDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-03-25 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java new file mode 100644 index 0000000000..40d380278a --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java @@ -0,0 +1,83 @@ +package com.epmet.service.impl; + +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.dao.IcFollowUpRecordDao; +import com.epmet.dto.IcFollowUpRecordDTO; +import com.epmet.entity.IcFollowUpRecordEntity; +import com.epmet.service.IcFollowUpRecordService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 随访记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Service +public class IcFollowUpRecordServiceImpl extends BaseServiceImpl implements IcFollowUpRecordService { + + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcFollowUpRecordDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcFollowUpRecordDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcFollowUpRecordDTO get(String id) { + IcFollowUpRecordEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcFollowUpRecordDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcFollowUpRecordDTO dto) { + IcFollowUpRecordEntity entity = ConvertUtils.sourceToTarget(dto, IcFollowUpRecordEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcFollowUpRecordDTO dto) { + IcFollowUpRecordEntity entity = ConvertUtils.sourceToTarget(dto, IcFollowUpRecordEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java new file mode 100644 index 0000000000..c9d2c0326e --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -0,0 +1,83 @@ +package com.epmet.service.impl; + +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.dao.IcTripReportRecordDao; +import com.epmet.dto.IcTripReportRecordDTO; +import com.epmet.entity.IcTripReportRecordEntity; +import com.epmet.service.IcTripReportRecordService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 行程上报信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Service +public class IcTripReportRecordServiceImpl extends BaseServiceImpl implements IcTripReportRecordService { + + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcTripReportRecordDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcTripReportRecordDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcTripReportRecordDTO get(String id) { + IcTripReportRecordEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcTripReportRecordDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcTripReportRecordDTO dto) { + IcTripReportRecordEntity entity = ConvertUtils.sourceToTarget(dto, IcTripReportRecordEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcTripReportRecordDTO dto) { + IcTripReportRecordEntity entity = ConvertUtils.sourceToTarget(dto, IcTripReportRecordEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcFollowUpRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcFollowUpRecordDao.xml new file mode 100644 index 0000000000..a8710f4094 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcFollowUpRecordDao.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml new file mode 100644 index 0000000000..c4e619b1ec --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 0b6eef93dc843e249c118694c8d3068521a051bc Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Mar 2022 09:52:09 +0800 Subject: [PATCH 003/129] =?UTF-8?q?=E6=A0=B8=E9=85=B8=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcNatDTO.java | 120 ++++++++++++++++++ .../com/epmet/dto/form/AddIcNatFormDTO.java | 92 ++++++++++++++ .../com/epmet/controller/IcNatController.java | 89 +++++++++++++ .../src/main/java/com/epmet/dao/IcNatDao.java | 17 +++ .../java/com/epmet/entity/IcNatEntity.java | 90 +++++++++++++ .../java/com/epmet/service/IcNatService.java | 86 +++++++++++++ .../epmet/service/impl/IcNatServiceImpl.java | 94 ++++++++++++++ .../src/main/resources/mapper/IcNatDao.xml | 7 + 8 files changed, 595 insertions(+) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java new file mode 100644 index 0000000000..0a733f35ba --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java @@ -0,0 +1,120 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 核酸上报记录 + + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Data +public class IcNatDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 客户Id CUSTOMER.id + */ + private String customerId; + + /** + * 居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id + */ + private String agencyId; + + /** + * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 + */ + private String userId; + + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + */ + private String userType; + + /** + * 人员姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 检测时间,精确到分钟 + */ + private Date testingTime; + + /** + * 检测结果(0:阴性 1:阳性) + */ + private String testingResult; + + /** + * 检测地点 + */ + private String testingAddress; + + /** + * 文件名 + */ + private String fileName; + + /** + * 文件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) + */ + private String attachmentType; + + /** + * url地址 + */ + private String attachmentUrl; + + /** + * 删除标识 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java new file mode 100644 index 0000000000..8ed0f5da57 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -0,0 +1,92 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; + +/** + * @Description 核酸检测-上报核酸记录 + * @Author sun + */ +@Data +public class AddIcNatFormDTO implements Serializable { + private static final long serialVersionUID = 9156247659994638103L; + + public interface Nat extends CustomerClientShowGroup { + } + + /** + * 当前网格所属组织Id + */ + @NotBlank(message = "组织Id不能为空", groups = Nat.class) + private String agencyId; + /** + * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 + */ + private String userId; + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + */ + @NotBlank(message = "居民来源不能为空", groups = Nat.class) + private String userType; + /** + * 姓名 + */ + @NotBlank(message = "姓名不能为空", groups = Nat.class) + private String name; + /** + * 手机号 + */ + @NotBlank(message = "手机号不能为空", groups = Nat.class) + private String mobile; + /** + * 身份证号 + */ + @NotBlank(message = "身份证号不能为空", groups = Nat.class) + private String idCard; + /** + * 检测时间 + */ + @NotBlank(message = "检测时间不能为空", groups = Nat.class) + @JsonFormat(pattern="yyyy-MM-dd HH:mm") + private Date testingTime; + /** + * 检测结果 + */ + private String testingResult; + /** + * 检测地点 + */ + private String testingAddress; + /** + * 文件名 + */ + private String fileName; + /** + * 附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) + */ + private String attachmentType; + + /** + * 附件地址 + */ + private String attachmentUrl; + /** + * 通知渠道 0小程序通知,1短信通知,多选用逗号分隔(0,1) + */ + private String channel; + /** + * 通知内容 + */ + private String content; + + //token中信息 + private String staffId; + private String customerId; + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java new file mode 100644 index 0000000000..d1a08b471c --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -0,0 +1,89 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.aop.NoRepeatSubmit; +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.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.dto.IcNatDTO; +import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.service.IcNatService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 核酸上报记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@RestController +@RequestMapping("icNuclein") +public class IcNatController { + + @Autowired + private IcNatService icNucleinService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params) { + PageData page = icNucleinService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id) { + IcNatDTO data = icNucleinService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcNatDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icNucleinService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcNatDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icNucleinService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids) { + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icNucleinService.delete(ids); + return new Result(); + } + + + /** + * @Author sun + * @Description 核酸检测-上报核酸记录 + **/ + @NoRepeatSubmit + @PostMapping("add") + public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class); + formDTO.setStaffId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); + icNucleinService.add(formDTO); + return new Result(); + } + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java new file mode 100644 index 0000000000..d2a5cffbcd --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -0,0 +1,17 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcNatEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 核酸上报记录 + + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Mapper +public interface IcNatDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java new file mode 100644 index 0000000000..94a8edabb4 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java @@ -0,0 +1,90 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 核酸上报记录 + + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_nat") +public class IcNatEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id CUSTOMER.id + */ + private String customerId; + + /** + * 居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id + */ + private String agencyId; + + /** + * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 + */ + private String userId; + + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + */ + private String userType; + + /** + * 人员姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 检测时间,精确到分钟 + */ + private Date testingTime; + + /** + * 检测结果(0:阴性 1:阳性) + */ + private String testingResult; + + /** + * 检测地点 + */ + private String testingAddress; + + /** + * 文件名 + */ + private String fileName; + + /** + * 文件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) + */ + private String attachmentType; + + /** + * url地址 + */ + private String attachmentUrl; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java new file mode 100644 index 0000000000..36f5ec98c2 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java @@ -0,0 +1,86 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcNatDTO; +import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.entity.IcNatEntity; + +import java.util.List; +import java.util.Map; + +/** + * 核酸上报记录 + + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +public interface IcNatService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-03-25 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-03-25 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcNucleinDTO + * @author generator + * @date 2022-03-25 + */ + IcNatDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-03-25 + */ + void save(IcNatDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-03-25 + */ + void update(IcNatDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-03-25 + */ + void delete(String[] ids); + + /** + * @Author sun + * @Description 核酸检测-上报核酸记录 + **/ + void add(AddIcNatFormDTO formDTO); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java new file mode 100644 index 0000000000..6db2d231d1 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -0,0 +1,94 @@ +package com.epmet.service.impl; + +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.dao.IcNatDao; +import com.epmet.dto.IcNatDTO; +import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.entity.IcNatEntity; +import com.epmet.service.IcNatService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 核酸上报记录 + + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Service +public class IcNatServiceImpl extends BaseServiceImpl implements IcNatService { + + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcNatDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcNatDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcNatDTO get(String id) { + IcNatEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcNatDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcNatDTO dto) { + IcNatEntity entity = ConvertUtils.sourceToTarget(dto, IcNatEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcNatDTO dto) { + IcNatEntity entity = ConvertUtils.sourceToTarget(dto, IcNatEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * @Author sun + * @Description 核酸检测-上报核酸记录 + **/ + @Override + public void add(AddIcNatFormDTO formDTO) { + + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml new file mode 100644 index 0000000000..e29e5495fb --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From 07c628b97fd5b39f3aeb1e5485d2449be9b4b237 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Mar 2022 10:12:33 +0800 Subject: [PATCH 004/129] =?UTF-8?q?=E6=A0=B8=E9=85=B8=E8=AE=B0=E5=BD=95=5F?= =?UTF-8?q?=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/AddIcNatFormDTO.java | 6 +++--- .../com/epmet/controller/IcNatController.java | 1 - .../epmet/service/impl/IcNatServiceImpl.java | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java index 8ed0f5da57..1417c416c4 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -7,6 +7,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import java.io.Serializable; import java.util.Date; +import java.util.List; /** * @Description 核酸检测-上报核酸记录 @@ -76,16 +77,15 @@ public class AddIcNatFormDTO implements Serializable { */ private String attachmentUrl; /** - * 通知渠道 0小程序通知,1短信通知,多选用逗号分隔(0,1) + * 通知渠道 0小程序通知,1短信通知,多选是数组 */ - private String channel; + private List channel; /** * 通知内容 */ private String content; //token中信息 - private String staffId; private String customerId; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index d1a08b471c..c64fa880f3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -79,7 +79,6 @@ public class IcNatController { @PostMapping("add") public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class); - formDTO.setStaffId(tokenDto.getUserId()); formDTO.setCustomerId(tokenDto.getCustomerId()); icNucleinService.add(formDTO); return new Result(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 6db2d231d1..818db023b6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -4,7 +4,11 @@ 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.constant.NumConstant; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.IcNatDao; import com.epmet.dto.IcNatDTO; @@ -88,6 +92,19 @@ public class IcNatServiceImpl extends BaseServiceImpl imp **/ @Override public void add(AddIcNatFormDTO formDTO) { + //1.获取所填居民所属组织缓存信息 + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId()); + if (null == agencyInfo) { + throw new RenException(String.format("获取组织缓存信息失败%s", formDTO.getAgencyId())); + } + //2.新增核酸记录表数据 + IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); + insert(entity); + + //3.新增通知表信息 + if(formDTO.getChannel().size()> NumConstant.ZERO){ + //TODO + } } From cf001aab6bd54422d392c8864647a94ca0fefe38 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Mar 2022 10:14:02 +0800 Subject: [PATCH 005/129] .. --- .../src/main/java/com/epmet/controller/IcNatController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index c64fa880f3..b282b5840a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -26,7 +26,7 @@ import java.util.Map; * @since v1.0.0 2022-03-25 */ @RestController -@RequestMapping("icNuclein") +@RequestMapping("icNat") public class IcNatController { @Autowired From dcbe869c6389b8335cc7c04451d4e75868650663 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 28 Mar 2022 10:19:48 +0800 Subject: [PATCH 006/129] emm --- .../dto/IcEpidemicSpecialAttentionDTO.java | 109 ++++++++++++++++++ .../main/java/com/epmet/dto/IcNoticeDTO.java | 84 ++++++++++++++ .../java/com/epmet/dto/IcResiVaccineDTO.java | 109 ++++++++++++++++++ .../IcEpidemicSpecialAttentionController.java | 73 ++++++++++++ .../epmet/controller/IcNoticeController.java | 73 ++++++++++++ .../controller/IcResiVaccineController.java | 73 ++++++++++++ .../dao/IcEpidemicSpecialAttentionDao.java | 16 +++ .../main/java/com/epmet/dao/IcNoticeDao.java | 16 +++ .../java/com/epmet/dao/IcResiVaccineDao.java | 16 +++ .../IcEpidemicSpecialAttentionEntity.java | 79 +++++++++++++ .../java/com/epmet/entity/IcNoticeEntity.java | 54 +++++++++ .../com/epmet/entity/IcResiVaccineEntity.java | 79 +++++++++++++ .../IcEpidemicSpecialAttentionService.java | 78 +++++++++++++ .../com/epmet/service/IcNoticeService.java | 78 +++++++++++++ .../epmet/service/IcResiVaccineService.java | 78 +++++++++++++ ...IcEpidemicSpecialAttentionServiceImpl.java | 83 +++++++++++++ .../service/impl/IcNoticeServiceImpl.java | 83 +++++++++++++ .../impl/IcResiVaccineServiceImpl.java | 83 +++++++++++++ .../mapper/IcEpidemicSpecialAttentionDao.xml | 28 +++++ .../src/main/resources/mapper/IcNoticeDao.xml | 23 ++++ .../resources/mapper/IcResiVaccineDao.xml | 28 +++++ 21 files changed, 1343 insertions(+) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiVaccineDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiVaccineController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNoticeDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiVaccineDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcEpidemicSpecialAttentionEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNoticeEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiVaccineEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcNoticeDao.xml create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcResiVaccineDao.xml diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java new file mode 100644 index 0000000000..269fdf3a0f --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java @@ -0,0 +1,109 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 疫情特别关注 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@Data +public class IcEpidemicSpecialAttentionDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 当前工作人员所属组织ID + */ + private String orgId; + + /** + * 组织ID上级 + */ + private String pid; + + /** + * 组织ID所有上级 + */ + private String pids; + + /** + * 是否关注 1:关注,0:取消关注 + */ + private Integer isAttention; + + /** + * 关注类型,核酸检测:2,疫苗接种:1 + */ + private Integer attentionType; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 原因 + */ + private String reason; + + /** + * 备注 + */ + private String remark; + + /** + * + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java new file mode 100644 index 0000000000..6e0fb6b20b --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java @@ -0,0 +1,84 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 防疫通知 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@Data +public class IcNoticeDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 唯一标识 + */ + private String id; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 通知渠道 0小程序通知,1短信通知 + */ + private String channel; + + /** + * 通知来源 0行程上报,1疫苗接种,2核酸检测 + */ + private String origin; + + /** + * 被通知人身份证号 + */ + private String idCard; + + /** + * 通知内容 + */ + private String content; + + /** + * 发送通知的社区 + */ + private String orgName; + + /** + * 删除标识:0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiVaccineDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiVaccineDTO.java new file mode 100644 index 0000000000..57ea1109e3 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiVaccineDTO.java @@ -0,0 +1,109 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 居民疫苗情况 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@Data +public class IcResiVaccineDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 唯一标识 + */ + private String id; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 接种时间 + */ + private Date inoculateTime; + + /** + * 接种地点 + */ + private String inoculateAddress; + + /** + * 疫苗厂家 + */ + private String manufacturer; + + /** + * 预留字段1 + */ + private String field1; + + /** + * 预留字段2 + */ + private String field2; + + /** + * 预留字段3 + */ + private String field3; + + /** + * 备注 + */ + private String remaek; + + /** + * 删除标识 0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java new file mode 100644 index 0000000000..9f33b49365 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -0,0 +1,73 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.IcEpidemicSpecialAttentionDTO; +import com.epmet.service.IcEpidemicSpecialAttentionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + + +/** + * 疫情特别关注 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@RestController +@RequestMapping("icEpidemicSpecialAttention") +public class IcEpidemicSpecialAttentionController { + + @Autowired + private IcEpidemicSpecialAttentionService icEpidemicSpecialAttentionService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icEpidemicSpecialAttentionService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcEpidemicSpecialAttentionDTO data = icEpidemicSpecialAttentionService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcEpidemicSpecialAttentionDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icEpidemicSpecialAttentionService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcEpidemicSpecialAttentionDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icEpidemicSpecialAttentionService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icEpidemicSpecialAttentionService.delete(ids); + return new Result(); + } + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java new file mode 100644 index 0000000000..11000e575d --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java @@ -0,0 +1,73 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.IcNoticeDTO; +import com.epmet.service.IcNoticeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + + +/** + * 防疫通知 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@RestController +@RequestMapping("icNotice") +public class IcNoticeController { + + @Autowired + private IcNoticeService icNoticeService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icNoticeService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcNoticeDTO data = icNoticeService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcNoticeDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icNoticeService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcNoticeDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icNoticeService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icNoticeService.delete(ids); + return new Result(); + } + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiVaccineController.java new file mode 100644 index 0000000000..722c2966eb --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiVaccineController.java @@ -0,0 +1,73 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.IcResiVaccineDTO; +import com.epmet.service.IcResiVaccineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + + +/** + * 居民疫苗情况 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@RestController +@RequestMapping("icResiVaccine") +public class IcResiVaccineController { + + @Autowired + private IcResiVaccineService icResiVaccineService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icResiVaccineService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcResiVaccineDTO data = icResiVaccineService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcResiVaccineDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icResiVaccineService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcResiVaccineDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icResiVaccineService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icResiVaccineService.delete(ids); + return new Result(); + } + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java new file mode 100644 index 0000000000..7da733ebe3 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcEpidemicSpecialAttentionEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 疫情特别关注 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@Mapper +public interface IcEpidemicSpecialAttentionDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNoticeDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNoticeDao.java new file mode 100644 index 0000000000..a5f035887d --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNoticeDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcNoticeEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 防疫通知 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@Mapper +public interface IcNoticeDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiVaccineDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiVaccineDao.java new file mode 100644 index 0000000000..4679c59587 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiVaccineDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcResiVaccineEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 居民疫苗情况 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@Mapper +public interface IcResiVaccineDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcEpidemicSpecialAttentionEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcEpidemicSpecialAttentionEntity.java new file mode 100644 index 0000000000..3ade140ffa --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcEpidemicSpecialAttentionEntity.java @@ -0,0 +1,79 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 疫情特别关注 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_epidemic_special_attention") +public class IcEpidemicSpecialAttentionEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 当前工作人员所属组织ID + */ + private String orgId; + + /** + * 组织ID上级 + */ + private String pid; + + /** + * 组织ID所有上级 + */ + private String pids; + + /** + * 是否关注 1:关注,0:取消关注 + */ + private Integer isAttention; + + /** + * 关注类型,核酸检测:2,疫苗接种:1 + */ + private Integer attentionType; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 原因 + */ + private String reason; + + /** + * 备注 + */ + private String remark; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNoticeEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNoticeEntity.java new file mode 100644 index 0000000000..0114b3c5e7 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNoticeEntity.java @@ -0,0 +1,54 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 防疫通知 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_notice") +public class IcNoticeEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 通知渠道 0小程序通知,1短信通知 + */ + private String channel; + + /** + * 通知来源 0行程上报,1疫苗接种,2核酸检测 + */ + private String origin; + + /** + * 被通知人身份证号 + */ + private String idCard; + + /** + * 通知内容 + */ + private String content; + + /** + * 发送通知的社区 + */ + private String orgName; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiVaccineEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiVaccineEntity.java new file mode 100644 index 0000000000..f26abbe525 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiVaccineEntity.java @@ -0,0 +1,79 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 居民疫苗情况 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_resi_vaccine") +public class IcResiVaccineEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 接种时间 + */ + private Date inoculateTime; + + /** + * 接种地点 + */ + private String inoculateAddress; + + /** + * 疫苗厂家 + */ + private String manufacturer; + + /** + * 预留字段1 + */ + private String field1; + + /** + * 预留字段2 + */ + private String field2; + + /** + * 预留字段3 + */ + private String field3; + + /** + * 备注 + */ + private String remaek; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java new file mode 100644 index 0000000000..6f0e11fe5c --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcEpidemicSpecialAttentionDTO; +import com.epmet.entity.IcEpidemicSpecialAttentionEntity; + +import java.util.List; +import java.util.Map; + +/** + * 疫情特别关注 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +public interface IcEpidemicSpecialAttentionService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-03-28 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-03-28 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcEpidemicSpecialAttentionDTO + * @author generator + * @date 2022-03-28 + */ + IcEpidemicSpecialAttentionDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-03-28 + */ + void save(IcEpidemicSpecialAttentionDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-03-28 + */ + void update(IcEpidemicSpecialAttentionDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-03-28 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java new file mode 100644 index 0000000000..82d94c16d9 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcNoticeDTO; +import com.epmet.entity.IcNoticeEntity; + +import java.util.List; +import java.util.Map; + +/** + * 防疫通知 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +public interface IcNoticeService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-03-28 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-03-28 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcNoticeDTO + * @author generator + * @date 2022-03-28 + */ + IcNoticeDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-03-28 + */ + void save(IcNoticeDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-03-28 + */ + void update(IcNoticeDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-03-28 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java new file mode 100644 index 0000000000..44207d875f --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java @@ -0,0 +1,78 @@ +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.entity.IcResiVaccineEntity; + +import java.util.List; +import java.util.Map; + +/** + * 居民疫苗情况 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +public interface IcResiVaccineService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-03-28 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-03-28 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcResiVaccineDTO + * @author generator + * @date 2022-03-28 + */ + IcResiVaccineDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-03-28 + */ + void save(IcResiVaccineDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-03-28 + */ + void update(IcResiVaccineDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-03-28 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java new file mode 100644 index 0000000000..36351504f4 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -0,0 +1,83 @@ +package com.epmet.service.impl; + +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.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.IcEpidemicSpecialAttentionDao; +import com.epmet.dto.IcEpidemicSpecialAttentionDTO; +import com.epmet.entity.IcEpidemicSpecialAttentionEntity; +import com.epmet.service.IcEpidemicSpecialAttentionService; +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.List; +import java.util.Map; + +/** + * 疫情特别关注 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@Service +public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl implements IcEpidemicSpecialAttentionService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcEpidemicSpecialAttentionDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcEpidemicSpecialAttentionDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcEpidemicSpecialAttentionDTO get(String id) { + IcEpidemicSpecialAttentionEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcEpidemicSpecialAttentionDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcEpidemicSpecialAttentionDTO dto) { + IcEpidemicSpecialAttentionEntity entity = ConvertUtils.sourceToTarget(dto, IcEpidemicSpecialAttentionEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcEpidemicSpecialAttentionDTO dto) { + IcEpidemicSpecialAttentionEntity entity = ConvertUtils.sourceToTarget(dto, IcEpidemicSpecialAttentionEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java new file mode 100644 index 0000000000..9c1d1c4628 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java @@ -0,0 +1,83 @@ +package com.epmet.service.impl; + +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.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.IcNoticeDao; +import com.epmet.dto.IcNoticeDTO; +import com.epmet.entity.IcNoticeEntity; +import com.epmet.service.IcNoticeService; +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.List; +import java.util.Map; + +/** + * 防疫通知 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@Service +public class IcNoticeServiceImpl extends BaseServiceImpl implements IcNoticeService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcNoticeDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcNoticeDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcNoticeDTO get(String id) { + IcNoticeEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcNoticeDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcNoticeDTO dto) { + IcNoticeEntity entity = ConvertUtils.sourceToTarget(dto, IcNoticeEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcNoticeDTO dto) { + IcNoticeEntity entity = ConvertUtils.sourceToTarget(dto, IcNoticeEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java new file mode 100644 index 0000000000..c8c586137a --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java @@ -0,0 +1,83 @@ +package com.epmet.service.impl; + +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.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.IcResiVaccineDao; +import com.epmet.dto.IcResiVaccineDTO; +import com.epmet.entity.IcResiVaccineEntity; +import com.epmet.service.IcResiVaccineService; +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.List; +import java.util.Map; + +/** + * 居民疫苗情况 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@Service +public class IcResiVaccineServiceImpl extends BaseServiceImpl implements IcResiVaccineService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcResiVaccineDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcResiVaccineDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcResiVaccineDTO get(String id) { + IcResiVaccineEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcResiVaccineDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcResiVaccineDTO dto) { + IcResiVaccineEntity entity = ConvertUtils.sourceToTarget(dto, IcResiVaccineEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcResiVaccineDTO dto) { + IcResiVaccineEntity entity = ConvertUtils.sourceToTarget(dto, IcResiVaccineEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml new file mode 100644 index 0000000000..21b940fe58 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNoticeDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNoticeDao.xml new file mode 100644 index 0000000000..dab4ffd739 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNoticeDao.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiVaccineDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiVaccineDao.xml new file mode 100644 index 0000000000..a330bccba9 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiVaccineDao.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 0a87bfd7ae037cfa42f20bab75fcefb627a9fc92 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Mar 2022 10:40:38 +0800 Subject: [PATCH 007/129] =?UTF-8?q?=E6=A0=B8=E9=85=B8=E8=AE=B0=E5=BD=95-?= =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF=E6=88=91=E7=9A=84=E4=B8=8A=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcNatDTO.java | 6 +- .../com/epmet/dto/form/AddIcNatFormDTO.java | 6 +- .../com/epmet/dto/form/MyNatListFormDTO.java | 29 ++++++++ .../epmet/dto/result/MyNatListResultDTO.java | 70 +++++++++++++++++++ .../com/epmet/controller/IcNatController.java | 16 ++++- .../src/main/java/com/epmet/dao/IcNatDao.java | 13 +++- .../java/com/epmet/entity/IcNatEntity.java | 7 +- .../java/com/epmet/service/IcNatService.java | 8 +++ .../epmet/service/impl/IcNatServiceImpl.java | 13 ++++ .../src/main/resources/mapper/IcNatDao.xml | 20 ++++++ 10 files changed, 176 insertions(+), 12 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java index 0a733f35ba..c3d059802e 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java @@ -60,17 +60,17 @@ public class IcNatDTO implements Serializable { /** * 检测时间,精确到分钟 */ - private Date testingTime; + private Date natTime; /** * 检测结果(0:阴性 1:阳性) */ - private String testingResult; + private String natResult; /** * 检测地点 */ - private String testingAddress; + private String natAddress; /** * 文件名 diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java index 1417c416c4..f291477154 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -54,15 +54,15 @@ public class AddIcNatFormDTO implements Serializable { */ @NotBlank(message = "检测时间不能为空", groups = Nat.class) @JsonFormat(pattern="yyyy-MM-dd HH:mm") - private Date testingTime; + private Date natTime; /** * 检测结果 */ - private String testingResult; + private String natResult; /** * 检测地点 */ - private String testingAddress; + private String natAddress; /** * 文件名 */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java new file mode 100644 index 0000000000..fa450472ba --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 核酸检测-我的上报记录 + * @Author sun + */ +@Data +public class MyNatListFormDTO implements Serializable { + private static final long serialVersionUID = 9156247659994638103L; + + public interface MyNat extends CustomerClientShowGroup { + } + + /** + * 身份证号 + */ + @NotBlank(message = "身份证号不能为空", groups = MyNat.class) + private String idCard; + + //token信息 + private String customerId; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java new file mode 100644 index 0000000000..feb97d97f5 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java @@ -0,0 +1,70 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description 核酸检测-我的上报记录 + * @Author sun + */ +@Data +public class MyNatListResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + /** + * 核酸记录Id + */ + private String icNatId; + /** + * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 + */ + private String userId; + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + */ + private String userType; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 检测时间,yyyy-MM-dd HH:mm + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date natTime; + + /** + * 检测结果 + */ + private String natResult; + + /** + * 检测地点 + */ + private String natAddress; + + /** + * 附件名 + */ + private String fileName; + + /** + * 附件地址 + */ + private String attachmentUrl; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index b282b5840a..0925456a21 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -12,10 +12,13 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.service.IcNatService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; @@ -70,7 +73,6 @@ public class IcNatController { return new Result(); } - /** * @Author sun * @Description 核酸检测-上报核酸记录 @@ -84,5 +86,17 @@ public class IcNatController { return new Result(); } + /** + * @Author sun + * @Description 核酸检测-居民端我的上报 + **/ + @NoRepeatSubmit + @PostMapping("mynatlist") + public Result> myNatList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.MyNat.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + return new Result>().ok(icNucleinService.myNatList(formDTO)); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java index d2a5cffbcd..2de5a0fecf 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -1,9 +1,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.entity.IcNatEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 核酸上报记录 @@ -13,5 +17,12 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IcNatDao extends BaseDao { - + + /** + * @Author sun + * @Description 核酸检测-按条件查询核酸记录 + **/ + List getMyNatList(MyNatListFormDTO formDTO); + + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java index 94a8edabb4..e83a6cc95b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java @@ -1,7 +1,6 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -60,17 +59,17 @@ public class IcNatEntity extends BaseEpmetEntity { /** * 检测时间,精确到分钟 */ - private Date testingTime; + private Date natTime; /** * 检测结果(0:阴性 1:阳性) */ - private String testingResult; + private String natResult; /** * 检测地点 */ - private String testingAddress; + private String natOAddress; /** * 文件名 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java index 36f5ec98c2..206b65720c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java @@ -4,6 +4,8 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.entity.IcNatEntity; import java.util.List; @@ -83,4 +85,10 @@ public interface IcNatService extends BaseService { * @Description 核酸检测-上报核酸记录 **/ void add(AddIcNatFormDTO formDTO); + + /** + * @Author sun + * @Description 核酸检测-居民端我的上报 + **/ + List myNatList(MyNatListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 818db023b6..54ef03f097 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -13,6 +13,8 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.IcNatDao; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.entity.IcNatEntity; import com.epmet.service.IcNatService; import org.apache.commons.lang3.StringUtils; @@ -108,4 +110,15 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } + /** + * @Author sun + * @Description 核酸检测-居民端我的上报 + **/ + @Override + public List myNatList(MyNatListFormDTO formDTO) { + //1.根据身份证号查询该人员所有核酸记录(居民端录入、数字平台录入、数字平台导入) + List resultList = baseDao.getMyNatList(formDTO); + return resultList; + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index e29e5495fb..d31df0f3d5 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -3,5 +3,25 @@ + \ No newline at end of file From f97b4cb903bb2565208dd7fc4af5d616d709b55e Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Mar 2022 10:51:45 +0800 Subject: [PATCH 008/129] =?UTF-8?q?=E6=A0=B8=E9=85=B8=E8=AE=B0=E5=BD=95-?= =?UTF-8?q?=E8=A1=A8=E5=AD=97=E6=AE=B5=E6=96=B0=E5=A2=9Epids?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcNatDTO.java | 5 +++++ .../src/main/java/com/epmet/entity/IcNatEntity.java | 5 +++++ .../main/java/com/epmet/service/impl/IcNatServiceImpl.java | 1 + 3 files changed, 11 insertions(+) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java index c3d059802e..367c6df668 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java @@ -32,6 +32,11 @@ public class IcNatDTO implements Serializable { */ private String agencyId; + /** + * 组织pids + */ + private String pids; + /** * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java index e83a6cc95b..8990c36df1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java @@ -31,6 +31,11 @@ public class IcNatEntity extends BaseEpmetEntity { */ private String agencyId; + /** + * 组织pids + */ + private String pids; + /** * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 54ef03f097..fe7fa1f814 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -101,6 +101,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } //2.新增核酸记录表数据 IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); + entity.setPids(agencyInfo.getPids()); insert(entity); //3.新增通知表信息 From 24107913b3352951574d659bd0d2e5960bfaa4e3 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Mar 2022 11:58:53 +0800 Subject: [PATCH 009/129] =?UTF-8?q?=E6=A0=B8=E9=85=B8=E8=AE=B0=E5=BD=95-?= =?UTF-8?q?=E8=A1=A8=E5=AD=97=E6=AE=B5=E8=A1=A8=E8=BF=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java | 2 +- .../src/main/java/com/epmet/entity/IcNatEntity.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java index 367c6df668..a201e11ad0 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java @@ -43,7 +43,7 @@ public class IcNatDTO implements Serializable { private String userId; /** - * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + * 居民端小程序的人:resi;数字社区的居民:icresi;导入的:import;同步的:synchro */ private String userType; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java index 8990c36df1..d1f62275b1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java @@ -42,7 +42,7 @@ public class IcNatEntity extends BaseEpmetEntity { private String userId; /** - * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + * 居民端小程序的人:resi;数字社区的居民:icresi;导入的:import;同步的:synchro */ private String userType; From c16a7e90807f776a1ec33e3e948675dd5e9ee766 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 28 Mar 2022 14:06:25 +0800 Subject: [PATCH 010/129] =?UTF-8?q?=E5=85=88=E6=8A=8A=E6=A1=86=E6=A1=86?= =?UTF-8?q?=E6=8F=90=E4=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/IcEpidemicSpecialAttentionDTO.java | 17 ++- .../dto/form/CancelAttentionFormDTO.java | 27 ++++ .../com/epmet/dto/form/NatListFormDTO.java | 46 ++++++ .../epmet/dto/form/VaccinationAddFormDTO.java | 32 +++++ .../dto/form/VaccinationListFormDTO.java | 42 ++++++ .../IcEpidemicSpecialAttentionController.java | 134 ++++++++++++++++++ .../IcEpidemicSpecialAttentionService.java | 44 ++++++ ...IcEpidemicSpecialAttentionServiceImpl.java | 65 +++++++++ 8 files changed, 403 insertions(+), 4 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatListFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationAddFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java index 269fdf3a0f..cceed0a556 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java @@ -4,6 +4,9 @@ import java.io.Serializable; import java.util.Date; import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + /** * 疫情特别关注 @@ -16,6 +19,8 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { private static final long serialVersionUID = 1L; + public interface IcEpidemicSpecialAttention{} + /** * ID */ @@ -44,7 +49,8 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { /** * 是否关注 1:关注,0:取消关注 */ - private Integer isAttention; + @NotNull(message = "isAttention不能为空",groups = IcEpidemicSpecialAttention.class) + private Integer isAttention; /** * 关注类型,核酸检测:2,疫苗接种:1 @@ -54,17 +60,20 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { /** * 姓名 */ - private String name; + @NotBlank(message = "name不能为空",groups = IcEpidemicSpecialAttention.class) + private String name; /** * 手机号 */ - private String mobile; + @NotBlank(message = "mobile不能为空",groups = IcEpidemicSpecialAttention.class) + private String mobile; /** * 身份证号 */ - private String idCard; + @NotBlank(message = "idCard不能为空",groups = IcEpidemicSpecialAttention.class) + private String idCard; /** * 原因 diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java new file mode 100644 index 0000000000..e1fcde9b28 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2022/3/28 13:47 + * @DESC + */ +@Data +public class CancelAttentionFormDTO implements Serializable { + + private static final long serialVersionUID = 2252387281427013057L; + + /** + * 身份证 + */ + private String idCard; + + /** + * 关注类型,核酸检测:2,疫苗接种:1 + */ + private Integer attentionType ; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatListFormDTO.java new file mode 100644 index 0000000000..c1b77eb9f3 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatListFormDTO.java @@ -0,0 +1,46 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/3/28 10:30 + * @DESC + */ +@Data +public class NatListFormDTO extends PageFormDTO implements Serializable { + + private static final long serialVersionUID = -498378123902522370L; + + /** + * 手机号 + */ + private String mobile; + + /** + * 名字 + */ + private String name; + + /** + * 身份证 + */ + private String idCard; + + /** + * 关注原因 + */ + private String reason; + + /** + * 备注 + */ + private String remark; + + private String userId; + private String customerId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationAddFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationAddFormDTO.java new file mode 100644 index 0000000000..2bc2194083 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationAddFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import com.epmet.dto.IcEpidemicSpecialAttentionDTO; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.Valid; +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2022/3/28 10:46 + * @DESC + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class VaccinationAddFormDTO implements Serializable { + + private static final long serialVersionUID = -4786942219804246138L; + + public interface VaccinationAddForm{} + + @Valid + private List list; + + private String userId; + + private String customerId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java new file mode 100644 index 0000000000..ed5e1bd5ef --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java @@ -0,0 +1,42 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/3/28 10:30 + * @DESC + */ +@Data +public class VaccinationListFormDTO extends PageFormDTO implements Serializable { + + private static final long serialVersionUID = -498378993902522370L; + + /** + * 手机号 + */ + private String mobile; + + /** + * 名字 + */ + private String name; + + /** + * 身份证 + */ + private String idCard; + + /** + * 疫苗接种次数 + */ + private Integer vaccinationCount; + + private String userId; + private String customerId; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index 9f33b49365..5959d82d0f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -1,7 +1,10 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; +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.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -9,10 +12,16 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; +import com.epmet.dto.form.CancelAttentionFormDTO; +import com.epmet.dto.form.NatListFormDTO; +import com.epmet.dto.form.VaccinationAddFormDTO; +import com.epmet.dto.form.VaccinationListFormDTO; import com.epmet.service.IcEpidemicSpecialAttentionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -68,6 +77,131 @@ public class IcEpidemicSpecialAttentionController { return new Result(); } + /** + * Desc: 【疫苗接种关注名单】列表 + * @param formDTO + * @author zxc + * @date 2022/3/28 10:29 + */ + @PostMapping("vaccination-list") + public Result vaccinationList(@RequestBody VaccinationListFormDTO formDTO, @LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + return new Result().ok(icEpidemicSpecialAttentionService.vaccinationList(formDTO)); + } + + /** + * Desc: 【疫苗接种关注名单】列表 + * @param formDTO + * @param tokenDto + * @author zxc + * @date 2022/3/28 10:42 + */ + @PostMapping("nat-list") + public Result natList(@RequestBody NatListFormDTO formDTO,@LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + return new Result().ok(icEpidemicSpecialAttentionService.natList(formDTO)); + } + + /** + * Desc:【疫苗接种关注名单,核酸检测关注名单】新增 + * @param list + * @param tokenDto + * @author zxc + * @date 2022/3/28 13:35 + */ + @PostMapping("vaccination-add") + public Result vaccinationAdd(@RequestBody List list,@LoginUser TokenDto tokenDto){ + VaccinationAddFormDTO formDTO = new VaccinationAddFormDTO(); + formDTO.setList(list); + ValidatorUtils.validateEntity(formDTO, VaccinationAddFormDTO.VaccinationAddForm.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icEpidemicSpecialAttentionService.vaccinationAdd(formDTO); + return new Result(); + } + + /** + * Desc:【疫苗接种关注名单,核酸检测关注名单】修改 + * @param formDTO + * @author zxc + * @date 2022/3/28 13:45 + */ + @PostMapping("vaccination-update") + public Result vaccinationUpdate(@RequestBody IcEpidemicSpecialAttentionDTO formDTO){ + icEpidemicSpecialAttentionService.vaccinationUpdate(formDTO); + return new Result(); + } + + /** + * Desc: 取消关注 + * @param list + * @author zxc + * @date 2022/3/28 13:51 + */ + @PostMapping("cancel-attention") + public Result cancelAttention(@RequestBody List list){ + icEpidemicSpecialAttentionService.cancelAttention(list); + return new Result(); + } + + /** + * Desc: 【疫苗接种关注名单】导入 + * @param + * @author zxc + * @date 2022/3/28 13:40 + */ + @PostMapping("vaccination-import") + public Result vaccinationImport(@LoginUser TokenDto tokenDTO, @RequestParam("file") MultipartFile file){ + + return new Result(); + } + + /** + * Desc: 【疫苗接种关注名单】导出 + * @param response + * @param formDTO + * @param tokenDto + * @author zxc + * @date 2022/3/28 13:57 + */ + @PostMapping("vaccination-export") + public void vaccinationExport(HttpServletResponse response,@RequestBody VaccinationListFormDTO formDTO, @LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + } + + /** + * Desc: 【核酸检测关注名单】导入 + * @param + * @author zxc + * @date 2022/3/28 13:40 + */ + @PostMapping("nat-import") + public Result natImport(@LoginUser TokenDto tokenDTO, @RequestParam("file") MultipartFile file){ + + return new Result(); + } + + /** + * Desc: 【核酸检测关注名单】导出 + * @param response + * @param formDTO + * @param tokenDto + * @author zxc + * @date 2022/3/28 13:59 + */ + @PostMapping("nat-export") + public void natExport(HttpServletResponse response,@RequestBody NatListFormDTO formDTO,@LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java index 6f0e11fe5c..4cb1cca09d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java @@ -3,6 +3,10 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; +import com.epmet.dto.form.CancelAttentionFormDTO; +import com.epmet.dto.form.NatListFormDTO; +import com.epmet.dto.form.VaccinationAddFormDTO; +import com.epmet.dto.form.VaccinationListFormDTO; import com.epmet.entity.IcEpidemicSpecialAttentionEntity; import java.util.List; @@ -75,4 +79,44 @@ public interface IcEpidemicSpecialAttentionService extends BaseService list); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index 36351504f4..f326408b64 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -3,11 +3,16 @@ package com.epmet.service.impl; 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.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.IcEpidemicSpecialAttentionDao; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; +import com.epmet.dto.form.CancelAttentionFormDTO; +import com.epmet.dto.form.NatListFormDTO; +import com.epmet.dto.form.VaccinationAddFormDTO; +import com.epmet.dto.form.VaccinationListFormDTO; import com.epmet.entity.IcEpidemicSpecialAttentionEntity; import com.epmet.service.IcEpidemicSpecialAttentionService; import org.apache.commons.lang3.StringUtils; @@ -15,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -80,4 +86,63 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl list) { + + } + } \ No newline at end of file From bbfee55ff95317c9a86831d0ae55d61b7a3124d8 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Mar 2022 14:23:09 +0800 Subject: [PATCH 011/129] =?UTF-8?q?=E3=80=90=E6=A0=B8=E9=85=B8=E3=80=91?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B=E4=BF=A1=E6=81=AF=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/MyNatListFormDTO.java | 27 +++++++ .../epmet/dto/result/NatListResultDTO.java | 76 +++++++++++++++++++ .../com/epmet/controller/IcNatController.java | 56 ++++++++++++++ .../src/main/java/com/epmet/dao/IcNatDao.java | 7 +- .../java/com/epmet/service/IcNatService.java | 32 +++++++- .../epmet/service/impl/IcNatServiceImpl.java | 76 ++++++++++++++++++- .../src/main/resources/mapper/IcNatDao.xml | 37 +++++++++ 7 files changed, 305 insertions(+), 6 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java index fa450472ba..7d5eb73285 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java @@ -22,8 +22,35 @@ public class MyNatListFormDTO implements Serializable { */ @NotBlank(message = "身份证号不能为空", groups = MyNat.class) private String idCard; + /** + * 当前组织:current 根组织:all + */ + private String orgType; + private String agencyId; + /** + * 姓名 + */ + private String name; + /** + * 手机号 + */ + private String mobile; + /** + * 检测开始时间yyyy-MM-dd HH:mm + */ + private String startTime; + /** + * 检测结束时间yyyy-MM-dd HH:mm间yy-mm-dd + */ + private String endTime; + /** + * 分页参数 + */ + private Integer pageNo = 1; + private Integer pageSize = 10; //token信息 private String customerId; + private String userId; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java new file mode 100644 index 0000000000..d3cbead954 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java @@ -0,0 +1,76 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @Description 核酸检测-我的上报记录 + * @Author sun + */ +@Data +public class NatListResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + + //总条数 + private Integer total; + List list = new ArrayList<>(); + + @Data + public static class NatListDTO { + + /** + * 核酸记录Id + */ + private String icNatId; + /** + * 组织Id + */ + private String agencyId; + /** + * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 + */ + private String userId; + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + */ + private String userType; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 检测时间,yyyy-MM-dd HH:mm + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date natTime; + + /** + * 检测结果 + */ + private String natResult; + + /** + * 检测地点 + */ + private String natAddress; + + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 0925456a21..38cb884864 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -14,6 +14,7 @@ import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.result.MyNatListResultDTO; +import com.epmet.dto.result.NatListResultDTO; import com.epmet.service.IcNatService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -98,5 +99,60 @@ public class IcNatController { return new Result>().ok(icNucleinService.myNatList(formDTO)); } + /** + * @Author sun + * @Description 【核酸】核酸检测信息列表 + **/ + @NoRepeatSubmit + @PostMapping("natlist") + public Result natList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + return new Result().ok(icNucleinService.natList(formDTO)); + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息详情 + **/ + @NoRepeatSubmit + @PostMapping("detail") + public Result detail(@RequestBody MyNatListFormDTO formDTO) { + return new Result().ok(icNucleinService.detail(formDTO)); + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息修改 + **/ + @NoRepeatSubmit + @PostMapping("edit") + public Result edit(@RequestBody MyNatListFormDTO formDTO) { + icNucleinService.edit(formDTO); + return new Result(); + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息删除/取消同步 + **/ + @NoRepeatSubmit + @PostMapping("del") + public Result del(@RequestBody MyNatListFormDTO formDTO) { + icNucleinService.del(formDTO); + return new Result<>(); + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息同步 + **/ + @NoRepeatSubmit + @PostMapping("synchro") + public Result synchro(@RequestBody MyNatListFormDTO formDTO) { + icNucleinService.synchro(formDTO); + return new Result(); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java index 2de5a0fecf..5d292bb229 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -3,6 +3,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.result.MyNatListResultDTO; +import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcNatEntity; import org.apache.ibatis.annotations.Mapper; @@ -24,5 +25,9 @@ public interface IcNatDao extends BaseDao { **/ List getMyNatList(MyNatListFormDTO formDTO); - + /** + * @Author sun + * @Description 【核酸】核酸检测信息列表 + **/ + List getNatList(MyNatListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java index 206b65720c..1bc5c22b63 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java +++ b/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.MyNatListFormDTO; import com.epmet.dto.result.MyNatListResultDTO; +import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcNatEntity; import java.util.List; @@ -13,7 +14,6 @@ import java.util.Map; /** * 核酸上报记录 - * * @author generator generator@elink-cn.com * @since v1.0.0 2022-03-25 @@ -91,4 +91,34 @@ public interface IcNatService extends BaseService { * @Description 核酸检测-居民端我的上报 **/ List myNatList(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息列表 + **/ + NatListResultDTO natList(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息详情 + **/ + NatListResultDTO detail(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息修改 + **/ + void edit(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息删除/取消同步 + **/ + void del(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息同步 + **/ + void synchro(MyNatListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index fe7fa1f814..d2bafa5070 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -5,9 +5,12 @@ 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.constant.NumConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; 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.utils.ConvertUtils; import com.epmet.dao.IcNatDao; @@ -15,8 +18,11 @@ import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.result.MyNatListResultDTO; +import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcNatEntity; import com.epmet.service.IcNatService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -27,7 +33,6 @@ import java.util.Map; /** * 核酸上报记录 - * * @author generator generator@elink-cn.com * @since v1.0.0 2022-03-25 @@ -52,8 +57,8 @@ public class IcNatServiceImpl extends BaseServiceImpl imp return ConvertUtils.sourceToTarget(entityList, IcNatDTO.class); } - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); @@ -105,7 +110,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp insert(entity); //3.新增通知表信息 - if(formDTO.getChannel().size()> NumConstant.ZERO){ + if (formDTO.getChannel().size() > NumConstant.ZERO) { //TODO } @@ -122,4 +127,67 @@ public class IcNatServiceImpl extends BaseServiceImpl imp return resultList; } + /** + * @Author sun + * @Description 【核酸】核酸检测信息列表 + **/ + @Override + public NatListResultDTO natList(MyNatListFormDTO formDTO) { + NatListResultDTO resultDTO = new NatListResultDTO(); + //1.根据orgType值判断是查询当前组织下还是整个客户下数据 + if ("current".equals(formDTO.getOrgType())) { + //获取工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + formDTO.setAgencyId(staffInfo.getAgencyId()); + } + + //2.按条件查询业务数据 + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()) + .doSelectPageInfo(() -> baseDao.getNatList(formDTO)); + resultDTO.setTotal((int) data.getTotal()); + resultDTO.setList(data.getList()); + + return resultDTO; + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息详情 + **/ + @Override + public NatListResultDTO detail(MyNatListFormDTO formDTO) { + + return null; + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息修改 + **/ + @Override + public void edit(MyNatListFormDTO formDTO) { + + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息删除/取消同步 + **/ + @Override + public void del(MyNatListFormDTO formDTO) { + + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息同步 + **/ + @Override + public void synchro(MyNatListFormDTO formDTO) { + + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index d31df0f3d5..0d49f7d6c3 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -24,4 +24,41 @@ AND id_card = #{idCard} + + \ No newline at end of file From 3306ec74ea6c2928bfad48ef7d60af981540492f Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Mar 2022 15:08:45 +0800 Subject: [PATCH 012/129] =?UTF-8?q?=E3=80=90=E6=A0=B8=E9=85=B8=E3=80=91?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcNatDTO.java | 13 +++ .../com/epmet/dto/form/AddIcNatFormDTO.java | 4 + .../com/epmet/dto/form/MyNatListFormDTO.java | 12 ++ .../com/epmet/controller/IcNatController.java | 52 ++------- .../src/main/java/com/epmet/dao/IcNatDao.java | 8 +- .../java/com/epmet/service/IcNatService.java | 64 +---------- .../epmet/service/impl/IcNatServiceImpl.java | 107 ++++++++---------- .../src/main/resources/mapper/IcNatDao.xml | 4 + 8 files changed, 102 insertions(+), 162 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java index a201e11ad0..df1f7db433 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java @@ -2,6 +2,9 @@ package com.epmet.dto; import java.io.Serializable; import java.util.Date; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @@ -65,6 +68,7 @@ public class IcNatDTO implements Serializable { /** * 检测时间,精确到分钟 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date natTime; /** @@ -122,4 +126,13 @@ public class IcNatDTO implements Serializable { */ private Date updatedTime; + /** + * 通知渠道 0小程序通知,1短信通知,多选是数组 + */ + private List channel; + /** + * 通知内容 + */ + private String content; + } \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java index f291477154..6000b6a969 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -20,6 +20,10 @@ public class AddIcNatFormDTO implements Serializable { public interface Nat extends CustomerClientShowGroup { } + /** + * 核酸记录Id,修改时使用 + */ + private String icNatId; /** * 当前网格所属组织Id */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java index 7d5eb73285..b19a1d9caf 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java @@ -16,6 +16,12 @@ public class MyNatListFormDTO implements Serializable { public interface MyNat extends CustomerClientShowGroup { } + public interface Detail extends CustomerClientShowGroup { + } + public interface Del extends CustomerClientShowGroup { + } + public interface Synchro extends CustomerClientShowGroup { + } /** * 身份证号 @@ -49,6 +55,12 @@ public class MyNatListFormDTO implements Serializable { private Integer pageNo = 1; private Integer pageSize = 10; + /** + * 核酸记录Id + */ + @NotBlank(message = "核酸记录Id不能为空", groups = { Detail.class, Del.class, Synchro.class}) + private String icNatId; + //token信息 private String customerId; private String userId; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 38cb884864..929e95ce4b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -36,43 +36,6 @@ public class IcNatController { @Autowired private IcNatService icNucleinService; - @RequestMapping("page") - public Result> page(@RequestParam Map params) { - PageData page = icNucleinService.page(params); - return new Result>().ok(page); - } - - @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) - public Result get(@PathVariable("id") String id) { - IcNatDTO data = icNucleinService.get(id); - return new Result().ok(data); - } - - @NoRepeatSubmit - @PostMapping("save") - public Result save(@RequestBody IcNatDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - icNucleinService.save(dto); - return new Result(); - } - - @NoRepeatSubmit - @PostMapping("update") - public Result update(@RequestBody IcNatDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - icNucleinService.update(dto); - return new Result(); - } - - @PostMapping("delete") - public Result delete(@RequestBody String[] ids) { - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - icNucleinService.delete(ids); - return new Result(); - } /** * @Author sun @@ -117,8 +80,9 @@ public class IcNatController { **/ @NoRepeatSubmit @PostMapping("detail") - public Result detail(@RequestBody MyNatListFormDTO formDTO) { - return new Result().ok(icNucleinService.detail(formDTO)); + public Result detail(@RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Detail.class); + return new Result().ok(icNucleinService.detail(formDTO)); } /** @@ -127,7 +91,7 @@ public class IcNatController { **/ @NoRepeatSubmit @PostMapping("edit") - public Result edit(@RequestBody MyNatListFormDTO formDTO) { + public Result edit(@RequestBody AddIcNatFormDTO formDTO) { icNucleinService.edit(formDTO); return new Result(); } @@ -138,7 +102,8 @@ public class IcNatController { **/ @NoRepeatSubmit @PostMapping("del") - public Result del(@RequestBody MyNatListFormDTO formDTO) { + public Result del(@RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Del.class); icNucleinService.del(formDTO); return new Result<>(); } @@ -149,7 +114,10 @@ public class IcNatController { **/ @NoRepeatSubmit @PostMapping("synchro") - public Result synchro(@RequestBody MyNatListFormDTO formDTO) { + public Result synchro(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Synchro.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); icNucleinService.synchro(formDTO); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java index 5d292bb229..91ce606f2d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -6,12 +6,12 @@ import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcNatEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; /** * 核酸上报记录 - * * @author generator generator@elink-cn.com * @since v1.0.0 2022-03-25 @@ -30,4 +30,10 @@ public interface IcNatDao extends BaseDao { * @Description 【核酸】核酸检测信息列表 **/ List getNatList(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 删除/取消同步操作--物理删除业务数据 + **/ + boolean delById(@Param("icNatId") String icNatId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java index 1bc5c22b63..2da059b99f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java @@ -20,66 +20,6 @@ import java.util.Map; */ public interface IcNatService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2022-03-25 - */ - PageData page(Map params); - - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2022-03-25 - */ - List list(Map params); - - /** - * 单条查询 - * - * @param id - * @return IcNucleinDTO - * @author generator - * @date 2022-03-25 - */ - IcNatDTO get(String id); - - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2022-03-25 - */ - void save(IcNatDTO dto); - - /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2022-03-25 - */ - void update(IcNatDTO dto); - - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2022-03-25 - */ - void delete(String[] ids); - /** * @Author sun * @Description 核酸检测-上报核酸记录 @@ -102,13 +42,13 @@ public interface IcNatService extends BaseService { * @Author sun * @Description 【核酸】核酸检测信息详情 **/ - NatListResultDTO detail(MyNatListFormDTO formDTO); + IcNatDTO detail(MyNatListFormDTO formDTO); /** * @Author sun * @Description 【核酸】核酸检测信息修改 **/ - void edit(MyNatListFormDTO formDTO); + void edit(AddIcNatFormDTO formDTO); /** * @Author sun diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index d2bafa5070..8a7061152e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -6,6 +6,7 @@ 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.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; @@ -23,6 +24,7 @@ import com.epmet.entity.IcNatEntity; import com.epmet.service.IcNatService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -38,61 +40,10 @@ import java.util.Map; * @since v1.0.0 2022-03-25 */ @Service +@Slf4j public class IcNatServiceImpl extends BaseServiceImpl implements IcNatService { - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, IcNatDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, IcNatDTO.class); - } - - private QueryWrapper getWrapper(Map params) { - String id = (String) params.get(FieldConstant.ID_HUMP); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - - return wrapper; - } - - @Override - public IcNatDTO get(String id) { - IcNatEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, IcNatDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(IcNatDTO dto) { - IcNatEntity entity = ConvertUtils.sourceToTarget(dto, IcNatEntity.class); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(IcNatDTO dto) { - IcNatEntity entity = ConvertUtils.sourceToTarget(dto, IcNatEntity.class); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); - } - /** * @Author sun * @Description 核酸检测-上报核酸记录 @@ -158,9 +109,19 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * @Description 【核酸】核酸检测信息详情 **/ @Override - public NatListResultDTO detail(MyNatListFormDTO formDTO) { + public IcNatDTO detail(MyNatListFormDTO formDTO) { + IcNatDTO resultDTO = new IcNatDTO(); + //1.查询核酸记录信息 + IcNatEntity entity = baseDao.selectById(formDTO.getIcNatId()); + if (null == resultDTO) { + return resultDTO; + } + resultDTO = ConvertUtils.sourceToTarget(entity, IcNatDTO.class); - return null; + //2.查询对应的通知记录信息 + //TODO + + return resultDTO; } /** @@ -168,8 +129,18 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * @Description 【核酸】核酸检测信息修改 **/ @Override - public void edit(MyNatListFormDTO formDTO) { + public void edit(AddIcNatFormDTO formDTO) { + //1.更新核酸记录表数据 + IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); + if (!updateById(entity)) { + log.error(String.format("数据修改失败,核酸记录Id->", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "核酸记录修改失败"); + } + //3.新增通知表信息 + if (formDTO.getChannel().size() > NumConstant.ZERO) { + //TODO + } } /** @@ -178,7 +149,11 @@ public class IcNatServiceImpl extends BaseServiceImpl imp **/ @Override public void del(MyNatListFormDTO formDTO) { - + //1.物理删除业务数据 + if (baseDao.delById(formDTO.getIcNatId())) { + log.error(String.format("数据删除/取消同步失败,核酸记录Id->", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据操作失败"); + } } /** @@ -187,7 +162,25 @@ public class IcNatServiceImpl extends BaseServiceImpl imp **/ @Override public void synchro(MyNatListFormDTO formDTO) { - + //1.根据核酸记录Id查询业务数据并进行必要校验 + IcNatEntity entity = baseDao.selectById(formDTO.getIcNatId()); + if (null == entity || formDTO.getAgencyId().equals(entity.getAgencyId()) + || (!"import".equals(entity.getUserType()) && !"synchro".equals(entity.getUserType()))) { + log.error(String.format("数据同步失败,核酸记录Id->", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据同步失败,不是导入数据或非本组织数据"); + } + //2.获取工作人员缓存数据 + //获取工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //3.待同步组织新增业务数据 + entity.setId(""); + entity.setAgencyId(staffInfo.getAgencyId()); + entity.setPids(staffInfo.getAgencyPIds()); + entity.setUserType("synchro"); + insert(entity); } } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index 0d49f7d6c3..b0e8a01607 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -61,4 +61,8 @@ + + DELETE FROM ic_nat WHERE id = #{icNatId} + + \ No newline at end of file From 53d395c46e286de43a79778c98b47bcfdbc23ea7 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 28 Mar 2022 15:39:28 +0800 Subject: [PATCH 013/129] list --- .../com/epmet/dto/form/NatListFormDTO.java | 6 ++ .../dto/form/VaccinationListFormDTO.java | 26 +++++- .../dto/result/VaccinationListResultDTO.java | 67 ++++++++++++++++ .../IcEpidemicSpecialAttentionController.java | 59 +------------- .../dao/IcEpidemicSpecialAttentionDao.java | 22 +++++- .../IcEpidemicSpecialAttentionService.java | 10 +-- ...IcEpidemicSpecialAttentionServiceImpl.java | 47 ++++++++--- .../mapper/IcEpidemicSpecialAttentionDao.xml | 79 ++++++++++++++----- 8 files changed, 216 insertions(+), 100 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccinationListResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatListFormDTO.java index c1b77eb9f3..85b56ecb29 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatListFormDTO.java @@ -42,5 +42,11 @@ public class NatListFormDTO extends PageFormDTO implements Serializable { private String remark; private String userId; + private String customerId; + + /** + * user所属组织ID + */ + private String orgId; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java index ed5e1bd5ef..ec8d2a3932 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java @@ -17,6 +17,14 @@ public class VaccinationListFormDTO extends PageFormDTO implements Serializable private static final long serialVersionUID = -498378993902522370L; + public interface VaccinationListForm{} + + /** + * 关注类型,核酸检测:2,疫苗接种:1 + */ + @NotNull(message = "attentionType不能为空",groups = VaccinationListForm.class) + private Integer attentionType; + /** * 手机号 */ @@ -33,10 +41,26 @@ public class VaccinationListFormDTO extends PageFormDTO implements Serializable private String idCard; /** - * 疫苗接种次数 + * 疫苗接种次数,疫苗接种关注名单,此字段可填可不填 */ private Integer vaccinationCount; + /** + * 原因,核酸检测关注名单,此字段可填可不填 + */ + private String reason; + + /** + * 备注,核酸检测关注名单,此字段可填可不填 + */ + private String remark; + private String userId; + private String customerId; + + /** + * user所属组织ID + */ + private String orgId; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccinationListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccinationListResultDTO.java new file mode 100644 index 0000000000..a0b10a13d3 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccinationListResultDTO.java @@ -0,0 +1,67 @@ +package com.epmet.dto.result; + +import com.epmet.commons.tools.constant.NumConstant; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/3/28 14:14 + * @DESC + */ +@Data +public class VaccinationListResultDTO implements Serializable { + + private static final long serialVersionUID = -4368151917259903449L; + + /** + * 排序 + */ + private Integer sort; + + /** + * 接种针次 + */ + private Integer vaccinationCount; + + /** + * 姓名 + */ + private String name; + + /** + * 电话 + */ + private String mobile; + + /** + * 身份证 + */ + private String idCard; + + /** + * 备注 + */ + private String remark; + + /** + * 原因 + */ + private String reason; + + /** + * 最后一次通知时间 + */ + private String lastInformTime; + + public VaccinationListResultDTO() { + this.vaccinationCount = NumConstant.ZERO; + this.name = ""; + this.mobile = ""; + this.idCard = ""; + this.remark = ""; + this.lastInformTime = ""; + this.reason = ""; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index 5959d82d0f..cf91237a2d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -39,73 +39,20 @@ public class IcEpidemicSpecialAttentionController { @Autowired private IcEpidemicSpecialAttentionService icEpidemicSpecialAttentionService; - @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = icEpidemicSpecialAttentionService.page(params); - return new Result>().ok(page); - } - - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) - public Result get(@PathVariable("id") String id){ - IcEpidemicSpecialAttentionDTO data = icEpidemicSpecialAttentionService.get(id); - return new Result().ok(data); - } - - @NoRepeatSubmit - @PostMapping("save") - public Result save(@RequestBody IcEpidemicSpecialAttentionDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - icEpidemicSpecialAttentionService.save(dto); - return new Result(); - } - - @NoRepeatSubmit - @PostMapping("update") - public Result update(@RequestBody IcEpidemicSpecialAttentionDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - icEpidemicSpecialAttentionService.update(dto); - return new Result(); - } - - @PostMapping("delete") - public Result delete(@RequestBody String[] ids){ - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - icEpidemicSpecialAttentionService.delete(ids); - return new Result(); - } - /** - * Desc: 【疫苗接种关注名单】列表 + * Desc: 【疫苗接种关注名单,疫苗接种关注名单】列表 * @param formDTO * @author zxc * @date 2022/3/28 10:29 */ - @PostMapping("vaccination-list") + @PostMapping("list") public Result vaccinationList(@RequestBody VaccinationListFormDTO formDTO, @LoginUser TokenDto tokenDto){ - ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); + ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class, VaccinationListFormDTO.VaccinationListForm.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); return new Result().ok(icEpidemicSpecialAttentionService.vaccinationList(formDTO)); } - /** - * Desc: 【疫苗接种关注名单】列表 - * @param formDTO - * @param tokenDto - * @author zxc - * @date 2022/3/28 10:42 - */ - @PostMapping("nat-list") - public Result natList(@RequestBody NatListFormDTO formDTO,@LoginUser TokenDto tokenDto){ - ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); - formDTO.setCustomerId(tokenDto.getCustomerId()); - formDTO.setUserId(tokenDto.getUserId()); - return new Result().ok(icEpidemicSpecialAttentionService.natList(formDTO)); - } - /** * Desc:【疫苗接种关注名单,核酸检测关注名单】新增 * @param list diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java index 7da733ebe3..cc1d3ba4a1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java @@ -1,9 +1,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.VaccinationListFormDTO; +import com.epmet.dto.result.VaccinationListResultDTO; import com.epmet.entity.IcEpidemicSpecialAttentionEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 疫情特别关注 * @@ -12,5 +16,21 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IcEpidemicSpecialAttentionDao extends BaseDao { - + + /** + * Desc: 疫苗接种关注名单 + * @param formDTO + * @author zxc + * @date 2022/3/28 14:19 + */ + List vaccinationList(VaccinationListFormDTO formDTO); + + /** + * Desc: 核酸检测关注名单 + * @param formDTO + * @author zxc + * @date 2022/3/28 15:23 + */ + List natList(VaccinationListFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java index 4cb1cca09d..c1f051233d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java @@ -4,7 +4,6 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; import com.epmet.dto.form.CancelAttentionFormDTO; -import com.epmet.dto.form.NatListFormDTO; import com.epmet.dto.form.VaccinationAddFormDTO; import com.epmet.dto.form.VaccinationListFormDTO; import com.epmet.entity.IcEpidemicSpecialAttentionEntity; @@ -81,20 +80,13 @@ public interface IcEpidemicSpecialAttentionService extends BaseService pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.vaccinationList(formDTO)); + result.setList(pageInfo.getList()); + result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal()))); + }else { + List list = baseDao.vaccinationList(formDTO); + result.setList(list); + result.setTotal(list.size()); + } + }else if (formDTO.getAttentionType().equals(NumConstant.TWO)){ + if (formDTO.isPage()){ + PageInfo pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.natList(formDTO)); + result.setList(pageInfo.getList()); + result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal()))); + }else { + List list = baseDao.natList(formDTO); + result.setList(list); + result.setTotal(list.size()); + } + } return result; } - /** - * Desc: 【疫苗接种关注名单】列表 - * @param formDTO - * @author zxc - * @date 2022/3/28 10:42 - */ - @Override - public PageData natList(NatListFormDTO formDTO) { - return null; - } - /** * Desc:【疫苗接种关注名单,核酸检测关注名单】新增 * @param formDTO diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml index 21b940fe58..63c556f0c0 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml @@ -3,26 +3,65 @@ - - - - - - - - - - - - - - - - - - - - + + + + + \ No newline at end of file From e831d56eb0409be4e9f246936a64a171592a8ac3 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 28 Mar 2022 16:07:50 +0800 Subject: [PATCH 014/129] =?UTF-8?q?=E9=98=B2=E7=96=AB=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/UserMessageTypeConstant.java | 4 + .../main/java/com/epmet/dto/IcNoticeDTO.java | 17 ++- .../com/epmet/dto/form/SendNoticeFormDTO.java | 63 ++++++++++ .../epmet/controller/IcNoticeController.java | 14 ++- .../java/com/epmet/entity/IcNoticeEntity.java | 12 +- .../com/epmet/service/IcNoticeService.java | 20 ++++ .../service/impl/IcNoticeServiceImpl.java | 108 +++++++++++++++++- 7 files changed, 228 insertions(+), 10 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/UserMessageTypeConstant.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/UserMessageTypeConstant.java index c4f703049c..57ac759211 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/UserMessageTypeConstant.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/UserMessageTypeConstant.java @@ -164,6 +164,10 @@ public interface UserMessageTypeConstant { */ String PROJECT_REMIND="project_remind"; + /** + * 防疫通知 + */ + String ANTIEPIDEMIC="antiepidemic"; /** diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java index 6e0fb6b20b..0a67cd4875 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java @@ -1,8 +1,11 @@ package com.epmet.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + import java.io.Serializable; import java.util.Date; -import lombok.Data; +import java.util.List; /** @@ -30,12 +33,21 @@ public class IcNoticeDTO implements Serializable { * 通知渠道 0小程序通知,1短信通知 */ private String channel; - + private List channelList; /** * 通知来源 0行程上报,1疫苗接种,2核酸检测 */ private String origin; + /** + * 用户ID + */ + private String userId; + /** + * 手机号 + */ + private String mobile; + /** * 被通知人身份证号 */ @@ -69,6 +81,7 @@ public class IcNoticeDTO implements Serializable { /** * 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date createdTime; /** diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java new file mode 100644 index 0000000000..0d038cf71a --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java @@ -0,0 +1,63 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.DefaultGroup; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/3/28 14:14 + */ +@NoArgsConstructor +@Data +public class SendNoticeFormDTO implements Serializable { + private static final long serialVersionUID = 4800907725063604885L; + private String customerId; + /** + * 用户列表 + */ + @NotNull(message = "用户列表不能为空", groups = DefaultGroup.class) + private List userList; + /** + * 通知渠道通知渠道 0小程序通知,1短信通知 + */ + @NotNull(message = "通知渠道不能为空", groups = DefaultGroup.class) + private List channel; + /** + * 通知来源 0 行程上报,1 疫苗接种,2 核酸检测 + */ + @NotNull(message = "通知来源不能为空", groups = DefaultGroup.class) + private String origin; + /** + * 通知内容 + */ + @NotNull(message = "通知内容不能为空", groups = DefaultGroup.class) + private String content; + /** + * 组织名 + */ + @NotNull(message = "组织名不能为空", groups = DefaultGroup.class) + private String orgName; + + @NoArgsConstructor + @Data + public static class UserListBean { + /** + * 用户ID + */ + private String userId; + /** + * 手机号 + */ + private String mobile; + /** + * 身份证 + */ + private String idCard; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java index 11000e575d..644c768530 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java @@ -1,19 +1,21 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; 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.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IcNoticeDTO; +import com.epmet.dto.form.SendNoticeFormDTO; import com.epmet.service.IcNoticeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.List; import java.util.Map; @@ -68,6 +70,12 @@ public class IcNoticeController { return new Result(); } - + @PostMapping("sendNotice") + public Result sendNotice(@LoginUser TokenDto tokenDto, @RequestBody SendNoticeFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, DefaultGroup.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + icNoticeService.sendNotice(formDTO); + return new Result(); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNoticeEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNoticeEntity.java index 0114b3c5e7..133d56dfcd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNoticeEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNoticeEntity.java @@ -1,13 +1,10 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 防疫通知 * @@ -36,6 +33,15 @@ public class IcNoticeEntity extends BaseEpmetEntity { */ private String origin; + /** + * 用户ID + */ + private String userId; + /** + * 手机号 + */ + private String mobile; + /** * 被通知人身份证号 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java index 82d94c16d9..9bbcd2428e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.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.IcNoticeDTO; +import com.epmet.dto.form.SendNoticeFormDTO; import com.epmet.entity.IcNoticeEntity; import java.util.List; @@ -75,4 +76,23 @@ public interface IcNoticeService extends BaseService { * @date 2022-03-28 */ void delete(String[] ids); + + /** + * 发送通知 + * + * @Param formDTO + * @Return + * @Author zhaoqifeng + * @Date 2022/3/28 14:19 + */ + void sendNotice(SendNoticeFormDTO formDTO); + + /** + * 获取人员最新一条通知 + * @Param idCard + * @Return {@link IcNoticeDTO} + * @Author zhaoqifeng + * @Date 2022/3/28 15:43 + */ + IcNoticeDTO getNotice(String customerId, String idCard); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java index 9c1d1c4628..ddd101c46b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java @@ -1,23 +1,36 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; +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.*; 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.Result; +import com.epmet.constant.SmsTemplateConstant; +import com.epmet.constant.UserMessageTypeConstant; import com.epmet.dao.IcNoticeDao; import com.epmet.dto.IcNoticeDTO; +import com.epmet.dto.form.ProjectSendMsgFormDTO; +import com.epmet.dto.form.SendNoticeFormDTO; +import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.entity.IcNoticeEntity; +import com.epmet.feign.MessageFeignClient; import com.epmet.service.IcNoticeService; +import lombok.extern.slf4j.Slf4j; +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 javax.annotation.Resource; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 防疫通知 @@ -25,9 +38,13 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2022-03-28 */ +@Slf4j @Service public class IcNoticeServiceImpl extends BaseServiceImpl implements IcNoticeService { + @Resource + private MessageFeignClient messageFeignClient; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -80,4 +97,91 @@ public class IcNoticeServiceImpl extends BaseServiceImpl entityList = formDTO.getUserList().stream().map(item -> { + IcNoticeEntity entity = new IcNoticeEntity(); + entity.setCustomerId(formDTO.getCustomerId()); + entity.setChannel(channel); + entity.setContent(formDTO.getContent()); + entity.setOrigin(entity.getOrigin()); + entity.setUserId(item.getUserId()); + entity.setMobile(entity.getMobile()); + entity.setIdCard(item.getIdCard()); + entity.setOrgName(formDTO.getOrgName()); + return entity; + }).collect(Collectors.toList()); + insertBatch(entityList); + + //通知 + List msgList = new ArrayList<>(); + //短信消息 + List smsList = new ArrayList<>(); + + entityList.forEach(item -> { + if (StringUtils.isNotBlank(item.getUserId())) { + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(item.getCustomerId()); + messageFormDTO.setApp(AppClientConstant.APP_GOV); + messageFormDTO.setGridId(StrConstant.STAR); + messageFormDTO.setUserId(item.getUserId()); + messageFormDTO.setTitle("您有一条通知消息!"); + messageFormDTO.setMessageContent(item.getContent()); + messageFormDTO.setReadFlag(Constant.UNREAD); + messageFormDTO.setMessageType(UserMessageTypeConstant.ANTIEPIDEMIC); + messageFormDTO.setTargetId(item.getId()); + msgList.add(messageFormDTO); + } + //TODO + if (StringUtils.isNotBlank(item.getMobile())) { + ProjectSendMsgFormDTO sms = new ProjectSendMsgFormDTO(); + sms.setCustomerId(item.getCustomerId()); + sms.setMobile(item.getMobile()); + sms.setAliyunTemplateCode(SmsTemplateConstant.PROJECT_OVERDUE); + sms.setParameterKey("send_msg"); + smsList.add(sms); + } + }); + + Result result = messageFeignClient.saveUserMessageList(msgList); + if (!result.success()) { + log.error("发送小程序消息失败" + JSON.toJSONString(result)); + } + } + + /** + * 获取人员最新一条通知 + * + * @param idCard + * @Param idCard + * @Return {@link IcNoticeDTO} + * @Author zhaoqifeng + * @Date 2022/3/28 15:43 + */ + @Override + public IcNoticeDTO getNotice(String customerId, String idCard) { + IcNoticeDTO result = new IcNoticeDTO(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcNoticeEntity::getCustomerId, customerId); + wrapper.eq(IcNoticeEntity::getIdCard, idCard); + wrapper.orderByDesc(IcNoticeEntity::getCreatedTime); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isNotEmpty(list)) { + result = ConvertUtils.sourceToTarget(list.get(NumConstant.ZERO), IcNoticeDTO.class); + result.setChannelList(Arrays.asList(result.getChannel().split(StrConstant.COMMA))); + } + return result; + } + } \ No newline at end of file From 4740324be7d5bed1d016dba8c101fd5c4df25ef3 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Mar 2022 16:22:45 +0800 Subject: [PATCH 015/129] =?UTF-8?q?=E3=80=90=E6=A0=B8=E9=85=B8=E3=80=91?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcNatDTO.java | 5 ++-- .../com/epmet/dto/form/AddIcNatFormDTO.java | 7 ++--- .../com/epmet/controller/IcNatController.java | 2 +- .../src/main/java/com/epmet/dao/IcNatDao.java | 2 +- .../java/com/epmet/entity/IcNatEntity.java | 2 +- .../epmet/service/impl/IcNatServiceImpl.java | 26 +++++++++++-------- .../src/main/resources/mapper/IcNatDao.xml | 2 ++ 7 files changed, 27 insertions(+), 19 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java index df1f7db433..9c98833ed4 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java @@ -1,6 +1,7 @@ package com.epmet.dto; import java.io.Serializable; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -129,10 +130,10 @@ public class IcNatDTO implements Serializable { /** * 通知渠道 0小程序通知,1短信通知,多选是数组 */ - private List channel; + private List channel = new ArrayList<>(); /** * 通知内容 */ - private String content; + private String content = ""; } \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java index 6000b6a969..73928633fb 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -6,6 +6,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import java.io.Serializable; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -56,7 +57,7 @@ public class AddIcNatFormDTO implements Serializable { /** * 检测时间 */ - @NotBlank(message = "检测时间不能为空", groups = Nat.class) + //@NotBlank(message = "检测时间不能为空", groups = Nat.class) @JsonFormat(pattern="yyyy-MM-dd HH:mm") private Date natTime; /** @@ -83,11 +84,11 @@ public class AddIcNatFormDTO implements Serializable { /** * 通知渠道 0小程序通知,1短信通知,多选是数组 */ - private List channel; + private List channel = new ArrayList<>(); /** * 通知内容 */ - private String content; + private String content = ""; //token中信息 private String customerId; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 929e95ce4b..3f39c2500d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -41,7 +41,7 @@ public class IcNatController { * @Author sun * @Description 核酸检测-上报核酸记录 **/ - @NoRepeatSubmit + //@NoRepeatSubmit @PostMapping("add") public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java index 91ce606f2d..5ab06f865d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -35,5 +35,5 @@ public interface IcNatDao extends BaseDao { * @Author sun * @Description 删除/取消同步操作--物理删除业务数据 **/ - boolean delById(@Param("icNatId") String icNatId); + int delById(@Param("icNatId") String icNatId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java index d1f62275b1..84d875c391 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java @@ -74,7 +74,7 @@ public class IcNatEntity extends BaseEpmetEntity { /** * 检测地点 */ - private String natOAddress; + private String natAddress; /** * 文件名 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 8a7061152e..400b52f5fd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -49,6 +49,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * @Description 核酸检测-上报核酸记录 **/ @Override + @Transactional(rollbackFor = Exception.class) public void add(AddIcNatFormDTO formDTO) { //1.获取所填居民所属组织缓存信息 AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId()); @@ -63,6 +64,8 @@ public class IcNatServiceImpl extends BaseServiceImpl imp //3.新增通知表信息 if (formDTO.getChannel().size() > NumConstant.ZERO) { //TODO + + } } @@ -132,8 +135,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp public void edit(AddIcNatFormDTO formDTO) { //1.更新核酸记录表数据 IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); + entity.setId(formDTO.getIcNatId()); if (!updateById(entity)) { - log.error(String.format("数据修改失败,核酸记录Id->", formDTO.getIcNatId())); + log.error(String.format("数据修改失败,核酸记录Id->%s", formDTO.getIcNatId())); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "核酸记录修改失败"); } @@ -150,8 +154,8 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Override public void del(MyNatListFormDTO formDTO) { //1.物理删除业务数据 - if (baseDao.delById(formDTO.getIcNatId())) { - log.error(String.format("数据删除/取消同步失败,核酸记录Id->", formDTO.getIcNatId())); + if (baseDao.delById(formDTO.getIcNatId()) < NumConstant.ONE) { + log.error(String.format("数据删除/取消同步失败,核酸记录Id->%s", formDTO.getIcNatId())); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据操作失败"); } } @@ -162,19 +166,19 @@ public class IcNatServiceImpl extends BaseServiceImpl imp **/ @Override public void synchro(MyNatListFormDTO formDTO) { + //1.获取工作人员缓存数据 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } //1.根据核酸记录Id查询业务数据并进行必要校验 IcNatEntity entity = baseDao.selectById(formDTO.getIcNatId()); - if (null == entity || formDTO.getAgencyId().equals(entity.getAgencyId()) + if (null == entity || staffInfo.getAgencyId().equals(entity.getAgencyId()) || (!"import".equals(entity.getUserType()) && !"synchro".equals(entity.getUserType()))) { - log.error(String.format("数据同步失败,核酸记录Id->", formDTO.getIcNatId())); + log.error(String.format("数据同步失败,核酸记录Id->%s", formDTO.getIcNatId())); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据同步失败,不是导入数据或非本组织数据"); } - //2.获取工作人员缓存数据 - //获取工作人员缓存信息 - CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); - if (null == staffInfo) { - throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); - } + //3.待同步组织新增业务数据 entity.setId(""); entity.setAgencyId(staffInfo.getAgencyId()); diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index b0e8a01607..7899c84227 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -22,6 +22,7 @@ del_flag = '0' AND customer_id = #{customerId} AND id_card = #{idCard} + ORDER BY nat_time DESC From d299af5789f32721adef1fe33a13708443e146ed Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Mar 2022 16:33:02 +0800 Subject: [PATCH 016/129] =?UTF-8?q?=E3=80=90=E6=A0=B8=E9=85=B8=E3=80=91?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/IcNatController.java | 11 ++--- .../java/com/epmet/service/IcNatService.java | 2 - .../epmet/service/impl/IcNatServiceImpl.java | 49 ++++++++++++++----- 3 files changed, 40 insertions(+), 22 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 3f39c2500d..5384a76dbb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -2,14 +2,9 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; -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.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.DefaultGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.MyNatListFormDTO; @@ -17,10 +12,12 @@ import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.service.IcNatService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +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 java.util.List; -import java.util.Map; /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java index 2da059b99f..50bf30b6f8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java @@ -1,7 +1,6 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.MyNatListFormDTO; @@ -10,7 +9,6 @@ import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcNatEntity; import java.util.List; -import java.util.Map; /** * 核酸上报记录 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 400b52f5fd..40e1c49d5c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -1,37 +1,35 @@ package com.epmet.service.impl; -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.constant.NumConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.page.PageData; 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.utils.ConvertUtils; import com.epmet.dao.IcNatDao; import com.epmet.dto.IcNatDTO; +import com.epmet.dto.IcNoticeDTO; import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.form.SendNoticeFormDTO; import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcNatEntity; import com.epmet.service.IcNatService; +import com.epmet.service.IcNoticeService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; -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.ArrayList; import java.util.List; -import java.util.Map; /** * 核酸上报记录 @@ -42,7 +40,8 @@ import java.util.Map; @Service @Slf4j public class IcNatServiceImpl extends BaseServiceImpl implements IcNatService { - + @Autowired + private IcNoticeService icNoticeService; /** * @Author sun @@ -63,9 +62,15 @@ public class IcNatServiceImpl extends BaseServiceImpl imp //3.新增通知表信息 if (formDTO.getChannel().size() > NumConstant.ZERO) { - //TODO - - + SendNoticeFormDTO dto = new SendNoticeFormDTO(); + List userList = new ArrayList<>(); + userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); + dto.setUserList(userList); + dto.setChannel(formDTO.getChannel()); + dto.setOrigin("2"); + dto.setContent(formDTO.getContent()); + dto.setOrgName(agencyInfo.getOrganizationName()); + icNoticeService.sendNotice(dto); } } @@ -122,7 +127,11 @@ public class IcNatServiceImpl extends BaseServiceImpl imp resultDTO = ConvertUtils.sourceToTarget(entity, IcNatDTO.class); //2.查询对应的通知记录信息 - //TODO + IcNoticeDTO dto = icNoticeService.getNotice(entity.getCustomerId(), entity.getIdCard()); + if (null != dto) { + resultDTO.setChannel(dto.getChannelList()); + resultDTO.setContent(dto.getContent()); + } return resultDTO; } @@ -143,7 +152,21 @@ public class IcNatServiceImpl extends BaseServiceImpl imp //3.新增通知表信息 if (formDTO.getChannel().size() > NumConstant.ZERO) { - //TODO + IcNatEntity icNatEntity = baseDao.selectById(formDTO.getIcNatId()); + //1.获取所填居民所属组织缓存信息 + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(icNatEntity.getAgencyId()); + if (null == agencyInfo) { + throw new RenException(String.format("获取组织缓存信息失败%s", icNatEntity.getAgencyId())); + } + SendNoticeFormDTO dto = new SendNoticeFormDTO(); + List userList = new ArrayList<>(); + userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); + dto.setUserList(userList); + dto.setChannel(formDTO.getChannel()); + dto.setOrigin("2"); + dto.setContent(formDTO.getContent()); + dto.setOrgName(agencyInfo.getOrganizationName()); + icNoticeService.sendNotice(dto); } } From 1bdfbf6acd9e275414f47792993a0b796089e25e Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 28 Mar 2022 16:48:04 +0800 Subject: [PATCH 017/129] =?UTF-8?q?=E9=98=B2=E7=96=AB=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/enums/ChannelEnum.java | 57 +++++++++++++++++++ .../main/java/com/epmet/dto/IcNoticeDTO.java | 12 ++++ .../com/epmet/dto/form/IcNoticeFormDTO.java | 21 +++++++ .../epmet/controller/IcNoticeController.java | 8 +-- .../com/epmet/service/IcNoticeService.java | 5 +- .../service/impl/IcNoticeServiceImpl.java | 36 +++++++++--- 6 files changed, 124 insertions(+), 15 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ChannelEnum.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcNoticeFormDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ChannelEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ChannelEnum.java new file mode 100644 index 0000000000..389338f717 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ChannelEnum.java @@ -0,0 +1,57 @@ +package com.epmet.commons.tools.enums; + +import com.epmet.commons.tools.exception.EpmetErrorCode; + +/** + * @author Administrator + */ +public enum ChannelEnum { + //通知渠道 0小程序通知,1短信通知 + APP("0", "小程序通知"), + MESSAGE("1", "短信通知"), + ALL("2", "小程序通知,短信通知"); + private String code; + private String name; + + + ChannelEnum(String code, String name) { + this.code = code; + this.name = name; + } + + public static String getName(String code) { + ChannelEnum[] houseTypeEnums = values(); + for (ChannelEnum houseTypeEnum : houseTypeEnums) { + if (houseTypeEnum.getCode() == code) { + return houseTypeEnum.getName(); + } + } + return EpmetErrorCode.SERVER_ERROR.getMsg(); + } + + public static String getCode(String name) { + ChannelEnum[] houseTypeEnums = values(); + for (ChannelEnum houseTypeEnum : houseTypeEnums) { + if (houseTypeEnum.getName().equals(name)) { + return houseTypeEnum.getCode(); + } + } + return null; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java index 0a67cd4875..72520ef800 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java @@ -1,6 +1,7 @@ package com.epmet.dto; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -22,11 +23,13 @@ public class IcNoticeDTO implements Serializable { /** * 唯一标识 */ + @JsonIgnore private String id; /** * 客户Id customer.id */ + @JsonIgnore private String customerId; /** @@ -37,20 +40,24 @@ public class IcNoticeDTO implements Serializable { /** * 通知来源 0行程上报,1疫苗接种,2核酸检测 */ + @JsonIgnore private String origin; /** * 用户ID */ + @JsonIgnore private String userId; /** * 手机号 */ + @JsonIgnore private String mobile; /** * 被通知人身份证号 */ + @JsonIgnore private String idCard; /** @@ -66,16 +73,19 @@ public class IcNoticeDTO implements Serializable { /** * 删除标识:0.未删除 1.已删除 */ + @JsonIgnore private Integer delFlag; /** * 乐观锁 */ + @JsonIgnore private Integer revision; /** * 创建人 */ + @JsonIgnore private String createdBy; /** @@ -87,11 +97,13 @@ public class IcNoticeDTO implements Serializable { /** * 更新人 */ + @JsonIgnore private String updatedBy; /** * 更新时间 */ + @JsonIgnore private Date updatedTime; } \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcNoticeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcNoticeFormDTO.java new file mode 100644 index 0000000000..057ee17921 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcNoticeFormDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/3/28 16:13 + */ +@Data +public class IcNoticeFormDTO extends PageFormDTO implements Serializable { + private static final long serialVersionUID = 7392894573654015338L; + private String customerId; + @NotBlank(message = "身份证号不能为空", groups = DefaultGroup.class) + private String idCard; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java index 644c768530..f7cb128fc4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java @@ -11,13 +11,12 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IcNoticeDTO; +import com.epmet.dto.form.IcNoticeFormDTO; import com.epmet.dto.form.SendNoticeFormDTO; import com.epmet.service.IcNoticeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.Map; - /** * 防疫通知 @@ -33,8 +32,9 @@ public class IcNoticeController { private IcNoticeService icNoticeService; @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = icNoticeService.page(params); + public Result> page(@LoginUser TokenDto tokenDto, @RequestBody IcNoticeFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + PageData page = icNoticeService.page(formDTO); return new Result>().ok(page); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java index 9bbcd2428e..937cca916a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.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.IcNoticeDTO; +import com.epmet.dto.form.IcNoticeFormDTO; import com.epmet.dto.form.SendNoticeFormDTO; import com.epmet.entity.IcNoticeEntity; @@ -20,12 +21,12 @@ public interface IcNoticeService extends BaseService { /** * 默认分页 * - * @param params + * @param dto * @return PageData * @author generator * @date 2022-03-28 */ - PageData page(Map params); + PageData page(IcNoticeFormDTO formDTO); /** * 默认查询 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java index ddd101c46b..64fe1016c2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java @@ -3,9 +3,9 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; 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.*; +import com.epmet.commons.tools.enums.ChannelEnum; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; @@ -13,12 +13,15 @@ import com.epmet.constant.SmsTemplateConstant; import com.epmet.constant.UserMessageTypeConstant; import com.epmet.dao.IcNoticeDao; import com.epmet.dto.IcNoticeDTO; +import com.epmet.dto.form.IcNoticeFormDTO; import com.epmet.dto.form.ProjectSendMsgFormDTO; import com.epmet.dto.form.SendNoticeFormDTO; import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.entity.IcNoticeEntity; import com.epmet.feign.MessageFeignClient; import com.epmet.service.IcNoticeService; +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.lang3.StringUtils; @@ -46,12 +49,27 @@ public class IcNoticeServiceImpl extends BaseServiceImpl page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, IcNoticeDTO.class); + public PageData page(IcNoticeFormDTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcNoticeEntity::getCustomerId, formDTO.getCustomerId()); + wrapper.eq(IcNoticeEntity::getIdCard, formDTO.getIdCard()); + wrapper.orderByDesc(IcNoticeEntity::getCreatedTime); + List list = baseDao.selectList(wrapper); + PageInfo pageInfo = new PageInfo<>(list); + List dtoList = ConvertUtils.sourceToTarget(list, IcNoticeDTO.class); + + if (CollectionUtils.isNotEmpty(dtoList)) { + dtoList.forEach(item -> { + List channelList = Arrays.asList(item.getChannel().split(StrConstant.COMMA)); + if (channelList.size() == NumConstant.ONE) { + item.setChannel(ChannelEnum.getName(channelList.get(0))); + } else { + item.setChannel(ChannelEnum.getName(NumConstant.TWO_STR)); + } + }); + } + return new PageData<>(dtoList, pageInfo.getTotal()); } @Override @@ -115,9 +133,9 @@ public class IcNoticeServiceImpl extends BaseServiceImpl Date: Mon, 28 Mar 2022 16:53:20 +0800 Subject: [PATCH 018/129] =?UTF-8?q?=E3=80=90=E6=A0=B8=E9=85=B8=E3=80=91?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/IcNatController.java | 3 ++- .../main/java/com/epmet/service/impl/IcNatServiceImpl.java | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 5384a76dbb..0f6f799dd4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -88,7 +88,8 @@ public class IcNatController { **/ @NoRepeatSubmit @PostMapping("edit") - public Result edit(@RequestBody AddIcNatFormDTO formDTO) { + public Result edit(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); icNucleinService.edit(formDTO); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 40e1c49d5c..f367748156 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -65,6 +65,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp SendNoticeFormDTO dto = new SendNoticeFormDTO(); List userList = new ArrayList<>(); userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); + dto.setCustomerId(formDTO.getCustomerId()); dto.setUserList(userList); dto.setChannel(formDTO.getChannel()); dto.setOrigin("2"); @@ -141,6 +142,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * @Description 【核酸】核酸检测信息修改 **/ @Override + @Transactional(rollbackFor = Exception.class) public void edit(AddIcNatFormDTO formDTO) { //1.更新核酸记录表数据 IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); @@ -161,6 +163,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp SendNoticeFormDTO dto = new SendNoticeFormDTO(); List userList = new ArrayList<>(); userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); + dto.setCustomerId(formDTO.getCustomerId()); dto.setUserList(userList); dto.setChannel(formDTO.getChannel()); dto.setOrigin("2"); @@ -175,6 +178,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * @Description 【核酸】核酸检测信息删除/取消同步 **/ @Override + @Transactional(rollbackFor = Exception.class) public void del(MyNatListFormDTO formDTO) { //1.物理删除业务数据 if (baseDao.delById(formDTO.getIcNatId()) < NumConstant.ONE) { @@ -188,6 +192,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * @Description 【核酸】核酸检测信息同步 **/ @Override + @Transactional(rollbackFor = Exception.class) public void synchro(MyNatListFormDTO formDTO) { //1.获取工作人员缓存数据 CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); From d8666c408f094fd9d9e8c3f0752c8759fb1e9964 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 28 Mar 2022 16:55:39 +0800 Subject: [PATCH 019/129] add --- .../dto/form/CancelAttentionFormDTO.java | 6 +++ .../form/CancelAttentionPackageFormDTO.java | 20 ++++++++++ .../IcEpidemicSpecialAttentionController.java | 18 ++++----- .../IcEpidemicSpecialAttentionService.java | 3 +- ...IcEpidemicSpecialAttentionServiceImpl.java | 38 +++++++++++++++---- 5 files changed, 65 insertions(+), 20 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionPackageFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java index e1fcde9b28..bd9e48906c 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java @@ -2,6 +2,8 @@ package com.epmet.dto.form; import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.List; @@ -15,13 +17,17 @@ public class CancelAttentionFormDTO implements Serializable { private static final long serialVersionUID = 2252387281427013057L; + public interface CancelAttentionForm{} + /** * 身份证 */ + @NotBlank(message = "idCard不能为空",groups = CancelAttentionForm.class) private String idCard; /** * 关注类型,核酸检测:2,疫苗接种:1 */ + @NotNull(message = "attentionType不能为空",groups = CancelAttentionForm.class) private Integer attentionType ; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionPackageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionPackageFormDTO.java new file mode 100644 index 0000000000..db47f3520a --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionPackageFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.Valid; +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2022/3/28 16:48 + * @DESC + */ +@Data +public class CancelAttentionPackageFormDTO implements Serializable { + + private static final long serialVersionUID = 2198470055930997870L; + @Valid + private List list; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index cf91237a2d..f7325eca20 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -12,10 +12,7 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; -import com.epmet.dto.form.CancelAttentionFormDTO; -import com.epmet.dto.form.NatListFormDTO; -import com.epmet.dto.form.VaccinationAddFormDTO; -import com.epmet.dto.form.VaccinationListFormDTO; +import com.epmet.dto.form.*; import com.epmet.service.IcEpidemicSpecialAttentionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -55,15 +52,13 @@ public class IcEpidemicSpecialAttentionController { /** * Desc:【疫苗接种关注名单,核酸检测关注名单】新增 - * @param list + * @param formDTO * @param tokenDto * @author zxc * @date 2022/3/28 13:35 */ @PostMapping("vaccination-add") - public Result vaccinationAdd(@RequestBody List list,@LoginUser TokenDto tokenDto){ - VaccinationAddFormDTO formDTO = new VaccinationAddFormDTO(); - formDTO.setList(list); + public Result vaccinationAdd(@RequestBody VaccinationAddFormDTO formDTO,@LoginUser TokenDto tokenDto){ ValidatorUtils.validateEntity(formDTO, VaccinationAddFormDTO.VaccinationAddForm.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); @@ -85,13 +80,14 @@ public class IcEpidemicSpecialAttentionController { /** * Desc: 取消关注 - * @param list + * @param formDTO * @author zxc * @date 2022/3/28 13:51 */ @PostMapping("cancel-attention") - public Result cancelAttention(@RequestBody List list){ - icEpidemicSpecialAttentionService.cancelAttention(list); + public Result cancelAttention(@RequestBody CancelAttentionPackageFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, CancelAttentionFormDTO.CancelAttentionForm.class); + icEpidemicSpecialAttentionService.cancelAttention(formDTO); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java index c1f051233d..2ed2223152 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java @@ -4,6 +4,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; import com.epmet.dto.form.CancelAttentionFormDTO; +import com.epmet.dto.form.CancelAttentionPackageFormDTO; import com.epmet.dto.form.VaccinationAddFormDTO; import com.epmet.dto.form.VaccinationListFormDTO; import com.epmet.entity.IcEpidemicSpecialAttentionEntity; @@ -110,5 +111,5 @@ public interface IcEpidemicSpecialAttentionService extends BaseService list); + void cancelAttention(CancelAttentionPackageFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index d9651531f1..f87b2c3184 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -7,15 +7,14 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; +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.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.IcEpidemicSpecialAttentionDao; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; -import com.epmet.dto.form.CancelAttentionFormDTO; -import com.epmet.dto.form.NatListFormDTO; -import com.epmet.dto.form.VaccinationAddFormDTO; -import com.epmet.dto.form.VaccinationListFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.VaccinationListResultDTO; import com.epmet.entity.IcEpidemicSpecialAttentionEntity; import com.epmet.service.IcEpidemicSpecialAttentionService; @@ -100,10 +99,10 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl result = new PageData(new ArrayList(), NumConstant.ZERO_L); CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); if (null == staffInfo){ - throw new EpmetException("为查询到工作人员信息"+formDTO.getUserId()); + throw new EpmetException("未查询到工作人员信息"+formDTO.getUserId()); } formDTO.setOrgId(staffInfo.getAgencyId()); // 关注类型,核酸检测:2,疫苗接种:1 @@ -128,6 +127,11 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl entities = ConvertUtils.sourceToTarget(formDTO.getList(), IcEpidemicSpecialAttentionEntity.class); + entities.forEach(e -> { + e.setIsAttention(NumConstant.ONE); + e.setOrgId(agencyInfo.getId()); + e.setPid(agencyInfo.getPid()); + e.setPids(agencyInfo.getPids()); + e.setCustomerId(formDTO.getCustomerId()); + }); + insertBatch(entities); + //TODO 发送通知 } /** @@ -162,7 +184,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl list) { + public void cancelAttention(CancelAttentionPackageFormDTO formDTO) { } From cdb8ec7e286a7b1d8bdfcc060d26522049beab15 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Mar 2022 17:06:18 +0800 Subject: [PATCH 020/129] =?UTF-8?q?=E3=80=90=E6=A0=B8=E9=85=B8=E3=80=91?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B=E4=B8=8B=E8=BD=BD=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/IcNatController.java | 36 ++++++++++++++++-- .../src/main/resources/excel/ic_nat.xlsx | Bin 0 -> 9114 bytes 2 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 0f6f799dd4..35d3511196 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -11,12 +11,16 @@ import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.service.IcNatService; +import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; -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 org.springframework.http.HttpHeaders; +import org.springframework.web.bind.annotation.*; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.net.URLEncoder; import java.util.List; @@ -120,5 +124,29 @@ public class IcNatController { return new Result(); } + /** + * @Author sun + * @Description 【核酸】核酸检测信息下载模板 + **/ + @RequestMapping(value = "import-template-download", method = {RequestMethod.GET, RequestMethod.POST}) + public void downloadTemplate(HttpServletResponse response) throws IOException { + response.setCharacterEncoding("UTF-8"); + response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + //response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("社区自组织导入模板", "UTF-8") + ".xlsx"); + + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/ic_nat.xlsx"); + try { + ServletOutputStream os = response.getOutputStream(); + IOUtils.copy(is, os); + } finally { + if (is != null) { + is.close(); + } + } + + } + } diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..4d7df5944a91e416a31a21891975ba1778567252 GIT binary patch literal 9114 zcmaJ{1yo$ivc-ZE+}+(>g1fuB1s~jlyCpzyf(8jraCaxT6Wrb1J|zF$d&9r~^;&1n ztTRq;@`M=X#~RI+u)$ZgYzH&sERL3Wigj#PWtp?2rgriGH! z9Ob*Y!2VXrCc&_5khuZ&>&-Cc7O7R&OJidNQS{n$HFO{_Ui;d`ah!vOn(}7vpl;c8d2`k^!MCv-<|IpV+Gc)sjg9Qhy*XcfxH&nv zprc!%x!oyF=-8Iu17+L+RoDk_@asg3)M?M@#%gy{5&!57Bp1~BPN-dmBb*f|_lr>T z<7(}W8vEUi&B>cT(N)4w$OSY;I+yS<)8#{I}Y+!A^DF;ap&QmF+9}A**Te)VpL83`S5X}}L zzZHVK1F)Y!iwrT-sxO#Pj6mUNCQPewvVUer!?QMOb%&yZCOM#Bf5YVppy-am=Vwd+ z3x2!WTpo5~TZPIN(NYd=8=osx)XLn((}BytMvV9++V7+Inav&^0Y?xPirEo^1mxqT zds+X3#t1cXUd*F$yYyDAQuVSwNBu|HsP1a(Sm&u8$Q!7|cR%?qvbz;syt{zo>Xtui z={J{~3^+P{miESLC+tBct-Y1^M-@hy8zGz!aZ6fQv}VsA9HR*z*GMg{4v=Tc)3}{0 z_nL6A4u(Kgtxb3$quVhQ*kVUseIvhlJzX&H%6o?*b*dkparJt}82Jx;og5qi*1sJ1 zlYpE*1B%ZP*<*0-)tF*C&et+XD|Gl|4j1wqD;YDXIX|Q|?;2ySBRsw41o|ZptE)_K z2AI9Cqi-UJL3~GkIx42aTs!k*(1H!s)LTMiivXjqESEI47|~Bfw7XN{KtdltyPkLr zGCJQADeqR3>UM{OsBzjGvuOF2c5I;CQ-j zx_@;_Z7CV2Be{XU`{fNoGdDm=QZX!sB0R<{_A6$GcgV_;U(5>Y!ENm+_KP?EdrAO( zM$6Ue7o7ht@bqdy{C3ayXwAW{yX6Q4iK@8<{e^f&rk_}-{uPWofIn4$+JrnvkW4LmglYRbFE?E=!8mw!kc=60m?Yq!k z5Qt(-6Ta=~)xnscOwhjmkVe{YVg_w~TlNU%2mKC_wM?0n9N6xT&jMJ|2Rss6#EyOt z6&Sz^lG@Dms@yJeu_@I3=2_;@RicY>gx?DTZ1bt3GEOJ2(3M!5Gm|BkAnhy%zxW%P zA*eHV(@U^ujY4e@JVK?|)K$n2;`)H0#w^^SO%6KuFV?^`%?byV!O;rlP4%v8JUJ==Br@A8`B~H*=Q

GE`lEva968# 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 Date: Mon, 28 Mar 2022 17:30:57 +0800 Subject: [PATCH 021/129] =?UTF-8?q?=E3=80=90=E6=A0=B8=E9=85=B8=E3=80=91?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-user-server/src/main/resources/mapper/IcNatDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index 7899c84227..f8b162ee5c 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -43,7 +43,7 @@ del_flag = '0' AND customer_id = #{customerId} - AND pids like concat('%', #{agencyId}, '%') + AND (agency_id = #{agencyId} OR pids like concat('%', #{agencyId}, '%')) AND name like concat('%', #{name}, '%') From 567479cb6f82d56b8cd5422d1a91740d65297ad4 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 28 Mar 2022 17:35:26 +0800 Subject: [PATCH 022/129] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-commons/epmet-commons-tools/pom.xml | 20 ++++ .../data-report/data-report-server/pom.xml | 6 - .../com/epmet/dto/form/MyNatListFormDTO.java | 13 +- .../epmet/dto/result/NatListResultDTO.java | 111 ++++++++++-------- epmet-user/epmet-user-server/pom.xml | 19 --- .../com/epmet/controller/IcNatController.java | 53 ++++++++- .../src/main/java/com/epmet/dao/IcNatDao.java | 4 +- .../java/com/epmet/service/IcNatService.java | 8 +- .../epmet/service/impl/IcNatServiceImpl.java | 16 ++- .../src/main/resources/mapper/IcNatDao.xml | 4 +- 10 files changed, 152 insertions(+), 102 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/pom.xml b/epmet-commons/epmet-commons-tools/pom.xml index 7f1fb8e728..e516c5fba7 100644 --- a/epmet-commons/epmet-commons-tools/pom.xml +++ b/epmet-commons/epmet-commons-tools/pom.xml @@ -24,6 +24,7 @@ 2.8.6 1.11.3 1.18.4 + 3.0.3 @@ -177,6 +178,25 @@ javase 3.4.1 + + com.alibaba + easyexcel + ${easyexcel.version} + + + poi + org.apache.poi + + + poi-ooxml + org.apache.poi + + + poi-ooxml-schemas + org.apache.poi + + + diff --git a/epmet-module/data-report/data-report-server/pom.xml b/epmet-module/data-report/data-report-server/pom.xml index 472525e5e7..cf8312e897 100644 --- a/epmet-module/data-report/data-report-server/pom.xml +++ b/epmet-module/data-report/data-report-server/pom.xml @@ -100,12 +100,6 @@ 2.0.0 compile - - com.alibaba - easyexcel - 3.0.3 - compile - diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java index b19a1d9caf..e9620dc5d2 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java @@ -1,17 +1,17 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import javax.validation.constraints.NotBlank; -import java.io.Serializable; /** * @Description 核酸检测-我的上报记录 * @Author sun */ @Data -public class MyNatListFormDTO implements Serializable { +public class MyNatListFormDTO extends PageFormDTO { private static final long serialVersionUID = 9156247659994638103L; public interface MyNat extends CustomerClientShowGroup { @@ -49,11 +49,6 @@ public class MyNatListFormDTO implements Serializable { * 检测结束时间yyyy-MM-dd HH:mm间yy-mm-dd */ private String endTime; - /** - * 分页参数 - */ - private Integer pageNo = 1; - private Integer pageSize = 10; /** * 核酸记录Id @@ -61,7 +56,9 @@ public class MyNatListFormDTO implements Serializable { @NotBlank(message = "核酸记录Id不能为空", groups = { Detail.class, Del.class, Synchro.class}) private String icNatId; - //token信息 + /** + * token里设置 + */ private String customerId; private String userId; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java index d3cbead954..7a62c359a8 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java @@ -1,12 +1,13 @@ package com.epmet.dto.result; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; -import java.util.ArrayList; import java.util.Date; -import java.util.List; /** * @Description 核酸检测-我的上报记录 @@ -16,61 +17,69 @@ import java.util.List; public class NatListResultDTO implements Serializable { private static final long serialVersionUID = 1L; - //总条数 - private Integer total; - List list = new ArrayList<>(); + /** + * 核酸记录Id + */ + @ExcelIgnore + private String icNatId; + /** + * 组织Id + */ + @ExcelIgnore + private String agencyId; + /** + * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 + */ + @ExcelIgnore + private String userId; + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + */ + @ExcelIgnore + private String userType; - @Data - public static class NatListDTO { + /** + * 姓名 + */ + @ColumnWidth(20) + @ExcelProperty("姓名") + private String name; - /** - * 核酸记录Id - */ - private String icNatId; - /** - * 组织Id - */ - private String agencyId; - /** - * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 - */ - private String userId; - /** - * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other - */ - private String userType; + /** + * 手机号 + */ + @ColumnWidth(20) + @ExcelProperty("手机号") + private String mobile; - /** - * 姓名 - */ - private String name; + /** + * 身份证号 + */ + @ColumnWidth(25) + @ExcelProperty("身份证号") + private String idCard; - /** - * 手机号 - */ - private String mobile; + /** + * 检测时间,yyyy-MM-dd HH:mm + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + @ColumnWidth(25) + @ExcelProperty("检测时间") + private Date natTime; - /** - * 身份证号 - */ - private String idCard; + /** + * 检测结果 + */ + @ColumnWidth(20) + @ExcelProperty("检测结果") + private String natResult; - /** - * 检测时间,yyyy-MM-dd HH:mm - */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") - private Date natTime; + /** + * 检测地点 + */ + @ColumnWidth(30) + @ExcelProperty("检测地点") + private String natAddress; - /** - * 检测结果 - */ - private String natResult; - - /** - * 检测地点 - */ - private String natAddress; - - } } diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index 0189ee8ce0..fb8ea8e9b4 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -18,25 +18,6 @@ epmet-admin-client 2.0.0 - - com.alibaba - easyexcel - 3.0.3 - - - poi - org.apache.poi - - - poi-ooxml - org.apache.poi - - - poi-ooxml-schemas - org.apache.poi - - - com.epmet epmet-user-client diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 35d3511196..a52e4e2a59 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -1,8 +1,14 @@ 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.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.dto.IcNatDTO; @@ -11,6 +17,8 @@ import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.service.IcNatService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; @@ -30,6 +38,7 @@ import java.util.List; * @author generator generator@elink-cn.com * @since v1.0.0 2022-03-25 */ +@Slf4j @RestController @RequestMapping("icNat") public class IcNatController { @@ -69,10 +78,10 @@ public class IcNatController { **/ @NoRepeatSubmit @PostMapping("natlist") - public Result natList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); - return new Result().ok(icNucleinService.natList(formDTO)); + return new Result>().ok(icNucleinService.natList(formDTO)); } /** @@ -148,5 +157,45 @@ public class IcNatController { } + /** + * @Author sun + * @Description 【核酸】核酸检测信息列表 + **/ + @NoRepeatSubmit + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO, HttpServletResponse response) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + + //formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); + //formDTO.setUserId("73ae6280e46a6653a5605d51d5462725"); + + 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),NatListResultDTO.class).build(); + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + PageData data = null; + do { + data = icNucleinService.natList(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(); + } + } + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java index 5ab06f865d..4ac7359f2e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -29,11 +29,11 @@ public interface IcNatDao extends BaseDao { * @Author sun * @Description 【核酸】核酸检测信息列表 **/ - List getNatList(MyNatListFormDTO formDTO); + List getNatList(MyNatListFormDTO formDTO); /** * @Author sun * @Description 删除/取消同步操作--物理删除业务数据 **/ int delById(@Param("icNatId") String icNatId); -} \ No newline at end of file +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java index 50bf30b6f8..736cb505df 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java @@ -1,6 +1,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.MyNatListFormDTO; @@ -33,8 +34,9 @@ public interface IcNatService extends BaseService { /** * @Author sun * @Description 【核酸】核酸检测信息列表 - **/ - NatListResultDTO natList(MyNatListFormDTO formDTO); + * + * @return*/ + PageData natList(MyNatListFormDTO formDTO); /** * @Author sun @@ -59,4 +61,4 @@ public interface IcNatService extends BaseService { * @Description 【核酸】核酸检测信息同步 **/ void synchro(MyNatListFormDTO formDTO); -} \ No newline at end of file +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index f367748156..f022f10d9b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -6,6 +6,7 @@ import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.page.PageData; 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; @@ -90,10 +91,10 @@ public class IcNatServiceImpl extends BaseServiceImpl imp /** * @Author sun * @Description 【核酸】核酸检测信息列表 - **/ + * + * @return*/ @Override - public NatListResultDTO natList(MyNatListFormDTO formDTO) { - NatListResultDTO resultDTO = new NatListResultDTO(); + public PageData natList(MyNatListFormDTO formDTO) { //1.根据orgType值判断是查询当前组织下还是整个客户下数据 if ("current".equals(formDTO.getOrgType())) { //获取工作人员缓存信息 @@ -105,12 +106,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } //2.按条件查询业务数据 - PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()) + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) .doSelectPageInfo(() -> baseDao.getNatList(formDTO)); - resultDTO.setTotal((int) data.getTotal()); - resultDTO.setList(data.getList()); - - return resultDTO; + return new PageData(data.getList(),data.getTotal()); } /** @@ -215,4 +213,4 @@ public class IcNatServiceImpl extends BaseServiceImpl imp insert(entity); } -} \ No newline at end of file +} diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index f8b162ee5c..a16f593941 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -25,7 +25,7 @@ ORDER BY nat_time DESC - SELECT id icNatId, agency_id agencyId, @@ -67,4 +67,4 @@ DELETE FROM ic_nat WHERE id = #{icNatId} - \ No newline at end of file + From 68529ce18a627dc2678567396f6be5fa24503cdb Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 28 Mar 2022 17:40:27 +0800 Subject: [PATCH 023/129] =?UTF-8?q?=E5=8F=96=E6=B6=88=E5=85=B3=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/CancelAttentionFormDTO.java | 33 ------------------- .../form/CancelAttentionPackageFormDTO.java | 19 +++++++++-- .../IcEpidemicSpecialAttentionController.java | 2 +- .../dao/IcEpidemicSpecialAttentionDao.java | 19 +++++++++++ .../IcEpidemicSpecialAttentionService.java | 3 +- ...IcEpidemicSpecialAttentionServiceImpl.java | 23 +++++++++++-- .../mapper/IcEpidemicSpecialAttentionDao.xml | 28 ++++++++++++++++ 7 files changed, 87 insertions(+), 40 deletions(-) delete mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java deleted file mode 100644 index bd9e48906c..0000000000 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.epmet.dto.form; - -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import java.io.Serializable; -import java.util.List; - -/** - * @Author zxc - * @DateTime 2022/3/28 13:47 - * @DESC - */ -@Data -public class CancelAttentionFormDTO implements Serializable { - - private static final long serialVersionUID = 2252387281427013057L; - - public interface CancelAttentionForm{} - - /** - * 身份证 - */ - @NotBlank(message = "idCard不能为空",groups = CancelAttentionForm.class) - private String idCard; - - /** - * 关注类型,核酸检测:2,疫苗接种:1 - */ - @NotNull(message = "attentionType不能为空",groups = CancelAttentionForm.class) - private Integer attentionType ; -} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionPackageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionPackageFormDTO.java index db47f3520a..f0c8f9a900 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionPackageFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionPackageFormDTO.java @@ -3,6 +3,8 @@ package com.epmet.dto.form; import lombok.Data; import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.List; @@ -15,6 +17,19 @@ import java.util.List; public class CancelAttentionPackageFormDTO implements Serializable { private static final long serialVersionUID = 2198470055930997870L; - @Valid - private List list; + + public interface CancelAttentionPackageForm{} + + + /** + * 身份证 + */ + @NotNull(message = "idCard不能为空",groups = CancelAttentionPackageForm.class) + private List idCards; + + /** + * 关注类型,核酸检测:2,疫苗接种:1 + */ + @NotNull(message = "attentionType不能为空",groups = CancelAttentionPackageForm.class) + private Integer attentionType ; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index f7325eca20..42fcc20c23 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -86,7 +86,7 @@ public class IcEpidemicSpecialAttentionController { */ @PostMapping("cancel-attention") public Result cancelAttention(@RequestBody CancelAttentionPackageFormDTO formDTO){ - ValidatorUtils.validateEntity(formDTO, CancelAttentionFormDTO.CancelAttentionForm.class); + ValidatorUtils.validateEntity(formDTO, CancelAttentionPackageFormDTO.CancelAttentionPackageForm.class); icEpidemicSpecialAttentionService.cancelAttention(formDTO); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java index cc1d3ba4a1..11b6b3ab09 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java @@ -5,6 +5,7 @@ import com.epmet.dto.form.VaccinationListFormDTO; import com.epmet.dto.result.VaccinationListResultDTO; import com.epmet.entity.IcEpidemicSpecialAttentionEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -33,4 +34,22 @@ public interface IcEpidemicSpecialAttentionDao extends BaseDao natList(VaccinationListFormDTO formDTO); + /** + * Desc: 取消关注 + * @param list + * @param attentionType + * @author zxc + * @date 2022/3/28 16:59 + */ + void cancelAttention(@Param("list")List list,@Param("attentionType")Integer attentionType); + + /** + * Desc: 查询已经存在的关注 + * @param attentionType + * @param list + * @author zxc + * @date 2022/3/28 17:29 + */ + List getExistList(@Param("attentionType")Integer attentionType,@Param("list")List list); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java index 2ed2223152..3690df2640 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java @@ -3,7 +3,6 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; -import com.epmet.dto.form.CancelAttentionFormDTO; import com.epmet.dto.form.CancelAttentionPackageFormDTO; import com.epmet.dto.form.VaccinationAddFormDTO; import com.epmet.dto.form.VaccinationListFormDTO; @@ -107,7 +106,7 @@ public interface IcEpidemicSpecialAttentionService extends BaseService entities = ConvertUtils.sourceToTarget(formDTO.getList(), IcEpidemicSpecialAttentionEntity.class); + List idCards = entities.stream().map(m -> m.getIdCard()).collect(Collectors.toList()); + Integer attentionType = entities.get(NumConstant.ZERO).getAttentionType(); + List existList = baseDao.getExistList(attentionType, idCards); + if (CollectionUtils.isNotEmpty(existList)){ + for (String s : existList) { + for (int i = NumConstant.ZERO; i < entities.size(); i++) { + if (s.equals(entities.get(i).getIdCard())){ + entities.remove(i); + continue; + } + } + } + } entities.forEach(e -> { + e.setIsAttention(NumConstant.ONE); e.setOrgId(agencyInfo.getId()); e.setPid(agencyInfo.getPid()); @@ -179,13 +195,16 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl + + + UPDATE ic_epidemic_special_attention + SET UPDATED_TIME = NOW(), + IS_ATTENTION = 0 + WHERE del_flag = 0 + AND attention_type = #{attentionType} + AND id_card IN ( + + #{l} + + ) + + + + + \ No newline at end of file From 9c8cb15b5f37320dea1549400b43e2d0cf1f5c01 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 28 Mar 2022 18:32:10 +0800 Subject: [PATCH 024/129] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/result/NatListResultDTO.java | 3 +++ .../src/main/java/com/epmet/controller/IcNatController.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java index 7a62c359a8..a65563bb5b 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java @@ -3,6 +3,8 @@ package com.epmet.dto.result; 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 +15,7 @@ import java.util.Date; * @Description 核酸检测-我的上报记录 * @Author sun */ +@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 44) @Data public class NatListResultDTO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index a52e4e2a59..db7de0852b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -179,7 +179,7 @@ public class IcNatController { // 这里 需要指定写用哪个class去写 String fileName = "核酸检测信息.xlsx"; excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response),NatListResultDTO.class).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); PageData data = null; do { data = icNucleinService.natList(formDTO); From 788f6b2671466a574f3b689e334856357ca43719 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 28 Mar 2022 22:09:53 +0800 Subject: [PATCH 025/129] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B=E4=BF=A1=E6=81=AF=E5=AF=BC?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/security/user/LoginUserUtil.java | 87 ++++++------ .../epmet/commons/tools/utils/FileUtils.java | 41 ++++++ .../epmet/constants/ImportTaskConstants.java | 4 + .../dto/form/ImportTaskCommonFormDTO.java | 4 + .../dto/form/LoginUserDetailsFormDTO.java | 4 + .../deploy/docker-compose-dev.yml | 1 + .../deploy/docker-compose-prod.yml | 1 + .../deploy/docker-compose-test.yml | 1 + .../com/epmet/controller/IcNatController.java | 79 ++++++++++- .../java/com/epmet/entity/IcNatEntity.java | 5 +- .../excel/data/IcNatImportExcelData.java | 61 ++++++++ .../handler/IcNatExcelImportListener.java | 126 +++++++++++++++++ .../java/com/epmet/service/IcNatService.java | 7 + .../epmet/service/impl/IcNatServiceImpl.java | 131 +++++++++++++++++- 14 files changed, 503 insertions(+), 49 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/user/LoginUserUtil.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/user/LoginUserUtil.java index 70307f6551..ce92400ae0 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/user/LoginUserUtil.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/user/LoginUserUtil.java @@ -1,11 +1,9 @@ package com.epmet.commons.tools.security.user; import com.epmet.commons.tools.constant.AppClientConstant; -import com.epmet.commons.tools.utils.HttpContextUtils; -import org.apache.commons.lang3.StringUtils; +import com.epmet.commons.tools.utils.EpmetRequestHolder; import org.springframework.stereotype.Component; -import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -14,24 +12,21 @@ import java.util.List; @Component public class LoginUserUtil { - //@Autowired - //private - /** * 查询登录用户的id * @return */ public String getLoginUserId() { - HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); - if (request == null) { - return null; - } - - String userId = request.getHeader(AppClientConstant.USER_ID); - if (StringUtils.isBlank(userId)) { - return null; - } - return userId; + //HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); + //if (request == null) { + // return null; + //} + // + //String userId = request.getHeader(AppClientConstant.USER_ID); + //if (StringUtils.isBlank(userId)) { + // return null; + //} + return EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); } /** @@ -39,16 +34,16 @@ public class LoginUserUtil { * @return */ public String getLoginUserApp() { - HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); - if (request == null) { - return null; - } - - String app = request.getHeader(AppClientConstant.APP); - if (StringUtils.isBlank(app)) { - return null; - } - return app; + //HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); + //if (request == null) { + // return null; + //} + // + //String app = request.getHeader(AppClientConstant.APP); + //if (StringUtils.isBlank(app)) { + // return null; + //} + return EpmetRequestHolder.getHeader(AppClientConstant.APP); } /** @@ -56,16 +51,16 @@ public class LoginUserUtil { * @return */ public String getLoginUserClient() { - HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); - if (request == null) { - return null; - } - - String client = request.getHeader(AppClientConstant.CLIENT); - if (StringUtils.isBlank(client)) { - return null; - } - return client; + //HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); + //if (request == null) { + // return null; + //} + // + //String client = request.getHeader(AppClientConstant.CLIENT); + //if (StringUtils.isBlank(client)) { + // return null; + //} + return EpmetRequestHolder.getHeader(AppClientConstant.CLIENT); } /** @@ -73,16 +68,16 @@ public class LoginUserUtil { * @return */ public String getLoginUserCustomerId() { - HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); - if (request == null) { - return null; - } - - String client = request.getHeader(AppClientConstant.CUSTOMER_ID); - if (StringUtils.isBlank(client)) { - return null; - } - return client; + //HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); + //if (request == null) { + // return null; + //} + // + //String client = request.getHeader(AppClientConstant.CUSTOMER_ID); + //if (StringUtils.isBlank(client)) { + // return null; + //} + return EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID); } /** diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/FileUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/FileUtils.java index b8a12015bb..00784bc7db 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/FileUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/FileUtils.java @@ -15,6 +15,47 @@ import java.nio.file.Paths; @Slf4j public class FileUtils { + /** + * epmet文件根路径 + */ + private static Path epmetFilePath; + + static { + // linux || mac + epmetFilePath = Paths.get("/opt/epmet_files"); + // windows + } + + /** + * 获取在epmetfiles下的文件路径,输入相对路径即可获取完整绝对路径 + * @param pathParts 目录片段,可以是文件夹或者文件名 + * @return + */ + public static Path getPathUnderEpmetFilesDir(String... pathParts) { + Path path; + if (pathParts == null || pathParts.length == 0) { + path = epmetFilePath.resolve("temp"); + } else { + path = Paths.get(epmetFilePath.toString(), pathParts); + } + return path; + } + + /** + * 创建并且返回epmet_files下的文件夹 + * @param dirParts 文件夹列表 + * @return + * @throws IOException + */ + public static Path getAndCreateDirUnderEpmetFilesDir(String... dirParts) throws IOException { + Path pathUnderEpmetFilesDir = getPathUnderEpmetFilesDir(dirParts); + if (Files.notExists(pathUnderEpmetFilesDir)) { + Files.createDirectories(pathUnderEpmetFilesDir); + } + + return pathUnderEpmetFilesDir; + } + /** * 创建临时文件 * diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java index 6212a35cb6..8e7ef7eedb 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java @@ -15,6 +15,10 @@ public interface ImportTaskConstants { String BIZ_TYPE_COMMUNITY_SELF_ORG = "community_self_org"; String BIZ_TYPE_PARTY_UNIT = "party_unit"; String BIZ_TYPE_PARTY_ACTIVITY = "party_activity"; + /** + * 核酸检测 + */ + String BIZ_TYPE_IC_NAT = "ic_nat"; /** * 处理状态:处理中 diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/ImportTaskCommonFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/ImportTaskCommonFormDTO.java index 9eea1fe6c2..08fc2f0995 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/ImportTaskCommonFormDTO.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/ImportTaskCommonFormDTO.java @@ -2,10 +2,14 @@ package com.epmet.dto.form; import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.validator.group.QueryGroup; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import javax.validation.constraints.NotBlank; +@AllArgsConstructor +@NoArgsConstructor @Data public class ImportTaskCommonFormDTO extends PageFormDTO { diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LoginUserDetailsFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LoginUserDetailsFormDTO.java index 7c1af89a00..76e5c31d4d 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LoginUserDetailsFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LoginUserDetailsFormDTO.java @@ -1,8 +1,12 @@ package com.epmet.dto.form; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; @Data +@AllArgsConstructor +@NoArgsConstructor public class LoginUserDetailsFormDTO { private String app; private String client; diff --git a/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml b/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml index b5421e4e4e..154960f1db 100644 --- a/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml +++ b/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml @@ -8,6 +8,7 @@ services: network_mode: host # 不会创建新的网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + - "/opt/epmet_files/:/opt/epmet_files" environment: RUN_INSTRUCT: "java -Xms32m -Xmx512m -jar ./epmet-user.jar" restart: "unless-stopped" diff --git a/epmet-user/epmet-user-server/deploy/docker-compose-prod.yml b/epmet-user/epmet-user-server/deploy/docker-compose-prod.yml index bc63091248..1fbe59593f 100644 --- a/epmet-user/epmet-user-server/deploy/docker-compose-prod.yml +++ b/epmet-user/epmet-user-server/deploy/docker-compose-prod.yml @@ -8,6 +8,7 @@ services: network_mode: host # 不会创建新的网络 volumes: - "/opt/epmet-cloud-logs/prod:/logs" + - "/opt/epmet_files/:/opt/epmet_files" environment: RUN_INSTRUCT: "java -Xms256m -Xmx1024m -jar ./epmet-user.jar" restart: "unless-stopped" diff --git a/epmet-user/epmet-user-server/deploy/docker-compose-test.yml b/epmet-user/epmet-user-server/deploy/docker-compose-test.yml index 5537d14081..c880913294 100644 --- a/epmet-user/epmet-user-server/deploy/docker-compose-test.yml +++ b/epmet-user/epmet-user-server/deploy/docker-compose-test.yml @@ -8,6 +8,7 @@ services: network_mode: host # 不会创建新的网络 volumes: - "/opt/epmet-cloud-logs/test:/logs" + - "/opt/epmet_files/:/opt/epmet_files" environment: RUN_INSTRUCT: "java -Xms32m -Xmx512m -jar ./epmet-user.jar" restart: "unless-stopped" diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 929e95ce4b..7491f946c1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -2,25 +2,44 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.commons.tools.utils.FileUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListResultDTO; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.IcNatService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.List; import java.util.Map; +import java.util.UUID; /** @@ -29,13 +48,17 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2022-03-25 */ +@Slf4j @RestController @RequestMapping("icNat") -public class IcNatController { +public class IcNatController implements ResultDataResolver { @Autowired private IcNatService icNucleinService; + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + /** * @Author sun @@ -122,5 +145,59 @@ public class IcNatController { return new Result(); } + /** + * 导入excel + * @return + */ + @PostMapping("importExcel") + public Result importExcel(MultipartFile file) { + String userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + + // 1.暂存文件 + String originalFilename = file.getOriginalFilename(); + String extName = originalFilename.substring(originalFilename.lastIndexOf(".")); + + Path fileSavePath; + try { + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import"); + fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); + } catch (IOException e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【核酸检测导入】创建临时存储文件失败:{}", errorMsg); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); + } + + InputStream is = null; + FileOutputStream os = null; + + try { + is = file.getInputStream(); + os = new FileOutputStream(fileSavePath.toString()); + IOUtils.copy(is, os); + } catch (Exception e) { + e.printStackTrace(); + } finally { + org.apache.poi.util.IOUtils.closeQuietly(is); + org.apache.poi.util.IOUtils.closeQuietly(os); + } + + // 2.生成导入任务记录 + ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); + importTaskForm.setOperatorId(userId); + importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_NAT); + importTaskForm.setOriginFileName(originalFilename); + + ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm), + ServiceConstant.EPMET_COMMON_SERVICE, + EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), + "excel导入核酸检测信息错误", + "导入居民核酸检测信息失败"); + + // 3.执行导入 + icNucleinService.execAsyncExcelImport(fileSavePath, rstData.getTaskId()); + + return new Result(); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java index d1f62275b1..1fee4076a4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java @@ -1,5 +1,7 @@ package com.epmet.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; @@ -24,6 +26,7 @@ public class IcNatEntity extends BaseEpmetEntity { /** * 客户Id CUSTOMER.id */ + @TableField(fill = FieldFill.INSERT) private String customerId; /** @@ -74,7 +77,7 @@ public class IcNatEntity extends BaseEpmetEntity { /** * 检测地点 */ - private String natOAddress; + private String natAddress; /** * 文件名 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java new file mode 100644 index 0000000000..6e8d252c1f --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java @@ -0,0 +1,61 @@ +package com.epmet.excel.data; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.epmet.dto.form.AddIcNatFormDTO; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * 核酸检测信息导入excel数据 + */ +@Data +public class IcNatImportExcelData { + + @NotBlank(message = "姓名为必填项") + @ExcelProperty("姓名") + private String name; + + @NotBlank(message = "手机号为必填项") + @ExcelProperty("手机号") + private String mobile; + + @NotBlank(message = "身份证号为必填项") + @ExcelProperty("身份证号") + private String idCard; + + @NotNull(message = "检测时间为必填项") + @ExcelProperty("检测时间") + private Date natTime; + + @NotBlank(message = "检测地点为必填项") + @ExcelProperty("检测地点") + private String natAddress; + + @NotBlank(message = "检测结果为必填项") + @ExcelProperty("检测结果") + private String natResultZh; + + @Data + public static class ErrorRow { + + @ExcelProperty("姓名") + @ColumnWidth(20) + private String name; + + @ExcelProperty("手机号") + @ColumnWidth(20) + private String mobile; + + @ColumnWidth(20) + @ExcelProperty("身份证号") + private String idCard; + + @ColumnWidth(60) + @ExcelProperty("错误信息") + private String errorInfo; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java new file mode 100644 index 0000000000..f6c83e9440 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -0,0 +1,126 @@ +package com.epmet.excel.handler; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.ValidateException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.entity.IcNatEntity; +import com.epmet.excel.data.IcNatImportExcelData; +import com.epmet.service.impl.IcNatServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.List; + +/** + * 核酸检测excel导入监听器 + */ +@Slf4j +public class IcNatExcelImportListener implements ReadListener { + + /** + * 最大条数阈值 + */ + public static final int MAX_THRESHOLD = 2; + + private String currentUserId; + /** + * 当前组织ID + */ + private String currentAgencyId; + + private String currentAgencyPids; + + /** + * 数据 + */ + private List datas = new ArrayList<>(); + + /** + * 错误项列表 + */ + private List errorRows = new ArrayList<>(); + + private IcNatServiceImpl icNatService; + + public IcNatExcelImportListener(String currentUserId, String currentAgencyId, String currentAgencyPids, IcNatServiceImpl icNatService) { + this.currentUserId = currentUserId; + this.currentAgencyId = currentAgencyId; + this.currentAgencyPids = currentAgencyPids; + this.icNatService = icNatService; + } + + @Override + public void invoke(IcNatImportExcelData data, AnalysisContext context) { + + try { + // 先校验数据 + ValidatorUtils.validateEntity(data); + + String natResult = "0"; + String natResultZh = data.getNatResultZh(); + if (StringUtils.isNotBlank(natResultZh)) { + natResult = natResultZh.equals("阴性") ? "0" : "1"; + } + + IcNatEntity icNatEntity = ConvertUtils.sourceToTarget(data, IcNatEntity.class); + icNatEntity.setAgencyId(currentAgencyId); + icNatEntity.setPids(currentAgencyPids); + icNatEntity.setUserId(currentUserId); + icNatEntity.setUserType("other"); + icNatEntity.setNatResult(natResult); + icNatEntity.setAttachmentType(""); + icNatEntity.setAttachmentUrl(""); + datas.add(icNatEntity); + + if (datas.size() == MAX_THRESHOLD) { + execPersist(); + } + } catch (Exception e) { + String errorMsg = null; + if (e instanceof ValidateException) { + errorMsg = ((ValidateException) e).getMsg(); + } else { + errorMsg = "未知错误"; + log.error("【核酸检测信息导入】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } + + IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + errorRow.setName(data.getName()); + errorRow.setMobile(data.getMobile()); + errorRow.setIdCard(data.getIdCard()); + errorRow.setErrorInfo(errorMsg); + errorRows.add(errorRow); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + // 最后几条达不到阈值,这里必须再调用一次 + execPersist(); + } + + /** + * 执行持久化 + */ + private void execPersist() { + try { + if (datas != null && datas.size() > 0) { + icNatService.batchPersist(datas); + } + } finally { + datas.clear(); + } + } + + /** + * 获取错误行 + * @return + */ + public List getErrorRows() { + return errorRows; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java index 2da059b99f..872e178f7f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java @@ -9,6 +9,7 @@ import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcNatEntity; +import java.nio.file.Path; import java.util.List; import java.util.Map; @@ -61,4 +62,10 @@ public interface IcNatService extends BaseService { * @Description 【核酸】核酸检测信息同步 **/ void synchro(MyNatListFormDTO formDTO); + + /** + * 执行Excel导入 + * @param filePath + */ + void execAsyncExcelImport(Path filePath, String importTaskId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 8a7061152e..6414431035 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -1,37 +1,67 @@ package com.epmet.service.impl; +import com.alibaba.excel.EasyExcel; 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.AppClientConstant; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; 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.utils.ConvertUtils; +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.dao.IcNatDao; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.form.LoginUserDetailsFormDTO; import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.result.LoginUserDetailsResultDTO; 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.excel.data.IcNatImportExcelData; +import com.epmet.excel.handler.IcNatExcelImportListener; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.feign.OssFeignClient; import com.epmet.service.IcNatService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.FileItemFactory; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.lang3.StringUtils; +import org.apache.http.entity.ContentType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.commons.CommonsMultipartFile; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.UUID; /** * 核酸上报记录 @@ -41,8 +71,16 @@ import java.util.Map; */ @Service @Slf4j -public class IcNatServiceImpl extends BaseServiceImpl implements IcNatService { +public class IcNatServiceImpl extends BaseServiceImpl implements IcNatService, ResultDataResolver { + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + + @Autowired + private OssFeignClient ossFeignClient; /** * @Author sun @@ -183,4 +221,95 @@ public class IcNatServiceImpl extends BaseServiceImpl imp insert(entity); } + @Async + @Override + public void execAsyncExcelImport(Path filePath, String importTaskId) { + String userId = null; + + try { + userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + String app = EpmetRequestHolder.getHeader(AppClientConstant.APP); + String client = EpmetRequestHolder.getHeader(AppClientConstant.CLIENT); + + LoginUserDetailsFormDTO ludf = new LoginUserDetailsFormDTO(app, client, userId); + LoginUserDetailsResultDTO loginUserDetails = getResultDataOrThrowsException(epmetUserOpenFeignClient.getLoginUserDetails(ludf), ServiceConstant.EPMET_USER_SERVER, + EpmetErrorCode.SERVER_ERROR.getCode(), "调用user出错", ""); + + IcNatExcelImportListener listener = new IcNatExcelImportListener(userId, loginUserDetails.getAgencyId(), loginUserDetails.getOrgIdPath(), this); + + EasyExcel.read(filePath.toFile(), IcNatImportExcelData.class, listener).headRowNumber(2).sheet(0).doRead(); + + Path errorDescFile = null; + String errorDesFileUrl = null; + List errorRows = listener.getErrorRows(); + + // 生成并上传错误文件 + try { + // 文件生成 + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import", "error_des"); + String fileName = UUID.randomUUID().toString().concat(".xlsx"); + errorDescFile = errorDescDir.resolve(fileName); + + FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile()); + FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); + OutputStream os = fileItem.getOutputStream(); + + EasyExcel.write(os, IcNatImportExcelData.ErrorRow.class).sheet("导入失败列表").doWrite(errorRows); + + // 文件上传oss + Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + if (errorDesFileUploadResult.success()) { + errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); + } + } finally { + if (Files.exists(errorDescFile)) { + Files.delete(errorDescFile); + } + } + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(errorRows.size() <= 0 ? ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS : ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc(""); + importFinishTaskForm.setResultDescFilePath(errorDesFileUrl); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【核酸检测导入】finishImportTask失败"); + } + } catch (Exception e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【核酸检测导入】出错:{}", errorMsg); + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc("导入失败"); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【核酸检测导入】导入记录状态修改为'完成'失败"); + } + } finally { + // 删除临时文件 + if (Files.exists(filePath)) { + try { + Files.delete(filePath); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + } + + /** + * 批量持久化 + * @param entities + */ + public void batchPersist(List entities) { + insertBatch(entities); + } } \ No newline at end of file From caa1fa5408c6e788c5321ced1dee8ca737d78e49 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 29 Mar 2022 09:23:43 +0800 Subject: [PATCH 026/129] =?UTF-8?q?=E8=A1=A8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/IcTripReportRecordDTO.java | 13 ++----------- .../com/epmet/entity/IcTripReportRecordEntity.java | 10 ---------- .../com/epmet/excel/IcTripReportRecordExcel.java | 6 ------ 3 files changed, 2 insertions(+), 27 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java index 7c452c6e8f..dd9c513896 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java @@ -1,8 +1,9 @@ package com.epmet.dto; +import lombok.Data; + import java.io.Serializable; import java.util.Date; -import lombok.Data; /** @@ -51,16 +52,6 @@ public class IcTripReportRecordDTO implements Serializable { */ private String userType; - /** - * 0:未加入;1:已加入 - */ - private Integer heSuanCheck; - - /** - * 最近一次通知时间 - */ - private Date latestNoticeTime; - /** * 现居地编码 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java index 6ca87717fa..ee0e00b81f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java @@ -51,16 +51,6 @@ public class IcTripReportRecordEntity extends BaseEpmetEntity { */ private String userType; - /** - * 0:未加入;1:已加入 - */ - private Integer heSuanCheck; - - /** - * 最近一次通知时间 - */ - private Date latestNoticeTime; - /** * 现居地编码 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcTripReportRecordExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcTripReportRecordExcel.java index c904a6c244..446ba0075a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcTripReportRecordExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcTripReportRecordExcel.java @@ -35,12 +35,6 @@ public class IcTripReportRecordExcel { @Excel(name = "居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other") private String userType; - @Excel(name = "0:未加入;1:已加入") - private Integer heSuanCheck; - - @Excel(name = "最近一次通知时间") - private Date latestNoticeTime; - @Excel(name = "现居地编码") private String presentAddressCode; From d23c07ef764c2a940ec1af8b5ffe08f6d12bf919 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 29 Mar 2022 09:24:37 +0800 Subject: [PATCH 027/129] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E6=A3=80=E6=B5=8Bexcel=20url=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/IcNatController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index fd3d23f2f6..30e3461ae0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -163,7 +163,7 @@ public class IcNatController implements ResultDataResolver { * 导入excel * @return */ - @PostMapping("importExcel") + @PostMapping("import") public Result importExcel(MultipartFile file) { String userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); From 723def7686bf9f1ba058f5aa6737f3331754c339 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 29 Mar 2022 09:38:18 +0800 Subject: [PATCH 028/129] =?UTF-8?q?=E3=80=90=E6=A0=B8=E9=85=B8=E3=80=91?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B=20bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/service/impl/IcNatServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index e1c2e4d395..2df0bd7017 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -46,6 +46,7 @@ import com.epmet.service.IcNoticeService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; @@ -197,7 +198,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } //3.新增通知表信息 - if (formDTO.getChannel().size() > NumConstant.ZERO) { + if (CollectionUtils.isNotEmpty(formDTO.getChannel())) { IcNatEntity icNatEntity = baseDao.selectById(formDTO.getIcNatId()); //1.获取所填居民所属组织缓存信息 AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(icNatEntity.getAgencyId()); From f0c358fdb9399083c50dd321977e970b5c57aa05 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 29 Mar 2022 10:20:37 +0800 Subject: [PATCH 029/129] update --- .../dto/IcEpidemicSpecialAttentionDTO.java | 25 ++++++++++++++----- .../epmet/dto/form/VaccinationAddFormDTO.java | 2 -- .../IcEpidemicSpecialAttentionController.java | 12 ++++----- ...IcEpidemicSpecialAttentionServiceImpl.java | 13 ++++++++-- 4 files changed, 35 insertions(+), 17 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java index cceed0a556..43a40b0d90 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java @@ -2,6 +2,8 @@ package com.epmet.dto; import java.io.Serializable; import java.util.Date; +import java.util.List; + import lombok.Data; import javax.validation.constraints.NotBlank; @@ -19,7 +21,8 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { private static final long serialVersionUID = 1L; - public interface IcEpidemicSpecialAttention{} + public interface IcEpidemicSpecialAttentionUpdate{} + public interface IcEpidemicSpecialAttentionAdd{} /** * ID @@ -49,30 +52,30 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { /** * 是否关注 1:关注,0:取消关注 */ - @NotNull(message = "isAttention不能为空",groups = IcEpidemicSpecialAttention.class) private Integer isAttention; /** * 关注类型,核酸检测:2,疫苗接种:1 */ - private Integer attentionType; + @NotNull(message = "attentionType不能为空",groups = {IcEpidemicSpecialAttentionAdd.class,IcEpidemicSpecialAttentionUpdate.class}) + private Integer attentionType; /** * 姓名 */ - @NotBlank(message = "name不能为空",groups = IcEpidemicSpecialAttention.class) + @NotBlank(message = "name不能为空",groups = IcEpidemicSpecialAttentionAdd.class) private String name; /** * 手机号 */ - @NotBlank(message = "mobile不能为空",groups = IcEpidemicSpecialAttention.class) + @NotBlank(message = "mobile不能为空",groups = IcEpidemicSpecialAttentionAdd.class) private String mobile; /** * 身份证号 */ - @NotBlank(message = "idCard不能为空",groups = IcEpidemicSpecialAttention.class) + @NotBlank(message = "idCard不能为空",groups = {IcEpidemicSpecialAttentionAdd.class,IcEpidemicSpecialAttentionUpdate.class}) private String idCard; /** @@ -115,4 +118,14 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { */ private Date updatedTime; + /** + * 通知渠道 0小程序通知,1短信通知 + */ + private List channel; + + /** + * 通知内容 + */ + private String content; + } \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationAddFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationAddFormDTO.java index 2bc2194083..9206dbac24 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationAddFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationAddFormDTO.java @@ -21,8 +21,6 @@ public class VaccinationAddFormDTO implements Serializable { private static final long serialVersionUID = -4786942219804246138L; - public interface VaccinationAddForm{} - @Valid private List list; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index 42fcc20c23..14c48ce05e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -6,11 +6,7 @@ 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.Result; -import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; -import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; import com.epmet.dto.form.*; import com.epmet.service.IcEpidemicSpecialAttentionService; @@ -19,8 +15,6 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.util.List; -import java.util.Map; /** @@ -58,8 +52,9 @@ public class IcEpidemicSpecialAttentionController { * @date 2022/3/28 13:35 */ @PostMapping("vaccination-add") + @NoRepeatSubmit public Result vaccinationAdd(@RequestBody VaccinationAddFormDTO formDTO,@LoginUser TokenDto tokenDto){ - ValidatorUtils.validateEntity(formDTO, VaccinationAddFormDTO.VaccinationAddForm.class); + ValidatorUtils.validateEntity(formDTO, IcEpidemicSpecialAttentionDTO.IcEpidemicSpecialAttentionAdd.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); icEpidemicSpecialAttentionService.vaccinationAdd(formDTO); @@ -73,7 +68,9 @@ public class IcEpidemicSpecialAttentionController { * @date 2022/3/28 13:45 */ @PostMapping("vaccination-update") + @NoRepeatSubmit public Result vaccinationUpdate(@RequestBody IcEpidemicSpecialAttentionDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, IcEpidemicSpecialAttentionDTO.IcEpidemicSpecialAttentionUpdate.class); icEpidemicSpecialAttentionService.vaccinationUpdate(formDTO); return new Result(); } @@ -85,6 +82,7 @@ public class IcEpidemicSpecialAttentionController { * @date 2022/3/28 13:51 */ @PostMapping("cancel-attention") + @NoRepeatSubmit public Result cancelAttention(@RequestBody CancelAttentionPackageFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, CancelAttentionPackageFormDTO.CancelAttentionPackageForm.class); icEpidemicSpecialAttentionService.cancelAttention(formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index aac9eceb61..dc72e683ea 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.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.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -169,7 +170,6 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl { - e.setIsAttention(NumConstant.ONE); e.setOrgId(agencyInfo.getId()); e.setPid(agencyInfo.getPid()); @@ -189,8 +189,17 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl w = new LambdaQueryWrapper<>(); + IcEpidemicSpecialAttentionEntity e = new IcEpidemicSpecialAttentionEntity(); + w.eq(IcEpidemicSpecialAttentionEntity::getIdCard,formDTO.getIdCard()) + .eq(IcEpidemicSpecialAttentionEntity::getAttentionType,formDTO.getAttentionType()); + e.setMobile(formDTO.getMobile()); + e.setReason(formDTO.getReason()); + e.setRemark(formDTO.getRemark()); + update(e,w); + //TODO 通知 } /** From a1409758c84c6f74fcc7b9d3dcef4d763a847e1e Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 29 Mar 2022 10:53:36 +0800 Subject: [PATCH 030/129] export --- .../IcEpidemicSpecialAttentionController.java | 19 ++++++++-- .../java/com/epmet/excel/NatExportExcel.java | 35 +++++++++++++++++++ .../epmet/excel/VaccinationExportExcel.java | 35 +++++++++++++++++++ 3 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatExportExcel.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/VaccinationExportExcel.java diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index 14c48ce05e..a995ff482f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -2,13 +2,19 @@ package com.epmet.controller; 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.ExcelPoiUtils; +import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; import com.epmet.dto.form.*; +import com.epmet.excel.NatExportExcel; +import com.epmet.excel.UserResiRegisterVisitExcel; +import com.epmet.excel.VaccinationExportExcel; import com.epmet.service.IcEpidemicSpecialAttentionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -102,7 +108,7 @@ public class IcEpidemicSpecialAttentionController { } /** - * Desc: 【疫苗接种关注名单】导出 + * Desc: 【疫苗接种关注名单,核酸检测关注名单】导出 * @param response * @param formDTO * @param tokenDto @@ -110,10 +116,19 @@ public class IcEpidemicSpecialAttentionController { * @date 2022/3/28 13:57 */ @PostMapping("vaccination-export") - public void vaccinationExport(HttpServletResponse response,@RequestBody VaccinationListFormDTO formDTO, @LoginUser TokenDto tokenDto){ + public void vaccinationExport(HttpServletResponse response,@RequestBody VaccinationListFormDTO formDTO, @LoginUser TokenDto tokenDto) throws Exception { ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); + formDTO.setPage(false); + PageData pageData = icEpidemicSpecialAttentionService.vaccinationList(formDTO); + // 关注类型,核酸检测:2,疫苗接种:1 + if (formDTO.getAttentionType().equals(NumConstant.ONE)){ + ExcelUtils.exportExcelToTarget(response, null, pageData.getList(), VaccinationExportExcel.class); + }else { + ExcelUtils.exportExcelToTarget(response, null, pageData.getList(), NatExportExcel.class); + } + } /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatExportExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatExportExcel.java new file mode 100644 index 0000000000..cc3d827af0 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatExportExcel.java @@ -0,0 +1,35 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +/** + * @Author zxc + * @DateTime 2022/3/29 10:24 + * @DESC + */ +@Data +public class NatExportExcel { + + @Excel(name = "排序",width = 10) + private Integer sort; + + @Excel(name = "姓名",width = 20) + private String name; + + @Excel(name = "电话",width = 20) + private String mobile; + + @Excel(name = "身份证",width = 30) + private String idCard; + + @Excel(name = "备注",width = 40) + private String remark; + + @Excel(name = "关注原因",width = 40) + private String reason; + + @Excel(name = "最近一次通知时间",width = 20) + private String lastInformTime; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/VaccinationExportExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/VaccinationExportExcel.java new file mode 100644 index 0000000000..65534756cd --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/VaccinationExportExcel.java @@ -0,0 +1,35 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +/** + * @Author zxc + * @DateTime 2022/3/29 10:24 + * @DESC + */ +@Data +public class VaccinationExportExcel { + + @Excel(name = "排序",width = 10) + private Integer sort; + + @Excel(name = "姓名",width = 20) + private String name; + + @Excel(name = "电话",width = 20) + private String mobile; + + @Excel(name = "身份证",width = 30) + private String idCard; + + @Excel(name = "备注",width = 40) + private String remark; + + @Excel(name = "接种针次",width = 10) + private Integer vaccinationCount; + + @Excel(name = "最近一次通知时间",width = 20) + private String lastInformTime; + +} From c6f48c7461b08b4754f63fd34d64de9130b00320 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 29 Mar 2022 10:56:08 +0800 Subject: [PATCH 031/129] export --- .../IcEpidemicSpecialAttentionController.java | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index a995ff482f..ad948c1999 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -143,21 +143,4 @@ public class IcEpidemicSpecialAttentionController { return new Result(); } - /** - * Desc: 【核酸检测关注名单】导出 - * @param response - * @param formDTO - * @param tokenDto - * @author zxc - * @date 2022/3/28 13:59 - */ - @PostMapping("nat-export") - public void natExport(HttpServletResponse response,@RequestBody NatListFormDTO formDTO,@LoginUser TokenDto tokenDto){ - ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); - formDTO.setCustomerId(tokenDto.getCustomerId()); - formDTO.setUserId(tokenDto.getUserId()); - - } - - } From 50c39d2cf29306c77db8469938b2c25a87656c38 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 29 Mar 2022 11:14:14 +0800 Subject: [PATCH 032/129] =?UTF-8?q?=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IcEpidemicSpecialAttentionController.java | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index ad948c1999..8035d509b3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -96,13 +96,13 @@ public class IcEpidemicSpecialAttentionController { } /** - * Desc: 【疫苗接种关注名单】导入 + * Desc: 【疫苗接种关注名单,核酸检测关注名单】导入 * @param * @author zxc * @date 2022/3/28 13:40 */ @PostMapping("vaccination-import") - public Result vaccinationImport(@LoginUser TokenDto tokenDTO, @RequestParam("file") MultipartFile file){ + public Result vaccinationImport(@LoginUser TokenDto tokenDTO, @RequestParam("file") MultipartFile file,@RequestParam("attentionType")Integer attentionType){ return new Result(); } @@ -131,16 +131,4 @@ public class IcEpidemicSpecialAttentionController { } - /** - * Desc: 【核酸检测关注名单】导入 - * @param - * @author zxc - * @date 2022/3/28 13:40 - */ - @PostMapping("nat-import") - public Result natImport(@LoginUser TokenDto tokenDTO, @RequestParam("file") MultipartFile file){ - - return new Result(); - } - } From bf070bc979279110dc65464407db8e5917e07db2 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 29 Mar 2022 13:34:14 +0800 Subject: [PATCH 033/129] =?UTF-8?q?=E7=A4=BE=E5=8C=BA=E5=B1=85=E6=B0=91?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=99=BB=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/IcResiCollectFormDTO.java | 4 +- .../dto/form/IcResiCollectMemFormDTO.java | 10 +- .../dto/form/LatestSubmitCollectFormDTO.java | 22 ++++ .../epmet/dto/form/ResiCollectFormDTO.java | 105 ++++++++++++++++++ .../epmet/dto/result/LatestCollectResDTO.java | 82 ++++++++++++++ .../controller/IcResiCollectController.java | 32 ++++++ .../java/com/epmet/dao/IcResiCollectDao.java | 10 +- .../java/com/epmet/dao/IcResiMemberDao.java | 7 +- .../epmet/service/IcResiCollectService.java | 17 ++- .../impl/IcResiCollectServiceImpl.java | 93 +++++++++++++++- .../resources/mapper/IcResiCollectDao.xml | 32 +++++- .../main/resources/mapper/IcResiMemberDao.xml | 17 ++- 12 files changed, 414 insertions(+), 17 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LatestSubmitCollectFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiCollectFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestCollectResDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectFormDTO.java index 21f2244129..9acd851ab3 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectFormDTO.java @@ -82,9 +82,9 @@ public class IcResiCollectFormDTO implements Serializable { private String address; /** - * 1自由0租住 + * 1自有0租住 */ - @NotBlank(message = "房子属于自由还是组织?", groups = {InternalShowGroup.class, ExternalShowGroup.class}) + @NotBlank(message = "房子属于自有还是租住?", groups = {InternalShowGroup.class, ExternalShowGroup.class}) private String houseType; /** diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java index 2dccf23b59..a3fca9b02b 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java @@ -2,6 +2,7 @@ package com.epmet.dto.form; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -17,13 +18,13 @@ public class IcResiCollectMemFormDTO implements Serializable { /** * 居住成员1姓名 */ - // @NotBlank(message = "姓名不能为空", groups = {IcResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) + @NotBlank(message = "姓名不能为空", groups = {ResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) private String name; /** * 居住成员1身份证号 */ - // @NotBlank(message = "身份证号不能为空", groups = {IcResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) + @NotBlank(message = "身份证号不能为空", groups = {ResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) private String idNum; /** @@ -43,4 +44,9 @@ public class IcResiCollectMemFormDTO implements Serializable { */ // @NotNull(message = "疫苗接种情况不能为空", groups = {IcResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) private Integer ymjz; + + /** + * 社区居民信息登记-查询返参用 + */ + private String id; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LatestSubmitCollectFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LatestSubmitCollectFormDTO.java new file mode 100644 index 0000000000..547e469085 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LatestSubmitCollectFormDTO.java @@ -0,0 +1,22 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 社区居民信息登记-查询 + */ +@Data +public class LatestSubmitCollectFormDTO implements Serializable { + public interface AddUserInternalGroup { + } + + @NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class) + private String userId; + @NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class) + private String customerId; + @NotBlank(message = "gridId不能为空", groups = AddUserInternalGroup.class) + private String gridId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiCollectFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiCollectFormDTO.java new file mode 100644 index 0000000000..fdd712970f --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiCollectFormDTO.java @@ -0,0 +1,105 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * 社区居民信息登记-提交 入参 + */ +@Data +public class ResiCollectFormDTO implements Serializable { + + private static final long serialVersionUID = -4026681095438180447L; + + public interface AddUserInternalGroup { + } + + public interface InternalShowGroup extends CustomerClientShowGroup { + } + + /** + * 客户Id customer.id + */ + @NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class) + private String customerId; + + /** + * 网格ID_后端接口赋值 + */ + @NotBlank(message = "gridId不能为空", groups = AddUserInternalGroup.class) + private String gridId; + + /** + * 组织Id_后端接口赋值 + */ + @NotBlank(message = "agencyId不能为空", groups = AddUserInternalGroup.class) + private String agencyId; + + /** + * 组织的pid_后端接口赋值 + */ + private String pids; + + /** + * 所属小区ID + */ + @NotBlank(message = "小区不能为空", groups = InternalShowGroup.class) + private String villageId; + + /** + * 所属楼宇Id + */ + @NotBlank(message = "楼栋不能为空", groups = InternalShowGroup.class) + private String buildId; + + /** + * 单元id + */ + @NotBlank(message = "单元不能为空", groups = InternalShowGroup.class) + private String unitId; + + /** + * 所属家庭Id + */ + @NotBlank(message = "家庭不能为空", groups = InternalShowGroup.class) + private String homeId; + + /** + * 详细地址 + */ + @NotBlank(message = "家庭地址不能为空", groups = {InternalShowGroup.class}) + private String address; + + /** + * 1自有0租住 + */ + @NotBlank(message = "房子属于自有还是租住?", groups = {InternalShowGroup.class}) + private String houseType; + + /** + * 户主姓名 + */ + @NotBlank(message = "户主姓名不能为空", groups = {InternalShowGroup.class}) + private String houseHolderName; + + /** + * 居住成员人数 + */ + @NotNull(message = "居住成员人数不能为空", groups = {InternalShowGroup.class}) + private Integer totalResi; + + @Valid + @NotEmpty(message = "成员信息不能为空", groups = {InternalShowGroup.class}) + private List memberList; + + @NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class) + private String userId; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestCollectResDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestCollectResDTO.java new file mode 100644 index 0000000000..f7d698badd --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestCollectResDTO.java @@ -0,0 +1,82 @@ +package com.epmet.dto.result; + +import com.epmet.dto.form.IcResiCollectMemFormDTO; +import lombok.Data; + +import javax.validation.Valid; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * 社区居民信息登记-返参 + */ +@Data +public class LatestCollectResDTO implements Serializable { + private String resiCollectId; + private String agencyId; + private String agencyName; + private String pids; + private String gridId; + private String customerId; + /** + * 所属小区ID + */ + private String villageId; + + /** + * 所属楼宇Id + */ + private String buildId; + + /** + * 单元id + */ + private String unitId; + + /** + * 所属家庭Id + */ + private String homeId; + + /** + * 详细地址 + */ + private String address; + + /** + * 1自有0租住 + */ + private String houseType; + + /** + * 户主姓名 + */ + private String houseHolderName; + + /** + * 居住成员人数 + */ + private Integer totalResi; + + @Valid + private List memberList; + + public LatestCollectResDTO() { + this.resiCollectId = ""; + this.agencyId = ""; + this.agencyName = ""; + this.pids = ""; + this.gridId = ""; + this.customerId = ""; + this.villageId = ""; + this.buildId = ""; + this.unitId=""; + this.homeId=""; + this.address=""; + this.houseType=""; + this.houseHolderName=""; + this.totalResi=0; + this.memberList=new ArrayList<>(); + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java index 7b8df6ad1d..ccf831e0aa 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java @@ -11,9 +11,12 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.CollectListFormDTO; import com.epmet.dto.form.IcResiCollectFormDTO; +import com.epmet.dto.form.LatestSubmitCollectFormDTO; +import com.epmet.dto.form.ResiCollectFormDTO; import com.epmet.dto.result.CollectListExcelResultDTO; import com.epmet.dto.result.CollectListMemberExcelResultDTO; import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.dto.result.LatestCollectResDTO; import com.epmet.service.IcResiCollectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -108,4 +111,33 @@ public class IcResiCollectController { ExcelUtils.exportExcelToTarget(response, null, list, CollectListExcelResultDTO.class); } + /** + * 居民端小程序:社区居民信息登记-提交 + * + * @param tokenDto + * @param formDTO + * @return + */ + @PostMapping("save-resi") + public Result saveResi(@LoginUser TokenDto tokenDto, @RequestBody ResiCollectFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO, ResiCollectFormDTO.InternalShowGroup.class, ResiCollectFormDTO.AddUserInternalGroup.class); + icResiCollectService.saveResi(formDTO); + return new Result(); + } + + /** + * 居民端小程序:社区居民信息登记-查询 + * @param tokenDto + * @param formDTO + * @return + */ + @PostMapping("latest-submit") + public Result latestSubmit(@LoginUser TokenDto tokenDto, @RequestBody LatestSubmitCollectFormDTO formDTO){ + formDTO.setUserId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(formDTO,LatestSubmitCollectFormDTO.AddUserInternalGroup.class); + return new Result().ok(icResiCollectService.latestSubmit(formDTO)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java index f70f0e04ff..2602b5858a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java @@ -23,7 +23,8 @@ public interface IcResiCollectDao extends BaseDao { int updateRec(@Param("id") String id, @Param("houseType") String houseType, @Param("houseHolderName") String houseHolderName, - @Param("totalResi") Integer totalResi); + @Param("totalResi") Integer totalResi, + @Param("updatedBy") String updatedBy); /** * Desc: 查询采集居民信息 @@ -33,4 +34,11 @@ public interface IcResiCollectDao extends BaseDao { */ List getCollectList(CollectListFormDTO formDTO); + /** + * 我上次提交的主表记录 + * @param customerId + * @param userId + * @return + */ + String selectLastSubmitId(@Param("customerId") String customerId, @Param("userId") String userId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiMemberDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiMemberDao.java index e4748e01b2..e61539e1da 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiMemberDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiMemberDao.java @@ -1,8 +1,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.IcResiCollectMemFormDTO; import com.epmet.entity.IcResiMemberEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 居民信息成员表 @@ -12,5 +16,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IcResiMemberDao extends BaseDao { - + + List selectMySubmit(@Param("latestResiCollectId") String latestResiCollectId, @Param("userId")String userId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectService.java index 4c0bca4fa5..9129b34675 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectService.java @@ -4,11 +4,12 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.form.CollectListFormDTO; import com.epmet.dto.form.IcResiCollectFormDTO; +import com.epmet.dto.form.LatestSubmitCollectFormDTO; +import com.epmet.dto.form.ResiCollectFormDTO; import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.dto.result.LatestCollectResDTO; import com.epmet.entity.IcResiCollectEntity; -import java.util.List; - /** * 居民信息采集表 * @@ -36,4 +37,16 @@ public interface IcResiCollectService extends BaseService { */ PageData getCollectList(CollectListFormDTO formDTO); + /** + * 居民端小程序:社区居民信息登记-提交 + * @param formDTO + */ + void saveResi(ResiCollectFormDTO formDTO); + + /** + * 居民端小程序:社区居民信息登记-查询 + * @param formDTO + * @return + */ + LatestCollectResDTO latestSubmit(LatestSubmitCollectFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java index b1895b608a..3343e5c4fc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java @@ -2,26 +2,30 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; +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.GridInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.IcResiCollectDao; import com.epmet.dao.IcResiMemberDao; import com.epmet.dto.IcNeighborHoodDTO; -import com.epmet.dto.form.CollectListFormDTO; -import com.epmet.dto.form.IcResiCollectFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.dto.result.LatestCollectResDTO; import com.epmet.entity.IcResiCollectEntity; import com.epmet.entity.IcResiMemberEntity; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.IcResiCollectService; -import org.apache.commons.collections4.MapUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -71,7 +75,7 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl newMemberList = ConvertUtils.sourceToTarget(formDTO.getMemberList(), IcResiMemberEntity.class); //查询之前录入的成员表 Map memMap = queryOriginMem(origin.getId()); @@ -145,4 +149,85 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl memberList = ConvertUtils.sourceToTarget(formDTO.getMemberList(), IcResiMemberEntity.class); + memberList.forEach(mem -> { + if (StringUtils.isNotBlank(mem.getName()) || StringUtils.isNotBlank(mem.getIdNum())) { + mem.setCustomerId(formDTO.getCustomerId()); + //姓名或份身份证号不为空时插入 + mem.setIcResiCollectId(insert.getId()); + icResiMemberDao.insert(mem); + } + }); + } else { + //更新主表 + baseDao.updateRec(origin.getId(), formDTO.getHouseType(), formDTO.getHouseHolderName(), formDTO.getTotalResi(),formDTO.getUserId()); + List newMemberList = ConvertUtils.sourceToTarget(formDTO.getMemberList(), IcResiMemberEntity.class); + //查询之前录入的成员表 + Map memMap = queryOriginMem(origin.getId()); + saveOrUpdateMem(newMemberList, memMap,origin.getId()); + } + } + + /** + * 居民端小程序:社区居民信息登记-查询 + * + * @param formDTO + * @return + */ + @Override + public LatestCollectResDTO latestSubmit(LatestSubmitCollectFormDTO formDTO) { + //张三、李四都住101房间 + //张三先登记了填写了2个成员的信息 + //李四登记后,会更新这2个成员的信息 + //李四下次进入页面,展示这2个成员。 + LatestCollectResDTO resDTO = new LatestCollectResDTO(); + GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(formDTO.getGridId()); + if (null == gridInfoCache) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询网格信息异常", EpmetErrorCode.SERVER_ERROR.getMsg()); + } + + resDTO.setCustomerId(gridInfoCache.getCustomerId()); + resDTO.setGridId(formDTO.getGridId()); + AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(gridInfoCache.getPid()); + resDTO.setAgencyId(gridInfoCache.getPid()); + resDTO.setPids(null != agencyInfoCache ? agencyInfoCache.getPids() : StrConstant.EPMETY_STR); + resDTO.setAgencyName(gridInfoCache.getAgencyName()); + String latestResiCollectId = baseDao.selectLastSubmitId(formDTO.getCustomerId(), formDTO.getUserId()); + if (StringUtils.isNotBlank(latestResiCollectId)) { + resDTO.setResiCollectId(latestResiCollectId); + //之前提交过 + IcResiCollectEntity entity = baseDao.selectById(latestResiCollectId); + if (null != entity) { + setCollectValue(resDTO, entity); + } + List memberList = icResiMemberDao.selectMySubmit(latestResiCollectId, formDTO.getUserId()); + resDTO.setMemberList(memberList); + } + return resDTO; + } + + private void setCollectValue(LatestCollectResDTO resDTO, IcResiCollectEntity entity) { + resDTO.setVillageId(entity.getVillageId()); + resDTO.setBuildId(entity.getBuildId()); + resDTO.setUnitId(entity.getUnitId()); + resDTO.setHomeId(entity.getHomeId()); + resDTO.setAddress(entity.getAddress()); + resDTO.setHouseType(entity.getHouseType()); + resDTO.setHouseHolderName(entity.getHouseHolderName()); + resDTO.setTotalResi(entity.getTotalResi()); + } } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml index 0be0e43c13..98725fa04e 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml @@ -55,11 +55,35 @@ UPDATE ic_resi_collect - SET UPDATED_TIME = NOW(), - HOUSE_TYPE = #{houseType}, - HOUSE_HOLDER_NAME = #{houseHolderName}, - TOTAL_RESI = #{totalResi} + SET + + HOUSE_TYPE = #{houseType}, + + + HOUSE_HOLDER_NAME = #{houseHolderName}, + + + TOTAL_RESI = #{totalResi}, + + + UPDATED_BY = #{updatedBy}, + + UPDATED_TIME = NOW() WHERE id = #{id} + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiMemberDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiMemberDao.xml index 6423f7ecff..b76345774c 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiMemberDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiMemberDao.xml @@ -4,5 +4,20 @@ - + \ No newline at end of file From 4f2536d50a23a8815a47ea8ae1c31555bb8c7301 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 29 Mar 2022 13:40:02 +0800 Subject: [PATCH 034/129] =?UTF-8?q?=E3=80=90=E6=A0=B8=E9=85=B8=E3=80=91?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B=E3=80=81=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.27__ic_nat.sql | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.27__ic_nat.sql diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.27__ic_nat.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.27__ic_nat.sql new file mode 100644 index 0000000000..13ebf841e6 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.27__ic_nat.sql @@ -0,0 +1,47 @@ +CREATE TABLE `ic_nat` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `AGENCY_ID` varchar(64) NOT NULL COMMENT '居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id', + `PIDS` varchar(255) NOT NULL COMMENT '组织pids', + `USER_ID` varchar(64) DEFAULT NULL COMMENT '居民端小程序的用户id、数字社区的icResiUserId、其他情况无值', + `USER_TYPE` varchar(32) NOT NULL COMMENT '居民端小程序的人:resi;数字社区的居民:icresi;导入的:import;同步的:synchro', + `NAME` varchar(64) NOT NULL COMMENT '人员姓名', + `MOBILE` varchar(11) NOT NULL COMMENT '手机号', + `ID_CARD` varchar(18) NOT NULL COMMENT '身份证号', + `NAT_TIME` datetime NOT NULL COMMENT '检测时间,精确到分钟', + `NAT_RESULT` varchar(1) DEFAULT NULL COMMENT '检测结果(0:阴性 1:阳性)', + `NAT_ADDRESS` varchar(128) DEFAULT NULL COMMENT '检测地点', + `FILE_NAME` varchar(255) DEFAULT NULL COMMENT '文件名', + `ATTACHMENT_TYPE` varchar(64) NOT NULL COMMENT '附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))', + `ATTACHMENT_URL` varchar(255) NOT NULL COMMENT '附件地址', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='核酸上报记录'; + +-- ---------------------------- +-- Table structure for ic_notice +-- ---------------------------- + +CREATE TABLE `ic_notice` ( + `ID` varchar(64) NOT NULL COMMENT '唯一标识', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id customer.id', + `CHANNEL` varchar(10) NOT NULL COMMENT '通知渠道 0小程序通知,1短信通知', + `ORIGIN` varchar(64) NOT NULL COMMENT '通知来源 0行程上报,1疫苗接种,2核酸检测', + `USER_ID` varchar(64) DEFAULT NULL COMMENT '用户ID 居民端用户时有值', + `MOBILE` varchar(11) NOT NULL COMMENT '手机号', + `ID_CARD` varchar(64) NOT NULL COMMENT '被通知人身份证号', + `CONTENT` varchar(500) NOT NULL COMMENT '通知内容', + `ORG_NAME` varchar(64) DEFAULT NULL COMMENT '发送通知的社区', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='防疫通知'; \ No newline at end of file From 497efed406cb46344d37dda665e8ed83da670a42 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 29 Mar 2022 13:55:05 +0800 Subject: [PATCH 035/129] =?UTF-8?q?=E3=80=90=E6=A0=B8=E9=85=B8=E3=80=91?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B=E3=80=81=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=20=20=E7=89=88=E6=9C=AC=E5=8F=B7=E8=A2=AB?= =?UTF-8?q?=E5=8D=A0=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/{V0.0.27__ic_nat.sql => V0.0.28__ic_nat.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename epmet-user/epmet-user-server/src/main/resources/db/migration/{V0.0.27__ic_nat.sql => V0.0.28__ic_nat.sql} (100%) diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.27__ic_nat.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__ic_nat.sql similarity index 100% rename from epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.27__ic_nat.sql rename to epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__ic_nat.sql From fca20d8cbd357338a96d4837bd4fbb0f8b39bcde Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 29 Mar 2022 13:59:52 +0800 Subject: [PATCH 036/129] =?UTF-8?q?=E3=80=90=E6=A0=B8=E9=85=B8=E3=80=91?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B=E3=80=81=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E3=80=81=E5=BD=A2=E6=88=90=E4=B8=8A=E6=8A=A5=E3=80=81=E9=9A=8F?= =?UTF-8?q?=E8=AE=BF=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.28__ic_nat.sql | 55 ++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__ic_nat.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__ic_nat.sql index 13ebf841e6..b673ddbc72 100644 --- a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__ic_nat.sql +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__ic_nat.sql @@ -44,4 +44,57 @@ CREATE TABLE `ic_notice` ( `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', PRIMARY KEY (`ID`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='防疫通知'; \ No newline at end of file +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='防疫通知'; + + + +CREATE TABLE `ic_follow_up_record` ( + `ID` varchar(64) NOT NULL COMMENT '主键ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `NAME` varchar(64) NOT NULL COMMENT '姓名', + `MOBILE` varchar(11) NOT NULL COMMENT '手机号', + `ID_CARD` varchar(18) NOT NULL COMMENT '身份证号', + `ORIGIN` varchar(1) NOT NULL COMMENT '0行程上报,1疫苗接种,2核酸检测', + `VISIT_TIME` datetime NOT NULL COMMENT '随访时间', + `CONTENT` varchar(1024) NOT NULL COMMENT '随访内容', + `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 1删除;0未删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + `AGENCY_ID` varchar(64) NOT NULL COMMENT '工作人员所属组织id', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='随访记录表'; + +-- ---------------------------- +-- Table structure for ic_trip_report_record +-- ---------------------------- + +CREATE TABLE `ic_trip_report_record` ( + `ID` varchar(64) NOT NULL COMMENT '主键ID', + `GRID_ID` varchar(64) DEFAULT NULL COMMENT '居民端用户所在网格id,数字社区居民所属网格id', + `AGENCY_ID` varchar(32) NOT NULL COMMENT '居民端上报的:存储用户所在网格的组织id;\n从居民信息录入的:存储居民所属网格的组织id;\n单独新增和导入的存储的登录用户所属的组织id;', + `PIDS` varchar(255) NOT NULL COMMENT 'agency_id的所有上级', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `NAME` varchar(64) NOT NULL COMMENT '姓名', + `MOBILE` varchar(11) NOT NULL COMMENT '手机号', + `ID_CARD` varchar(18) NOT NULL COMMENT '身份证号', + `USER_ID` varchar(64) DEFAULT NULL COMMENT '居民端小程序的用户id;数字社区的icResiUserId;其他情况暂时不存储', + `USER_TYPE` varchar(32) NOT NULL COMMENT '居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other', + `PRESENT_ADDRESS_CODE` varchar(32) NOT NULL COMMENT '现居地编码', + `PRESENT_ADDRESS` varchar(255) NOT NULL COMMENT '现居地名称eg:山东省青岛市黄岛区玫瑰山路社区', + `DETAIL_ADDRESS` varchar(255) NOT NULL COMMENT '详细地址', + `SOURCE_ADDRESS_CODE` varchar(32) NOT NULL COMMENT '来源地区编码', + `SOURCE_ADDRESS` varchar(255) NOT NULL COMMENT '来源地区地址', + `ARRIVE_DATE` date NOT NULL COMMENT '到达日期', + `LEAVE_DATE` date DEFAULT NULL COMMENT '离开日期', + `REMARK` varchar(512) DEFAULT NULL COMMENT '备注信息', + `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 1删除;0未删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='行程上报信息'; \ No newline at end of file From 577fba8149baed32b478cf7a8097dc353c6d8d0a Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 29 Mar 2022 14:20:48 +0800 Subject: [PATCH 037/129] =?UTF-8?q?=E3=80=90=E6=A0=B8=E9=85=B8=E3=80=91?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B=E3=80=81=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E3=80=81=E5=BD=A2=E6=88=90=E4=B8=8A=E6=8A=A5=E3=80=81=E9=9A=8F?= =?UTF-8?q?=E8=AE=BF=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/{V0.0.28__ic_nat.sql => V0.0.27__ic_nat.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename epmet-user/epmet-user-server/src/main/resources/db/migration/{V0.0.28__ic_nat.sql => V0.0.27__ic_nat.sql} (100%) diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__ic_nat.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.27__ic_nat.sql similarity index 100% rename from epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__ic_nat.sql rename to epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.27__ic_nat.sql From e664dd661e1d950fd6be67925b55b530c2be1efe Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 29 Mar 2022 15:04:56 +0800 Subject: [PATCH 038/129] =?UTF-8?q?=E8=BF=9B=E7=BD=91=E6=A0=BC=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=8A=A0=E8=BF=94=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/UserAccessServiceImpl.java | 13 +++++++++++++ .../dto/result/UserInfoOnEnterGridResultDTO.java | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java index 1b1aa4c53d..522cf8c92e 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java @@ -1,6 +1,9 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.EnterGridFormDTO; @@ -37,6 +40,16 @@ public class UserAccessServiceImpl implements UserAccessService { userInfoParams.setGridId(formDTO.getGridId()); Result userInfoResult = epmetUserFeignClient.getUserInfoAndRoles(userInfoParams); + //获取网格缓存信息 + if(userInfoResult.success()){ + GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(userInfoResult.getData().getCurrentGridId()); + if (null == gridInfo) { + log.error(String.format("居民端进网格接口获取网格缓存信息失败,网格Id->%s",userInfoResult.getData().getCurrentGridId())); + return userInfoResult; + } + userInfoResult.getData().setAgencyId(gridInfo.getPid()); + userInfoResult.getData().setAgencyName(gridInfo.getAgencyName()); + } return userInfoResult; } } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoOnEnterGridResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoOnEnterGridResultDTO.java index e8bff9cd33..1f24b52c86 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoOnEnterGridResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoOnEnterGridResultDTO.java @@ -77,4 +77,8 @@ public class UserInfoOnEnterGridResultDTO implements Serializable{ private String orgName = ""; //工作人员添加入口类型(组织:agency;部门:dept;网格:gridId) private String orgType = ""; + + //进入的网格所属组织 + private String agencyId; + private String agencyName; } From 2430a1ace3a47f5e388ee23b8a9d2643dffc2975 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 29 Mar 2022 15:08:21 +0800 Subject: [PATCH 039/129] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF=E4=B8=8A?= =?UTF-8?q?=E6=8A=A5=E8=A1=8C=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constant/IcResiUserConstant.java | 5 + .../com/epmet/dto/IcTripReportRecordDTO.java | 20 +++ .../epmet/dto/form/IcTripReportFormDTO.java | 115 ++++++++++++++++++ .../epmet/dto/form/MyReportedTripFormDTO.java | 13 ++ .../IcTripReportRecordController.java | 35 +++++- .../com/epmet/dao/IcTripReportRecordDao.java | 7 +- .../java/com/epmet/dao/UserBaseInfoDao.java | 2 + .../entity/IcTripReportRecordEntity.java | 15 +++ .../service/IcTripReportRecordService.java | 16 +++ .../impl/IcResiCollectServiceImpl.java | 1 + .../impl/IcTripReportRecordServiceImpl.java | 55 ++++++++- .../mapper/IcTripReportRecordDao.xml | 17 +++ .../main/resources/mapper/UserBaseInfoDao.xml | 10 ++ 13 files changed, 308 insertions(+), 3 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyReportedTripFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java index 6b32f663fc..aedf4def93 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java @@ -8,4 +8,9 @@ package com.epmet.constant; public interface IcResiUserConstant { String IC_RESI_USER = "ic_resi_user"; + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + */ + String USER_TYPE_RESI="resi"; + String USER_TYPE_IC_RESI="icresi"; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java index dd9c513896..4a8939da7a 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; @@ -22,6 +23,21 @@ public class IcTripReportRecordDTO implements Serializable { */ private String id; + /** + * 居民端用户所在网格id,数字社区居民所属网格id + */ + private String gridId; + + /** + * 居民端上报的:存储用户所在网格的组织id; + */ + private String agencyId; + + /** + * agency_id的所有上级 + */ + private String pids; + /** * 客户Id */ @@ -80,11 +96,13 @@ public class IcTripReportRecordDTO implements Serializable { /** * 到达日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") private Date arriveDate; /** * 离开日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") private Date leaveDate; /** @@ -122,4 +140,6 @@ public class IcTripReportRecordDTO implements Serializable { */ private Date updatedTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + private Date reportTime; } \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java new file mode 100644 index 0000000000..0088bb3183 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java @@ -0,0 +1,115 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 行程上报居民端入参 + */ +@Data +public class IcTripReportFormDTO implements Serializable { + public interface ResiUserInternalGroup { + } + + public interface ResiUserRequired extends CustomerClientShowGroup { + } + + /** + * 客户Id + */ + private String customerId; + + /** + * 姓名 + */ + @NotBlank(message = "姓名不能为空", groups = {ResiUserRequired.class}) + private String name; + + /** + * 手机号 + */ + @NotBlank(message = "手机号不能为空", groups = {ResiUserRequired.class}) + private String mobile; + + /** + * 身份证号 + */ + @NotBlank(message = "身份证号不能为空", groups = {ResiUserRequired.class}) + private String idCard; + + /** + * 现居地编码 + */ + @NotBlank(message = "现居地编码不能为空", groups = {ResiUserRequired.class}) + private String presentAddressCode; + + /** + * 现居地名称eg:山东省青岛市黄岛区玫瑰山路社区 + */ + @NotBlank(message = "现居地名称不能为空", groups = {ResiUserRequired.class}) + private String presentAddress; + + /** + * 详细地址 + */ + @NotBlank(message = "详细地址不能为空", groups = {ResiUserRequired.class}) + private String detailAddress; + + /** + * 来源地区编码 + */ + @NotBlank(message = "来自地区编码不能为空", groups = {ResiUserRequired.class}) + private String sourceAddressCode; + + /** + * 来源地区地址 + */ + @NotBlank(message = "来自地区名称不能为空", groups = {ResiUserRequired.class}) + private String sourceAddress; + + /** + * 到达日期 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + @NotNull(message = "来到本地时间不能为空", groups = {ResiUserRequired.class}) + private Date arriveDate; + + /** + * 离开日期 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date leaveDate; + + /** + * 备注信息 + */ + @Length(max = 500, message = "备注最多可输入500字", groups = {ResiUserRequired.class}) + private String remark; + + + @NotBlank(message = "网格不能为空", groups = {ResiUserInternalGroup.class}) + private String gridId; + + + //后端自己赋值 + /** + * 用户id + */ + private String userId; + + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + */ + private String userType; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyReportedTripFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyReportedTripFormDTO.java new file mode 100644 index 0000000000..f97ad3c6c7 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyReportedTripFormDTO.java @@ -0,0 +1,13 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +/** + * 居民端小程序:我的上报 + */ +@Data +public class MyReportedTripFormDTO extends PageFormDTO { + private String userId; + private String customerId; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index 9e3faa4bd2..c648076f9b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -1,18 +1,25 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; +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.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.constant.IcResiUserConstant; import com.epmet.dto.IcTripReportRecordDTO; +import com.epmet.dto.form.IcTripReportFormDTO; +import com.epmet.dto.form.MyReportedTripFormDTO; import com.epmet.service.IcTripReportRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; @@ -23,7 +30,7 @@ import java.util.Map; * @since v1.0.0 2022-03-25 */ @RestController -@RequestMapping("triprecord") +@RequestMapping("tripreport") public class IcTripReportRecordController { @Autowired @@ -67,6 +74,32 @@ public class IcTripReportRecordController { return new Result(); } + /** + * 居民端小程序:上报行程 + * @param tokenDto + * @param formDTO + * @return + */ + @PostMapping("resi-save") + public Result resiSave(@LoginUser TokenDto tokenDto, @RequestBody IcTripReportFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + formDTO.setUserType(IcResiUserConstant.USER_TYPE_RESI); + ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.ResiUserRequired.class,IcTripReportFormDTO.ResiUserInternalGroup.class); + return new Result().ok(icTripReportRecordService.resiSave(formDTO)); + } + /** + * 居民端小程序:我的上报 + * @param tokenDto + * @return + */ + @PostMapping("resi-list") + public Result> resiList(@LoginUser TokenDto tokenDto,@RequestBody MyReportedTripFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); + return new Result>().ok(icTripReportRecordService.resiList(formDTO)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java index f6e54e8100..2472c5053e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java @@ -1,8 +1,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IcTripReportRecordDTO; import com.epmet.entity.IcTripReportRecordEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 行程上报信息 @@ -12,5 +16,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IcTripReportRecordDao extends BaseDao { - + + List selectMyReported(@Param("userId") String userId, @Param("customerId") String customerId, @Param("idCard") String idCard); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java index 3cd4c5ffe2..ab4ca3ec5c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java @@ -90,4 +90,6 @@ public interface UserBaseInfoDao extends BaseDao { Integer selectCountIdNum(@Param("idNum") String idNum, @Param("customerId")String customerId, @Param("excludeUserId")String excludeUserId); + + String selectIdCard(String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java index ee0e00b81f..a74f25b6f4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java @@ -21,6 +21,21 @@ public class IcTripReportRecordEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; + /** + * 居民端用户所在网格id,数字社区居民所属网格id + */ + private String gridId; + + /** + * 居民端上报的:存储用户所在网格的组织id; + */ + private String agencyId; + + /** + * agency_id的所有上级 + */ + private String pids; + /** * 客户Id */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java index 3949fed1bc..bae4fae28c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java @@ -3,6 +3,8 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcTripReportRecordDTO; +import com.epmet.dto.form.IcTripReportFormDTO; +import com.epmet.dto.form.MyReportedTripFormDTO; import com.epmet.entity.IcTripReportRecordEntity; import java.util.List; @@ -75,4 +77,18 @@ public interface IcTripReportRecordService extends BaseService resiList(MyReportedTripFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java index 3343e5c4fc..c73a39d794 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java @@ -155,6 +155,7 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl implements IcTripReportRecordService { - + @Autowired + private UserBaseInfoDao userBaseInfoDao; @Override public PageData page(Map params) { @@ -80,4 +92,45 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl resiList(MyReportedTripFormDTO formDTO) { + String idCard=userBaseInfoDao.selectIdCard(formDTO.getUserId()); + PageInfo result = PageHelper.startPage(formDTO.getPageNo(), + formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectMyReported(formDTO.getUserId(), + formDTO.getCustomerId(),idCard)); + return result.getList(); + } + + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml index c4e619b1ec..933acd1f28 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml @@ -3,6 +3,23 @@ + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml index ae0fbc5486..3164ebcddb 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml @@ -143,4 +143,14 @@ AND ubi.user_id != #{excludeUserId} + + From 0391223c0aa11f9d8202363940706b05faf31ba6 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 29 Mar 2022 16:33:32 +0800 Subject: [PATCH 040/129] =?UTF-8?q?=E8=A1=8C=E7=A8=8B=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E8=BF=91=E4=B8=80=E6=AC=A1=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E6=97=B6=E9=97=B4=E3=80=81=E6=98=AF=E5=90=A6=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E6=A0=B8=E7=AE=97=E5=85=B3=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/IcTripReportRecordDTO.java | 12 ++++ .../epmet/dto/form/PageTripReportFormDTO.java | 48 +++++++++++++++ .../IcTripReportRecordController.java | 20 ++++++- .../dao/IcEpidemicSpecialAttentionDao.java | 9 +++ .../com/epmet/dao/IcTripReportRecordDao.java | 15 +++++ .../IcEpidemicSpecialAttentionService.java | 8 +++ .../com/epmet/service/IcNoticeService.java | 9 +++ .../service/IcTripReportRecordService.java | 7 ++- ...IcEpidemicSpecialAttentionServiceImpl.java | 27 ++++++--- .../service/impl/IcNoticeServiceImpl.java | 28 +++++++-- .../impl/IcTripReportRecordServiceImpl.java | 59 +++++++++++++++---- .../mapper/IcEpidemicSpecialAttentionDao.xml | 18 +++++- .../mapper/IcTripReportRecordDao.xml | 36 ++++++++++- 13 files changed, 266 insertions(+), 30 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java index 4a8939da7a..1b7fc83684 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java @@ -128,6 +128,7 @@ public class IcTripReportRecordDTO implements Serializable { /** * 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") 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; @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date reportTime; + + + /** + * pc行程上报-列表返参:最近一次通知时间 + */ + private Date latestNoticeTime; + /** + * pc行程上报-列表返参:是否加入核酸检测关注名单:true:已加入;false:未加入 + */ + private Boolean heSuanCheck; } \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java new file mode 100644 index 0000000000..b5c4aa2462 --- /dev/null +++ b/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; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index c648076f9b..45fe80dc05 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -15,12 +15,12 @@ import com.epmet.constant.IcResiUserConstant; 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.service.IcTripReportRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; -import java.util.Map; /** @@ -36,9 +36,18 @@ public class IcTripReportRecordController { @Autowired private IcTripReportRecordService icTripReportRecordService; + /** + * pc: 行程上报-列表 + * @param tokenDto + * @param formDTO + * @return + */ @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = icTripReportRecordService.page(params); + public Result> page(@LoginUser TokenDto tokenDto,@RequestBody PageTripReportFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(PageFormDTO.AddUserInternalGroup.class); + PageData page = icTripReportRecordService.page(formDTO); return new Result>().ok(page); } @@ -48,6 +57,11 @@ public class IcTripReportRecordController { return new Result().ok(data); } + /** + * pc: 行程上报-新增 + * @param dto + * @return + */ @NoRepeatSubmit @PostMapping("save") public Result save(@RequestBody IcTripReportRecordDTO dto){ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java index 11b6b3ab09..6115d34c1b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java +++ b/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 java.util.List; +import java.util.Set; /** * 疫情特别关注 @@ -52,4 +53,12 @@ public interface IcEpidemicSpecialAttentionDao extends BaseDao getExistList(@Param("attentionType")Integer attentionType,@Param("list")List list); + /** + * 返回idCardSet中已经关注的身份证号 + * + * @param idCardSet + * @param attentionType + * @return + */ + List getIdCardList(@Param("customerId") String customerId,@Param("idCardSet") Set idCardSet, @Param("attentionType") Integer attentionType); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java index 2472c5053e..e310dbc208 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java +++ b/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.dto.IcTripReportRecordDTO; +import com.epmet.dto.form.PageTripReportFormDTO; import com.epmet.entity.IcTripReportRecordEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -17,5 +18,19 @@ import java.util.List; @Mapper public interface IcTripReportRecordDao extends BaseDao { + /** + * 居民端小程序:我的上报 + * @param userId + * @param customerId + * @param idCard + * @return + */ List selectMyReported(@Param("userId") String userId, @Param("customerId") String customerId, @Param("idCard") String idCard); + + /** + * pc: 行程上报-列表 + * @param formDTO + * @return + */ + List pageList(PageTripReportFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java index 3690df2640..8883fa0f28 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java +++ b/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.Map; +import java.util.Set; /** * 疫情特别关注 @@ -111,4 +112,11 @@ public interface IcEpidemicSpecialAttentionService extends BaseService getHeSuanIdCardList(String customerId,Set idCardSet); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java index 937cca916a..13529cadbf 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java +++ b/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.entity.IcNoticeEntity; +import java.util.Date; import java.util.List; import java.util.Map; +import java.util.Set; /** * 防疫通知 @@ -96,4 +98,11 @@ public interface IcNoticeService extends BaseService { * @Date 2022/3/28 15:43 */ IcNoticeDTO getNotice(String customerId, String idCard); + + /** + * 根据身份证号查询最近一次通知时间 + * @param idCardSet + * @return + */ + Map getUserLatestNoticeTime(String customerId,Set idCardSet); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java index bae4fae28c..001b3d65e4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java +++ b/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.form.IcTripReportFormDTO; import com.epmet.dto.form.MyReportedTripFormDTO; +import com.epmet.dto.form.PageTripReportFormDTO; import com.epmet.entity.IcTripReportRecordEntity; import java.util.List; @@ -19,14 +20,14 @@ import java.util.Map; public interface IcTripReportRecordService extends BaseService { /** - * 默认分页 + * pc行程上报-列表 * - * @param params + * @param formDTO * @return PageData * @author generator * @date 2022-03-25 */ - PageData page(Map params); + PageData page(PageTripReportFormDTO formDTO); /** * 默认查询 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index dc72e683ea..2362052dc1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/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.metadata.IPage; 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.dto.result.CustomerStaffInfoCacheResult; 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.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.IcEpidemicSpecialAttentionDao; 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.entity.IcEpidemicSpecialAttentionEntity; import com.epmet.service.IcEpidemicSpecialAttentionService; @@ -23,14 +25,10 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; 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.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -216,4 +214,19 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl getHeSuanIdCardList(String customerId,Set idCardSet) { + if(CollectionUtils.isEmpty(idCardSet)){ + return new ArrayList<>(); + } + //关注类型,核酸检测:2,疫苗接种:1 + return baseDao.getIdCardList(customerId,idCardSet,NumConstant.TWO); + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java index 64fe1016c2..9a1c2cf31d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java +++ b/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 javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -202,4 +199,27 @@ public class IcNoticeServiceImpl extends BaseServiceImpl getUserLatestNoticeTime(String customerId,Set idCardSet) { + Map map=new HashMap<>(); + for(String idCard:idCardSet) { + LambdaQueryWrapper 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; + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index d845bbd2bb..19f57c0a73 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -1,13 +1,14 @@ package com.epmet.service.impl; 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.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; 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.GridInfoCache; 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.form.IcTripReportFormDTO; import com.epmet.dto.form.MyReportedTripFormDTO; +import com.epmet.dto.form.PageTripReportFormDTO; import com.epmet.entity.IcTripReportRecordEntity; +import com.epmet.service.IcEpidemicSpecialAttentionService; +import com.epmet.service.IcNoticeService; import com.epmet.service.IcTripReportRecordService; import com.github.pagehelper.PageHelper; 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.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * 行程上报信息 @@ -39,14 +44,46 @@ import java.util.Map; public class IcTripReportRecordServiceImpl extends BaseServiceImpl implements IcTripReportRecordService { @Autowired private UserBaseInfoDao userBaseInfoDao; - + //关注 + @Autowired + private IcEpidemicSpecialAttentionService epidemicSpecialAttentionService; + //通知 + @Autowired + private IcNoticeService icNoticeService; + /** + * pc: 行程上报-列表 + * @param formDTO + * @return + */ @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, IcTripReportRecordDTO.class); + public PageData page(PageTripReportFormDTO formDTO) { + //1.获取工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询工作人员缓存信息异常", EpmetErrorCode.SERVER_ERROR.getMsg()); + } + formDTO.setAgencyId(staffInfo.getAgencyId()); + //2.按条件查询业务数据 + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) + .doSelectPageInfo(() -> baseDao.pageList(formDTO)); + List list = data.getList(); + //3.查询最近一次通知时间、核算检测关注名单 + if (CollectionUtils.isNotEmpty(list)) { + Set idCardSet = list.stream().map(m -> m.getIdCard()).collect(Collectors.toSet()); + Map latestNotice = icNoticeService.getUserLatestNoticeTime(formDTO.getCustomerId(),idCardSet); + List 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 diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml index ef7660a3c4..67f80a3905 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml @@ -91,5 +91,21 @@ ) - + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml index 933acd1f28..d3a626aed8 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml @@ -3,6 +3,7 @@ + - + + \ No newline at end of file From f6073d1460c1c18208c332a668a1ef032f9596b5 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 29 Mar 2022 16:49:00 +0800 Subject: [PATCH 041/129] =?UTF-8?q?/epmetuser/icresiuser/demandusers?= =?UTF-8?q?=E8=BF=94=E5=9B=9EagencyId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/result/DemandUserResDTO.java | 1 + .../src/main/resources/mapper/IcResiUserDao.xml | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DemandUserResDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DemandUserResDTO.java index da8e6cfd07..19b5c8c792 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DemandUserResDTO.java +++ b/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 gridId; private String idCard; + private String agencyId; } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 8122ec6bf9..b965ac691e 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -301,7 +301,8 @@ IFNULL(ir.MOBILE,'') AS demandUserMobile, concat(ir.`NAME`,'(',ir.MOBILE,')')as label, ir.grid_id as gridId, - ir.ID_CARD as idCard + ir.ID_CARD as idCard, + ir.AGENCY_ID as agencyId FROM ic_resi_user ir WHERE From ce55a52095b5c26479783e9218e1c5d2fb1cdded Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 29 Mar 2022 17:16:22 +0800 Subject: [PATCH 042/129] =?UTF-8?q?=E9=98=B2=E7=96=AB=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/EpidemicPreventionFormDTO.java | 67 +++++++++++ .../com/epmet/dto/form/IcNoticeFormDTO.java | 1 + .../dto/result/EpidemicPreventionInfoDTO.java | 21 ++++ .../result/EpidemicPreventionResultDTO.java | 48 ++++++++ .../java/com/epmet/dto/result/NatListDTO.java | 20 ++++ .../com/epmet/dto/result/TripListDTO.java | 21 ++++ .../com/epmet/dto/result/VaccineListDTO.java | 20 ++++ .../IcEpidemicPreventionController.java | 86 +++++++++++++++ .../epmet/controller/IcNoticeController.java | 6 +- .../java/com/epmet/dao/IcResiUserDao.java | 10 ++ .../java/com/epmet/service/IcNatService.java | 10 ++ .../com/epmet/service/IcResiUserService.java | 28 +++++ .../epmet/service/impl/IcNatServiceImpl.java | 65 +++++++---- .../service/impl/IcNoticeServiceImpl.java | 5 +- .../service/impl/IcResiUserServiceImpl.java | 104 ++++++++++++++++++ .../main/resources/mapper/IcResiUserDao.xml | 61 ++++++++++ 16 files changed, 547 insertions(+), 26 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionInfoDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionResultDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/TripListDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccineListDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java new file mode 100644 index 0000000000..d848f1e545 --- /dev/null +++ b/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; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcNoticeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcNoticeFormDTO.java index 057ee17921..09919051b9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcNoticeFormDTO.java +++ b/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 { private static final long serialVersionUID = 7392894573654015338L; private String customerId; + private String noticeId; @NotBlank(message = "身份证号不能为空", groups = DefaultGroup.class) private String idCard; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionInfoDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionInfoDTO.java new file mode 100644 index 0000000000..9e74f6e2fa --- /dev/null +++ b/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 natList; + private List vaccineList; + private List tripList; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionResultDTO.java new file mode 100644 index 0000000000..e0ea875623 --- /dev/null +++ b/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; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListDTO.java new file mode 100644 index 0000000000..279a66393b --- /dev/null +++ b/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; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/TripListDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/TripListDTO.java new file mode 100644 index 0000000000..09e33e55bc --- /dev/null +++ b/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; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccineListDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccineListDTO.java new file mode 100644 index 0000000000..294b6a10da --- /dev/null +++ b/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; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java new file mode 100644 index 0000000000..7ed8b936e2 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java @@ -0,0 +1,86 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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>} + * @Author zhaoqifeng + * @Date 2022/3/29 14:25 + */ + @PostMapping("page") + public Result> search(@LoginUser TokenDto tokenDto, @RequestBody EpidemicPreventionFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + PageData result = icResiUserService.epidemicPreventionList(formDTO); + return new Result>().ok(result); + } + + /** + * 居民防疫信息详情 + * @Param formDTO + * @Return {@link Result< EpidemicPreventionResultDTO>} + * @Author zhaoqifeng + * @Date 2022/3/29 16:13 + */ + @PostMapping("detail") + public Result detail(@RequestBody EpidemicPreventionFormDTO formDTO) { + EpidemicPreventionResultDTO result = icResiUserService.getEpidemicPreventionDetail(formDTO); + return new Result().ok(result); + } + + @PostMapping("info") + public Result info(@RequestBody EpidemicPreventionFormDTO formDTO) { + EpidemicPreventionInfoDTO result = icResiUserService.getEpidemicPreventionInfo(formDTO); + return new Result().ok(result); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java index f7cb128fc4..eb40b5fe23 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java @@ -38,9 +38,9 @@ public class IcNoticeController { return new Result>().ok(page); } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) - public Result get(@PathVariable("id") String id){ - IcNoticeDTO data = icNoticeService.get(id); + @RequestMapping(method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@RequestBody IcNoticeFormDTO formDTO){ + IcNoticeDTO data = icNoticeService.get(formDTO.getNoticeId()); return new Result().ok(data); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index 596b61446d..ddd9d8ff20 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/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.tools.dto.result.OptionDataResultDTO; import com.epmet.dto.IcResiUserDTO; +import com.epmet.dto.form.EpidemicPreventionFormDTO; import com.epmet.dto.form.ResiUserQueryValueDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcResiUserEntity; @@ -270,4 +271,13 @@ public interface IcResiUserDao extends BaseDao { */ List getExistUserByHouseIds(@Param("ids") List ids); + /** + * 居民防疫信息查询 + * @Param formDTO + * @Return {@link List< EpidemicPreventionResultDTO>} + * @Author zhaoqifeng + * @Date 2022/3/29 14:52 + */ + List getEpidemicPreventionList(EpidemicPreventionFormDTO formDTO); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java index c460d99906..4956c96493 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java +++ b/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.MyNatListFormDTO; import com.epmet.dto.result.MyNatListResultDTO; +import com.epmet.dto.result.NatListDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcNatEntity; @@ -68,4 +69,13 @@ public interface IcNatService extends BaseService { * @param filePath */ void execAsyncExcelImport(Path filePath, String importTaskId); + + /** + * 核酸检测信息 + * @Param idCard + * @Return {@link List} + * @Author zhaoqifeng + * @Date 2022/3/29 16:29 + */ + List getNatList(String idCard); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 59ec56519b..ef3c99338a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -216,4 +216,32 @@ public interface IcResiUserService extends BaseService { * @date 2022/3/2 10:32 上午 */ List getExistUserByHouseIds(List ids); + + /** + * 居民防疫信息查询 + * + * @Param formDTO + * @Return {@link PageData< EpidemicPreventionResultDTO>} + * @Author zhaoqifeng + * @Date 2022/3/29 14:27 + */ + PageData 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); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 2df0bd7017..a7ef5cf7f4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -1,11 +1,9 @@ package com.epmet.service.impl; import com.alibaba.excel.EasyExcel; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; 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.ServiceConstant; 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.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.EpmetRequestHolder; -import com.epmet.commons.tools.utils.FileUtils; -import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.*; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcNatDao; import com.epmet.dto.IcNatDTO; import com.epmet.dto.IcNoticeDTO; -import com.epmet.dto.form.AddIcNatFormDTO; -import com.epmet.dto.form.ImportTaskCommonFormDTO; -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.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.entity.IcNatEntity; import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.excel.handler.IcNatExcelImportListener; @@ -47,11 +35,9 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; -import org.apache.commons.lang3.StringUtils; import org.apache.http.entity.ContentType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; @@ -59,15 +45,15 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.commons.CommonsMultipartFile; -import java.util.ArrayList; import java.io.IOException; import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.util.Arrays; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import java.util.Map; import java.util.UUID; +import java.util.stream.Collectors; /** * 核酸上报记录 @@ -344,6 +330,43 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } + /** + * 核酸检测信息 + * + * @param idCard + * @Param idCard + * @Return {@link List< NatListDTO >} + * @Author zhaoqifeng + * @Date 2022/3/29 16:29 + */ + @Override + public List getNatList(String idCard) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcNatEntity::getIdCard, idCard); + wrapper.orderByDesc(IcNatEntity::getNatTime); + List 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 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java index 9a1c2cf31d..9b3698798d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java @@ -158,7 +158,7 @@ public class IcNoticeServiceImpl extends BaseServiceImpl getWrapper(Map params){ String id = (String)params.get(FieldConstant.ID_HUMP); @@ -1230,6 +1233,107 @@ public class IcResiUserServiceImpl extends BaseServiceImpl} + * @Author zhaoqifeng + * @Date 2022/3/29 14:27 + */ + @Override + public PageData epidemicPreventionList(EpidemicPreventionFormDTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List list = baseDao.getEpidemicPreventionList(formDTO); + PageInfo pageInfo = new PageInfo<>(list); + if (CollectionUtils.isNotEmpty(list)) { + //查询网格名称 + List gridIds = list.stream().map(EpidemicPreventionResultDTO::getGridId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList()); + Result> gridInfoRes = govOrgOpenFeignClient.getGridListByGridIds(gridIds); + List gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>(); + Map gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity())); + + //查询房子名称 + Set houseIds = new HashSet<>(); + List houseIdList = list.stream().map(EpidemicPreventionResultDTO::getHomeId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList()); + houseIds.addAll(houseIdList); + Result> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(houseIds,formDTO.getCustomerId()); + List houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>(); + Map 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 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 houseIds = new HashSet<>(); + houseIds.add(result.getHomeId()); + Result> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(new HashSet<>(houseIds),formDTO.getCustomerId()); + List houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>(); + Map 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 natList = icNatService.getNatList(icResiUser.getIdCard()); + result.setNatList(natList); + //TODO 疫苗接种 + //TODO 行程信息 + } + return result; + } + /** * @Description 居民分类 和 网格名 处理 * @param list diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index b965ac691e..2b040cd4cd 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -642,4 +642,65 @@ ) + From 04c0aa401a767f774fe76a942290815af81fb1d6 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 29 Mar 2022 17:25:41 +0800 Subject: [PATCH 043/129] =?UTF-8?q?=E5=8F=AA=E6=8C=89=E7=9B=91=E6=B5=8B?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E9=99=8D=E5=BA=8F=E6=8E=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-user-server/src/main/resources/mapper/IcNatDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index a16f593941..1f325c92e3 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -60,7 +60,7 @@ AND nat_time #{endTime} - ORDER BY nat_time, id_card DESC + ORDER BY nat_time DESC From 69adbab884e01edf7c2f0fd5a69890fa5357053d Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 29 Mar 2022 17:44:47 +0800 Subject: [PATCH 044/129] =?UTF-8?q?=E9=98=B2=E7=96=AB=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/result/EpidemicPreventionResultDTO.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionResultDTO.java index e0ea875623..0639371186 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpidemicPreventionResultDTO.java @@ -40,9 +40,9 @@ public class EpidemicPreventionResultDTO implements Serializable { /** * 疫苗接种次数 */ - private Double vaccineCount; + private Integer vaccineCount; /** * 核酸检测次数 */ - private Double natCount; + private Integer natCount; } From 85eeca22a7ac94035d8635d959b92f3971f8b45c Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 29 Mar 2022 17:48:05 +0800 Subject: [PATCH 045/129] =?UTF-8?q?=E5=AF=BC=E5=87=BAbug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/IcNatController.java | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 30e3461ae0..95814147cb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -6,22 +6,19 @@ 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.AppClientConstant; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.feign.ResultDataResolver; -import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.EpmetRequestHolder; -import com.epmet.commons.tools.utils.FileUtils; import com.epmet.commons.tools.utils.ExcelUtils; +import com.epmet.commons.tools.utils.FileUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.DefaultGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; @@ -33,8 +30,6 @@ import com.epmet.dto.result.NatListResultDTO; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.IcNatService; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.io.IOUtils; -import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -42,16 +37,14 @@ import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; +import java.nio.file.Path; import java.util.List; -import java.util.Map; import java.util.UUID; @@ -263,6 +256,7 @@ public class IcNatController implements ResultDataResolver { PageData data = null; do { data = icNucleinService.natList(formDTO); + data.getList().forEach(o->o.setNatResult(NumConstant.ONE_STR.equals(o.getNatResult())?"阳性":"阴性")); formDTO.setPageNo(++pageNo); excelWriter.write(data.getList(), writeSheet); } while (CollectionUtils.isNotEmpty(data.getList()) && data.getList().size()==formDTO.getPageSize()); From 33e464cc2f8225cc5340119bbf1b4c064e181384 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 29 Mar 2022 17:53:03 +0800 Subject: [PATCH 046/129] =?UTF-8?q?=E9=98=B2=E7=96=AB=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java | 1 + .../src/main/java/com/epmet/controller/IcNoticeController.java | 1 + 2 files changed, 2 insertions(+) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java index 0d038cf71a..c4113e4f9b 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java @@ -18,6 +18,7 @@ import java.util.List; public class SendNoticeFormDTO implements Serializable { private static final long serialVersionUID = 4800907725063604885L; private String customerId; + private String staffId; /** * 用户列表 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java index eb40b5fe23..b0b8a31553 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java @@ -74,6 +74,7 @@ public class IcNoticeController { public Result sendNotice(@LoginUser TokenDto tokenDto, @RequestBody SendNoticeFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, DefaultGroup.class); formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); icNoticeService.sendNotice(formDTO); return new Result(); } From 04fe3352698cb7de97167d0131d0315ef0323e8a Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 29 Mar 2022 17:58:44 +0800 Subject: [PATCH 047/129] =?UTF-8?q?=E8=A1=8C=E7=A8=8B=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E5=8F=91=E9=80=81=E9=80=9A=E7=9F=A5=EF=BC=8C=E6=A0=B8=E7=AE=97?= =?UTF-8?q?=E5=85=B3=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constant/IcResiUserConstant.java | 1 + .../epmet/dto/form/IcTripReportFormDTO.java | 70 +++++++++++++--- .../IcTripReportRecordController.java | 17 ++-- .../service/IcTripReportRecordService.java | 4 +- .../impl/IcTripReportRecordServiceImpl.java | 82 +++++++++++++++++-- 5 files changed, 144 insertions(+), 30 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java index aedf4def93..4d956d1fca 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java @@ -13,4 +13,5 @@ public interface IcResiUserConstant { */ String USER_TYPE_RESI="resi"; String USER_TYPE_IC_RESI="icresi"; + String USER_TYPE_OTHER="other"; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java index 0088bb3183..45fc03e76b 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java @@ -9,7 +9,9 @@ import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.ArrayList; import java.util.Date; +import java.util.List; /** * 行程上报居民端入参 @@ -22,6 +24,12 @@ public class IcTripReportFormDTO implements Serializable { public interface ResiUserRequired extends CustomerClientShowGroup { } + public interface PcInternalGroup { + } + public interface PcRequired extends CustomerClientShowGroup { + } + public interface IcResiInternalGroup { + } /** * 客户Id */ @@ -30,49 +38,54 @@ public class IcTripReportFormDTO implements Serializable { /** * 姓名 */ - @NotBlank(message = "姓名不能为空", groups = {ResiUserRequired.class}) + @NotBlank(message = "姓名不能为空", groups = {ResiUserRequired.class,PcRequired.class}) private String name; /** * 手机号 */ - @NotBlank(message = "手机号不能为空", groups = {ResiUserRequired.class}) + @NotBlank(message = "手机号不能为空", groups = {ResiUserRequired.class,PcRequired.class}) private String mobile; /** * 身份证号 */ - @NotBlank(message = "身份证号不能为空", groups = {ResiUserRequired.class}) + @NotBlank(message = "身份证号不能为空", groups = {ResiUserRequired.class,PcRequired.class}) private String idCard; + /** + * 是否添加到核算检测关注名单,true加入;默认false不加入 + */ + @NotNull(message = "是否添加到核算检测关注名单", groups = {PcRequired.class}) + private Boolean heSuanCheck; /** * 现居地编码 */ - @NotBlank(message = "现居地编码不能为空", groups = {ResiUserRequired.class}) + @NotBlank(message = "现居地编码不能为空", groups = {ResiUserRequired.class,PcRequired.class}) private String presentAddressCode; /** * 现居地名称eg:山东省青岛市黄岛区玫瑰山路社区 */ - @NotBlank(message = "现居地名称不能为空", groups = {ResiUserRequired.class}) + @NotBlank(message = "现居地名称不能为空", groups = {ResiUserRequired.class,PcRequired.class}) private String presentAddress; /** * 详细地址 */ - @NotBlank(message = "详细地址不能为空", groups = {ResiUserRequired.class}) + @NotBlank(message = "详细地址不能为空", groups = {ResiUserRequired.class,PcRequired.class}) private String detailAddress; /** * 来源地区编码 */ - @NotBlank(message = "来自地区编码不能为空", groups = {ResiUserRequired.class}) + @NotBlank(message = "来自地区编码不能为空", groups = {ResiUserRequired.class,PcRequired.class}) private String sourceAddressCode; /** * 来源地区地址 */ - @NotBlank(message = "来自地区名称不能为空", groups = {ResiUserRequired.class}) + @NotBlank(message = "来自地区名称不能为空", groups = {ResiUserRequired.class,PcRequired.class}) private String sourceAddress; /** @@ -80,7 +93,7 @@ public class IcTripReportFormDTO implements Serializable { */ @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") - @NotNull(message = "来到本地时间不能为空", groups = {ResiUserRequired.class}) + @NotNull(message = "来到本地时间不能为空", groups = {ResiUserRequired.class,PcRequired.class}) private Date arriveDate; /** @@ -93,23 +106,56 @@ public class IcTripReportFormDTO implements Serializable { /** * 备注信息 */ - @Length(max = 500, message = "备注最多可输入500字", groups = {ResiUserRequired.class}) + @Length(max = 500, message = "备注最多可输入500字", groups = {ResiUserRequired.class,PcRequired.class}) private String remark; - @NotBlank(message = "网格不能为空", groups = {ResiUserInternalGroup.class}) + /** + * userType=icresi时,必填,取值居民所属的网格ID; + * 居民端小程序上报前端赋值当前用户所在的网格id + */ + @NotBlank(message = "网格不能为空", groups = {ResiUserInternalGroup.class,IcResiInternalGroup.class}) private String gridId; - //后端自己赋值 /** * 用户id + * 居民端上报时后端自己赋值 + * pc录入如果是从居民信息选择,此列有值 */ + @NotBlank(message = "userId不能为空", groups = {IcResiInternalGroup.class}) private String userId; /** * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + * 居民端上报是后端赋值; + * pc录入是前端赋值 */ + @NotBlank(message = "数字社区的居民:icresi;其他:other", groups = {PcInternalGroup.class}) private String userType; + /** + * userType=icresi时,必填。 + * 居民所属的组织id + */ + @NotBlank(message = "agencyId不能为空", groups = {IcResiInternalGroup.class}) + private String agencyId; + + /** + * pc录入时用 + */ + private String currentStaffId; + + /** + * pc录入时用 + * 通知渠道 0小程序通知,1短信通知 + */ + private List channel = new ArrayList<>(); + /** + * pc录入时用 + * 通知内容 + */ + private String content = ""; + + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index 45fe80dc05..0e7ee6b100 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -8,7 +8,6 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.constant.IcResiUserConstant; @@ -59,16 +58,20 @@ public class IcTripReportRecordController { /** * pc: 行程上报-新增 - * @param dto + * @param formDTO * @return */ @NoRepeatSubmit @PostMapping("save") - public Result save(@RequestBody IcTripReportRecordDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - icTripReportRecordService.save(dto); - return new Result(); + public Result save(@LoginUser TokenDto tokenDto,@RequestBody IcTripReportFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setCurrentStaffId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.PcRequired.class,IcTripReportFormDTO.PcInternalGroup.class); + if(IcResiUserConstant.USER_TYPE_IC_RESI.equals(formDTO.getUserType())){ + ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.IcResiInternalGroup.class); + } + String id=icTripReportRecordService.save(formDTO); + return new Result().ok(id); } @NoRepeatSubmit diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java index 001b3d65e4..5c8142cfbe 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java @@ -50,14 +50,14 @@ public interface IcTripReportRecordService extends BaseService page(PageTripReportFormDTO formDTO) { //1.获取工作人员缓存信息 - CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); - if (null == staffInfo) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询工作人员缓存信息异常", EpmetErrorCode.SERVER_ERROR.getMsg()); - } + CustomerStaffInfoCacheResult staffInfo=queryCurrentStaff(formDTO.getCustomerId(),formDTO.getUserId()); formDTO.setAgencyId(staffInfo.getAgencyId()); //2.按条件查询业务数据 PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) @@ -86,6 +84,14 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl list(Map params) { List entityList = baseDao.selectList(getWrapper(params)); @@ -108,11 +114,69 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl NumConstant.ZERO && StringUtils.isNotBlank(formDTO.getContent())) { + SendNoticeFormDTO dto = new SendNoticeFormDTO(); + List userList = new ArrayList<>(); + //注意这里的userId是指的pc平台的居民 + userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); + dto.setCustomerId(formDTO.getCustomerId()); + dto.setUserList(userList); + dto.setChannel(formDTO.getChannel()); + //通知来源 0 行程上报,1 疫苗接种,2 核酸检测 + dto.setOrigin(NumConstant.ZERO_STR); + dto.setContent(formDTO.getContent()); + dto.setOrgName(agencyInfoCache.getOrganizationName()); + icNoticeService.sendNotice(dto); + } + return entity.getId(); + } + + /** + * 加入核算检测关注 + * @param formDTO + */ + private void vaccinationAdd(IcTripReportFormDTO formDTO) { + VaccinationAddFormDTO vaccinationAddFormDTO=new VaccinationAddFormDTO(); + vaccinationAddFormDTO.setCustomerId(formDTO.getCustomerId()); + vaccinationAddFormDTO.setUserId(formDTO.getCurrentStaffId()); + List list =new ArrayList<>(); + IcEpidemicSpecialAttentionDTO dto=new IcEpidemicSpecialAttentionDTO(); + dto.setName(formDTO.getName()); + dto.setIdCard(formDTO.getIdCard()); + dto.setMobile(formDTO.getMobile()); + //避免再发通知,赋值个空集合吧 + dto.setChannel(Collections.emptyList()); + //关注类型,核酸检测:2,疫苗接种:1;行程上报:0 + dto.setAttentionType(NumConstant.ZERO); + list.add(dto); + vaccinationAddFormDTO.setList(list); + epidemicSpecialAttentionService.vaccinationAdd( vaccinationAddFormDTO); } @Override From c6c33d25908e5b34dcdd774ca2b464ef02566123 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 29 Mar 2022 18:32:50 +0800 Subject: [PATCH 048/129] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E6=A0=B8?= =?UTF-8?q?=E9=85=B8=E6=A3=80=E6=B5=8B=E4=BF=A1=E6=81=AFexcel=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=8E=BB=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dao/IcNatDao.java | 6 ++++++ .../epmet/service/impl/IcNatServiceImpl.java | 10 +++++++++- .../migration/V0.0.28__nat_add_uniquekey.sql | 1 + .../src/main/resources/mapper/IcNatDao.xml | 18 ++++++++++++++++++ 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__nat_add_uniquekey.sql diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java index 4ac7359f2e..97b365bb6f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -36,4 +36,10 @@ public interface IcNatDao extends BaseDao { * @Description 删除/取消同步操作--物理删除业务数据 **/ int delById(@Param("icNatId") String icNatId); + + /** + * 插入或者更新 + * @param e + */ + void insertOrUpdate(IcNatEntity e); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index a7ef5cf7f4..dad0b433d5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -2,6 +2,7 @@ package com.epmet.service.impl; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.NumConstant; @@ -372,6 +373,13 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * @param entities */ public void batchPersist(List entities) { - insertBatch(entities); + //insertBatch(entities); + String currentUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + entities.forEach(e -> { + String id = IdWorker.getIdStr(e); + e.setId(id); + e.setUpdatedBy(currentUserId); + baseDao.insertOrUpdate(e); + }); } } diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__nat_add_uniquekey.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__nat_add_uniquekey.sql new file mode 100644 index 0000000000..5cf24b3bec --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__nat_add_uniquekey.sql @@ -0,0 +1 @@ +alter table ic_nat add index unq_nat(ID_CARD, NAT_TIME) \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index 1f325c92e3..28b4129229 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -67,4 +67,22 @@ DELETE FROM ic_nat WHERE id = #{icNatId} + + INSERT INTO epmet_user.ic_nat + (ID, CUSTOMER_ID, AGENCY_ID, PIDS, USER_ID, + USER_TYPE, NAME, MOBILE, ID_CARD, NAT_TIME, NAT_RESULT, NAT_ADDRESS, FILE_NAME, ATTACHMENT_TYPE, ATTACHMENT_URL, + DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) + VALUES (#{id}, #{customerId}, #{agencyId}, #{pids}, #{userId}, + #{userType}, #{name}, #{mobile}, #{idCard}, #{natTime}, + #{natResult}, #{natAddress}, #{fileName}, #{attachmentType}, #{attachmentUrl}, + #{delFlag}, #{revision}, #{createdBy}, #{createdTime}, #{updatedBy}, + #{updatedTime}) + ON DUPLICATE KEY update + NAME=#{name}, + MOBILE=#{mobile}, + NAT_ADDRESS=#{natAddress}, + NAT_RESULT=#{natResult}, + UPDATED_BY=#{updatedBy}, + UPDATED_TIME=NOW() + From 7bf892d3b0a5377e6453b1f79e92ebbce90dbad7 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 29 Mar 2022 18:51:01 +0800 Subject: [PATCH 049/129] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/db/migration/V0.0.28__nat_add_uniquekey.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__nat_add_uniquekey.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__nat_add_uniquekey.sql index 5cf24b3bec..76b6b17b34 100644 --- a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__nat_add_uniquekey.sql +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__nat_add_uniquekey.sql @@ -1 +1 @@ -alter table ic_nat add index unq_nat(ID_CARD, NAT_TIME) \ No newline at end of file +alter table ic_nat add unique index unq_nat(ID_CARD, NAT_TIME) \ No newline at end of file From 227a37c16d5dcd3471547af905b8d7b05459c987 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 29 Mar 2022 19:57:38 +0800 Subject: [PATCH 050/129] =?UTF-8?q?=E8=A1=8C=E7=A8=8B=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constant/IcResiUserConstant.java | 5 +- .../com/epmet/dto/IcTripReportRecordDTO.java | 2 +- .../epmet/dto/form/IcTripReportFormDTO.java | 39 +++++---- .../IcTripReportRecordController.java | 77 ++++++++++++----- .../com/epmet/dao/IcTripReportRecordDao.java | 9 ++ .../entity/IcTripReportRecordEntity.java | 2 +- .../service/IcTripReportRecordService.java | 16 +--- .../impl/IcTripReportRecordServiceImpl.java | 80 ++++++++++++------ .../migration/V0.0.28__modify_trip_report.sql | 2 + .../excel/trip_report_import_template.xlsx | Bin 0 -> 9319 bytes .../mapper/IcTripReportRecordDao.xml | 11 +++ 11 files changed, 166 insertions(+), 77 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__modify_trip_report.sql create mode 100644 epmet-user/epmet-user-server/src/main/resources/excel/trip_report_import_template.xlsx diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java index 4d956d1fca..84a00be746 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java @@ -9,9 +9,10 @@ public interface IcResiUserConstant { String IC_RESI_USER = "ic_resi_user"; /** - * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + * 居民端小程序的人:resi;数字社区的居民:icresi;单独录入:input; 导入:import */ String USER_TYPE_RESI="resi"; String USER_TYPE_IC_RESI="icresi"; - String USER_TYPE_OTHER="other"; + String USER_TYPE_INPUT="input"; + String USER_TYPE_IMPORT="import"; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java index 1b7fc83684..deb2abaed1 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java @@ -64,7 +64,7 @@ public class IcTripReportRecordDTO implements Serializable { private String userId; /** - * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + * 居民端小程序的人:resi;数字社区的居民:icresi;单独录入:input; 导入:import */ private String userType; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java index 45fc03e76b..f8d6f90ef7 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java @@ -24,12 +24,19 @@ public class IcTripReportFormDTO implements Serializable { public interface ResiUserRequired extends CustomerClientShowGroup { } - public interface PcInternalGroup { + public interface PcAddOrUpdateInternalGroup { } - public interface PcRequired extends CustomerClientShowGroup { + public interface PcAddRequired extends CustomerClientShowGroup { } public interface IcResiInternalGroup { } + + public interface PcUpdateRequired extends CustomerClientShowGroup { + } + + @NotBlank(message = "主键不能为空", groups = {PcUpdateRequired.class}) + private String id; + /** * 客户Id */ @@ -38,54 +45,54 @@ public class IcTripReportFormDTO implements Serializable { /** * 姓名 */ - @NotBlank(message = "姓名不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "姓名不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String name; /** * 手机号 */ - @NotBlank(message = "手机号不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "手机号不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String mobile; /** * 身份证号 */ - @NotBlank(message = "身份证号不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "身份证号不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String idCard; /** * 是否添加到核算检测关注名单,true加入;默认false不加入 */ - @NotNull(message = "是否添加到核算检测关注名单", groups = {PcRequired.class}) + @NotNull(message = "是否添加到核算检测关注名单", groups = {PcAddRequired.class,PcUpdateRequired.class}) private Boolean heSuanCheck; /** * 现居地编码 */ - @NotBlank(message = "现居地编码不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "现居地编码不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String presentAddressCode; /** * 现居地名称eg:山东省青岛市黄岛区玫瑰山路社区 */ - @NotBlank(message = "现居地名称不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "现居地名称不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String presentAddress; /** * 详细地址 */ - @NotBlank(message = "详细地址不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "详细地址不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String detailAddress; /** * 来源地区编码 */ - @NotBlank(message = "来自地区编码不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "来自地区编码不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String sourceAddressCode; /** * 来源地区地址 */ - @NotBlank(message = "来自地区名称不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "来自地区名称不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String sourceAddress; /** @@ -93,7 +100,7 @@ public class IcTripReportFormDTO implements Serializable { */ @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") - @NotNull(message = "来到本地时间不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotNull(message = "来到本地时间不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private Date arriveDate; /** @@ -106,7 +113,7 @@ public class IcTripReportFormDTO implements Serializable { /** * 备注信息 */ - @Length(max = 500, message = "备注最多可输入500字", groups = {ResiUserRequired.class,PcRequired.class}) + @Length(max = 500, message = "备注最多可输入500字", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String remark; @@ -127,11 +134,11 @@ public class IcTripReportFormDTO implements Serializable { private String userId; /** - * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other - * 居民端上报是后端赋值; + * 居民端小程序的人:resi;数字社区的居民:icresi;单独录入:input; 导入:import + * 居民端上报是后端赋值;导入后端赋值 * pc录入是前端赋值 */ - @NotBlank(message = "数字社区的居民:icresi;其他:other", groups = {PcInternalGroup.class}) + @NotBlank(message = "数字社区的居民:icresi;其他:other", groups = {PcAddOrUpdateInternalGroup.class}) private String userType; /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index 0e7ee6b100..36d1c39e53 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -6,19 +6,24 @@ 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.Result; -import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.DefaultGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.constant.IcResiUserConstant; 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.service.IcTripReportRecordService; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.net.URLEncoder; import java.util.List; @@ -50,12 +55,6 @@ public class IcTripReportRecordController { return new Result>().ok(page); } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) - public Result get(@PathVariable("id") String id){ - IcTripReportRecordDTO data = icTripReportRecordService.get(id); - return new Result().ok(data); - } - /** * pc: 行程上报-新增 * @param formDTO @@ -66,7 +65,7 @@ public class IcTripReportRecordController { public Result save(@LoginUser TokenDto tokenDto,@RequestBody IcTripReportFormDTO formDTO){ formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setCurrentStaffId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.PcRequired.class,IcTripReportFormDTO.PcInternalGroup.class); + ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.PcAddRequired.class,IcTripReportFormDTO.PcAddOrUpdateInternalGroup.class); if(IcResiUserConstant.USER_TYPE_IC_RESI.equals(formDTO.getUserType())){ ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.IcResiInternalGroup.class); } @@ -74,20 +73,35 @@ public class IcTripReportRecordController { return new Result().ok(id); } + /** + * pc: 行程上报-修改 + * @param formDTO + * @return + */ @NoRepeatSubmit @PostMapping("update") - public Result update(@RequestBody IcTripReportRecordDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - icTripReportRecordService.update(dto); - return new Result(); + public Result update(@LoginUser TokenDto tokenDto,@RequestBody IcTripReportFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setCurrentStaffId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.PcUpdateRequired.class,IcTripReportFormDTO.PcAddOrUpdateInternalGroup.class); + if(IcResiUserConstant.USER_TYPE_IC_RESI.equals(formDTO.getUserType())){ + ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.IcResiInternalGroup.class); + } + return new Result().ok(icTripReportRecordService.update(formDTO)); } + /** + * pc:行程上报-删除 + * + * @param ids + * @return + */ @PostMapping("delete") - public Result delete(@RequestBody String[] ids){ - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - icTripReportRecordService.delete(ids); + public Result delete(@LoginUser TokenDto tokenDto, @RequestBody String[] ids) { + if (ArrayUtils.isEmpty(ids)) { + return new Result(); + } + icTripReportRecordService.delete(tokenDto.getCustomerId(),tokenDto.getUserId(),ids); return new Result(); } @@ -119,4 +133,29 @@ public class IcTripReportRecordController { return new Result>().ok(icTripReportRecordService.resiList(formDTO)); } + /** + * pc:行程上报-下载模板 + * @param response + * @throws IOException + */ + @RequestMapping(value = "template-download", method = {RequestMethod.GET, RequestMethod.POST}) + public void downloadTemplate(HttpServletResponse response) throws IOException { + response.setCharacterEncoding("UTF-8"); + response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + //response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("行程上报导入模板", "UTF-8") + ".xlsx"); + + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/trip_report_import_template.xlsx"); + try { + ServletOutputStream os = response.getOutputStream(); + IOUtils.copy(is, os); + } finally { + if (is != null) { + is.close(); + } + } + } + + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java index e310dbc208..6d98de7a80 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java @@ -33,4 +33,13 @@ public interface IcTripReportRecordDao extends BaseDao * @return */ List pageList(PageTripReportFormDTO formDTO); + + /** + * pc:行程上报-删除 + * @param userId + * @param agencyId + * @param ids + * @return + */ + int batchDel(@Param("userId")String userId,@Param("agencyId")String agencyId, @Param("ids")String[] ids); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java index a74f25b6f4..0b7d4fd4fd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java @@ -62,7 +62,7 @@ public class IcTripReportRecordEntity extends BaseEpmetEntity { private String userId; /** - * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + * 居民端小程序的人:resi;数字社区的居民:icresi;单独录入:input; 导入:import */ private String userType; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java index 5c8142cfbe..bc19691e60 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java @@ -39,16 +39,6 @@ public interface IcTripReportRecordService extends BaseService list(Map params); - /** - * 单条查询 - * - * @param id - * @return IcTripReportRecordDTO - * @author generator - * @date 2022-03-25 - */ - IcTripReportRecordDTO get(String id); - /** * pc: 行程上报-新增 * @@ -67,17 +57,17 @@ public interface IcTripReportRecordService extends BaseService implements IcTripReportRecordService { @Autowired @@ -108,12 +110,6 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl NumConstant.ZERO && StringUtils.isNotBlank(formDTO.getContent())) { - SendNoticeFormDTO dto = new SendNoticeFormDTO(); - List userList = new ArrayList<>(); - //注意这里的userId是指的pc平台的居民 - userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); - dto.setCustomerId(formDTO.getCustomerId()); - dto.setUserList(userList); - dto.setChannel(formDTO.getChannel()); - //通知来源 0 行程上报,1 疫苗接种,2 核酸检测 - dto.setOrigin(NumConstant.ZERO_STR); - dto.setContent(formDTO.getContent()); - dto.setOrgName(agencyInfoCache.getOrganizationName()); - icNoticeService.sendNotice(dto); + sendNotice(formDTO,agencyInfoCache.getOrganizationName()); } return entity.getId(); } /** - * 加入核算检测关注 + * 行程上报-发送通知 + * @param formDTO + */ + private void sendNotice(IcTripReportFormDTO formDTO,String agencyName) { + SendNoticeFormDTO dto = new SendNoticeFormDTO(); + List userList = new ArrayList<>(); + //注意这里的userId是指的pc平台的居民 + userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); + dto.setCustomerId(formDTO.getCustomerId()); + dto.setUserList(userList); + dto.setChannel(formDTO.getChannel()); + //通知来源 0 行程上报,1 疫苗接种,2 核酸检测 + dto.setOrigin(NumConstant.ZERO_STR); + dto.setContent(formDTO.getContent()); + dto.setOrgName(agencyName); + icNoticeService.sendNotice(dto); + } + + /** + * 行程上报-加入核算检测关注 * @param formDTO */ private void vaccinationAdd(IcTripReportFormDTO formDTO) { @@ -181,16 +185,42 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl NumConstant.ZERO && StringUtils.isNotBlank(formDTO.getContent())) { + sendNotice(formDTO,agencyInfoCache.getOrganizationName()); + } + return entity.getId(); } @Override @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); + public void delete(String customerId, String userId, String[] ids) { + CustomerStaffInfoCacheResult staffInfo=queryCurrentStaff(customerId,userId); + baseDao.batchDel(userId,staffInfo.getAgencyId(),ids); } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__modify_trip_report.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__modify_trip_report.sql new file mode 100644 index 0000000000..d28bc06972 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__modify_trip_report.sql @@ -0,0 +1,2 @@ +alter table ic_trip_report_record MODIFY COLUMN PIDS VARCHAR(255) COMMENT 'agency_id的所有上级'; +alter table ic_trip_report_record MODIFY COLUMN USER_TYPE VARCHAR(32) NOT NULL COMMENT '居民端小程序的人:resi;数字社区的居民:icresi;单独录入:input; 导入:import'; \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/trip_report_import_template.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/trip_report_import_template.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..f13d7ec77d97db25035a97f95e3d4ec74c12d1c0 GIT binary patch literal 9319 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 + + + update ic_trip_report_record set del_flag='1',UPDATED_BY=#{userId},UPDATED_TIME=NOW() + WHERE USER_TYPE !='resi' + AND AGENCY_ID=#{agencyId} + AND ( + + id=#{id} + + ) + \ No newline at end of file From 4714470319d40ff79933381a6ce43da6434bf438 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 30 Mar 2022 09:14:12 +0800 Subject: [PATCH 051/129] =?UTF-8?q?=E9=98=B2=E7=96=AB=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IcNoticeServiceImpl.java | 44 +++++++++++++------ .../service/impl/IcResiUserServiceImpl.java | 4 +- .../main/resources/mapper/IcResiUserDao.xml | 2 +- 3 files changed, 34 insertions(+), 16 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java index 9b3698798d..3a224d8540 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java @@ -5,14 +5,17 @@ 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.*; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.enums.ChannelEnum; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.SmsTemplateConstant; import com.epmet.constant.UserMessageTypeConstant; import com.epmet.dao.IcNoticeDao; import com.epmet.dto.IcNoticeDTO; +import com.epmet.dto.UserBaseInfoDTO; import com.epmet.dto.form.IcNoticeFormDTO; import com.epmet.dto.form.ProjectSendMsgFormDTO; import com.epmet.dto.form.SendNoticeFormDTO; @@ -20,6 +23,7 @@ import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.entity.IcNoticeEntity; import com.epmet.feign.MessageFeignClient; import com.epmet.service.IcNoticeService; +import com.epmet.service.UserBaseInfoService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; @@ -44,6 +48,8 @@ public class IcNoticeServiceImpl extends BaseServiceImpl page(IcNoticeFormDTO formDTO) { @@ -123,8 +129,14 @@ public class IcNoticeServiceImpl extends BaseServiceImpl entityList = formDTO.getUserList().stream().map(item -> { IcNoticeEntity entity = new IcNoticeEntity(); entity.setCustomerId(formDTO.getCustomerId()); @@ -134,7 +146,7 @@ public class IcNoticeServiceImpl extends BaseServiceImpl smsList = new ArrayList<>(); entityList.forEach(item -> { - if (StringUtils.isNotBlank(item.getUserId())) { - UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); - messageFormDTO.setCustomerId(item.getCustomerId()); - messageFormDTO.setApp(AppClientConstant.APP_GOV); - messageFormDTO.setGridId(StrConstant.STAR); - messageFormDTO.setUserId(item.getUserId()); - messageFormDTO.setTitle("您有一条通知消息!"); - messageFormDTO.setMessageContent(item.getContent()); - messageFormDTO.setReadFlag(Constant.UNREAD); - messageFormDTO.setMessageType(UserMessageTypeConstant.ANTIEPIDEMIC); - messageFormDTO.setTargetId(item.getId()); - msgList.add(messageFormDTO); + if (StringUtils.isNotBlank(item.getIdCard())) { + //根据身份证获取居民ID + List userList = userBaseInfoService.getCommonIdNumUser(item.getCustomerId(), item.getIdCard()); + if (CollectionUtils.isNotEmpty(userList)) { + userList.forEach(user -> { + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(item.getCustomerId()); + messageFormDTO.setApp(AppClientConstant.APP_GOV); + messageFormDTO.setGridId(StrConstant.STAR); + messageFormDTO.setUserId(user.getUserId()); + messageFormDTO.setTitle("您有一条通知消息!"); + messageFormDTO.setMessageContent(item.getContent()); + messageFormDTO.setReadFlag(Constant.UNREAD); + messageFormDTO.setMessageType(UserMessageTypeConstant.ANTIEPIDEMIC); + messageFormDTO.setTargetId(item.getId()); + msgList.add(messageFormDTO); + }); + } } //TODO 短信消息 if (StringUtils.isNotBlank(item.getMobile())) { diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index b100c64741..e243b38459 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -1267,7 +1267,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl 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()); + result.setHouseName(houseInfoDTO.getAllName()); } } return result; diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 2b040cd4cd..c68d4e504e 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -690,7 +690,7 @@ AND MOBILE LIKE concat( '%', #{mobile}, '%' ) - AND ID_CARD LIKE concat( '%', #{idCard}, '%' ) + AND a.ID_CARD LIKE concat( '%', #{idCard}, '%' ) ) t WHERE From b8f4b60278fda772ad70c37a6dab9e7c82393cfa Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 30 Mar 2022 09:25:56 +0800 Subject: [PATCH 052/129] =?UTF-8?q?=E9=98=B2=E7=96=AB=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/IcResiUserServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index e243b38459..e7d124a71d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -1300,7 +1300,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl houseIds = new HashSet<>(); houseIds.add(result.getHomeId()); - Result> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(new HashSet<>(houseIds),formDTO.getCustomerId()); + Result> houseInfoRes = govOrgOpenFeignClient.queryListHouseInfo(houseIds, formDTO.getCustomerId()); List houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>(); Map houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity())); if (houseInfoMap.containsKey(result.getHomeId()) && null != houseInfoMap.get(result.getHomeId())) { From ecd57d1f14bfba1b140feaaf1df8f0da3714148c Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 30 Mar 2022 09:30:07 +0800 Subject: [PATCH 053/129] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E7=9A=84=E7=B1=BB=E5=9E=8Bother->import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/excel/handler/IcNatExcelImportListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java index f6c83e9440..ebfb593947 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -70,7 +70,7 @@ public class IcNatExcelImportListener implements ReadListener Date: Wed, 30 Mar 2022 09:32:20 +0800 Subject: [PATCH 054/129] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=8F=98=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/AddIcNatFormDTO.java | 1 + .../java/com/epmet/controller/IcNatController.java | 2 ++ .../java/com/epmet/service/impl/IcNatServiceImpl.java | 10 ++-------- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java index 73928633fb..eb43d0ddd9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -92,6 +92,7 @@ public class AddIcNatFormDTO implements Serializable { //token中信息 private String customerId; + private String staffId; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 95814147cb..df82899915 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -75,6 +75,7 @@ public class IcNatController implements ResultDataResolver { public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class); formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); icNucleinService.add(formDTO); return new Result(); } @@ -122,6 +123,7 @@ public class IcNatController implements ResultDataResolver { @PostMapping("edit") public Result edit(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); icNucleinService.edit(formDTO); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index dad0b433d5..f9f4fa77d4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -105,7 +105,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp dto.setChannel(formDTO.getChannel()); dto.setOrigin("2"); dto.setContent(formDTO.getContent()); - dto.setOrgName(agencyInfo.getOrganizationName()); + dto.setStaffId(formDTO.getStaffId()); icNoticeService.sendNotice(dto); } @@ -186,12 +186,6 @@ public class IcNatServiceImpl extends BaseServiceImpl imp //3.新增通知表信息 if (CollectionUtils.isNotEmpty(formDTO.getChannel())) { - IcNatEntity icNatEntity = baseDao.selectById(formDTO.getIcNatId()); - //1.获取所填居民所属组织缓存信息 - AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(icNatEntity.getAgencyId()); - if (null == agencyInfo) { - throw new RenException(String.format("获取组织缓存信息失败%s", icNatEntity.getAgencyId())); - } SendNoticeFormDTO dto = new SendNoticeFormDTO(); List userList = new ArrayList<>(); userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); @@ -200,7 +194,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp dto.setChannel(formDTO.getChannel()); dto.setOrigin("2"); dto.setContent(formDTO.getContent()); - dto.setOrgName(agencyInfo.getOrganizationName()); + dto.setStaffId(formDTO.getStaffId()); icNoticeService.sendNotice(dto); } } From 52535d85b3327042cef88c4f366e7ea42d9ce35a Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 30 Mar 2022 09:40:36 +0800 Subject: [PATCH 055/129] =?UTF-8?q?=E9=98=B2=E7=96=AB=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/IcEpidemicPreventionController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java index 7ed8b936e2..cbb43300fa 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java @@ -72,7 +72,8 @@ public class IcEpidemicPreventionController{ * @Date 2022/3/29 16:13 */ @PostMapping("detail") - public Result detail(@RequestBody EpidemicPreventionFormDTO formDTO) { + public Result detail(@LoginUser TokenDto tokenDto, @RequestBody EpidemicPreventionFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); EpidemicPreventionResultDTO result = icResiUserService.getEpidemicPreventionDetail(formDTO); return new Result().ok(result); } From 97865cbc524cff7db62b80ce1f4a4c4b34730dc8 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 30 Mar 2022 09:44:21 +0800 Subject: [PATCH 056/129] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8F=98=E5=8A=A8-?= =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF=E6=A0=B8=E7=AE=97=E6=88=91=E7=9A=84?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E5=85=81=E8=AE=B8=E7=BB=99=E5=88=AB=E4=BA=BA?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/MyNatListFormDTO.java | 3 --- .../main/java/com/epmet/controller/IcNatController.java | 2 +- .../java/com/epmet/service/impl/IcNatServiceImpl.java | 9 ++++++++- .../src/main/resources/mapper/IcNatDao.xml | 7 ++++++- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java index e9620dc5d2..157bc89a27 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java @@ -14,8 +14,6 @@ import javax.validation.constraints.NotBlank; public class MyNatListFormDTO extends PageFormDTO { private static final long serialVersionUID = 9156247659994638103L; - public interface MyNat extends CustomerClientShowGroup { - } public interface Detail extends CustomerClientShowGroup { } public interface Del extends CustomerClientShowGroup { @@ -26,7 +24,6 @@ public class MyNatListFormDTO extends PageFormDTO { /** * 身份证号 */ - @NotBlank(message = "身份证号不能为空", groups = MyNat.class) private String idCard; /** * 当前组织:current 根组织:all diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index df82899915..1c82388e65 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -87,8 +87,8 @@ public class IcNatController implements ResultDataResolver { @NoRepeatSubmit @PostMapping("mynatlist") public Result> myNatList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.MyNat.class); formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); return new Result>().ok(icNucleinService.myNatList(formDTO)); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index f9f4fa77d4..e610c12fd3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -20,6 +20,7 @@ import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.*; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcNatDao; +import com.epmet.dao.UserBaseInfoDao; import com.epmet.dto.IcNatDTO; import com.epmet.dto.IcNoticeDTO; import com.epmet.dto.form.*; @@ -78,6 +79,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Autowired private OssFeignClient ossFeignClient; + @Autowired + private UserBaseInfoDao userBaseInfoDao; + /** * @Author sun * @Description 核酸检测-上报核酸记录 @@ -117,7 +121,10 @@ public class IcNatServiceImpl extends BaseServiceImpl imp **/ @Override public List myNatList(MyNatListFormDTO formDTO) { - //1.根据身份证号查询该人员所有核酸记录(居民端录入、数字平台录入、数字平台导入) + //1.根据token信息查询居民身份证号 + UserBaseInfoResultDTO dto = userBaseInfoDao.selectListByUserIdList(formDTO.getUserId()); + formDTO.setIdCard(dto.getIdNum()); + //2.查询当前人员创建的或该身份证号录入的核算检测数据(居民端录入、数字平台录入、数字平台导入) List resultList = baseDao.getMyNatList(formDTO); return resultList; } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index 28b4129229..84e3739081 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -21,7 +21,12 @@ WHERE del_flag = '0' AND customer_id = #{customerId} - AND id_card = #{idCard} + AND ( + CREATED_BY = #{userId} + + OR id_card = #{idCard} + + ) ORDER BY nat_time DESC From 4ff7ff324406cda17636e030c2358e9f1b8b40db Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 30 Mar 2022 09:46:23 +0800 Subject: [PATCH 057/129] =?UTF-8?q?=E9=9A=8F=E8=AE=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/IcFollowUpRecordDTO.java | 52 ++++++++++- .../epmet/dto/form/PageFollowUpFormDTO.java | 28 ++++++ .../IcFollowUpRecordController.java | 91 +++++++++++++++++-- .../IcTripReportRecordController.java | 2 +- .../epmet/entity/IcFollowUpRecordEntity.java | 4 + .../service/IcFollowUpRecordService.java | 9 +- .../impl/IcFollowUpRecordServiceImpl.java | 35 +++++-- 7 files changed, 200 insertions(+), 21 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageFollowUpFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java index ae5c05bede..954d7508d6 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java @@ -1,8 +1,18 @@ 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.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.Date; -import lombok.Data; /** @@ -15,75 +25,115 @@ import lombok.Data; public class IcFollowUpRecordDTO implements Serializable { private static final long serialVersionUID = 1L; + public interface AddInternalGroup { + } + public interface AddUserRequired extends CustomerClientShowGroup { + } + /** * 主键ID */ + @ExcelIgnore private String id; /** * 客户Id */ + @ExcelIgnore private String customerId; /** * 姓名 */ + @ColumnWidth(20) + @ExcelProperty("姓名") + @NotBlank(message = "姓名不能为空", groups = {AddUserRequired.class}) private String name; /** * 手机号 */ + @ColumnWidth(20) + @ExcelProperty("手机号") + @NotBlank(message = "手机号不能为空", groups = {AddUserRequired.class}) private String mobile; /** * 身份证号 */ + @ColumnWidth(25) + @ExcelProperty("身份证号") + @NotBlank(message = "身份证号不能为空", groups = {AddUserRequired.class}) private String idCard; /** * 0行程上报,1疫苗接种,2核酸检测 */ + @ColumnWidth(25) + @ExcelProperty("来源") + @NotBlank(message = "origin不能为空:0行程上报,1疫苗接种,2核酸检测", groups = {AddInternalGroup.class}) private String origin; /** * 随访时间 */ + @ColumnWidth(25) + @ExcelProperty("随访时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @NotNull(message = "随访时间不能为空", groups = {AddUserRequired.class}) private Date visitTime; /** * 随访内容 */ + @ColumnWidth(200) + @ExcelProperty("随访内容") + @NotBlank(message = "随访内容不能为空", groups = {AddUserRequired.class}) + @Length(message = "随访内容最多输入1000字", groups = {AddUserRequired.class}) private String content; + /** + * 工作人员所属组织id + */ + @ExcelIgnore + private String agencyId; + /** * 删除标识 1删除;0未删除 */ + @ExcelIgnore private String delFlag; /** * 乐观锁 */ + @ExcelIgnore private Integer revision; /** * 创建人 */ + @ExcelIgnore private String createdBy; /** * 创建时间 */ + @ExcelIgnore private Date createdTime; /** * 更新人 */ + @ExcelIgnore private String updatedBy; /** * 更新时间 */ + @ExcelIgnore private Date updatedTime; } \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageFollowUpFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageFollowUpFormDTO.java new file mode 100644 index 0000000000..ab4a416d9e --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageFollowUpFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + + +@Data +public class PageFollowUpFormDTO extends PageFormDTO { + + /** + * 身份证号 + */ + @NotBlank(message = "身份证号不能为空", groups = {AddUserShowGroup.class}) + private String idCard; + + @NotBlank(message = "身份证号不能为空", groups = {AddUserShowGroup.class}) + private String name; + + /** + * 0行程上报,1疫苗接种,2核酸检测 + */ + @NotBlank(message = "origin不能为空:0行程上报,1疫苗接种,2核酸检测", groups = {AddUserInternalGroup.class}) + private String origin; + + private String customerId; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java index 2e717fbe8d..e30af61242 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java @@ -1,19 +1,30 @@ 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.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IcFollowUpRecordDTO; +import com.epmet.dto.form.PageFollowUpFormDTO; +import com.epmet.dto.result.NatListResultDTO; import com.epmet.service.IcFollowUpRecordService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.Map; +import javax.servlet.http.HttpServletResponse; /** @@ -22,6 +33,7 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2022-03-25 */ +@Slf4j @RestController @RequestMapping("followup") public class IcFollowUpRecordController { @@ -29,9 +41,16 @@ public class IcFollowUpRecordController { @Autowired private IcFollowUpRecordService icFollowUpRecordService; - @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = icFollowUpRecordService.page(params); + /** + * 随访记录-列表 + * @param formDTO + * @return + */ + @PostMapping("page") + public Result> page(@LoginUser TokenDto tokenDto, @RequestBody PageFollowUpFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserShowGroup.class,PageFormDTO.AddUserInternalGroup.class); + PageData page = icFollowUpRecordService.page(formDTO); return new Result>().ok(page); } @@ -41,11 +60,17 @@ public class IcFollowUpRecordController { return new Result().ok(data); } + /** + * 随访记录-新增 + * @param dto + * @return + */ @NoRepeatSubmit @PostMapping("save") - public Result save(@RequestBody IcFollowUpRecordDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcFollowUpRecordDTO dto){ + dto.setCustomerId(tokenDto.getCustomerId()); + dto.setCreatedBy(tokenDto.getUserId()); + ValidatorUtils.validateEntity(dto, IcFollowUpRecordDTO.AddUserRequired.class,IcFollowUpRecordDTO.AddInternalGroup.class); icFollowUpRecordService.save(dto); return new Result(); } @@ -67,6 +92,56 @@ public class IcFollowUpRecordController { return new Result(); } + /** + * 随访记录-导出 + * 目前是导出个人 + * @param tokenDto + * @param formDTO + * @param response + */ + @NoRepeatSubmit + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody PageFollowUpFormDTO formDTO, HttpServletResponse response) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + //formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); + formDTO.setPage(false); + ExcelWriter excelWriter = null; + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + int pageNo = formDTO.getPageNo(); + try { + //导出文件名:张三随访记录0330 + String fileName = "随访记录.xlsx"; + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListResultDTO.class).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); + PageData data = null; + do { + data = icFollowUpRecordService.page(formDTO); + data.getList().forEach(o->{ + //0行程上报,1疫苗接种,2核酸检测 + switch(o.getOrigin()){ + case NumConstant.ZERO_STR: + o.setOrigin("行程上报"); + break; + case NumConstant.ONE_STR: + o.setOrigin("疫苗接种"); + break; + case NumConstant.TWO_STR: + o.setOrigin("核酸检测"); + break; + } + }); + 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(); + } + } + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index 36d1c39e53..a426f2b302 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -46,7 +46,7 @@ public class IcTripReportRecordController { * @param formDTO * @return */ - @RequestMapping("page") + @PostMapping("page") public Result> page(@LoginUser TokenDto tokenDto,@RequestBody PageTripReportFormDTO formDTO){ formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcFollowUpRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcFollowUpRecordEntity.java index 4d9e6de99e..8f976d02b2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcFollowUpRecordEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcFollowUpRecordEntity.java @@ -56,4 +56,8 @@ public class IcFollowUpRecordEntity extends BaseEpmetEntity { */ private String content; + /** + * 工作人员所属组织id + */ + private String agencyId; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcFollowUpRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcFollowUpRecordService.java index 7183ae1e4d..7bdc1a1da5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcFollowUpRecordService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcFollowUpRecordService.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.IcFollowUpRecordDTO; +import com.epmet.dto.form.PageFollowUpFormDTO; import com.epmet.entity.IcFollowUpRecordEntity; import java.util.List; @@ -17,14 +18,14 @@ import java.util.Map; public interface IcFollowUpRecordService extends BaseService { /** - * 默认分页 + * 随访记录-列表 * - * @param params + * @param formDTO * @return PageData * @author generator * @date 2022-03-25 */ - PageData page(Map params); + PageData page(PageFollowUpFormDTO formDTO); /** * 默认查询 @@ -47,7 +48,7 @@ public interface IcFollowUpRecordService extends BaseService implements IcFollowUpRecordService { + /** + * 随访记录-列表 + * @param formDTO + * @return + */ @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, IcFollowUpRecordDTO.class); + public PageData page(PageFollowUpFormDTO formDTO) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(formDTO.getIdCard()),IcFollowUpRecordEntity::getIdCard,formDTO.getIdCard()) + .eq(StringUtils.isNotBlank(formDTO.getName()),IcFollowUpRecordEntity::getName,formDTO.getName()) + .eq(IcFollowUpRecordEntity::getOrigin,formDTO.getOrigin()) + .eq(IcFollowUpRecordEntity::getCustomerId,formDTO.getCustomerId()) + .orderByDesc(IcFollowUpRecordEntity::getCreatedTime); + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) + .doSelectPageInfo(() -> baseDao.selectList(wrapper)); + return new PageData(data.getList(),data.getTotal()); } @Override @@ -62,7 +78,12 @@ public class IcFollowUpRecordServiceImpl extends BaseServiceImpl Date: Wed, 30 Mar 2022 09:47:37 +0800 Subject: [PATCH 058/129] =?UTF-8?q?=E9=9A=8F=E8=AE=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java index 954d7508d6..aba428a576 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcFollowUpRecordDTO.java @@ -3,6 +3,8 @@ 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.epmet.commons.tools.validator.group.CustomerClientShowGroup; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @@ -21,6 +23,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 IcFollowUpRecordDTO implements Serializable { From 616dddf622a318a6a166c15e122034ab0ce01fbe Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 30 Mar 2022 09:50:32 +0800 Subject: [PATCH 059/129] =?UTF-8?q?29=E8=84=9A=E6=9C=AC=EF=BC=8C=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E6=96=B9=E6=B3=95=E4=BC=A0=E5=85=A5staffId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/IcTripReportRecordServiceImpl.java | 8 ++++---- ...fy_trip_report.sql => V0.0.29__modify_trip_report.sql} | 0 2 files changed, 4 insertions(+), 4 deletions(-) rename epmet-user/epmet-user-server/src/main/resources/db/migration/{V0.0.28__modify_trip_report.sql => V0.0.29__modify_trip_report.sql} (100%) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index e1c58337fa..5396bc8307 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -137,7 +137,7 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl NumConstant.ZERO && StringUtils.isNotBlank(formDTO.getContent())) { - sendNotice(formDTO,agencyInfoCache.getOrganizationName()); + sendNotice(formDTO); } return entity.getId(); } @@ -146,7 +146,7 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl userList = new ArrayList<>(); //注意这里的userId是指的pc平台的居民 @@ -157,7 +157,7 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl NumConstant.ZERO && StringUtils.isNotBlank(formDTO.getContent())) { - sendNotice(formDTO,agencyInfoCache.getOrganizationName()); + sendNotice(formDTO); } return entity.getId(); } diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__modify_trip_report.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.29__modify_trip_report.sql similarity index 100% rename from epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__modify_trip_report.sql rename to epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.29__modify_trip_report.sql From 9238f2493927858bb0a6c9a6b7eb648490e93f7a Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 30 Mar 2022 10:09:06 +0800 Subject: [PATCH 060/129] =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constants/ImportTaskConstants.java | 3 + .../dto/IcEpidemicSpecialAttentionDTO.java | 2 +- .../form/CancelAttentionPackageFormDTO.java | 2 +- .../dto/form/VaccinationListFormDTO.java | 2 +- .../com/epmet/enums/AttentionTypeEnum.java | 46 ++++ .../java/com/epmet/enums/ChannelEnum.java | 44 ++++ .../IcEpidemicSpecialAttentionController.java | 52 +++- .../IcEpidemicSpecialAttentionEntity.java | 2 +- .../excel/ImportEpidemicSpecialAttention.java | 66 +++++ .../EpidemicSpecialAttentionErrorModel.java | 29 +++ .../IcEpidemicSpecialAttentionService.java | 12 + ...IcEpidemicSpecialAttentionServiceImpl.java | 228 +++++++++++++++++- 12 files changed, 478 insertions(+), 10 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/enums/AttentionTypeEnum.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/enums/ChannelEnum.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ImportEpidemicSpecialAttention.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/error/EpidemicSpecialAttentionErrorModel.java diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java index 8e7ef7eedb..46b99ffea4 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java @@ -15,6 +15,9 @@ public interface ImportTaskConstants { String BIZ_TYPE_COMMUNITY_SELF_ORG = "community_self_org"; String BIZ_TYPE_PARTY_UNIT = "party_unit"; String BIZ_TYPE_PARTY_ACTIVITY = "party_activity"; + String BIZ_TYPE_ATTENTION_NAT = "attention_nat"; + String BIZ_TYPE_ATTENTION_VACCINATION = "attention_vaccination"; + String BIZ_TYPE_ATTENTION_TRIP_REPORT = "attention_vaccination"; /** * 核酸检测 */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java index 43a40b0d90..8234693f38 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java @@ -55,7 +55,7 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { private Integer isAttention; /** - * 关注类型,核酸检测:2,疫苗接种:1 + * 关注类型,核酸检测:2,疫苗接种:1,行程上报:0 */ @NotNull(message = "attentionType不能为空",groups = {IcEpidemicSpecialAttentionAdd.class,IcEpidemicSpecialAttentionUpdate.class}) private Integer attentionType; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionPackageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionPackageFormDTO.java index f0c8f9a900..183c59195f 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionPackageFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionPackageFormDTO.java @@ -28,7 +28,7 @@ public class CancelAttentionPackageFormDTO implements Serializable { private List idCards; /** - * 关注类型,核酸检测:2,疫苗接种:1 + * 关注类型,核酸检测:2,疫苗接种:1,行程上报:0 */ @NotNull(message = "attentionType不能为空",groups = CancelAttentionPackageForm.class) private Integer attentionType ; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java index ec8d2a3932..fc69f5da84 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java @@ -20,7 +20,7 @@ public class VaccinationListFormDTO extends PageFormDTO implements Serializable public interface VaccinationListForm{} /** - * 关注类型,核酸检测:2,疫苗接种:1 + * 关注类型,核酸检测:2,疫苗接种:1,行程上报:0 */ @NotNull(message = "attentionType不能为空",groups = VaccinationListForm.class) private Integer attentionType; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/enums/AttentionTypeEnum.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/enums/AttentionTypeEnum.java new file mode 100644 index 0000000000..3e40404466 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/enums/AttentionTypeEnum.java @@ -0,0 +1,46 @@ +package com.epmet.enums; + +import com.epmet.commons.tools.constant.NumConstant; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +/** + * @Author zxc + * @DateTime 2022/3/29 16:17 + * @DESC + */ +public enum AttentionTypeEnum { + + XCSB(0,"行程上报"), + YMJZ(1,"疫苗接种"), + NAT(2,"核酸检测") + ; + + private Integer key; + private String value; + + AttentionTypeEnum(Integer key, String value) { + this.key = key; + this.value = value; + } + + public static Integer getKeyByValue(String value){ + if (StringUtils.isBlank(value)){ + return NumConstant.ZERO; + } + for (AttentionTypeEnum a : AttentionTypeEnum.values()) { + if (a.getValue().equals(value)){ + return a.getKey(); + } + } + return NumConstant.ZERO; + } + + public Integer getKey() { + return key; + } + + public String getValue() { + return value; + } +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/enums/ChannelEnum.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/enums/ChannelEnum.java new file mode 100644 index 0000000000..d0df62c66f --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/enums/ChannelEnum.java @@ -0,0 +1,44 @@ +package com.epmet.enums; + +import com.epmet.commons.tools.constant.NumConstant; +import org.apache.commons.lang3.StringUtils; + +/** + * @Author zxc + * @DateTime 2022/3/29 16:35 + * @DESC + */ +public enum ChannelEnum { + + MINI("0","小程序"), + MSG("1","短信") + ; + + private String key; + private String value; + + ChannelEnum(String key, String value) { + this.key = key; + this.value = value; + } + + public static String getKeyByValue(String value){ + if (StringUtils.isBlank(value)){ + return NumConstant.ONE_STR; + } + for (ChannelEnum a : ChannelEnum.values()) { + if (a.getValue().equals(value)){ + return a.getKey(); + } + } + return NumConstant.ONE_STR; + } + + public String getKey() { + return key; + } + + public String getValue() { + return value; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index 8035d509b3..c642775fac 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -4,23 +4,28 @@ 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.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; -import com.epmet.commons.tools.utils.ExcelPoiUtils; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; import com.epmet.dto.form.*; +import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.excel.NatExportExcel; -import com.epmet.excel.UserResiRegisterVisitExcel; import com.epmet.excel.VaccinationExportExcel; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.IcEpidemicSpecialAttentionService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FilenameUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; /** @@ -31,10 +36,13 @@ import javax.servlet.http.HttpServletResponse; */ @RestController @RequestMapping("icEpidemicSpecialAttention") +@Slf4j public class IcEpidemicSpecialAttentionController { @Autowired private IcEpidemicSpecialAttentionService icEpidemicSpecialAttentionService; + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; /** * Desc: 【疫苗接种关注名单,疫苗接种关注名单】列表 @@ -102,8 +110,42 @@ public class IcEpidemicSpecialAttentionController { * @date 2022/3/28 13:40 */ @PostMapping("vaccination-import") - public Result vaccinationImport(@LoginUser TokenDto tokenDTO, @RequestParam("file") MultipartFile file,@RequestParam("attentionType")Integer attentionType){ - + public Result vaccinationImport(@LoginUser TokenDto tokenDto, @RequestParam("file") MultipartFile file,@RequestParam("attentionType")Integer attentionType){ + if (file.isEmpty()) { + throw new EpmetException("请上传文件"); + } + // 校验文件类型 + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + if (!"xls".equals(extension) && !"xlsx".equals(extension)) { + throw new EpmetException("文件类型不匹配"); + } + // 关注类型,核酸检测:2,疫苗接种:1,行程上报:0 + ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); + importTaskForm.setOriginFileName(file.getOriginalFilename()); + importTaskForm.setOperatorId(tokenDto.getUserId()); + if (attentionType.equals(NumConstant.ONE)){ + importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_ATTENTION_VACCINATION); + }else if (attentionType.equals(NumConstant.TWO)){ + importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_ATTENTION_NAT); + }else if (attentionType.equals(NumConstant.ZERO)){ + importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_ATTENTION_TRIP_REPORT); + } + Result result = commonServiceOpenFeignClient.createImportTask(importTaskForm); + if (!result.success()) { + throw new EpmetException(9999,"存在进行中的导入"); + } + InputStream inputStream = null; + try { + inputStream = file.getInputStream(); + }catch (Exception e){ + ImportTaskCommonFormDTO input = new ImportTaskCommonFormDTO(); + input.setOperatorId(tokenDto.getUserId()); + input.setTaskId(result.getData().getTaskId()); + input.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + commonServiceOpenFeignClient.finishImportTask(input); + log.error("读取文件失败"); + } + icEpidemicSpecialAttentionService.importFile(tokenDto,inputStream,attentionType,result.getData().getTaskId()); return new Result(); } @@ -122,7 +164,7 @@ public class IcEpidemicSpecialAttentionController { formDTO.setUserId(tokenDto.getUserId()); formDTO.setPage(false); PageData pageData = icEpidemicSpecialAttentionService.vaccinationList(formDTO); - // 关注类型,核酸检测:2,疫苗接种:1 + // 关注类型,核酸检测:2,疫苗接种:1,行程上报:0 if (formDTO.getAttentionType().equals(NumConstant.ONE)){ ExcelUtils.exportExcelToTarget(response, null, pageData.getList(), VaccinationExportExcel.class); }else { diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcEpidemicSpecialAttentionEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcEpidemicSpecialAttentionEntity.java index 3ade140ffa..52e6ff132f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcEpidemicSpecialAttentionEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcEpidemicSpecialAttentionEntity.java @@ -47,7 +47,7 @@ public class IcEpidemicSpecialAttentionEntity extends BaseEpmetEntity { private Integer isAttention; /** - * 关注类型,核酸检测:2,疫苗接种:1 + * 关注类型,核酸检测:2,疫苗接种:1,行程上报:0 */ private Integer attentionType; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ImportEpidemicSpecialAttention.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ImportEpidemicSpecialAttention.java new file mode 100644 index 0000000000..2f690d2d7c --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ImportEpidemicSpecialAttention.java @@ -0,0 +1,66 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import cn.afterturn.easypoi.excel.annotation.ExcelIgnore; +import com.epmet.commons.tools.utils.ExcelVerifyInfo; +import lombok.Data; + +import java.util.List; + +/** + * @Author zxc + * @DateTime 2022/3/29 15:47 + * @DESC + */ +@Data +public class ImportEpidemicSpecialAttention extends ExcelVerifyInfo { + + /** + * 姓名 + */ + @Excel(name = "姓名") + private String name; + + /** + * 手机号 + */ + @Excel(name = "手机号") + private String mobile; + + /** + * 身份证号 + */ + @Excel(name = "身份证号") + private String idCard; + + /** + * 原因 + */ + @Excel(name = "关注原因") + private String reason; + + /** + * 备注 + */ + @Excel(name = "备注") + private String remark; + + @ExcelIgnore + private Integer attentionType; + + @Excel(name = "通知内容") + private String content; + + @Excel(name = "通知渠道") + private String channelString; + + @ExcelIgnore + private List channel; + + @ExcelIgnore + private Boolean addStatus = false; + + @ExcelIgnore + private Integer num; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/error/EpidemicSpecialAttentionErrorModel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/error/EpidemicSpecialAttentionErrorModel.java new file mode 100644 index 0000000000..ef007cfa4c --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/error/EpidemicSpecialAttentionErrorModel.java @@ -0,0 +1,29 @@ +package com.epmet.excel.error; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +/** + * @Author zxc + * @DateTime 2022/3/29 16:57 + * @DESC + */ +@Data +public class EpidemicSpecialAttentionErrorModel { + + @Excel(name = "行号",width = 10) + private Integer num; + + @Excel(name = "姓名",width = 20) + private String name; + + @Excel(name = "电话",width = 20) + private String mobile; + + @Excel(name = "身份证",width = 30) + private String idCard; + + @Excel(name = "错误信息", width = 200) + private String errorMsg; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java index 8883fa0f28..65e9434140 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java @@ -2,12 +2,14 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; import com.epmet.dto.form.CancelAttentionPackageFormDTO; import com.epmet.dto.form.VaccinationAddFormDTO; import com.epmet.dto.form.VaccinationListFormDTO; import com.epmet.entity.IcEpidemicSpecialAttentionEntity; +import java.io.InputStream; import java.util.List; import java.util.Map; import java.util.Set; @@ -113,6 +115,16 @@ public interface IcEpidemicSpecialAttentionService extends BaseService implements IcEpidemicSpecialAttentionService { + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + @Autowired + private OssFeignClient ossFeignClient; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -106,7 +144,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.vaccinationList(formDTO)); @@ -214,6 +252,148 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl errorInfo = new ArrayList<>(); + + try { + List list = ExcelPoiUtils.importExcel(inputStream, 0,1,ImportEpidemicSpecialAttention.class); + if (CollectionUtils.isEmpty(list)){ + closeTask(taskId,tokenDto.getUserId(), ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL,""); + return; + } + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); + if (null == staffInfo){ + throw new EpmetException("未查询到工作人员信息"+tokenDto.getUserId()); + } + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(staffInfo.getAgencyId()); + if (null == agencyInfo){ + throw new EpmetException("未查询到组织信息"+staffInfo.getAgencyId()); + } + for (int i = 0; i < list.size(); i++) { + list.get(i).setNum(i+1); + list.get(i).setAttentionType(attentionType); + list.get(i).setChannel(getChannel(list.get(i).getChannelString())); + if (StringUtils.isBlank(list.get(i).getName()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "姓名不能为空",i)); + list.get(i).setAddStatus(true); + continue; + } + if (StringUtils.isBlank(list.get(i).getIdCard()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "身份证号不能为空",i)); + list.get(i).setAddStatus(true); + continue; + } + if (StringUtils.isBlank(list.get(i).getMobile()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "电话不能为空",i)); + list.get(i).setAddStatus(true); + continue; + } + } + Map groupByIdCard = list.stream().collect(Collectors.groupingBy(ImportEpidemicSpecialAttention::getIdCard, Collectors.counting())); + groupByIdCard.forEach((idCard,count) -> { + if (Integer.valueOf(count.toString()).compareTo(1) != 0){ + for (ImportEpidemicSpecialAttention i : list) { + if (idCard.equals(i.getIdCard()) && !i.getAddStatus()){ + errorInfo.add(getErrorInfo(i,"数据重复",i.getNum())); + i.setAddStatus(true); + } + } + } + }); + List idCards = list.stream().map(m -> m.getIdCard()).collect(Collectors.toList()); + List existList = baseDao.getExistList(attentionType, idCards); + if (CollectionUtils.isNotEmpty(existList)){ + for (String s : existList) { + for (int i = NumConstant.ZERO; i < list.size(); i++) { + if (s.equals(list.get(i).getIdCard()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i),"数据已存在",list.get(i).getNum())); + list.get(i).setAddStatus(true); + continue; + } + } + } + } + Map> groupByStatus = list.stream().collect(Collectors.groupingBy(ImportEpidemicSpecialAttention::getAddStatus)); + List needInsert = groupByStatus.get(false); + if (CollectionUtils.isNotEmpty(needInsert)){ + List entities = ConvertUtils.sourceToTarget(needInsert, IcEpidemicSpecialAttentionEntity.class); + entities.forEach(e -> { + e.setIsAttention(NumConstant.ONE); + e.setOrgId(agencyInfo.getId()); + e.setPid(agencyInfo.getPid()); + e.setPids(agencyInfo.getPids()); + e.setCustomerId(tokenDto.getCustomerId()); + }); + insertBatch(entities); + } + if (CollectionUtils.isNotEmpty(errorInfo)){ + String url = importOssUpload(errorInfo, EpidemicSpecialAttentionErrorModel.class); + closeTask(taskId,tokenDto.getUserId(),ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL,url); + }else { + closeTask(taskId,tokenDto.getUserId(),ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS,""); + } + }catch (Exception e){ + log.error(e.getMessage()); + closeTask(taskId,tokenDto.getUserId(),ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL,""); + } + } + + public List getChannel(String channelString){ + List result = new ArrayList<>(); + if (StringUtils.isBlank(channelString)){ + return result; + } + String[] split = channelString.split(","); + for (String s : split) { + result.add(ChannelEnum.getKeyByValue(s)); + } + return result; + } + + /** + * Desc: 关闭任务 + * @param taskId + * @param userId + * @param status + * @param url + * @author zxc + * @date 2022/3/30 09:05 + */ + public void closeTask(String taskId,String userId,String status,String url){ + ImportTaskCommonFormDTO input = new ImportTaskCommonFormDTO(); + input.setOperatorId(userId); + input.setTaskId(taskId); + input.setProcessStatus(status); + input.setResultDescFilePath(url); + commonServiceOpenFeignClient.finishImportTask(input); + } + + /** + * Desc: 构造错误信息 + * @param dto + * @param info + * @param num + * @author zxc + * @date 2022/3/29 17:17 + */ + public EpidemicSpecialAttentionErrorModel getErrorInfo(ImportEpidemicSpecialAttention dto,String info,Integer num){ + EpidemicSpecialAttentionErrorModel result = ConvertUtils.sourceToTarget(dto, EpidemicSpecialAttentionErrorModel.class); + result.setErrorMsg(info); + result.setNum(num); + return result; + } + /** * 传入身份证集合,返回已经关注的身份证号列表 * @@ -229,4 +409,50 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl String importOssUpload(Collection errorRows, Class tClass) throws IOException { + Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("导入失败的数据列表","导入失败的数据列表"), + tClass, errorRows); + + // 文件名 + String resultDescFileName = UUID.randomUUID().toString().concat(".xls"); + + FileItemFactory factory = new DiskFileItemFactory(16, null); + FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, resultDescFileName); + OutputStream os = fileItem.getOutputStream(); + Result uploadResult = null; + try { + workbook.write(os); + uploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + } catch (Exception e) { + String errormsg = ExceptionUtils.getErrorStackTrace(e); + log.error("上传错误描述文件:{}", errormsg); + } finally { + try { + os.close(); + } catch (IOException e) { + String errormsg = ExceptionUtils.getErrorStackTrace(e); + log.error("上传错误描述文件关闭输出流:{}", errormsg); + } + try { + fileItem.delete(); + } catch (Exception e) { + String errormsg = ExceptionUtils.getErrorStackTrace(e); + log.error("上传错误描述文件删除临时文件:{}", errormsg); + } + } + + if (uploadResult == null || !uploadResult.success()) { + log.error("调用OSS上传结果描述文件失败"); + return null; + } + return uploadResult.getData().getUrl(); + } + } \ No newline at end of file From e189e381dce4dd0bd54440e10fd1b46152c0d3a9 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 30 Mar 2022 10:41:04 +0800 Subject: [PATCH 061/129] =?UTF-8?q?=E8=A1=8C=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IcEpidemicSpecialAttentionServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index 5162220bd0..735d2ee679 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -285,17 +285,17 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl Date: Wed, 30 Mar 2022 10:42:10 +0800 Subject: [PATCH 062/129] =?UTF-8?q?=E9=9A=8F=E8=AE=BF=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/utils/DateUtils.java | 2 +- .../com/epmet/controller/IcFollowUpRecordController.java | 8 +++++--- .../epmet/service/impl/IcFollowUpRecordServiceImpl.java | 7 ++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java index f956423f3a..a28a038f7b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java @@ -60,7 +60,7 @@ public class DateUtils { public static final String DATE_PATTERN_YYYY_MM = "yyyy-MM"; public static final String WEEK_TYPE_ENGLISH = "english"; public static final String WEEK_TYPE_CHINESE = "chinese"; - + public static final String DATE_PATTERN_MMDD = "MMdd"; /** * 日期格式化 日期格式为:yyyy-MM-dd * @param date 日期 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java index e30af61242..b03ad85ed0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java @@ -9,6 +9,7 @@ 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.DateUtils; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; @@ -17,7 +18,6 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IcFollowUpRecordDTO; import com.epmet.dto.form.PageFollowUpFormDTO; -import com.epmet.dto.result.NatListResultDTO; import com.epmet.service.IcFollowUpRecordService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import java.util.Date; /** @@ -111,8 +112,9 @@ public class IcFollowUpRecordController { int pageNo = formDTO.getPageNo(); try { //导出文件名:张三随访记录0330 - String fileName = "随访记录.xlsx"; - excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListResultDTO.class).build(); + String today= DateUtils.format(new Date(),DateUtils.DATE_PATTERN_MMDD); + String fileName = formDTO.getName().concat("随访记录").concat(today).concat(".xlsx"); + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcFollowUpRecordDTO.class).build(); WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); PageData data = null; do { diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java index 1dbf6a3eb5..eb9255a8ec 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java @@ -47,10 +47,11 @@ public class IcFollowUpRecordServiceImpl extends BaseServiceImpl data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) + .orderByDesc(IcFollowUpRecordEntity::getVisitTime); + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) .doSelectPageInfo(() -> baseDao.selectList(wrapper)); - return new PageData(data.getList(),data.getTotal()); + List list=ConvertUtils.sourceToTarget(data.getList(),IcFollowUpRecordDTO.class); + return new PageData(list,data.getTotal()); } @Override From 67b311d76954eca9e7f0ae28077e4b1c255adea2 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 30 Mar 2022 10:43:59 +0800 Subject: [PATCH 063/129] =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java | 6 +++++- .../src/main/java/com/epmet/controller/IcNatController.java | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java index eb43d0ddd9..b67375b5c5 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; @@ -20,10 +21,13 @@ public class AddIcNatFormDTO implements Serializable { public interface Nat extends CustomerClientShowGroup { } + public interface Edit extends CustomerClientShowGroup { + } /** * 核酸记录Id,修改时使用 */ + @NotBlank(message = "组织Id不能为空", groups = Edit.class) private String icNatId; /** * 当前网格所属组织Id @@ -57,7 +61,7 @@ public class AddIcNatFormDTO implements Serializable { /** * 检测时间 */ - //@NotBlank(message = "检测时间不能为空", groups = Nat.class) + @NotNull(message = "检测时间不能为空", groups = Nat.class) @JsonFormat(pattern="yyyy-MM-dd HH:mm") private Date natTime; /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 1c82388e65..d6ff6b6af7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -122,6 +122,7 @@ public class IcNatController implements ResultDataResolver { @NoRepeatSubmit @PostMapping("edit") public Result edit(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Edit.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setStaffId(tokenDto.getUserId()); icNucleinService.edit(formDTO); From 89c23cda09343e7a5441c740e4fe8d31c305c9c5 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 30 Mar 2022 11:18:23 +0800 Subject: [PATCH 064/129] =?UTF-8?q?=E9=98=B2=E7=96=AB=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IcEpidemicPreventionController.java | 3 +- .../java/com/epmet/service/IcNatService.java | 2 +- .../epmet/service/IcResiVaccineService.java | 11 ++++++ .../service/IcTripReportRecordService.java | 11 ++++++ .../epmet/service/impl/IcNatServiceImpl.java | 3 +- .../service/impl/IcResiUserServiceImpl.java | 14 +++++-- .../impl/IcResiVaccineServiceImpl.java | 37 ++++++++++++++++++- .../impl/IcTripReportRecordServiceImpl.java | 32 ++++++++++++++++ 8 files changed, 105 insertions(+), 8 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java index cbb43300fa..10394a9987 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java @@ -79,7 +79,8 @@ public class IcEpidemicPreventionController{ } @PostMapping("info") - public Result info(@RequestBody EpidemicPreventionFormDTO formDTO) { + public Result info(@LoginUser TokenDto tokenDto, @RequestBody EpidemicPreventionFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); EpidemicPreventionInfoDTO result = icResiUserService.getEpidemicPreventionInfo(formDTO); return new Result().ok(result); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java index 4956c96493..e7239524bb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java @@ -77,5 +77,5 @@ public interface IcNatService extends BaseService { * @Author zhaoqifeng * @Date 2022/3/29 16:29 */ - List getNatList(String idCard); + List getNatList(String customerId, String idCard); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java index 44207d875f..c1b2ea0655 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java +++ b/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 { * @date 2022-03-28 */ void delete(String[] ids); + + /** + * 获取居民疫苗接种信息 + * + * @Param idCard + * @Return {@link List< VaccineListDTO>} + * @Author zhaoqifeng + * @Date 2022/3/30 10:24 + */ + List getVaccineList(String customerId, String idCard); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java index bc19691e60..a7f961542d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java +++ b/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 resiList(MyReportedTripFormDTO formDTO); + + /** + * 获取居民行程信息 + * + * @Param idCard + * @Return {@link List< TripListDTO>} + * @Author zhaoqifeng + * @Date 2022/3/30 10:31 + */ + List tripList(String customerId, String idCard); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index e610c12fd3..9efdb959ce 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -342,8 +342,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * @Date 2022/3/29 16:29 */ @Override - public List getNatList(String idCard) { + public List getNatList(String customerId, String idCard) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcNatEntity::getCustomerId, customerId); wrapper.eq(IcNatEntity::getIdCard, idCard); wrapper.orderByDesc(IcNatEntity::getNatTime); List list = baseDao.selectList(wrapper); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index e7d124a71d..2b02a65fb5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -120,6 +120,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl getWrapper(Map params){ String id = (String)params.get(FieldConstant.ID_HUMP); @@ -1326,10 +1330,14 @@ public class IcResiUserServiceImpl extends BaseServiceImpl natList = icNatService.getNatList(icResiUser.getIdCard()); + List natList = icNatService.getNatList(formDTO.getCustomerId(), icResiUser.getIdCard()); result.setNatList(natList); - //TODO 疫苗接种 - //TODO 行程信息 + //疫苗接种 + List vaccineList = icResiVaccineService.getVaccineList(formDTO.getCustomerId(), icResiUser.getIdCard()); + result.setVaccineList(vaccineList); + //行程信息 + List tripList = icTripReportRecordService.tripList(formDTO.getCustomerId(), icResiUser.getIdCard()); + result.setTripList(tripList); } return result; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java index c8c586137a..2f5f0b0928 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java +++ b/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} + * @Author zhaoqifeng + * @Date 2022/3/30 10:24 + */ + @Override + public List getVaccineList(String customerId, String idCard) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcResiVaccineEntity::getCustomerId, customerId); + wrapper.eq(IcResiVaccineEntity::getIdCard, idCard); + wrapper.orderByDesc(IcResiVaccineEntity::getInoculateTime); + List 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()); + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index 5396bc8307..fc08974191 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -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; @@ -263,5 +266,34 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl} + * @Author zhaoqifeng + * @Date 2022/3/30 10:31 + */ + @Override + public List tripList(String customerId, String idCard) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcTripReportRecordEntity::getCustomerId, customerId); + wrapper.eq(IcTripReportRecordEntity::getIdCard, idCard); + wrapper.orderByDesc(IcTripReportRecordEntity::getArriveDate); + List 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()); + } + } \ No newline at end of file From d41357ac75421aca202441000842a3e2d1f4d465 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 30 Mar 2022 11:29:47 +0800 Subject: [PATCH 065/129] =?UTF-8?q?=E8=A1=8C=E7=A8=8B=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/IcTripReportRecordDTO.java | 57 +++++++++++++++++-- .../IcTripReportRecordController.java | 45 +++++++++++++++ .../dao/IcEpidemicSpecialAttentionDao.java | 3 +- .../IcEpidemicSpecialAttentionService.java | 3 +- .../com/epmet/service/IcNoticeService.java | 3 +- ...IcEpidemicSpecialAttentionServiceImpl.java | 10 +--- .../service/impl/IcNoticeServiceImpl.java | 2 +- .../impl/IcTripReportRecordServiceImpl.java | 17 +++++- .../mapper/IcTripReportRecordDao.xml | 8 +-- 9 files changed, 122 insertions(+), 26 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java index deb2abaed1..0bf1d81e58 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java @@ -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; } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index a426f2b302..4b4fff68f8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -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 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(); + } + } + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java index 6115d34c1b..ba1564855e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java +++ b/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 getIdCardList(@Param("customerId") String customerId,@Param("idCardSet") Set idCardSet, @Param("attentionType") Integer attentionType); + List getIdCardList(@Param("customerId") String customerId,@Param("idCardSet") List idCardSet, @Param("attentionType") Integer attentionType); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java index 65e9434140..75658ca720 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java +++ b/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 getHeSuanIdCardList(String customerId,Set idCardSet); + List getHeSuanIdCardList(String customerId,List idCardSet); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java index 13529cadbf..3f72855558 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java +++ b/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 { * @param idCardSet * @return */ - Map getUserLatestNoticeTime(String customerId,Set idCardSet); + Map getUserLatestNoticeTime(String customerId,List idCardSet); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index 735d2ee679..1b8f844b6b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/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 getHeSuanIdCardList(String customerId,Set idCardSet) { + public List getHeSuanIdCardList(String customerId,List idCardSet) { if(CollectionUtils.isEmpty(idCardSet)){ return new ArrayList<>(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java index 3a224d8540..c306bec8aa 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java @@ -225,7 +225,7 @@ public class IcNoticeServiceImpl extends BaseServiceImpl getUserLatestNoticeTime(String customerId,Set idCardSet) { + public Map getUserLatestNoticeTime(String customerId,List idCardSet) { Map map=new HashMap<>(); for(String idCard:idCardSet) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index 5396bc8307..ed11229fe7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -27,6 +27,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 +70,24 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl list = data.getList(); //3.查询最近一次通知时间、核算检测关注名单 if (CollectionUtils.isNotEmpty(list)) { - Set idCardSet = list.stream().map(m -> m.getIdCard()).collect(Collectors.toSet()); - Map latestNotice = icNoticeService.getUserLatestNoticeTime(formDTO.getCustomerId(),idCardSet); - List gzIdCardList = epidemicSpecialAttentionService.getHeSuanIdCardList(formDTO.getCustomerId(),idCardSet); + Map latestNotice = new HashMap<>(); + List gzIdCardList = new ArrayList<>(); + List idCardList = list.stream().map(m -> m.getIdCard()).distinct().collect(Collectors.toList()); + //如果不分页可能会有很多个身份证号 + List> partionList = ListUtils.partition(idCardList, NumConstant.ONE_HUNDRED); + partionList.forEach(l -> { + Map map = icNoticeService.getUserLatestNoticeTime(formDTO.getCustomerId(), l); + List 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())); diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml index 85343a5257..0e55cceb05 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml @@ -47,11 +47,11 @@ AND SOURCE_ADDRESS_CODE like concat(#{sourceAddressCode},'%') - - AND ARRIVE_DATE = ]]> #{startTime} + + AND ARRIVE_DATE = ]]> #{startDate} - - AND ARRIVE_DATE #{endTime} + + AND ARRIVE_DATE #{endDate} ORDER BY r.CREATED_TIME DESC From 939bacdaf8a1f354fd49e2aeeb8ef66a0d0323e6 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 30 Mar 2022 13:54:21 +0800 Subject: [PATCH 066/129] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.30__add_vaccine.sql | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.30__add_vaccine.sql diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.30__add_vaccine.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.30__add_vaccine.sql new file mode 100644 index 0000000000..a41ed606c6 --- /dev/null +++ b/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='居民疫苗情况'; \ No newline at end of file From 565e715f5b80498ce6dc91204a303a4e24fd5ea7 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 30 Mar 2022 14:05:26 +0800 Subject: [PATCH 067/129] =?UTF-8?q?=E8=A1=8C=E7=A8=8B=E5=B1=B1=E5=8C=85?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E5=85=B3=E6=B3=A8=EF=BC=9A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IcEpidemicSpecialAttentionServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index 1b8f844b6b..07eb77199e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -399,8 +399,8 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl(); } - //关注类型,核酸检测:2,疫苗接种:1 - return baseDao.getIdCardList(customerId,idCardSet,NumConstant.TWO); + //关注类型,核酸检测:2,疫苗接种:1,行程上报:0 + return baseDao.getIdCardList(customerId,idCardSet,NumConstant.ZERO); } /** From 2a2328e9f301270acad705d8126082350d722761 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 30 Mar 2022 14:10:02 +0800 Subject: [PATCH 068/129] =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IcEpidemicSpecialAttentionController.java | 4 +- .../IcEpidemicSpecialAttentionService.java | 2 +- ...IcEpidemicSpecialAttentionServiceImpl.java | 49 ++++++++++++++++--- 3 files changed, 45 insertions(+), 10 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index c642775fac..8a2cd30ea8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -83,9 +83,9 @@ public class IcEpidemicSpecialAttentionController { */ @PostMapping("vaccination-update") @NoRepeatSubmit - public Result vaccinationUpdate(@RequestBody IcEpidemicSpecialAttentionDTO formDTO){ + public Result vaccinationUpdate(@RequestBody IcEpidemicSpecialAttentionDTO formDTO,@LoginUser TokenDto tokenDto){ ValidatorUtils.validateEntity(formDTO, IcEpidemicSpecialAttentionDTO.IcEpidemicSpecialAttentionUpdate.class); - icEpidemicSpecialAttentionService.vaccinationUpdate(formDTO); + icEpidemicSpecialAttentionService.vaccinationUpdate(formDTO,tokenDto); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java index 75658ca720..8a6eb03f04 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java @@ -104,7 +104,7 @@ public interface IcEpidemicSpecialAttentionService extends BaseService page(Map params) { @@ -207,7 +207,19 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl needSedNotice = formDTO.getList().stream().filter(l -> CollectionUtils.isNotEmpty(l.getChannel())).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(needSedNotice)) { + SendNoticeFormDTO dto = new SendNoticeFormDTO(); + List userListBeans = ConvertUtils.sourceToTarget(needSedNotice, SendNoticeFormDTO.UserListBean.class); + dto.setCustomerId(formDTO.getCustomerId()); + dto.setUserList(userListBeans); + dto.setChannel(needSedNotice.get(NumConstant.ZERO).getChannel()); + dto.setOrigin(needSedNotice.get(NumConstant.ZERO).getAttentionType().toString()); + dto.setContent(needSedNotice.get(NumConstant.ZERO).getContent()); + dto.setStaffId(formDTO.getUserId()); + noticeService.sendNotice(dto); + } } /** @@ -220,7 +232,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl w = new LambdaQueryWrapper<>(); IcEpidemicSpecialAttentionEntity e = new IcEpidemicSpecialAttentionEntity(); w.eq(IcEpidemicSpecialAttentionEntity::getIdCard,formDTO.getIdCard()) @@ -229,7 +241,17 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl needSendList = needInsert.stream().filter(l -> CollectionUtils.isNotEmpty(l.getChannel())).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(needSendList)) { + SendNoticeFormDTO dto = new SendNoticeFormDTO(); + List userListBeans = ConvertUtils.sourceToTarget(needSendList, SendNoticeFormDTO.UserListBean.class); + dto.setCustomerId(tokenDto.getCustomerId()); + dto.setUserList(userListBeans); + dto.setChannel(needSendList.get(NumConstant.ZERO).getChannel()); + dto.setOrigin(needSendList.get(NumConstant.ZERO).getAttentionType().toString()); + dto.setContent(needSendList.get(NumConstant.ZERO).getContent()); + dto.setStaffId(tokenDto.getUserId()); + noticeService.sendNotice(dto); + } } if (CollectionUtils.isNotEmpty(errorInfo)){ String url = importOssUpload(errorInfo, EpidemicSpecialAttentionErrorModel.class); From 897f131872c5e8daa92cda03628a139c9e986ce3 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 30 Mar 2022 14:18:00 +0800 Subject: [PATCH 069/129] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E5=8F=91=E9=80=81=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IcEpidemicSpecialAttentionServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index 915f32b18e..ada415e5d3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -299,7 +299,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl needSendList = needInsert.stream().filter(l -> CollectionUtils.isNotEmpty(l.getChannel())).collect(Collectors.toList()); + // send msg 产品说导入不用发通知 + /*List needSendList = needInsert.stream().filter(l -> CollectionUtils.isNotEmpty(l.getChannel())).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(needSendList)) { SendNoticeFormDTO dto = new SendNoticeFormDTO(); List userListBeans = ConvertUtils.sourceToTarget(needSendList, SendNoticeFormDTO.UserListBean.class); @@ -364,7 +364,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl Date: Wed, 30 Mar 2022 14:28:53 +0800 Subject: [PATCH 070/129] =?UTF-8?q?emm=20=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/IcEpidemicSpecialAttentionDao.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml index 67f80a3905..f0c645f1b2 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml @@ -24,7 +24,7 @@ a.MOBILE, a.ID_CARD, a.REMARK, - IFNULL((SELECT DATE_FORMAT(CREATED_TIME,'%Y-%m-%d %H:%i:%s') FROM ic_notice WHERE DEL_FLAG = '0' AND ORIGIN = '1' AND ID_CARD = #{idCard} ORDER BY CREATED_TIME LIMIT 1),'') AS lastInformTime, + IFNULL((SELECT DATE_FORMAT(CREATED_TIME,'%Y-%m-%d %H:%i:%s') FROM ic_notice WHERE DEL_FLAG = '0' AND ORIGIN = #{attentionType} AND ID_CARD = a.ID_CARD ORDER BY CREATED_TIME DESC LIMIT 1),'') AS lastInformTime, COUNT(v.ID) AS vaccinationCount FROM ic_epidemic_special_attention a LEFT JOIN ic_resi_vaccine v ON (v.ID_CARD = a.ID_CARD AND v.DEL_FLAG = '0') @@ -54,7 +54,7 @@ a.ID_CARD, a.REMARK, a.REASON, - IFNULL((SELECT DATE_FORMAT(CREATED_TIME,'%Y-%m-%d %H:%i:%s') FROM ic_notice WHERE DEL_FLAG = '0' AND ORIGIN = '1' AND ID_CARD = #{idCard} ORDER BY CREATED_TIME LIMIT 1),'') AS lastInformTime + IFNULL((SELECT DATE_FORMAT(CREATED_TIME,'%Y-%m-%d %H:%i:%s') FROM ic_notice WHERE DEL_FLAG = '0' AND ORIGIN = #{attentionType} AND ID_CARD = a.ID_CARD ORDER BY CREATED_TIME DESC LIMIT 1),'') AS lastInformTime FROM ic_epidemic_special_attention a WHERE a.DEL_FLAG = 0 AND a.ORG_ID = #{orgId} From 81a89a7211c725b8958f11c26a9b2fc447b201b0 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 30 Mar 2022 15:39:17 +0800 Subject: [PATCH 071/129] =?UTF-8?q?=E6=9D=A5=E8=87=AA=E5=9C=B0=E5=8C=BA?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E3=80=81=E7=8E=B0=E5=B1=85=E5=9C=B0=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E5=8F=AF=E7=A9=BA=E3=80=82/epmetuser/icresiuser/deman?= =?UTF-8?q?dusers=E8=BF=94=E5=9B=9EhouseId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/result/HouseInfoDTO.java | 6 ++++++ .../java/com/epmet/controller/HouseController.java | 12 ++++++++++++ .../main/java/com/epmet/service/HouseService.java | 3 ++- .../com/epmet/service/impl/HouseServiceImpl.java | 14 ++++++++++++++ .../src/main/resources/mapper/IcHouseDao.xml | 3 ++- .../com/epmet/dto/form/IcTripReportFormDTO.java | 4 ++-- .../com/epmet/dto/result/DemandUserResDTO.java | 1 + .../migration/V0.0.31__modifty_trip_reportv2.sql | 2 ++ .../src/main/resources/mapper/IcResiUserDao.xml | 3 ++- 9 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.31__modifty_trip_reportv2.sql diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java index 3a3ca19096..087970e1ea 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java @@ -78,4 +78,10 @@ public class HouseInfoDTO implements Serializable { private String allName; private String customerId; + + private String agencyId; + /** + * eg:市北区-阜新路街道-南宁社区 + */ + private String agencyPathName; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index ab86eb425b..9aac6abbd4 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -291,4 +291,16 @@ public class HouseController implements ResultDataResolver { return new Result(); } + /** + * 获取房屋信息 + * @param houseId + * @return + */ + @PostMapping("gethouseinfo/{houseId}") + public Result getHouseInfo(@LoginUser TokenDto tokenDto,@PathVariable("houseId") String houseId){ + if(StringUtils.isBlank(houseId)){ + return new Result<>(); + } + return new Result().ok(houseService.getHouseInfoDTO(tokenDto.getCustomerId(),houseId)); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java index 74d38894e4..a651ed1615 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java @@ -26,7 +26,6 @@ import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.excel.IcHouseExcel; -import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; @@ -78,4 +77,6 @@ public interface HouseService { * @date 2022/3/1 4:57 下午 */ void allDelete(NeighborHoodManageDelFormDTO formDTO); + + HouseInfoDTO getHouseInfoDTO(String customerId,String houseId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 36ace6672d..594e5dda67 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -13,7 +13,9 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.feign.ResultDataResolver; +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.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.CustomerGridConstant; @@ -455,4 +457,16 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { } } } + + @Override + public HouseInfoDTO getHouseInfoDTO(String customerId, String houseId) { + HouseInfoDTO houseInfo = icHouseRedis.getHouseInfo(houseId, customerId); + if (null != houseInfo && StringUtils.isNotBlank(houseInfo.getAgencyId())) { + AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(houseInfo.getAgencyId()); + houseInfo.setAgencyPathName(agencyInfoCache.getAllParentName().concat(StrConstant.HYPHEN).concat(agencyInfoCache.getOrganizationName())); + } else { + houseInfo.setAgencyPathName(StrConstant.EPMETY_STR); + } + return houseInfo; + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index b8f3bfef66..f5476ed398 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -368,7 +368,8 @@ IFNULL(ib.LONGITUDE,'') as buildingLongitude, IFNULL(ib.LATITUDE,'') as buildingLatitude, ih.CUSTOMER_ID AS customerId, - concat(IFNULL(n.NEIGHBOR_HOOD_NAME,''),IFNULL(ib.BUILDING_NAME,''),IFNULL(u.UNIT_NAME,''),IFNULL(ih.HOUSE_NAME,'')) AS allName + concat(IFNULL(n.NEIGHBOR_HOOD_NAME,''),IFNULL(ib.BUILDING_NAME,''),IFNULL(u.UNIT_NAME,''),IFNULL(ih.HOUSE_NAME,'')) AS allName, + n.AGENCY_ID as agencyId FROM ic_house ih left JOIN ic_neighbor_hood n ON ( ih.NEIGHBOR_HOOD_ID = n.id AND n.DEL_FLAG = '0') left JOIN ic_building ib ON ( ih.BUILDING_ID = ib.id AND ib.DEL_FLAG = '0') diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java index f8d6f90ef7..9c085f2e07 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java @@ -68,7 +68,7 @@ public class IcTripReportFormDTO implements Serializable { /** * 现居地编码 */ - @NotBlank(message = "现居地编码不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) + @NotBlank(message = "现居地编码不能为空", groups = {ResiUserRequired.class}) private String presentAddressCode; /** @@ -86,7 +86,7 @@ public class IcTripReportFormDTO implements Serializable { /** * 来源地区编码 */ - @NotBlank(message = "来自地区编码不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) + @NotBlank(message = "来自地区编码不能为空", groups = {ResiUserRequired.class}) private String sourceAddressCode; /** diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DemandUserResDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DemandUserResDTO.java index 19b5c8c792..73b7d77ca6 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DemandUserResDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DemandUserResDTO.java @@ -13,4 +13,5 @@ public class DemandUserResDTO implements Serializable { private String gridId; private String idCard; private String agencyId; + private String houseId; } diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.31__modifty_trip_reportv2.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.31__modifty_trip_reportv2.sql new file mode 100644 index 0000000000..a7e6ad6382 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.31__modifty_trip_reportv2.sql @@ -0,0 +1,2 @@ +alter table ic_trip_report_record MODIFY COLUMN PRESENT_ADDRESS_CODE VARCHAR(32) COMMENT '现居地编码'; +alter table ic_trip_report_record MODIFY COLUMN SOURCE_ADDRESS_CODE VARCHAR(32) COMMENT '来源地区编码'; \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index c68d4e504e..60b7cce24b 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -302,7 +302,8 @@ concat(ir.`NAME`,'(',ir.MOBILE,')')as label, ir.grid_id as gridId, ir.ID_CARD as idCard, - ir.AGENCY_ID as agencyId + ir.AGENCY_ID as agencyId, + ir.HOME_ID as houseId FROM ic_resi_user ir WHERE From 09d8095a8de4eacca1a4a9fa9cb8b00687191c65 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 30 Mar 2022 15:39:36 +0800 Subject: [PATCH 072/129] =?UTF-8?q?emm=20=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IcEpidemicSpecialAttentionController.java | 25 ++++++++++++ .../java/com/epmet/excel/NatImportExcel.java | 30 ++++++++++++++ .../epmet/excel/VaccinationImportExcel.java | 27 +++++++++++++ ...IcEpidemicSpecialAttentionServiceImpl.java | 38 +++++++++--------- .../excel/attention_nat_template.xlsx | Bin 0 -> 8687 bytes .../excel/attention_vaccination_template.xlsx | Bin 0 -> 8691 bytes .../mapper/IcEpidemicSpecialAttentionDao.xml | 4 +- 7 files changed, 104 insertions(+), 20 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatImportExcel.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/VaccinationImportExcel.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/excel/attention_nat_template.xlsx create mode 100644 epmet-user/epmet-user-server/src/main/resources/excel/attention_vaccination_template.xlsx diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index 8a2cd30ea8..1017075ac6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -1,5 +1,6 @@ package com.epmet.controller; +import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.NumConstant; @@ -7,6 +8,7 @@ import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ExcelPoiUtils; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -15,7 +17,9 @@ import com.epmet.dto.IcEpidemicSpecialAttentionDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.excel.NatExportExcel; +import com.epmet.excel.NatImportExcel; import com.epmet.excel.VaccinationExportExcel; +import com.epmet.excel.VaccinationImportExcel; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.IcEpidemicSpecialAttentionService; import lombok.extern.slf4j.Slf4j; @@ -26,6 +30,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; /** @@ -173,4 +180,22 @@ public class IcEpidemicSpecialAttentionController { } + @PostMapping("export-template") + public void exportTemplate(HttpServletResponse response, @RequestBody VaccinationListFormDTO formDTO) throws Exception { + TemplateExportParams templatePath = new TemplateExportParams(); + String fileName = ""; + Map map = new HashMap<>(); + // 关注类型,核酸检测:2,疫苗接种:1,行程上报:0 + if (formDTO.getAttentionType().equals(NumConstant.ONE)){ + templatePath.setTemplateUrl("excel/attention_vaccination_template.xlsx"); + fileName = "疫苗接种关注名单导入模板"; + map.put("maplist",new ArrayList()); + }else if (formDTO.getAttentionType().equals(NumConstant.TWO)){ + templatePath.setTemplateUrl("excel/attention_nat_template.xlsx"); + fileName = "核酸检测关注名单导入模板"; + map.put("maplist",new ArrayList()); + } + ExcelPoiUtils.exportExcel(templatePath ,map,fileName,response); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatImportExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatImportExcel.java new file mode 100644 index 0000000000..e332fe88df --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatImportExcel.java @@ -0,0 +1,30 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.epmet.commons.tools.utils.ExcelVerifyInfo; +import lombok.Data; + +/** + * @Author zxc + * @DateTime 2022/3/29 10:24 + * @DESC + */ +@Data +public class NatImportExcel extends ExcelVerifyInfo { + + @Excel(name = "姓名") + private String name; + + @Excel(name = "电话") + private String mobile; + + @Excel(name = "身份证") + private String idCard; + + @Excel(name = "备注") + private String remark; + + @Excel(name = "关注原因") + private String reason; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/VaccinationImportExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/VaccinationImportExcel.java new file mode 100644 index 0000000000..b7349e4d03 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/VaccinationImportExcel.java @@ -0,0 +1,27 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.epmet.commons.tools.utils.ExcelVerifyInfo; +import lombok.Data; + +/** + * @Author zxc + * @DateTime 2022/3/29 10:24 + * @DESC + */ +@Data +public class VaccinationImportExcel extends ExcelVerifyInfo { + + @Excel(name = "姓名") + private String name; + + @Excel(name = "电话") + private String mobile; + + @Excel(name = "身份证") + private String idCard; + + @Excel(name = "备注") + private String remark; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index ada415e5d3..83d2ed51cf 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -316,26 +316,28 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl groupByIdCard = list.stream().collect(Collectors.groupingBy(ImportEpidemicSpecialAttention::getIdCard, Collectors.counting())); - groupByIdCard.forEach((idCard,count) -> { - if (Integer.valueOf(count.toString()).compareTo(1) != 0){ - for (ImportEpidemicSpecialAttention i : list) { - if (idCard.equals(i.getIdCard()) && !i.getAddStatus()){ - errorInfo.add(getErrorInfo(i,"数据重复",i.getNum())); - i.setAddStatus(true); + if (list.size() > errorInfo.size()){ + Map groupByIdCard = list.stream().collect(Collectors.groupingBy(ImportEpidemicSpecialAttention::getIdCard, Collectors.counting())); + groupByIdCard.forEach((idCard,count) -> { + if (Integer.valueOf(count.toString()).compareTo(1) != 0){ + for (ImportEpidemicSpecialAttention i : list) { + if (idCard.equals(i.getIdCard()) && !i.getAddStatus()){ + errorInfo.add(getErrorInfo(i,"数据重复",i.getNum())); + i.setAddStatus(true); + } } } - } - }); - List idCards = list.stream().map(m -> m.getIdCard()).collect(Collectors.toList()); - List existList = baseDao.getExistList(attentionType, idCards); - if (CollectionUtils.isNotEmpty(existList)){ - for (String s : existList) { - for (int i = NumConstant.ZERO; i < list.size(); i++) { - if (s.equals(list.get(i).getIdCard()) && !list.get(i).getAddStatus()){ - errorInfo.add(getErrorInfo(list.get(i),"数据已存在",list.get(i).getNum())); - list.get(i).setAddStatus(true); - continue; + }); + List idCards = list.stream().map(m -> m.getIdCard()).collect(Collectors.toList()); + List existList = baseDao.getExistList(attentionType, idCards); + if (CollectionUtils.isNotEmpty(existList)){ + for (String s : existList) { + for (int i = NumConstant.ZERO; i < list.size(); i++) { + if (s.equals(list.get(i).getIdCard()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i),"数据已存在",list.get(i).getNum())); + list.get(i).setAddStatus(true); + continue; + } } } } diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/attention_nat_template.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/attention_nat_template.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1ef3866f47ab3a671c92e9d54a8eedd98caedc6e GIT binary patch literal 8687 zcma)i1ymGV^Y_vqAR!^$uylifbax|-q;xDu2#9odH-dmPNK1EjgCO1A&9~_PeS99? zINv>IjCwf4J$pV5(~9g01uqzdjeLQ z*=8B^sEy%kdIkrQOE~LO84rFD$3kwJ28Zp#?n@5 zTn*}JVPQZ7pe(h81#zwxyaU7eh4WGoR5&hVASUIiL+GYS2u!7)n4evRtOLysUZCA6 ztx16t?W?lw90+gABx8Rh4)`1&&}t*1nR!a(<%7|0LUmfRJ8@fGR3*Ya0P=p#yuz)ruY%bD zIjO>p_sca~Z#ZwRtdC&+iSAp23lmB(y7XXl(f*FEp$*9R5#HFyKDjm~RM88GTj5pr z<<~$OwI~Jw9Zw$-G)$hpv>dD>;VKe(z3}J?5_k@}u8YB=)I`wx2&+?wNrWPr7z*kj z0pXYo!{@k;}rTbu>HAND%r&qXG?VtA(g-b>8zNB@C z9%GXNdiw1su_dQ`e5m@Ku4F)9Aw~Hfii_7XJG^6#^TeA&OAG3i7gFee*`78}uwkEt zLciE|Us!n>D-8QfGmbJVyuzY!!wHiBq}FC^u10so($RmI7SLkb6)nrn7WMgGF7@UvbBZwfWGBq* z&$^OZkNnV-SdwdDpkF6xefI+UMCmP3qf@&;?3mNmuCSCHKk-NSSJT1lc9wUT4+bSouP;Py+0ymxmhPrEBxT=4ONqgC~==9ajUv&RtQJh(ntax-;308WaPVvoX z0TbkqUyMRosskduN6_d5P#+(;YsDza1nP?v>#T6&W}7%_@+^r7dMNb>50xmCd?{Su zg?-Z1cWr4pFPluCbX_S7o)5E27`4wIXbt8imw{v{2Zdw#Z(bBSq_hl2ajEr(@}c5W z5DE0%X5^Nmt+(Hq1W@EcNh#!Y%)3YSukhwHKaeimxK0I};+EBjA{C?cX|*5Xddfaj zOF4?QZ)O}wzsobmyX@~5V~dmcs^E$)D;AT$aJ=8P#ZjYc;g92M9LldJFek|-HD<=L zO=PK%UFmuSe=|O>1rtCNf8rs21oz)P_3_FAd#Zz}v6bs`03gQs9shrc z{SyA=etR0SHh7$<4cMC=>bnh*MmuCIq;OSy%ao4jB2q#4c{=9tXil}n)I8rYd&&en zGtEY%Jr_OzXJI8i>5l5HaEK;DULg{I-q0##ns;@R&>QHH?23?^h(6lF>~+7SnufYj+06(e zl1|)Hp&|XGPtH(=lzV8|>g+}Cwx&q2x(R(tS@BJ^h=Ue^H18lA2vJ>4`2zi|htpD( ze2Wu}FD^Wgh$h#W08h^18OeI4bgff}X_r5akRwYgO7?*wIr;0&OVzuLH;yGL!*co} zYp_~v))^1a>RO3Ythcya*chmartr?zb+`1OzG`=!Y2BGLXaaE<$sX;TP;z8-e%vJ5>w?+so??)`PR)+}!ZAbiV7g)1#F!asG`)x;Cg7v7DuXgQm-yIr)aBH1~_`o;TL@ zOh-)*r!zK9AGcsz`7~KRT%C>ar}4XA4QzPaAGSmMTrst56(?_LtqYW|=b`hg+-jcg zKT2py>;Q_je-mK7bgbF$n}%FSA=_@Er-##z6InC~bovmhmQ;t*-U8C)2XgN|Zt4O2hqfEzp79z{+ zSh&weqNW`#(VY19#nwF40w3vML`e5E&6n&E2uWf_du&08O3dUe*9E?;V%3YovQQsn z&#&IM@XE9yQ^PWu?Q0+(baU8S)ShWk(5ns4z#T+{#4sjfUH*2V8cS6&$#C-d@!Zr}HioxULEGDp%aa=iMk`0ILO_CE zt`2{p^kx{g3|oMAubdvYoeM#q!R1#+7MZt8q+u1IU5U3o-OewwkmL^7^|%5>mblS% zJE4Ezo|TSOw~lFm+FNfYH45_ZOc)3ud)AyQ6~o#>1=lxCEL@^#<}Ios8;=;^fpeTB z`Z6Zb(~c3Q^suTCr+2ts>%^bmoU5r<5YREuUIeQYl>y9+)fRnLTWa%HIJe(IirHET zVffR?yX0ffO!T-VCoW*f6hP)5DrJ5BWSlb>w9~nkH?fxO7$&1d9s(+t-0a>Yq%^=- z&g7ohbTO?rE1v6%(L7ZF2C2Vf(~N%z?GUv`b}X0`P*$ck-A;A5U3Y|%q7=~RN^jmH z;G@JD4^yDh5+QTG!jwp}xeNwMclz#0=xdP%a`#(y~H? zUP`5yg4J-D>J}W`BVXx(h8vZsW6mT^^?>mms%*VdN!G(Jq?fdMlEvDPA~3sa^SwfZ!s7=VZMM|?z=0ysV-Yf;Z52MJj(H!}?oq1U;*ZH1sCPV> zDzjzOi9YJ3W*!*EevW%_oPwg=NVrY4{A`GeKXj@}%u7*(46%CH?NjQV9;)rXg&;%{hU^)H5T zrrQP00~T(#`&dDTexNn2H^nM8)HYHKccx@3q@RBhdobNq z+fbWROa{McO;GicnlD6eu>q}lLT7+;^)$Cy#V#y*N@H&fF01{cI;#!px7Pp!0aSPhhHMb9VSl4u{&WV$rj5~c8 zRq3hoeI>otRn30Be0>#6ZK*&|=tOO~U%$HXayE<&W|p=e9z@jaH_-EHMBz;t?IA;C zY9!Uw{`1L50#Uh5EnAJxU7Ye^8OleW1;y@*iF5gr+=d9rO%1oIGLQczr-q=~6jDs<)G^Icas z-N2H*JG52-d)c5htA8Qcw-OXQBxn0{F*RkIA|2tTWAPioUFD>FIA9u49Q%KM@1 z`aRARl&DqcmQ)inK(hv1Gf2@0 zB8dm9QnqX-eA*JEM{7b!^;HaqTg_XwSr8}G^z+(f%!jOnwC+1aS4DfpQJ4imT<3WZhPi>!p_qhG(>3TMQcvM6Ku%$1L42*ZVl=yaV}XOOJGxpUwr z(gOiq?$$a)=e!v(1{Fg9f>tC3UUFfSt8Wd)uKS++wr=Wu{z z7{Nj`=b;;lSCJfy=6?M%ek>ZdBpcO6fs1URqXWCM9`rp7j^y=Ntc2tXx2hVMh(k>U zxhVWf;({of4odcLkpvW)NdBeTl`}`Gnktd~Raj<*^~KfEov$rb)uXg|!um7~QDSDX zKGaT=+NMG}dK&@V6wh|~=*-*{KeW5!fDE}5yF=$RU2a&|)`zjCfL0Sr+Ga6TDB^-) zI@CY}hQUqS4mH!tyJEj8i!sxzu=<7vGv*COeq72KfewSaQha&gEk`4VYk$; zJ#&k&qf?@Vws@V%vVjev^Myj0mHw)2X(hW8DXEeYIA~ihvU*a;tbPk`8UU}8Lbc>lGxlSlO&w?#Kw*}@3f2K9oNZzfyfk~J;lE?!Z#`?emYZCzHFjRfR$Gc)xkry% z8Mzd~gKrUEtV`gxQ$u3hn^2qNazXVYr?fxr)`m&x{4Dh)`al~p=ota*=bPs$j@IHr z*Mu4xC+)o)clI|jRS~@?V!%x>SODmLo6rNG&)N|vz z+nDbmlIsd5(sjFCI-N?ViCAfGdP~yv#jl!v05mdIBQQX!9l`iQb#X~6Ggt&sEF6@O zMP)P9$s_jlXzU$I=f$8wpg^x;GXp}P2&=3Os`#nc8GWS1BEfQP(K~Ggo_0Hu1C1f` zhjj53D*o`bOiISj&5VNmL9sQ#2qNBELe`5#-Q}l@_otS(1$uJ#M<3~4us0!~eIzoA zqr_xD)q92=lZ}84)x?&Zj9ioa4Nd=@ln&*QK&F4dtLa{{K#zPb;?!*tNEEd_hBm(z zY(`iLUC%oNbdIr;rutVN-Q>Z;-lDPyf$dO%+oaozGh(fa%Y%$*{4V`QL8ab0Jm^v5 zM)F=%twS*eZ{5yg0x=_Vr4QsW`;a<$KBH5$d4-7F^fbv)Io)GRPl_f)Ubwv*;lAHZ znP<$Dil>}hjpm8wPY*qK_~>@9znaDPvIw3+CrCo2O^*K^Ijg9Q<~b!%Di~RD3OjFj ze090V8vX0d=-{ynN+&|Wk#x69CrX8O8QFY8b8_`#Pdy(}Vqcz#2MvsfDu^R2)=^ z%C`qFdoxl4m1$}5GT$04t|cE^-d+3z1Sy4y!Bc?Fff1;AYam3&`3y-HXJYH^QDX2i@x2f}q<27S5_%c>&w zx&tRKkD`|AS_~G}{RhN?Ch)qT0;O%}<<=h_?O>*QIPxVB`wX+@1Kr;wq-VXCN%?j@9(cCY_24;3t_ zPF+#1-pVPa{-&CyFXEi>h>$@n~a=S~#xS2K+DH;+Sp}PQyVQ@mo zx=S2=4O(w&cPY}tlC5l(xf|%LCqtG@Qh**kl}KxiOr=1~>_>P|!r{H_%kMXZo@Quc z8B3DltBxDbJDOD>XMi;HeY&wOrMA2kS2%BTk_F z_jVU77)U*kvE|c#tLrPr`UmiLKfyg$#J^-19wm#ShNRk=P&*I24p7${Wt}k5W*itv zcV&&-KPAXK3{$>{(%5Tk5LBca{|*%F3vfK9h!qvD~P zv--T3L}9}Ol#7aOD|FrVvB8ax_xkIYSqAb*9XF+67JnYZ^;P#=&+<72p>1tn%bKzsxlK>sl7dZWQEdQ@{_@CfhJIs8!2Zr%G7*1U9D>#0C zi~Ze$|Anr38xvCJfp>%Vh`ZfrD6?3qZfC|+kt@KE*2B~QPFgFuI=%a|MutPYHd4Az z(*afA+XK^mqjn zwH<;{hCZQgCFRsx8|q*v*ew<2vpCTlO_WIjtI!Y88$;Z8XP-bzdFKlPvo}-<{&o?o z4-JN@mCt`>-t03U#=^^n%5L&=^*EDva!ho?Vy(#p2GvM_N2f1^+?nH9XPm=!9CVTenm^z z#@fNy+Cfjn#n#wf=P}5OV*2DDnKAq>C>z_pXt65W>WApRT{6xiUxpe#Z)Q7f6ZSwK6U02Ax1l3+!V^tL<1)_$;kwz*vI&6PZvPQsEU1y)({KRSGeU#3*eBA?_rKx? zH=IRI!rspdVDSpdIplrXuxYXfXskmY_H|w5UYrb;wpCD{^*-AhT-=}+nsv|LS~zQr ztZJgGKWRBJOd>7?Z!pqp`>FH$M8G_MS4*kHWw0QT<)*|M=;r z5ItpF|7iPyUHUJh|KeYtsz2ox|ESM`Q^p_lznI4VwdqH;?e}=xGy<411LvFnrSMOb z_Q4tIuLSjUp-(f}qn+OK{#cy-yV@T*=;@N5mN0)N&;XN~V7q^Z?SC!$kuLo` y9#5F&_X$5L|3#kubLCIz(?{Lkr>6FAx_`)21!Xlu5D*qH5D=uln;AMd(0kb0e2VLk0%t-Ky$pCnsucxY(Lj7 zgA%_razjV&LUaXfcV@40hroYK-;M zm7TSR;OZ4_e(>1^U5Wj`Wx63P1q)u-8#X<@+;uIeZEWW`sq);8nIGL_BfE2uXRG(u z$NT5>^eePCJEcjT+X}njOgrF;dr(aQUC7b8z}y~epr@)ttS^XsNIS1EP?jT-6(sMI zaO=Zr!;U)p?X}%8sBqibyMWcm#6$GAbcPDZ4lLy2bL_4h^; zpH)rCc0eakB_z=N8#FKKYQua@aK=u~I3!^O9ab7LW{0brCT|Mn*74Gl#HJ~SVWb3{ zNxm#jZ#y!uxC0WFFPwCrs-BfA$bhORgFt{O zQ#3SYb%>)|h;{*AyGMT(-$Aesg$72ZqTS)O%)W?-`IlwXvDQX65SWE@gd z7f=r09%mUTne*dUOx9$!8l3Bvb2u7f_2hcWcB{&8jk@kQeOjBm--yZP9=LadvVL4n zJK{aEOPT2NsLjXuZZSHvWp(|a?TtN9a)P<_b_hVIRjF(DQc(< zagkvfjJ{(2R02+qBkvPBv?_bETXjn}I6z-c-s>LQ)UHgy9|$N=ssoEJ$$MuiX_7ug zf~ol<%zYaQ9o4JAhwAVso+WKONk)k`V&g0)d)vn4ak^3cSY9=4Q|i1mZX{%<>NSAL zD8X=p;!`6zUI#0Q#A|{WA*qvNlVFQHi!5Y4hg%)mNdaM|n}<{&7cx$upAk@(nOsi6 zbYX56`0nD`VlllQoeWkqjWT+bayG9C?C~?$Bbo}N-ndrTefIq?IVe_j7 z{AYt#zYW~&ovfWLOif*0){FA-K5BxeY}SJS0eSOpw!d7Mo+lt$Wj-@ng9o5LNx6szkcgZ+kP@!(@1PS*&kGa{9|K83QQck~0A$CsL zoFEj7271xz!JSL{-CiuRsmeSPCH4>F%o;Z;&E5%kwX?I>?Z_q;HgeWmbE3G~dVxl4 zV{|MYN|rgvo$A%mw$^?hSK{N32_?xZjj})Ebpo41gw;PTSB!a;XF1}9gZAV8tgp4O z9d@JE?^efl6De=Wpb0NNSO+G>9Gp>gMAvX8f^Wz*g}u5bL! zg{2B+^uFc-_(gZD5*ed5s|C5R36c4>YC^q6dtVdQ)e3)SNmai{KP9Nrn3 z-q12a_Cg`MJ5$P@fo-GcoP}AqFAsAy56_8mXswqk)|0ImbA%G6+0=-`@+Rew;`0Ms z3(8}Xd=I}JM3R<+PRvq@YzigrUj@%=e<~f+-Spb2Gu+ zK{pRHH>=C86cGyk7H`3o*X82x#voVUF)qd}Lr80V=LnW6mF<{16z}-haYa+QFd#k? ze6YwRaL1_gfEB_2-!t@iuX@T*7YkEc(-(V{3?5))9ufqE5bO84|I6%`@vpSo*Oax# zVMl7g-1gPjYl$=2C3#B>UB|ad?uH^F6@go*Yn6oT-bhHr{T02xQoujka#Y%X@g3zH zl!Tw&nEo1@Xd2ixJf4#}jZ(H%Zyynzkv{1`+REDZBgDq9PUnU~Eymv=4J~`ib&GEB z<-jrGS$& z&iBB>k+X&)+RT=2bdR#=4aE|2dkcJ>d#FfC%Cmi?dcURaR<1H4XDG4(rQK$;1f7wF{WjJQ;EaQ>6- z$%=_=#|2T>mZiQaauV+f9)g4;8!?wGl1R=3p%H3yysD}Ol~Cyd_-zGu@dbm z2B43PQ1hxbA_7n9rszLLaFn~Cj4lS1>XPjTspO>PmMaPI?`V$Zw9?@;?Xj1kb3l}?^( z>R&*?e9*VS`n}`^Z)gX?u=FkA9zc(Rlvla=6l-z7t#@gytI_k7TGu<&1AfX;UKVM4 z;~Df_x}PmVZR!?}zU3on7bo-68@XtKQpKGHKC4q(hbC*s?}aGwzHxSk3T3uKvSc}c z1b&m#=W_JK8!);maC<9butFSD6WyC~7u4tRCI><8kX4^ETx5j{MXv|q2ljczcs+1j z)2R!1H>Fuzh+{^N57xioQL7l!87;WEZD#G6K)qmH7uR}B4?{W6PGl%!mN4V?!GaD- z^~2dccEBd#XY~s;jT$^!dYa2fmC{NOD^s=Qp!JT%qBZuP24G?iwnAv3)bgH1n6s1p zUTG9hV-NYx8>{TCN7#C13B}&z{g@;)AL^chj={eme zIJQr^)(-(aCey@}P5j9hGI+Qac&(DAk6S`Ji!jC;)ro2^V}AE40L8k-irS9|`6wbE zAkIvBq*jGiWqM!Ak|*RgI34gcH`*y~S#I-}oVJfljIHR_A%56IRM;yV zN{CYkMU%1vWpU0kGp@sIN^#60&a=#Ps*1YfrAAW-k!%$x1Cgwrfs@2tBlLr>GNmtz z*6T2}>Yd~$n;;;XqcU@LGjfRDOaKxzC(zbhvD8v^qvl$SE8Ce1KIKckDO%EL&<)p~ zB}pIeSPtgmpD9(NLy*PTlESmR?+m_%2gl(DIo|GQ`hoS47!w9@?jHJ|XFz4tSP|W) zBMg>22ngcuEyLNx)5g^K`S3BRGjBgXh2=|7@#t?*!HZT+rZf>;xIr5)npM~Xf}2WKM9T#xtGK%(A8)Zdk^dC%~;&Q2q+O!6^BA};fSVUHUVKZ68M zN`_Xk=G-8B)&15x>GTtPt?RzUGIjkvp^H~}p;elxYGq5=l5_KY-c3&0l$fw8uwd<+ ztL$)A_I&2mr1kvL!<5<^yrzq2@c9@tgOy;}bHa#M_3L-i(95Zxq+mYPQcBhgife$4s2 zR%y&_&eOSG{7ADg=yVM@;kvmRk1m8?y1yQY)mtKbEYt0*_kILq1B~K$eCdMQ`qF(+ zIEJ^1VJpT z993pxA8b!k&rRQz8N)MvuFJ1L3`25M72-XKHM1TwI$NH}@9lTUwGBZeLO@jVW*a+( z_uW?e@g0aREi#sJJfl7_)y$H05x`Wp{4jAKrE8^0PxcL~b)nP6haIM%bVC(2vIN;V zQ9>^&b5jxfWFvG}b*u+kngmNM$Zv#E#+^c|PAE{WirQrrH6Vslf@ciqQs%9PKQZ3X zp~`g#;T{R0YdXQfj1~38s7j@wCYj*?tLokonp;cOIi)kLV3>G-+gQ`G?m)CT_Kflr zXl&QYuxvHF3NPAP{mL$T4^QMm9SZf#1zkI-s^w@*jEG^l6RAn;Gb9vZ zag(cay7y?U8#40lXy|d)Oy)hj7JTjY5$)^eoX@pBPPXp{YHyKcoWaZ=LGEMkgjsfu zbNUF{(=x_qFI!^Z?WLJS?+6ruZfJWvtdrXyhq!U*p+k%(J9>h!3nGmS&6vA>su~_N z1z6UNM|wuzjkMdvu;7>;Gx&cv+X}?I=?6o_=s8+NUk(&#sz~==a1H?{4~2qM-$P(Y zVf-o9Xs2?Hji1LnkYO)VwN8GTh6@s7HsuR1N$R5`QEikiSMcU3DK#ZP6 z&9D`Tc-){^3}H?*ZZ{9k&Il-p;=nE-ZgqiuJK3_k^jp0Fj5t#d$d%aiMOC4x>nrR}kMc0uwES&kQAQbL2VA4@=9b*sdSqoC2}#bckj zFeP$Xq+7r`=W;#_4YqM@$5BEKW#p(>+X_+=*1M4*CKA98KnRWn+{WY95}qf>U$6FW zz^6A-#gBh}rDw&#$`P;j9e35s2g_vwUb~l*&{ZRzvb7$5*A8*nn1ndJRwhelE3EGp zGh|Psu=X`umVgefVrO4g6T%<~t_>w+q7IT?2$Tea9ao^4qYRubq{(QynvzYB+WbDy z(I_ulZ6+*;G0G852`8kBlcVenrvQzb6s8sH`tVJS5XG6Pvh#>rjFM*vu6jZ6mt_9b zFzmW1*7-3A`C)ZVeX?<@K`%V#&`ANvt+Bz^qhHwcQoz9BCcxsveK6<-;(jm;dEv-u zGYK$AB9Al(ZpRmV_eW@o6phdtA*ToXLA)%zo&0`bm1R>a4=Cpz_qE1AHHZjaY{}Ex zuY$OK4k{vc2)NpJ{k1|_AHNSs-S0XeD(4J-KAcp>D>%t3=MK8C>T<91AwUVzDhtVF zV#Sh93EqmSxy!Rj$L z(lasgG}L~&-!uItv#TBVjktHyc^rgM*qKixPN9=3i&1vgnUnmpg`j} zMwP%r;nL+lh^(#e4KobkzwI~L?wCb`4Tta-ab^1HV!4;GbiHv(5t|~zw70w+E@Ea? zMKOfhIsBogefx|Gl}0RszJ*_vmiY}q>avi0>dBgKM%3XQJ0NQMJ1WXa`k_lrOe>G^ zWuzh`_aKU2Pv#QV{x*|ggeI^tp8v$+D{;TnX)8U6K zQpPZUaOiYWkp%I~%uFwiC)zXO;VPkx$=~R^N-kI4y8tqRMSpn%vNnykh%}RF8!&v^ ziAZr2fc$Xs2C0WHcg%T}Z@860zW_YRaR{=dO*-G@K~#_4Hw|YlhNgNx9E(?aG?&F8 zecNfhGjh5ZyzZ>VBxqy59&R~>9`0%5G)3qNizlZNj8F`7gupRF(N&f;;{(e-A}b^| zW%j&F8nx#~Gln==hc#ptBId6pts;UGgUW~|8lLjKM+YWq(gP@x9i&L}#VGnnSX+nz z`9+D*U#hBZpltoJzM_3qdCkb%ZjvFZ3b!uPp4AO%M;QmO;8SYU5uC@zEv#W2DKRk& z09@zG4Z=%ge&ppFNp&l47k zwA8$a&xM|c4mS&I&g3g(srQ6`sQ6L8`P96y!P%aV`L-DQY?3Ui=Og$XA16^yk3>v-HpyWN70UzEh<8Hfw8#sQ*_a& z-Tt12nI=R1QgD=D8^XKu?_5AdSlW?{$ zbTTzjc5$+_GyioQt*$KZ8&sr}rlTJEK3uK(c7jujbZS-gYa3Nm^z@1#KL=^*RKHPDQB{mhGsq1|49e0@4KPRyf`9w6 zfw@5r0BIE6x#@-!EexmX#wsi%YvjBUgMu=w47IpV>}&ti_4@aypBY0Vdwc6&Ou!1r}pXZNfKvsTuF)9}D1- zk{VPs)fzx{F%9*4_Tr)7wR~rBF$gxmNZxu$|nNt4HA`NG0PvZ5y?jnvTwfLmiSvD zk5{X}n!+*%lyzEv2EmYfIR3)oN?@k>s`&=J5fS2D?fYQe=Bf96T&B6ZdWv{+A{g|W zo>PY>{HK8yb2!A+ouY>=$jVOju{iG%PbyRrgQC-4AtcpmZNJ0OAPDKWZtjaTTs?uG zeEr{S9FdISe>N+H93|M@OD@ zVIbasK=BS(;VQc7$9KZ=hmut z8x*+7lQ>6D8mH@}H1al-n<~L_bVo%&Ad{O_G@p~- zm?V&`#ZJNQ+lg3DCcc6!Pxm5q*!w0ZM~>j;YkT{m-JxaPlpNte#Skj_P+pg4z}T=@nL-K9cHO3mmHMRkIcl_P#^=(IV~ru6E_5k!z>4PFb3k8c4x z;zqS=1|+zG$g+1IN#FK%tphyySoI~GPUwo=|2vld$0GhGI5&>6-|RoZ`1J`+?5F$F ziv4Z&_YD3Qx>lWx2t9{^ErFxnj$_eGVxRPSvZhPlgBa8JS{Ok~Yp2y`_I=jOa!Jxb z$P8*bq!^fAXgr*FO>Sk(s9?fLi9mnDHUZW8>hLu~R+#NkT_h-Cltcy1;b9%Yj3z*O zq6VDG5!NKj5MQsBeA>XCDiR!OM}_GeAeyK3dJ4}r`dz}-FxUOLpVLa=#iGF6Ermj; z%&_jCV^qljO&q}Wb zQ;%u6ft=p)@3IB;k9REyVl>tfWFixblO_7+8lZCTau-U>2ojP`GSHKQlz|@5 ztlHpJqenMZjGEBx0Y!LIC6ZJ;4lz}rG!-YHxPvm@HN>NgLmo&@^k(h$?_0R(Tcnqj zQnV1+aCtgZXl1A~)X(0pkp>8=@z`P1m86CvMFEK8lv`bX`YGALqN{GQ&TRX!n*<)` z1i5Xxx7Qs+XNPMEGGQ>az)7<;oH*fn3&@2OwW-F;oQ)R(1hC30YJS?zf)IltSp z_M7*_tN&}o{4?mw67=lzJLtE+e10vN{}t?cP5y4r!JgaSH0giFd#Or48~=_+@prfX z)2LrU^ip;G;~o5z(tid0mj?UN{iVG4$9?{(Wc+deOKkjKgMJp=ez)gA!#$~HPxa=1 zIs6l)lcx&xSAlx@qAx4ibDZBOVd4DE?ceI!%YI&-VgB@Ej`^#fe>>5FD2-o8S+vK`V(>d?{0sTp_i}x@(A;%1KlTG^C|A%Vf$Y% z{j8Y&ZqGAJ^LvJ$o&VBL|M})G71U?n-?OIvZ@z!@R0V0sUyBv_>3;;!Pj*vy&wl?8 D>6X_X literal 0 HcmV?d00001 diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml index f0c645f1b2..f63c49b783 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml @@ -25,9 +25,9 @@ a.ID_CARD, a.REMARK, IFNULL((SELECT DATE_FORMAT(CREATED_TIME,'%Y-%m-%d %H:%i:%s') FROM ic_notice WHERE DEL_FLAG = '0' AND ORIGIN = #{attentionType} AND ID_CARD = a.ID_CARD ORDER BY CREATED_TIME DESC LIMIT 1),'') AS lastInformTime, - COUNT(v.ID) AS vaccinationCount + IFNULL(v.vaccinationCount,0) AS vaccinationCount FROM ic_epidemic_special_attention a - LEFT JOIN ic_resi_vaccine v ON (v.ID_CARD = a.ID_CARD AND v.DEL_FLAG = '0') + LEFT JOIN (SELECT id_card ,count(1) AS vaccinationCount FROM ic_resi_vaccine WHERE DEL_FLAG = 0 GROUP BY ID_CARD) v ON (v.ID_CARD = a.ID_CARD) WHERE a.DEL_FLAG = 0 AND a.ORG_ID = #{orgId} AND ATTENTION_TYPE = #{attentionType} From 400038da9798ee772248b76c13da17f911f848fe Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 30 Mar 2022 15:48:25 +0800 Subject: [PATCH 073/129] SOURCE_ADDRESS --- .../main/java/com/epmet/dto/form/PageTripReportFormDTO.java | 5 ++++- .../src/main/resources/mapper/IcTripReportRecordDao.xml | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java index b5c4aa2462..af23243c03 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java @@ -28,7 +28,10 @@ public class PageTripReportFormDTO extends PageFormDTO implements Serializable { * 来源地区编码 */ private String sourceAddressCode; - + /** + * 来源地区名称 + */ + private String sourceAddress; /** * 来到本地时间 */ diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml index 0e55cceb05..f667e9826d 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml @@ -47,6 +47,9 @@ AND SOURCE_ADDRESS_CODE like concat(#{sourceAddressCode},'%') + + AND SOURCE_ADDRESS like concat('%',#{sourceAddress},'%') + AND ARRIVE_DATE = ]]> #{startDate} From bc4a7d39e60229df99b17f16177b2832af523e1a Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 30 Mar 2022 15:52:50 +0800 Subject: [PATCH 074/129] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E8=B0=83=E6=95=B4-?= =?UTF-8?q?=E5=BD=95=E5=85=A5=E6=95=B0=E6=8D=AE=E5=90=8C=E4=B8=80=E8=BA=AB?= =?UTF-8?q?=E4=BB=BD=E8=AF=81=E5=8F=B7=E7=9B=B8=E5=90=8C=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=8F=AA=E8=83=BD=E5=AD=98=E5=9C=A8=E4=B8=80?= =?UTF-8?q?=E6=9D=A1=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/exception/EpmetErrorCode.java | 1 + .../src/main/java/com/epmet/dao/IcNatDao.java | 7 ++++++ .../epmet/service/impl/IcNatServiceImpl.java | 10 ++++++++ .../db/migration/V0.0.31__update_ic_nat.sql | 3 +++ .../src/main/resources/mapper/IcNatDao.xml | 25 +++++++++++++++++++ 5 files changed, 46 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.31__update_ic_nat.sql diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 4614beb5ba..bf8bcdc86b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -251,6 +251,7 @@ public enum EpmetErrorCode { ORG_EDIT_FAILED(8920,"编辑失败"), ORG_DEL_FAILED(8921,"删除失败"), NEIGHBORHOOD_DEL_FAILED(8922,""), + IC_NAT_IDCARD_NATTIME(8923,"核酸检测时间已存在相同记录"), //通用错误码 start diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java index 97b365bb6f..22afc94f76 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -1,6 +1,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListResultDTO; @@ -42,4 +43,10 @@ public interface IcNatDao extends BaseDao { * @param e */ void insertOrUpdate(IcNatEntity e); + + /** + * @Author sun + * @Description 按条件查询业务数据 + **/ + IcNatDTO getNatDTO(@Param("customerId") String customerId, @Param("icNatId") String icNatId, @Param("idCard") String idCard, @Param("natTime") String natTime); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 9efdb959ce..f07bb78df9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -89,6 +89,11 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Override @Transactional(rollbackFor = Exception.class) public void add(AddIcNatFormDTO formDTO) { + //0.先根据身份证号和检查时间校验数据是否存在 + IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), null, formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)); + if (null != icNatDTO) { + throw new RenException(EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getCode(), EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getMsg()); + } //1.获取所填居民所属组织缓存信息 AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId()); if (null == agencyInfo) { @@ -183,6 +188,11 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Override @Transactional(rollbackFor = Exception.class) public void edit(AddIcNatFormDTO formDTO) { + //0.先根据身份证号和检测时间校验除当前数据是否还存在相同数据 + IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), formDTO.getIcNatId(), formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)); + if (null != icNatDTO) { + throw new RenException(EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getCode(), EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getMsg()); + } //1.更新核酸记录表数据 IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); entity.setId(formDTO.getIcNatId()); diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.31__update_ic_nat.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.31__update_ic_nat.sql new file mode 100644 index 0000000000..30d6bd9ac1 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.31__update_ic_nat.sql @@ -0,0 +1,3 @@ + ALTER TABLE `ic_nat` + DROP INDEX `unq_nat` , + ADD UNIQUE INDEX `unq_nat` (`ID_CARD`, `NAT_TIME`, `AGENCY_ID`) USING BTREE ; \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index 84e3739081..06cbc05a85 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -68,6 +68,31 @@ ORDER BY nat_time DESC + + DELETE FROM ic_nat WHERE id = #{icNatId} From cb1fcb38568fe0179b00d09771871eb2f19ae5a4 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 30 Mar 2022 15:55:54 +0800 Subject: [PATCH 075/129] =?UTF-8?q?=E9=98=B2=E7=96=AB=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/IcResiUserDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 60b7cce24b..ca26c6bf4e 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -673,7 +673,7 @@ AND GRID_ID = #{gridId} - AND NEIGHBOR_HOOD_ID = #{neighborId} + AND VILLAGE_ID = #{neighborId} AND BUILD_ID = #{buildingId} From 83df65997d60eef74da002d0cac4c5ca5a7cdfc3 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 30 Mar 2022 16:09:32 +0800 Subject: [PATCH 076/129] =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{V0.0.31__update_ic_nat.sql => V0.0.32__update_ic_nat.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename epmet-user/epmet-user-server/src/main/resources/db/migration/{V0.0.31__update_ic_nat.sql => V0.0.32__update_ic_nat.sql} (100%) diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.31__update_ic_nat.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.32__update_ic_nat.sql similarity index 100% rename from epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.31__update_ic_nat.sql rename to epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.32__update_ic_nat.sql From 132790c43a665b2e31423b820499a84089663d4a Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 30 Mar 2022 16:20:13 +0800 Subject: [PATCH 077/129] gethouseinfo --- .../src/main/java/com/epmet/dto/result/HouseInfoDTO.java | 7 +++++++ .../main/java/com/epmet/service/impl/HouseServiceImpl.java | 4 +++- .../src/main/resources/mapper/IcHouseDao.xml | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java index 087970e1ea..ae5a6d07ba 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java @@ -79,9 +79,16 @@ public class HouseInfoDTO implements Serializable { private String customerId; + /** + * 小区所在的组织id + */ private String agencyId; /** * eg:市北区-阜新路街道-南宁社区 */ private String agencyPathName; + /** + * 组织的area_code + */ + private String areaCode; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 594e5dda67..210f8e8b49 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -463,9 +463,11 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { HouseInfoDTO houseInfo = icHouseRedis.getHouseInfo(houseId, customerId); if (null != houseInfo && StringUtils.isNotBlank(houseInfo.getAgencyId())) { AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(houseInfo.getAgencyId()); - houseInfo.setAgencyPathName(agencyInfoCache.getAllParentName().concat(StrConstant.HYPHEN).concat(agencyInfoCache.getOrganizationName())); + houseInfo.setAgencyPathName(StringUtils.isNotBlank(agencyInfoCache.getAllParentName())?agencyInfoCache.getAllParentName().concat(StrConstant.HYPHEN).concat(agencyInfoCache.getOrganizationName()):agencyInfoCache.getOrganizationName()); + houseInfo.setAreaCode(StringUtils.isNotBlank(agencyInfoCache.getAreaCode())?agencyInfoCache.getAreaCode():StrConstant.EPMETY_STR); } else { houseInfo.setAgencyPathName(StrConstant.EPMETY_STR); + houseInfo.setAreaCode(StrConstant.EPMETY_STR); } return houseInfo; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index f5476ed398..f3698b35ed 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -368,7 +368,7 @@ IFNULL(ib.LONGITUDE,'') as buildingLongitude, IFNULL(ib.LATITUDE,'') as buildingLatitude, ih.CUSTOMER_ID AS customerId, - concat(IFNULL(n.NEIGHBOR_HOOD_NAME,''),IFNULL(ib.BUILDING_NAME,''),IFNULL(u.UNIT_NAME,''),IFNULL(ih.HOUSE_NAME,'')) AS allName, + concat(IFNULL(n.NEIGHBOR_HOOD_NAME,''),IFNULL(ib.BUILDING_NAME,''),IFNULL(u.UNIT_NAME,''),IFNULL(ih.DOOR_NAME,'')) AS allName, n.AGENCY_ID as agencyId FROM ic_house ih left JOIN ic_neighbor_hood n ON ( ih.NEIGHBOR_HOOD_ID = n.id AND n.DEL_FLAG = '0') From fc0a9d37e0b465536f3ccbb0cc367959cbcf7947 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 30 Mar 2022 16:43:49 +0800 Subject: [PATCH 078/129] fff --- .../service/impl/IcTripReportRecordServiceImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index e098beaac6..5c42a0d00e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -151,7 +151,7 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl NumConstant.ZERO && StringUtils.isNotBlank(formDTO.getContent())) { - sendNotice(formDTO); + sendNotice(formDTO,agencyInfoCache.getOrganizationName()); } return entity.getId(); } @@ -160,7 +160,7 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl userList = new ArrayList<>(); //注意这里的userId是指的pc平台的居民 @@ -171,7 +171,8 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl NumConstant.ZERO && StringUtils.isNotBlank(formDTO.getContent())) { - sendNotice(formDTO); + sendNotice(formDTO,agencyInfoCache.getOrganizationName()); } return entity.getId(); } From a757870ae2231190f5df119203be4a6f3867eeed Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 30 Mar 2022 16:55:34 +0800 Subject: [PATCH 079/129] =?UTF-8?q?=E9=83=BD=E6=94=B9=E6=88=90=E6=A8=A1?= =?UTF-8?q?=E7=B3=8A=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/IcEpidemicSpecialAttentionDao.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml index f63c49b783..f2757d0b9f 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml @@ -32,13 +32,13 @@ AND a.ORG_ID = #{orgId} AND ATTENTION_TYPE = #{attentionType} - AND a.`NAME` = #{name} + AND a.`NAME` LIKE CONCAT('%',#{name},'%') - AND a.MOBILE = #{mobile} + AND a.MOBILE LIKE CONCAT('%',#{mobile},'%') - AND a.ID_CARD = #{idCard} + AND a.ID_CARD LIKE CONCAT('%',#{idCard},'%') HAVING vaccinationCount = #{vaccinationCount} @@ -60,13 +60,13 @@ AND a.ORG_ID = #{orgId} AND ATTENTION_TYPE = #{attentionType} - AND a.`NAME` = #{name} + AND a.`NAME` LIKE CONCAT('%',#{name},'%') - AND a.MOBILE = #{mobile} + AND a.MOBILE LIKE CONCAT('%',#{mobile},'%') - AND a.ID_CARD = #{idCard} + AND a.ID_CARD LIKE CONCAT('%',#{idCard},'%') AND a.REASON LIKE CONCAT('%',#{reason},'%') From 1d630b952aac651ac086dc64ee8e676fd4f56d76 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 30 Mar 2022 17:11:54 +0800 Subject: [PATCH 080/129] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/enums/ChannelEnum.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ChannelEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ChannelEnum.java index 389338f717..c1305d0e5a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ChannelEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ChannelEnum.java @@ -1,6 +1,6 @@ package com.epmet.commons.tools.enums; -import com.epmet.commons.tools.exception.EpmetErrorCode; +import java.util.Objects; /** * @author Administrator @@ -22,11 +22,11 @@ public enum ChannelEnum { public static String getName(String code) { ChannelEnum[] houseTypeEnums = values(); for (ChannelEnum houseTypeEnum : houseTypeEnums) { - if (houseTypeEnum.getCode() == code) { + if (Objects.equals(houseTypeEnum.getCode(), code)) { return houseTypeEnum.getName(); } } - return EpmetErrorCode.SERVER_ERROR.getMsg(); + return null; } public static String getCode(String name) { From 16eb18ddc6cc8934f4facb466b2bdb822edd387b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 30 Mar 2022 18:10:17 +0800 Subject: [PATCH 081/129] pathCode --- .../com/epmet/dto/form/AreaCodeFormDTO.java | 9 +++ .../epmet/dto/result/AreaCodeResultDTO.java | 11 +++ .../epmet/controller/AreaCodeController.java | 12 +++ .../main/java/com/epmet/dao/AreaCodeDao.java | 11 +++ .../com/epmet/service/AreaCodeService.java | 4 + .../service/impl/AreaCodeServiceImpl.java | 30 +++++++ .../src/main/resources/mapper/AreaCodeDao.xml | 81 +++++++++++++++++++ .../com/epmet/dto/IcTripReportRecordDTO.java | 12 +++ .../epmet/dto/form/IcTripReportFormDTO.java | 12 +++ .../entity/IcTripReportRecordEntity.java | 10 +++ .../V0.0.33__modify_trip_reportv3.sql | 2 + 11 files changed, 194 insertions(+) create mode 100644 epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeFormDTO.java create mode 100644 epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/AreaCodeResultDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.33__modify_trip_reportv3.sql diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeFormDTO.java new file mode 100644 index 0000000000..bc88cf3a28 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeFormDTO.java @@ -0,0 +1,9 @@ +package com.epmet.dto.form; + +import lombok.Data; + +@Data +public class AreaCodeFormDTO { + private String parentAreaCode; + private String parentLevel; +} diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/AreaCodeResultDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/AreaCodeResultDTO.java new file mode 100644 index 0000000000..7b09f4f020 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/AreaCodeResultDTO.java @@ -0,0 +1,11 @@ +package com.epmet.dto.result; + +import lombok.Data; + +@Data +public class AreaCodeResultDTO { + private String areaCode; + private String parentCode; + private String areaName; + private String level; +} diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java index df821f7410..7bf4e537f8 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java @@ -28,7 +28,9 @@ import com.epmet.dto.AreaCodeDTO; import com.epmet.dto.form.AddAreaCodeDictFormDTO; import com.epmet.dto.form.AddAreaCodeFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; +import com.epmet.dto.form.AreaCodeFormDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; +import com.epmet.dto.result.AreaCodeResultDTO; import com.epmet.service.AreaCodeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -121,4 +123,14 @@ public class AreaCodeController { ValidatorUtils.validateEntity(formDTO); return new Result().ok(areaCodeService.addAreaCode(formDTO)); } + + /** + * 行政地区编码逐级查询 + * @param formDTO + * @return + */ + @PostMapping(value = "nextarea") + public Result> nextArea(@RequestBody AreaCodeFormDTO formDTO){ + return new Result>().ok(areaCodeService.nextArea(formDTO)); + } } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java index 54b89ee82f..730689599c 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java @@ -19,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.AreaCodeDTO; +import com.epmet.dto.result.AreaCodeResultDTO; import com.epmet.entity.AreaCodeEntity; import org.apache.ibatis.annotations.Mapper; @@ -40,4 +41,14 @@ public interface AreaCodeDao extends BaseDao { AreaCodeDTO selectByCityCode(String cityCode); AreaCodeDTO selectMaxCounty(String cityCode); + + List selectProvince(); + + List selectCity(String pCode); + + List selectDistrict(String pCode); + + List selectStreet(String pCode); + + List selectCommunity(String pCode); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java index 99c25ab2f2..e452332fea 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java @@ -23,7 +23,9 @@ import com.epmet.dto.AreaCodeDTO; import com.epmet.dto.form.AddAreaCodeDictFormDTO; import com.epmet.dto.form.AddAreaCodeFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; +import com.epmet.dto.form.AreaCodeFormDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; +import com.epmet.dto.result.AreaCodeResultDTO; import com.epmet.entity.AreaCodeEntity; import java.util.List; @@ -123,4 +125,6 @@ public interface AreaCodeService extends BaseService { * @Date 2021/4/13 14:40 **/ String addAreaCode(AddAreaCodeFormDTO formDTO); + + List nextArea(AreaCodeFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index 0de5ddac2b..0f2c1861a7 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -38,7 +38,9 @@ import com.epmet.dto.AreaCodeDTO; import com.epmet.dto.form.AddAreaCodeDictFormDTO; import com.epmet.dto.form.AddAreaCodeFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; +import com.epmet.dto.form.AreaCodeFormDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; +import com.epmet.dto.result.AreaCodeResultDTO; import com.epmet.entity.AreaCodeEntity; import com.epmet.redis.AreaCodeRedis; import com.epmet.service.AreaCodeChildService; @@ -688,6 +690,34 @@ public class AreaCodeServiceImpl extends BaseServiceImpl nextArea(AreaCodeFormDTO formDTO) { + if(StringUtils.isBlank(formDTO.getParentAreaCode())&&StringUtils.isBlank(formDTO.getParentLevel())){ + return baseDao.selectProvince(); + } + List list=new ArrayList<>(); + switch (formDTO.getParentLevel()) { + case AreaCodeConstant.PROVINCE: + list = baseDao.selectCity(formDTO.getParentAreaCode()); + break; + case AreaCodeConstant.CITY: + list = baseDao.selectDistrict(formDTO.getParentAreaCode()); + break; + case AreaCodeConstant.DISTRICT: + list = baseDao.selectStreet(formDTO.getParentAreaCode()); + break; + case AreaCodeConstant.STREET: + list = baseDao.selectCommunity(formDTO.getParentAreaCode()); + break; + case AreaCodeConstant.COMMUNITY: + log.info("社区无下级"); + break; + default: + log.warn("parentLevel错误:"+formDTO.getParentLevel()); + } + return list; + } + private String addDistrictAreaCode(String cityCode, String countyName) { AreaCodeDTO city = baseDao.selectByCityCode(cityCode); diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeDao.xml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeDao.xml index 9eaffba75a..a40099f378 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeDao.xml +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeDao.xml @@ -27,4 +27,85 @@ order by ac.COUNTY_CODE desc limit 1 + + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java index 0bf1d81e58..47d23549da 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java @@ -93,6 +93,12 @@ public class IcTripReportRecordDTO implements Serializable { @ExcelIgnore private String presentAddressCode; + /** + * 现居地编码路径:"presentAddressPathCode":"37,3702,370203,370203026,370203026002" + */ + @ExcelIgnore + private String presentAddressPathCode; + /** * 现居地名称eg:山东省青岛市黄岛区玫瑰山路社区 */ @@ -113,6 +119,12 @@ public class IcTripReportRecordDTO implements Serializable { @ExcelIgnore private String sourceAddressCode; + /** + * 来源地编码路径: "sourceAddressPathCode": "37,3702,370203,370203026,370203026002" + */ + @ExcelIgnore + private String sourceAddressPathCode; + /** * 来源地区地址 */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java index 9c085f2e07..3de314d424 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java @@ -71,6 +71,12 @@ public class IcTripReportFormDTO implements Serializable { @NotBlank(message = "现居地编码不能为空", groups = {ResiUserRequired.class}) private String presentAddressCode; + /** + * 现居地编码路径:"presentAddressPathCode":"37,3702,370203,370203026,370203026002" + */ + @NotBlank(message = "现居地编码不能为空", groups = {ResiUserRequired.class}) + private String presentAddressPathCode; + /** * 现居地名称eg:山东省青岛市黄岛区玫瑰山路社区 */ @@ -89,6 +95,12 @@ public class IcTripReportFormDTO implements Serializable { @NotBlank(message = "来自地区编码不能为空", groups = {ResiUserRequired.class}) private String sourceAddressCode; + /** + * 来源地编码路径: "sourceAddressPathCode": "37,3702,370203,370203026,370203026002" + */ + @NotBlank(message = "来自地区编码不能为空", groups = {ResiUserRequired.class}) + private String sourceAddressPathCode; + /** * 来源地区地址 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java index 0b7d4fd4fd..f14eb97013 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java @@ -71,6 +71,11 @@ public class IcTripReportRecordEntity extends BaseEpmetEntity { */ private String presentAddressCode; + /** + * 现居地编码路径:"presentAddressPathCode":"37,3702,370203,370203026,370203026002" + */ + private String presentAddressPathCode; + /** * 现居地名称eg:山东省青岛市黄岛区玫瑰山路社区 */ @@ -86,6 +91,11 @@ public class IcTripReportRecordEntity extends BaseEpmetEntity { */ private String sourceAddressCode; + /** + * 来源地编码路径: "sourceAddressPathCode": "37,3702,370203,370203026,370203026002" + */ + private String sourceAddressPathCode; + /** * 来源地区地址 */ diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.33__modify_trip_reportv3.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.33__modify_trip_reportv3.sql new file mode 100644 index 0000000000..927c2f9a35 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.33__modify_trip_reportv3.sql @@ -0,0 +1,2 @@ +alter table ic_trip_report_record add column PRESENT_ADDRESS_PATH_CODE VARCHAR(255) COMMENT '现居地编码全路径' AFTER PRESENT_ADDRESS_CODE; +alter table ic_trip_report_record add column SOURCE_ADDRESS_PATH_CODE VARCHAR(255) COMMENT '来源地区编码全路径' AFTER SOURCE_ADDRESS_CODE; \ No newline at end of file From 0b6330bec5e1fbf6dd344380bee0bb4453074a05 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 31 Mar 2022 09:15:21 +0800 Subject: [PATCH 082/129] nextarea --- .../src/main/java/com/epmet/dao/AreaCodeDao.java | 9 +++++---- .../java/com/epmet/service/impl/AreaCodeServiceImpl.java | 1 + .../src/main/resources/mapper/AreaCodeDao.xml | 8 ++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java index 730689599c..bfe5c8139e 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java @@ -22,6 +22,7 @@ import com.epmet.dto.AreaCodeDTO; import com.epmet.dto.result.AreaCodeResultDTO; import com.epmet.entity.AreaCodeEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -44,11 +45,11 @@ public interface AreaCodeDao extends BaseDao { List selectProvince(); - List selectCity(String pCode); + List selectCity(@Param("pCode")String pCode); - List selectDistrict(String pCode); + List selectDistrict(@Param("pCode")String pCode); - List selectStreet(String pCode); + List selectStreet(@Param("pCode")String pCode); - List selectCommunity(String pCode); + List selectCommunity(@Param("pCode")String pCode); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index 0f2c1861a7..f300c4bb4e 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -711,6 +711,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl - SELECT DISTINCT ac.city_code AS areaCode, ac.city_name AS areaName, @@ -58,7 +58,7 @@ ORDER BY ac.city_code ASC - SELECT DISTINCT ac.county_code AS areaCode, ac.county_name AS areaName, @@ -74,7 +74,7 @@ ORDER BY ac.county_code ASC - SELECT ac.`code` AS areaCode, ac.`name` AS areaName, @@ -91,7 +91,7 @@ ORDER BY ac.`code` ASC - SELECT ac.`code` AS areaCode, ac.`name` AS areaName, From 10e22e375685aa6f7aae48cda9aed1f0f62a0b85 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 31 Mar 2022 09:29:50 +0800 Subject: [PATCH 083/129] =?UTF-8?q?=E8=A1=8C=E7=A8=8B=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/trip_report_import_template.xlsx | Bin 9319 -> 9304 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/trip_report_import_template.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/trip_report_import_template.xlsx index f13d7ec77d97db25035a97f95e3d4ec74c12d1c0..587ecda2e01dbc2cdc40e208af3d235f159e129e 100644 GIT binary patch delta 4665 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 YO9ci10000H01*HO1ONa^AOHXW097x Date: Thu, 31 Mar 2022 09:53:59 +0800 Subject: [PATCH 084/129] =?UTF-8?q?=E5=8F=96=E6=B6=88=E5=85=B3=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/IcEpidemicSpecialAttentionDao.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml index f2757d0b9f..1510da99b8 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml @@ -7,7 +7,8 @@ UPDATE ic_epidemic_special_attention SET UPDATED_TIME = NOW(), - IS_ATTENTION = 0 + IS_ATTENTION = 0, + del_flag = 1 WHERE del_flag = 0 AND attention_type = #{attentionType} AND id_card IN ( From b527890173471190f62da3ae294557449afbe425 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 31 Mar 2022 09:55:19 +0800 Subject: [PATCH 085/129] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E6=A0=B7=E4=BE=8B?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/excel/ic_nat.xlsx | Bin 9114 -> 9157 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx index 4d7df5944a91e416a31a21891975ba1778567252..d74d726f950651308593eff7a73765535b44aff8 100644 GIT binary patch delta 4467 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 F000K7Qs)2w delta 4440 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 From ba47901de89a8db8923d20283bdec16e072aff6d Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 31 Mar 2022 10:36:07 +0800 Subject: [PATCH 086/129] =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=EF=BC=8C=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constants/ImportTaskConstants.java | 4 + .../epmet/dto/form/IcTripReportFormDTO.java | 4 +- .../IcTripReportRecordController.java | 76 ++++++++++- .../excel/data/IcTripReportExcelData.java | 75 +++++++++++ .../IcTripReportExcelImportListener.java | 113 ++++++++++++++++ .../service/IcTripReportRecordService.java | 7 + .../impl/IcTripReportRecordServiceImpl.java | 124 +++++++++++++++++- 7 files changed, 396 insertions(+), 7 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcTripReportExcelData.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java index 46b99ffea4..e15f7f5057 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java @@ -22,6 +22,10 @@ public interface ImportTaskConstants { * 核酸检测 */ String BIZ_TYPE_IC_NAT = "ic_nat"; + /** + * 行程上报 + */ + String BIZ_TYPE_IC_TRIP_REPORT = "ic_trip_report"; /** * 处理状态:处理中 diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java index 3de314d424..d9a7f4d565 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java @@ -74,7 +74,7 @@ public class IcTripReportFormDTO implements Serializable { /** * 现居地编码路径:"presentAddressPathCode":"37,3702,370203,370203026,370203026002" */ - @NotBlank(message = "现居地编码不能为空", groups = {ResiUserRequired.class}) + @NotBlank(message = "现居地编码路径不能为空", groups = {ResiUserRequired.class}) private String presentAddressPathCode; /** @@ -98,7 +98,7 @@ public class IcTripReportFormDTO implements Serializable { /** * 来源地编码路径: "sourceAddressPathCode": "37,3702,370203,370203026,370203026002" */ - @NotBlank(message = "来自地区编码不能为空", groups = {ResiUserRequired.class}) + @NotBlank(message = "来自地编码路径不能为空", groups = {ResiUserRequired.class}) private String sourceAddressPathCode; /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index 4b4fff68f8..4c06646ee1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -5,18 +5,30 @@ 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.AppClientConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.dto.form.PageFormDTO; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.EpmetRequestHolder; import com.epmet.commons.tools.utils.ExcelUtils; +import com.epmet.commons.tools.utils.FileUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.IcResiUserConstant; +import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.IcTripReportRecordDTO; import com.epmet.dto.form.IcTripReportFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.MyReportedTripFormDTO; import com.epmet.dto.form.PageTripReportFormDTO; +import com.epmet.dto.result.ImportTaskCommonResultDTO; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.IcTripReportRecordService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -25,28 +37,34 @@ import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; +import java.nio.file.Path; import java.util.List; +import java.util.UUID; /** * 行程上报信息 * * @author generator generator@elink-cn.com - * @since v1.0.0 2022-03-25 + * @since v10.0 2022-03-25 */ @Slf4j @RestController @RequestMapping("tripreport") -public class IcTripReportRecordController { +public class IcTripReportRecordController implements ResultDataResolver { @Autowired private IcTripReportRecordService icTripReportRecordService; + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; /** * pc: 行程上报-列表 @@ -203,4 +221,58 @@ public class IcTripReportRecordController { } } } + + + /** + * 导入excel + * @return + */ + @PostMapping("import") + public Result importExcel(MultipartFile file) { + String userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + + // 1.暂存文件 + String originalFilename = file.getOriginalFilename(); + String extName = originalFilename.substring(originalFilename.lastIndexOf(".")); + + Path fileSavePath; + try { + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_trip_preport", "import"); + fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); + } catch (IOException e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【行程上报导入】创建临时存储文件失败:{}", errorMsg); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); + } + + InputStream is = null; + FileOutputStream os = null; + + try { + is = file.getInputStream(); + os = new FileOutputStream(fileSavePath.toString()); + IOUtils.copy(is, os); + } catch (Exception e) { + e.printStackTrace(); + } finally { + org.apache.poi.util.IOUtils.closeQuietly(is); + org.apache.poi.util.IOUtils.closeQuietly(os); + } + + // 2.生成导入任务记录 + ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); + importTaskForm.setOperatorId(userId); + importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_TRIP_REPORT); + importTaskForm.setOriginFileName(originalFilename); + + ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm), + ServiceConstant.EPMET_COMMON_SERVICE, + EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), + "excel行程上报导入错误", + "行程上报导入失败"); + + // 3.执行导入 + icTripReportRecordService.execAsyncExcelImport(fileSavePath, rstData.getTaskId()); + return new Result(); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcTripReportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcTripReportExcelData.java new file mode 100644 index 0000000000..f6f2a86e42 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcTripReportExcelData.java @@ -0,0 +1,75 @@ +package com.epmet.excel.data; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + + +/** + * 行程上报excel数据 + */ +@Data +public class IcTripReportExcelData { + @NotBlank(message = "姓名为必填项") + @ExcelProperty("姓名") + private String name; + + @NotBlank(message = "身份证号为必填项") + @ExcelProperty("身份证号") + private String idCard; + + @NotBlank(message = "手机号为必填项") + @ExcelProperty("手机号") + private String mobile; + + @NotBlank(message = "现居地为必填项") + @ExcelProperty("现居地(格式:省-市-区-街道-社区)") + private String presentAddress; + + @NotBlank(message = "详细地址为必填项") + @ExcelProperty("详细地址") + private String detailAddress; + + @NotBlank(message = "来自地区为必填项") + @ExcelProperty("来自地区(格式:省-市-区-街道-社区)") + private String sourceAddress; + + @NotNull(message = "来到本地时间为必填项") + @ExcelProperty("来到本地时间(格式:2022-01-01)") + private Date arriveDate; + + @ExcelProperty("离开本地时间(格式:2022-01-01)") + private Date leaveDate; + + /** + * 备注信息 + */ + @Length(max = 500,message = "备注不能超过500字") + @ExcelProperty("备注(500字以内)") + private String remark; + + @Data + public static class ErrorRow { + + @ExcelProperty("姓名") + @ColumnWidth(20) + private String name; + + @ColumnWidth(20) + @ExcelProperty("身份证号") + private String idCard; + + @ExcelProperty("手机号") + @ColumnWidth(20) + private String mobile; + + @ColumnWidth(60) + @ExcelProperty("错误信息") + private String errorInfo; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java new file mode 100644 index 0000000000..e0531d7303 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java @@ -0,0 +1,113 @@ +package com.epmet.excel.handler; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.ValidateException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.constant.IcResiUserConstant; +import com.epmet.entity.IcTripReportRecordEntity; +import com.epmet.excel.data.IcTripReportExcelData; +import com.epmet.service.impl.IcTripReportRecordServiceImpl; +import lombok.extern.slf4j.Slf4j; + +import java.util.ArrayList; +import java.util.List; + + +/** + * 行程上报excel导入监听器 + */ +@Slf4j +public class IcTripReportExcelImportListener implements ReadListener { + + + /** + * 最大条数阈值 + */ + public static final int MAX_THRESHOLD = 2; + /** + * 当前操作用户 + */ + private CustomerStaffInfoCacheResult staffInfo; + + /** + * 数据 + */ + private List datas = new ArrayList<>(); + + /** + * 错误项列表 + */ + private List errorRows = new ArrayList<>(); + + private IcTripReportRecordServiceImpl tripReportRecordService; + + public IcTripReportExcelImportListener(CustomerStaffInfoCacheResult staffInfo, IcTripReportRecordServiceImpl tripReportRecordService) { + this.staffInfo = staffInfo; + this.tripReportRecordService = tripReportRecordService; + } + + @Override + public void invoke(IcTripReportExcelData data, AnalysisContext context) { + + try { + // 先校验数据 + ValidatorUtils.validateEntity(data); + + IcTripReportRecordEntity tripReportRecordEntity = ConvertUtils.sourceToTarget(data, IcTripReportRecordEntity.class); + tripReportRecordEntity.setAgencyId(staffInfo.getAgencyId()); + tripReportRecordEntity.setPids(staffInfo.getAgencyPIds()); + tripReportRecordEntity.setUserType(IcResiUserConstant.USER_TYPE_IMPORT); + datas.add(tripReportRecordEntity); + + if (datas.size() == MAX_THRESHOLD) { + execPersist(); + } + } catch (Exception e) { + String errorMsg = null; + if (e instanceof ValidateException) { + errorMsg = ((ValidateException) e).getMsg(); + } else { + errorMsg = "未知错误"; + log.error("【行程上报导入】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } + + IcTripReportExcelData.ErrorRow errorRow = new IcTripReportExcelData.ErrorRow(); + errorRow.setName(data.getName()); + errorRow.setMobile(data.getMobile()); + errorRow.setIdCard(data.getIdCard()); + errorRow.setErrorInfo(errorMsg); + errorRows.add(errorRow); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + // 最后几条达不到阈值,这里必须再调用一次 + execPersist(); + } + + /** + * 执行持久化 + */ + private void execPersist() { + try { + if (datas != null && datas.size() > 0) { + tripReportRecordService.batchPersist(datas); + } + } finally { + datas.clear(); + } + } + + /** + * 获取错误行 + * @return + */ + public List getErrorRows() { + return errorRows; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java index a7f961542d..66ec0d9f9e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java @@ -9,6 +9,7 @@ import com.epmet.dto.form.PageTripReportFormDTO; import com.epmet.dto.result.TripListDTO; import com.epmet.entity.IcTripReportRecordEntity; +import java.nio.file.Path; import java.util.List; import java.util.Map; @@ -93,4 +94,10 @@ public interface IcTripReportRecordService extends BaseService tripList(String customerId, String idCard); + + /** + * 执行Excel导入 + * @param filePath + */ + void execAsyncExcelImport(Path filePath, String importTaskId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index 5c42a0d00e..e8597fed16 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -1,28 +1,38 @@ package com.epmet.service.impl; +import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +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.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; 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.GridInfoCache; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.*; import com.epmet.constant.IcResiUserConstant; +import com.epmet.constants.ImportTaskConstants; 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.dto.result.UploadImgResultDTO; import com.epmet.entity.IcTripReportRecordEntity; +import com.epmet.excel.data.IcTripReportExcelData; +import com.epmet.excel.handler.IcTripReportExcelImportListener; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.OssFeignClient; import com.epmet.service.IcEpidemicSpecialAttentionService; import com.epmet.service.IcNoticeService; import com.epmet.service.IcTripReportRecordService; @@ -32,11 +42,21 @@ 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.fileupload.FileItem; +import org.apache.commons.fileupload.FileItemFactory; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.lang3.StringUtils; +import org.apache.http.entity.ContentType; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.commons.CommonsMultipartFile; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.*; import java.util.stream.Collectors; @@ -48,7 +68,7 @@ import java.util.stream.Collectors; */ @Slf4j @Service -public class IcTripReportRecordServiceImpl extends BaseServiceImpl implements IcTripReportRecordService { +public class IcTripReportRecordServiceImpl extends BaseServiceImpl implements IcTripReportRecordService, ResultDataResolver { @Autowired private UserBaseInfoDao userBaseInfoDao; //关注 @@ -57,6 +77,11 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl errorRows = listener.getErrorRows(); + + // 生成并上传错误文件 + try { + // 文件生成 + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_trip_preport", "import", "error_des"); + String fileName = UUID.randomUUID().toString().concat(".xlsx"); + errorDescFile = errorDescDir.resolve(fileName); + + FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile()); + FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); + OutputStream os = fileItem.getOutputStream(); + + EasyExcel.write(os, IcTripReportExcelData.ErrorRow.class).sheet("导入失败列表").doWrite(errorRows); + + // 文件上传oss + Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + if (errorDesFileUploadResult.success()) { + errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); + } + } finally { + if (Files.exists(errorDescFile)) { + Files.delete(errorDescFile); + } + } + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(errorRows.size() <= 0 ? ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS : ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc(""); + importFinishTaskForm.setResultDescFilePath(errorDesFileUrl); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【行程上报导入】finishImportTask失败"); + } + } catch (Exception e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【行程上报导入】出错:{}", errorMsg); + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc("导入失败"); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【行程上报导入】导入记录状态修改为'完成'失败"); + } + } finally { + // 删除临时文件 + if (Files.exists(filePath)) { + try { + Files.delete(filePath); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + } + + /** + * 批量持久化 + * @param entities + */ + public void batchPersist(List entities) { + String currentUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + entities.forEach(e -> { + String id = IdWorker.getIdStr(e); + e.setId(id); + e.setUpdatedBy(currentUserId); + baseDao.insert(e); + }); + } } \ No newline at end of file From 4f7bc79e97c0107f60f64a7dd6a5048f548a3627 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 31 Mar 2022 10:47:48 +0800 Subject: [PATCH 087/129] excel --- .../epmet/controller/IcTripReportRecordController.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index 4c06646ee1..98e5e9bd47 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -15,10 +15,7 @@ import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; -import com.epmet.commons.tools.utils.EpmetRequestHolder; -import com.epmet.commons.tools.utils.ExcelUtils; -import com.epmet.commons.tools.utils.FileUtils; -import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.IcResiUserConstant; import com.epmet.constants.ImportTaskConstants; @@ -46,6 +43,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; import java.nio.file.Path; +import java.util.Date; import java.util.List; import java.util.UUID; @@ -202,7 +200,8 @@ public class IcTripReportRecordController implements ResultDataResolver { int pageNo = formDTO.getPageNo(); try { // 这里 需要指定写用哪个class去写 - String fileName = "行程上报.xlsx"; + 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").build(); PageData data = null; From 0d1f3b77c051370f429ca36dbb09253a55db14da Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 31 Mar 2022 10:55:09 +0800 Subject: [PATCH 088/129] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=EF=BC=9A=E6=B2=A1=E6=9C=89=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=EF=BC=8C=E8=B5=8B=E5=80=BC=E7=A9=BA=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/excel/handler/IcNatExcelImportListener.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java index ebfb593947..1d06cd6b0d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -60,7 +60,8 @@ public class IcNatExcelImportListener implements ReadListener Date: Thu, 31 Mar 2022 11:12:27 +0800 Subject: [PATCH 089/129] customerId --- .../IcTripReportExcelImportListener.java | 5 ++++- .../impl/IcTripReportRecordServiceImpl.java | 2 +- .../excel/trip_report_import_template.xlsx | Bin 9304 -> 9231 bytes 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java index e0531d7303..20e9ed3dc5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java @@ -32,6 +32,7 @@ public class IcTripReportExcelImportListener implements ReadListener0O|=OB#J=X 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 e(*33BzsdWbX2!qP{QD3%dWl!Vlz From a899d1107c3c8ed7ed85a8ec796e5df6be61a889 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 31 Mar 2022 13:37:56 +0800 Subject: [PATCH 090/129] 2 --- .../service/impl/IcEpidemicSpecialAttentionServiceImpl.java | 2 +- .../com/epmet/service/impl/IcTripReportRecordServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index 83d2ed51cf..9b142bbf85 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -437,7 +437,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl(); } //关注类型,核酸检测:2,疫苗接种:1,行程上报:0 - return baseDao.getIdCardList(customerId,idCardSet,NumConstant.ZERO); + return baseDao.getIdCardList(customerId,idCardSet,NumConstant.TWO); } /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index 27e2ab4f7a..e2c5ed7213 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -217,7 +217,7 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl Date: Thu, 31 Mar 2022 14:03:50 +0800 Subject: [PATCH 091/129] =?UTF-8?q?=E6=89=B9=E9=87=8F=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java | 1 - 1 file changed, 1 deletion(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java index c4113e4f9b..bd24801531 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java @@ -42,7 +42,6 @@ public class SendNoticeFormDTO implements Serializable { /** * 组织名 */ - @NotNull(message = "组织名不能为空", groups = DefaultGroup.class) private String orgName; @NoArgsConstructor From b49d1bfec645b94eabf2762e63299e40bae47cce Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 31 Mar 2022 16:10:02 +0800 Subject: [PATCH 092/129] =?UTF-8?q?=E9=98=B2=E7=96=AB=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/EpidemicPreventionFormDTO.java | 3 +++ .../main/resources/mapper/IcResiUserDao.xml | 24 +++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java index d848f1e545..9685df941a 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java @@ -64,4 +64,7 @@ public class EpidemicPreventionFormDTO extends PageFormDTO implements Serializab * 核酸检测次数 */ private Integer natCount; + + private String startDate; + private String endDate; } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index ca26c6bf4e..425a17d3c3 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -656,8 +656,28 @@ 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 + LEFT JOIN ( + SELECT ID_CARD, count( id ) AS count + FROM ic_resi_vaccine + WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} + + AND DATE_FORMAT(INOCULATE_TIME,"%Y-%m-%d") > #{startDate} + + + AND DATE_FORMAT(INOCULATE_TIME,"%Y-%m-%d") < #{endDate} + + 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} + + AND DATE_FORMAT(NAT_TIME,"%Y-%m-%d") > #{startDate} + + + AND DATE_FORMAT(NAT_TIME,"%Y-%m-%d") < #{endDate} + + GROUP BY ID_CARD ) c ON a.ID_CARD = c.ID_CARD WHERE a.DEL_FLAG = '0' From f1d8b445f28183eb132a122169a204fb174e364b Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 31 Mar 2022 16:16:11 +0800 Subject: [PATCH 093/129] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/IcNatRelationDTO.java | 82 +++++++++++++++++++ .../controller/IcNatRelationController.java | 24 ++++++ .../java/com/epmet/dao/IcNatRelationDao.java | 16 ++++ .../com/epmet/entity/IcNatRelationEntity.java | 52 ++++++++++++ .../epmet/service/IcNatRelationService.java | 14 ++++ .../impl/IcNatRelationServiceImpl.java | 19 +++++ .../resources/mapper/IcNatRelationDao.xml | 7 ++ 7 files changed, 214 insertions(+) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatRelationDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatRelationController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatRelationDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatRelationService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatRelationServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcNatRelationDao.xml diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatRelationDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatRelationDTO.java new file mode 100644 index 0000000000..eade3aac7b --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatRelationDTO.java @@ -0,0 +1,82 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 核酸记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-31 + */ +@Data +public class IcNatRelationDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id + */ + private String agencyId; + + /** + * 组织pids,包含当前agencyId值 + */ + private String pids; + + /** + * 核酸记录表Id(ic_nat.id) + */ + private String icNatId; + + /** + * 关系数据的绑定途径【居民端录入:resi; +数字社区录入:icresi; +导入的:import; +同步的:synchro】 + */ + private String userType; + + /** + * 删除标识 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatRelationController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatRelationController.java new file mode 100644 index 0000000000..9fb17bbd23 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatRelationController.java @@ -0,0 +1,24 @@ +package com.epmet.controller; + +import com.epmet.service.IcNatRelationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * 核酸记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-31 + */ +@RestController +@RequestMapping("icNatRelation") +public class IcNatRelationController { + + @Autowired + private IcNatRelationService icNatRelationService; + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatRelationDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatRelationDao.java new file mode 100644 index 0000000000..27b20bcfaf --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatRelationDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcNatRelationEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 核酸记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-31 + */ +@Mapper +public interface IcNatRelationDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java new file mode 100644 index 0000000000..7da911ee59 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java @@ -0,0 +1,52 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 核酸记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-31 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_nat_relation") +public class IcNatRelationEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id + */ + private String agencyId; + + /** + * 组织pids,包含当前agencyId值 + */ + private String pids; + + /** + * 核酸记录表Id(ic_nat.id) + */ + private String icNatId; + + /** + * 关系数据的绑定途径【居民端录入:resi; + 数字社区录入:icresi; + 导入的:import; + 同步的:synchro】 + */ + private String userType; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatRelationService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatRelationService.java new file mode 100644 index 0000000000..4d918aaea3 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatRelationService.java @@ -0,0 +1,14 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.entity.IcNatRelationEntity; + +/** + * 核酸记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-31 + */ +public interface IcNatRelationService extends BaseService { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatRelationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatRelationServiceImpl.java new file mode 100644 index 0000000000..91e27f25a4 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatRelationServiceImpl.java @@ -0,0 +1,19 @@ +package com.epmet.service.impl; + +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.dao.IcNatRelationDao; +import com.epmet.entity.IcNatRelationEntity; +import com.epmet.service.IcNatRelationService; +import org.springframework.stereotype.Service; + +/** + * 核酸记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-31 + */ +@Service +public class IcNatRelationServiceImpl extends BaseServiceImpl implements IcNatRelationService { + + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatRelationDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatRelationDao.xml new file mode 100644 index 0000000000..b9ebe8f3b0 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatRelationDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From 71a0ed557578b1da2a30372c364b9db60a785029 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 31 Mar 2022 16:21:23 +0800 Subject: [PATCH 094/129] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcNatDTO.java | 5 +++++ .../src/main/java/com/epmet/entity/IcNatEntity.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java index 9c98833ed4..de70acadb5 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java @@ -41,6 +41,11 @@ public class IcNatDTO implements Serializable { */ private String pids; + /** + * 是否客户下居民(0:否 1:是) + */ + private String isResiUser; + /** * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java index 1fee4076a4..44833b62d3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java @@ -39,6 +39,11 @@ public class IcNatEntity extends BaseEpmetEntity { */ private String pids; + /** + * 是否客户下居民(0:否 1:是) + */ + private String isResiUser; + /** * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 */ From d15d15b2cc6c8760a74c12c922e5a970058236de Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 31 Mar 2022 16:47:27 +0800 Subject: [PATCH 095/129] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=AD=9B=E9=80=89?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/EpidemicPreventionFormDTO.java | 16 +++- .../IcEpidemicPreventionController.java | 7 ++ .../java/com/epmet/dao/IcResiUserDao.java | 3 + .../com/epmet/service/IcResiUserService.java | 1 + .../service/impl/IcResiUserServiceImpl.java | 13 ++++ .../main/resources/mapper/IcResiUserDao.xml | 73 +++++++++++++++++++ 6 files changed, 111 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java index 9685df941a..83d22c6a13 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java @@ -56,6 +56,16 @@ public class EpidemicPreventionFormDTO extends PageFormDTO implements Serializab * 身份证 */ private String idCard; + + /** + * 开始日期 + */ + private String startDate; + + /** + * 结束日期 + */ + private String endDate; /** * 疫苗接种次数 */ @@ -65,6 +75,8 @@ public class EpidemicPreventionFormDTO extends PageFormDTO implements Serializab */ private Integer natCount; - private String startDate; - private String endDate; + /** + * 关注类型,核酸检测:2,疫苗接种:1 + */ + private Integer attentionType; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java index 10394a9987..de3612756d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java @@ -64,6 +64,13 @@ public class IcEpidemicPreventionController{ return new Result>().ok(result); } + @PostMapping("user-list") + public Result> userList(@LoginUser TokenDto tokenDto, @RequestBody EpidemicPreventionFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + PageData result = icResiUserService.userList(formDTO); + return new Result>().ok(result); + } + /** * 居民防疫信息详情 * @Param formDTO diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index ddd9d8ff20..c6e23272e5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -280,4 +280,7 @@ public interface IcResiUserDao extends BaseDao { */ List getEpidemicPreventionList(EpidemicPreventionFormDTO formDTO); + List natList(EpidemicPreventionFormDTO formDTO); + List vaccineList(EpidemicPreventionFormDTO formDTO); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index ef3c99338a..fd3e49415d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -226,6 +226,7 @@ public interface IcResiUserService extends BaseService { * @Date 2022/3/29 14:27 */ PageData epidemicPreventionList(EpidemicPreventionFormDTO formDTO); + PageData userList(EpidemicPreventionFormDTO formDTO); /** * 居民防疫信息详情 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 2b02a65fb5..d98de8312d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -1278,6 +1278,19 @@ public class IcResiUserServiceImpl extends BaseServiceImpl(list, pageInfo.getTotal()); } + @Override + public PageData userList(EpidemicPreventionFormDTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List list = new ArrayList<>(); + if (formDTO.getAttentionType().equals(NumConstant.TWO)){ + list = baseDao.natList(formDTO); + }else if (formDTO.getAttentionType().equals(NumConstant.ONE)){ + list = baseDao.vaccineList(formDTO); + } + PageInfo pageInfo = new PageInfo<>(list); + return new PageData<>(list, pageInfo.getTotal()); + } + /** * 居民防疫信息详情 * diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 425a17d3c3..03e32c884a 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -724,4 +724,77 @@ ORDER BY `NAME` + + + From 05493fa1375aa677d0d6b82adbc2a25048819571 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 31 Mar 2022 17:09:51 +0800 Subject: [PATCH 096/129] =?UTF-8?q?=E9=87=87=E9=9B=86=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=90=8D=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/db/migration/V0.0.34__modify_collect.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.34__modify_collect.sql diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.34__modify_collect.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.34__modify_collect.sql new file mode 100644 index 0000000000..a958e05946 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.34__modify_collect.sql @@ -0,0 +1,4 @@ +alter TABLE ic_resi_collect add COLUMN `VILLAGE_NAME` varchar(64) DEFAULT NULL COMMENT '所属小区名称' AFTER VILLAGE_ID; +alter TABLE ic_resi_collect add COLUMN `BUILD_NAME` varchar(64) DEFAULT NULL COMMENT '所属楼宇名称' AFTER BUILD_ID; +alter TABLE ic_resi_collect add COLUMN `UNIT_NAME` varchar(64) DEFAULT NULL COMMENT '单元名' AFTER UNIT_ID; +alter TABLE ic_resi_collect add COLUMN `HOME_NAME` varchar(64) DEFAULT NULL COMMENT '房间名' AFTER HOME_ID; \ No newline at end of file From 6108624ed5c27b11ae94aa32ed9f4e149b675112 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 31 Mar 2022 17:21:09 +0800 Subject: [PATCH 097/129] =?UTF-8?q?=E9=87=87=E9=9B=86=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=90=8D=E5=AD=97=20v1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/ResiCollectFormDTO.java | 9 +++++++++ .../java/com/epmet/dto/result/LatestCollectResDTO.java | 9 +++++++++ .../main/java/com/epmet/entity/IcResiCollectEntity.java | 5 ++++- .../com/epmet/service/impl/IcResiCollectServiceImpl.java | 4 ++++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiCollectFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiCollectFormDTO.java index fdd712970f..9778cb6a17 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiCollectFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiCollectFormDTO.java @@ -52,24 +52,32 @@ public class ResiCollectFormDTO implements Serializable { */ @NotBlank(message = "小区不能为空", groups = InternalShowGroup.class) private String villageId; + @NotBlank(message = "小区名不能为空", groups = InternalShowGroup.class) + private String villageName; /** * 所属楼宇Id */ @NotBlank(message = "楼栋不能为空", groups = InternalShowGroup.class) private String buildId; + @NotBlank(message = "楼栋名不能为空",groups = InternalShowGroup.class) + private String buildName; /** * 单元id */ @NotBlank(message = "单元不能为空", groups = InternalShowGroup.class) private String unitId; + @NotBlank(message = "单元名不能为空",groups = InternalShowGroup.class) + private String unitName; /** * 所属家庭Id */ @NotBlank(message = "家庭不能为空", groups = InternalShowGroup.class) private String homeId; + @NotBlank(message = "家庭名不能为空",groups = InternalShowGroup.class) + private String homeName; /** * 详细地址 @@ -102,4 +110,5 @@ public class ResiCollectFormDTO implements Serializable { @NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class) private String userId; + } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestCollectResDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestCollectResDTO.java index f7d698badd..70247e24cd 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestCollectResDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestCollectResDTO.java @@ -59,6 +59,11 @@ public class LatestCollectResDTO implements Serializable { */ private Integer totalResi; + private String villageName; + private String buildName; + private String unitName; + private String homeName; + @Valid private List memberList; @@ -78,5 +83,9 @@ public class LatestCollectResDTO implements Serializable { this.houseHolderName=""; this.totalResi=0; this.memberList=new ArrayList<>(); + this.villageName=""; + this.buildName=""; + this.unitName=""; + this.homeName=""; } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectEntity.java index 1123bca8b8..8b6a20d87b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectEntity.java @@ -82,5 +82,8 @@ public class IcResiCollectEntity extends BaseEpmetEntity { * 居住成员人数 */ private Integer totalResi; - + private String villageName; + private String buildName; + private String unitName; + private String homeName; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java index c73a39d794..5fb9b80a4b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java @@ -230,5 +230,9 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl Date: Thu, 31 Mar 2022 17:33:31 +0800 Subject: [PATCH 098/129] =?UTF-8?q?y=E4=B8=9A=E5=8A=A1=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=BC=95=E8=B5=B7=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/exception/EpmetErrorCode.java | 2 +- .../com/epmet/dto/form/AddIcNatFormDTO.java | 5 +- .../com/epmet/dto/form/MyNatListFormDTO.java | 4 ++ .../epmet/dto/result/NatListResultDTO.java | 4 ++ .../src/main/java/com/epmet/dao/IcNatDao.java | 10 +++- .../epmet/service/impl/IcNatServiceImpl.java | 47 ++++++++++++------- 6 files changed, 52 insertions(+), 20 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index bf8bcdc86b..e0623c7648 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -251,7 +251,7 @@ public enum EpmetErrorCode { ORG_EDIT_FAILED(8920,"编辑失败"), ORG_DEL_FAILED(8921,"删除失败"), NEIGHBORHOOD_DEL_FAILED(8922,""), - IC_NAT_IDCARD_NATTIME(8923,"核酸检测时间已存在相同记录"), + IC_NAT_IDCARD_NATTIME(8923,"已存在相同记录"), //通用错误码 start diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java index b67375b5c5..9472ea4314 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -80,11 +80,14 @@ public class AddIcNatFormDTO implements Serializable { * 附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) */ private String attachmentType; - /** * 附件地址 */ private String attachmentUrl; + /** + * 是否客户下居民(0:否 1:是) + */ + private String isResiUser = "0"; /** * 通知渠道 0小程序通知,1短信通知,多选是数组 */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java index 157bc89a27..0272a30799 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java @@ -38,6 +38,10 @@ public class MyNatListFormDTO extends PageFormDTO { * 手机号 */ private String mobile; + /** + * 是否客户下居民(0:否 1:是) + */ + private String isResiUser; /** * 检测开始时间yyyy-MM-dd HH:mm */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java index a65563bb5b..5a8d622f7d 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java @@ -35,6 +35,10 @@ public class NatListResultDTO implements Serializable { */ @ExcelIgnore private String userId; + /** + * 是否客户下居民(0:否 1:是) + */ + private String isResiUser; /** * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java index 22afc94f76..550e1371fb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -28,10 +28,16 @@ public interface IcNatDao extends BaseDao { /** * @Author sun - * @Description 【核酸】核酸检测信息列表 + * @Description 【核酸】本辖区核酸检测信息列表 **/ List getNatList(MyNatListFormDTO formDTO); + /** + * @Author sun + * @Description 【核酸】客户下核酸检测信息列表 + **/ + List getCustomerNatList(MyNatListFormDTO formDTO); + /** * @Author sun * @Description 删除/取消同步操作--物理删除业务数据 @@ -48,5 +54,5 @@ public interface IcNatDao extends BaseDao { * @Author sun * @Description 按条件查询业务数据 **/ - IcNatDTO getNatDTO(@Param("customerId") String customerId, @Param("icNatId") String icNatId, @Param("idCard") String idCard, @Param("natTime") String natTime); + IcNatDTO getNatDTO(@Param("customerId") String customerId, @Param("icNatId") String icNatId, @Param("idCard") String idCard, @Param("natTime") String natTime, @Param("natResult") String natResult); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index f07bb78df9..d4a334a24e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -3,6 +3,7 @@ package com.epmet.service.impl; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.NumConstant; @@ -20,12 +21,14 @@ import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.*; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcNatDao; +import com.epmet.dao.IcNatRelationDao; import com.epmet.dao.UserBaseInfoDao; import com.epmet.dto.IcNatDTO; import com.epmet.dto.IcNoticeDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IcNatEntity; +import com.epmet.entity.IcNatRelationEntity; import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.excel.handler.IcNatExcelImportListener; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; @@ -69,18 +72,16 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Autowired private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; - @Autowired private EpmetUserOpenFeignClient epmetUserOpenFeignClient; - @Autowired private IcNoticeService icNoticeService; - @Autowired private OssFeignClient ossFeignClient; - @Autowired private UserBaseInfoDao userBaseInfoDao; + @Autowired + private IcNatRelationDao icNatRelationDao; /** * @Author sun @@ -90,7 +91,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Transactional(rollbackFor = Exception.class) public void add(AddIcNatFormDTO formDTO) { //0.先根据身份证号和检查时间校验数据是否存在 - IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), null, formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)); + IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), null, formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), formDTO.getNatResult()); if (null != icNatDTO) { throw new RenException(EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getCode(), EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getMsg()); } @@ -99,10 +100,17 @@ public class IcNatServiceImpl extends BaseServiceImpl imp if (null == agencyInfo) { throw new RenException(String.format("获取组织缓存信息失败%s", formDTO.getAgencyId())); } - //2.新增核酸记录表数据 + //2.新增核酸基础信息数据 IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); - entity.setPids(agencyInfo.getPids()); + if(StringUtils.isNotBlank(formDTO.getUserId())){ + entity.setIsResiUser("1"); + } insert(entity); + //3.核酸记录关系表新增与组织的关系数据 + IcNatRelationEntity relationEntity = ConvertUtils.sourceToTarget(formDTO, IcNatRelationEntity.class); + relationEntity.setIcNatId(entity.getId()); + relationEntity.setPids(StringUtils.isNotBlank(agencyInfo.getPids())?agencyInfo.getPids()+":"+formDTO.getAgencyId():agencyInfo.getPids()); + icNatRelationDao.insert(relationEntity); //3.新增通知表信息 if (formDTO.getChannel().size() > NumConstant.ZERO) { @@ -129,32 +137,39 @@ public class IcNatServiceImpl extends BaseServiceImpl imp //1.根据token信息查询居民身份证号 UserBaseInfoResultDTO dto = userBaseInfoDao.selectListByUserIdList(formDTO.getUserId()); formDTO.setIdCard(dto.getIdNum()); - //2.查询当前人员创建的或该身份证号录入的核算检测数据(居民端录入、数字平台录入、数字平台导入) + //2.查询当前人员创建的或该身份证号录入的核算检测数据(居民端录入、数字平台录入、数字平台导入、数字平台同步的) List resultList = baseDao.getMyNatList(formDTO); return resultList; } /** * @Author sun - * @Description 【核酸】核酸检测信息列表 + * @Description 【核酸】本组织及下级核酸检测信息列表 * * @return*/ @Override public PageData natList(MyNatListFormDTO formDTO) { - //1.根据orgType值判断是查询当前组织下还是整个客户下数据 + //1.根据是查询客户数据还是本辖区数据走不同逻辑 if ("current".equals(formDTO.getOrgType())) { - //获取工作人员缓存信息 + //本辖区数据 + //2.获取工作人员缓存信息 CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); if (null == staffInfo) { throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); } formDTO.setAgencyId(staffInfo.getAgencyId()); + //3.按条件查询业务数据 + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) + .doSelectPageInfo(() -> baseDao.getNatList(formDTO)); + return new PageData(data.getList(),data.getTotal()); + } else if ("current".equals(formDTO.getOrgType())) { + //客户下数据 + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) + .doSelectPageInfo(() -> baseDao.getCustomerNatList(formDTO)); + return new PageData(data.getList(),data.getTotal()); } - //2.按条件查询业务数据 - PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) - .doSelectPageInfo(() -> baseDao.getNatList(formDTO)); - return new PageData(data.getList(),data.getTotal()); + return new PageData(new ArrayList(), 0); } /** @@ -189,7 +204,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Transactional(rollbackFor = Exception.class) public void edit(AddIcNatFormDTO formDTO) { //0.先根据身份证号和检测时间校验除当前数据是否还存在相同数据 - IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), formDTO.getIcNatId(), formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)); + IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), formDTO.getIcNatId(), formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), formDTO.getNatResult()); if (null != icNatDTO) { throw new RenException(EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getCode(), EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getMsg()); } From a49b6672d001b8111652b4bf523190814d214f77 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 1 Apr 2022 09:18:37 +0800 Subject: [PATCH 099/129] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=BC=95=E8=B5=B7=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/IcNatServiceImpl.java | 22 ++++++-- .../src/main/resources/mapper/IcNatDao.xml | 50 +++++++++++++++++-- 2 files changed, 63 insertions(+), 9 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index d4a334a24e..734d31b40c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -90,7 +90,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Override @Transactional(rollbackFor = Exception.class) public void add(AddIcNatFormDTO formDTO) { - //0.先根据身份证号和检查时间校验数据是否存在 + //0.先根据身份证号和检查时间以及检测结果校验数据是否存在 IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), null, formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), formDTO.getNatResult()); if (null != icNatDTO) { throw new RenException(EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getCode(), EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getMsg()); @@ -161,12 +161,12 @@ public class IcNatServiceImpl extends BaseServiceImpl imp //3.按条件查询业务数据 PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) .doSelectPageInfo(() -> baseDao.getNatList(formDTO)); - return new PageData(data.getList(),data.getTotal()); + return new PageData(data.getList(), data.getTotal()); } else if ("current".equals(formDTO.getOrgType())) { //客户下数据 PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) .doSelectPageInfo(() -> baseDao.getCustomerNatList(formDTO)); - return new PageData(data.getList(),data.getTotal()); + return new PageData(data.getList(), data.getTotal()); } return new PageData(new ArrayList(), 0); @@ -203,12 +203,12 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Override @Transactional(rollbackFor = Exception.class) public void edit(AddIcNatFormDTO formDTO) { - //0.先根据身份证号和检测时间校验除当前数据是否还存在相同数据 + //0.先根据身份证号和检测时间以及检测结果校验除当前数据是否还存在相同数据 IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), formDTO.getIcNatId(), formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), formDTO.getNatResult()); if (null != icNatDTO) { throw new RenException(EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getCode(), EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getMsg()); } - //1.更新核酸记录表数据 + //1.更新核酸记录基础信息表数据 IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); entity.setId(formDTO.getIcNatId()); if (!updateById(entity)) { @@ -216,6 +216,17 @@ public class IcNatServiceImpl extends BaseServiceImpl imp throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "核酸记录修改失败"); } + //2.更新与组织的关系表数据 + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId()); + if (null == agencyInfo) { + throw new RenException(String.format("获取组织缓存信息失败%s", formDTO.getAgencyId())); + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcNatRelationEntity::getIcNatId, formDTO.getIcNatId()); + IcNatRelationEntity relationEntity = ConvertUtils.sourceToTarget(formDTO, IcNatRelationEntity.class); + relationEntity.setPids(StringUtils.isNotBlank(agencyInfo.getPids()) ? agencyInfo.getPids() + ":" + formDTO.getAgencyId() : agencyInfo.getPids()); + icNatRelationDao.update(relationEntity, wrapper); + //3.新增通知表信息 if (CollectionUtils.isNotEmpty(formDTO.getChannel())) { SendNoticeFormDTO dto = new SendNoticeFormDTO(); @@ -229,6 +240,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp dto.setStaffId(formDTO.getStaffId()); icNoticeService.sendNotice(dto); } + } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index 06cbc05a85..0c011b7e19 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -31,10 +31,52 @@ + + SELECT id, - agency_id, user_id, user_type, `name`, From e04ba69cd0a6973340f1a106ac08af2e66c16adf Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 1 Apr 2022 11:23:48 +0800 Subject: [PATCH 103/129] isPage --- .../main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java | 2 +- .../java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java index fe22284567..982f3e02a9 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java @@ -33,7 +33,7 @@ public class PageFormDTO implements Serializable { */ private Integer offset; - private boolean isPage = true; + private Boolean isPage; public Integer getOffset() { return (pageNo-1)*pageSize; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java index 331552e4a3..b5ee1a460b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java @@ -689,7 +689,7 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl result = null; List list = null; - if (params.isPage()){ + if (params.getIsPage()){ Page objects = PageHelper.startPage(params.getPageNo(), params.getPageSize()).doSelectPage(() -> { baseDao.selectList(wrapper); }); From 07a60f36ad6de164661889679d1a640fca479bd4 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 1 Apr 2022 13:53:03 +0800 Subject: [PATCH 104/129] isPage --- .../java/com/epmet/service/impl/ImportTaskServiceImpl.java | 2 +- .../controller/IcEpidemicSpecialAttentionController.java | 2 +- .../java/com/epmet/controller/IcFollowUpRecordController.java | 2 +- .../src/main/java/com/epmet/controller/IcNatController.java | 2 +- .../java/com/epmet/controller/IcResiCollectController.java | 2 +- .../com/epmet/controller/IcTripReportRecordController.java | 2 +- .../com/epmet/controller/PatrolRoutineWorkController.java | 2 +- .../service/impl/IcEpidemicSpecialAttentionServiceImpl.java | 4 ++-- .../com/epmet/service/impl/IcFollowUpRecordServiceImpl.java | 2 +- .../main/java/com/epmet/service/impl/IcNatServiceImpl.java | 4 ++-- .../java/com/epmet/service/impl/IcResiCollectServiceImpl.java | 2 +- .../com/epmet/service/impl/IcTripReportRecordServiceImpl.java | 2 +- .../com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java | 2 +- 13 files changed, 15 insertions(+), 15 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ImportTaskServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ImportTaskServiceImpl.java index cb28fecad8..795f553af5 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ImportTaskServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ImportTaskServiceImpl.java @@ -98,7 +98,7 @@ public class ImportTaskServiceImpl implements ImportTaskService { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ImportTaskEntity::getOperatorId,param.getOperatorId()) .orderByDesc(ImportTaskEntity::getStartTime); - Page page = PageHelper.startPage(param.getPageNo(), param.getPageSize(), param.isPage()).doSelectPage(() -> { + Page page = PageHelper.startPage(param.getPageNo(), param.getPageSize(), param.getIsPage()).doSelectPage(() -> { importRecordDao.selectList(queryWrapper); }); List list = new ArrayList<>(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index 1017075ac6..b2d1ea6249 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -169,7 +169,7 @@ public class IcEpidemicSpecialAttentionController { ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); - formDTO.setPage(false); + formDTO.setIsPage(false); PageData pageData = icEpidemicSpecialAttentionService.vaccinationList(formDTO); // 关注类型,核酸检测:2,疫苗接种:1,行程上报:0 if (formDTO.getAttentionType().equals(NumConstant.ONE)){ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java index b03ad85ed0..7b0b375207 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java @@ -105,7 +105,7 @@ public class IcFollowUpRecordController { public void export(@LoginUser TokenDto tokenDto, @RequestBody PageFollowUpFormDTO formDTO, HttpServletResponse response) { formDTO.setCustomerId(tokenDto.getCustomerId()); //formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); - formDTO.setPage(false); + formDTO.setIsPage(false); ExcelWriter excelWriter = null; formDTO.setPageSize(NumConstant.TEN_THOUSAND); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 4de76d5b64..fb21ddae55 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -260,7 +260,7 @@ public class IcNatController implements ResultDataResolver { //formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); //formDTO.setUserId("73ae6280e46a6653a5605d51d5462725"); - formDTO.setPage(false); + formDTO.setIsPage(false); ExcelWriter excelWriter = null; formDTO.setPageSize(NumConstant.TEN_THOUSAND); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java index ccf831e0aa..c25f04bc2b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java @@ -92,7 +92,7 @@ public class IcResiCollectController { //tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc"); formDTO.setUserId(tokenDto.getUserId()); formDTO.setCustomerId(tokenDto.getCustomerId()); - formDTO.setPage(false); + formDTO.setIsPage(false); PageData collectList = icResiCollectService.getCollectList(formDTO); List list =new ArrayList<>(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index 98e5e9bd47..e50ed23b70 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -194,7 +194,7 @@ public class IcTripReportRecordController implements ResultDataResolver { formDTO.setUserId(tokenDto.getUserId()); // formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); // formDTO.setUserId("35005df15fb0f7c791344f0b424870b7"); - formDTO.setPage(false); + formDTO.setIsPage(false); ExcelWriter excelWriter = null; formDTO.setPageSize(NumConstant.TEN_THOUSAND); int pageNo = formDTO.getPageNo(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java index 41f14362ee..f018a32789 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java @@ -43,7 +43,7 @@ public class PatrolRoutineWorkController { @NoRepeatSubmit @PostMapping("selectList") public Result> gridUserWork(@RequestBody PatrolQueryFormDTO formDTO){ - formDTO.setPage(false); + formDTO.setIsPage(false); Page data = gridUserWorkService.listPage(formDTO); return new Result().ok(data.getResult()); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index 9b142bbf85..bd9faff62b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -140,7 +140,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.vaccinationList(formDTO)); result.setList(pageInfo.getList()); result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal()))); @@ -150,7 +150,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.natList(formDTO)); result.setList(pageInfo.getList()); result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal()))); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java index eb9255a8ec..1e3c46f9f1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java @@ -48,7 +48,7 @@ public class IcFollowUpRecordServiceImpl extends BaseServiceImpl data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) .doSelectPageInfo(() -> baseDao.selectList(wrapper)); List list=ConvertUtils.sourceToTarget(data.getList(),IcFollowUpRecordDTO.class); return new PageData(list,data.getTotal()); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index f80c0624f2..a71f480f26 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -161,12 +161,12 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } formDTO.setAgencyId(staffInfo.getAgencyId()); //3.按条件查询业务数据 - PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) .doSelectPageInfo(() -> baseDao.getNatList(formDTO)); return new PageData(data.getList(), data.getTotal()); } else if ("all".equals(formDTO.getOrgType())) { //客户下数据 - PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) .doSelectPageInfo(() -> baseDao.getCustomerNatList(formDTO)); return new PageData(data.getList(), data.getTotal()); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java index 8f348ab680..b0befce180 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java @@ -102,7 +102,7 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl pageList = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.getCollectList(formDTO)); result.setList(pageList.getList()); result.setTotal(Integer.parseInt(String.valueOf(pageList.getTotal()))); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index e2c5ed7213..9fc799e122 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -93,7 +93,7 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) .doSelectPageInfo(() -> baseDao.pageList(formDTO)); List list = data.getList(); //3.查询最近一次通知时间、核算检测关注名单 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java index df3d1c3418..78d860fe7e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java @@ -172,7 +172,7 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl listPage(PatrolQueryFormDTO formDTO) { - return PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.isPage()) + return PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) .doSelectPage(() -> baseDao.selectList(formDTO)); } From 7038f5459b11c8710db64b85a719d682e8f7c0d4 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 1 Apr 2022 13:58:49 +0800 Subject: [PATCH 105/129] =?UTF-8?q?db=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.35__new_ic_nat.sql | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.35__new_ic_nat.sql diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.35__new_ic_nat.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.35__new_ic_nat.sql new file mode 100644 index 0000000000..e556fc6c2c --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.35__new_ic_nat.sql @@ -0,0 +1,46 @@ +-- ---------------------------- +-- Table structure for ic_nat +-- ---------------------------- +DROP TABLE IF EXISTS `ic_nat`; +CREATE TABLE `ic_nat` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `IS_RESI_USER` varchar(1) NOT NULL DEFAULT '0' COMMENT '是否客户下居民(0:否 1:是)', + `USER_ID` varchar(64) DEFAULT NULL COMMENT '居民端小程序的用户id、数字社区的icResiUserId、其他情况无值', + `USER_TYPE` varchar(32) NOT NULL COMMENT '数据来源【居民端小程序的人:resi;\r\n数字社区的居民:icresi;\r\n导入的:import;\r\n同步的:synchro】', + `NAME` varchar(64) NOT NULL COMMENT '人员姓名', + `MOBILE` varchar(11) NOT NULL COMMENT '手机号', + `ID_CARD` varchar(18) NOT NULL COMMENT '身份证号', + `NAT_TIME` datetime NOT NULL COMMENT '检测时间,精确到分钟', + `NAT_RESULT` varchar(1) DEFAULT NULL COMMENT '检测结果(0:阴性 1:阳性)', + `NAT_ADDRESS` varchar(128) DEFAULT NULL COMMENT '检测地点', + `FILE_NAME` varchar(255) DEFAULT NULL COMMENT '文件名', + `ATTACHMENT_TYPE` varchar(64) NOT NULL COMMENT '附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))', + `ATTACHMENT_URL` varchar(255) NOT NULL COMMENT '附件地址', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='核酸记录基础信息表'; + +-- ---------------------------- +-- Table structure for ic_nat_relation +-- ---------------------------- +CREATE TABLE `ic_nat_relation` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `AGENCY_ID` varchar(64) NOT NULL COMMENT '居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id', + `PIDS` varchar(255) NOT NULL COMMENT '组织pids,包含当前agencyId值', + `IC_NAT_ID` varchar(64) DEFAULT NULL COMMENT '核酸记录表Id(ic_nat.id)', + `USER_TYPE` varchar(32) NOT NULL COMMENT '关系数据的绑定途径【居民端录入:resi;\r\n数字社区录入:icresi;\r\n导入的:import;\r\n同步的:synchro】', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='核酸记录关系表'; \ No newline at end of file From 48251d9ac08c0513fd08e1de0d9ef6637dd7a0b5 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 1 Apr 2022 14:00:19 +0800 Subject: [PATCH 106/129] =?UTF-8?q?db=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.35__new_ic_nat.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.35__new_ic_nat.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.35__new_ic_nat.sql index e556fc6c2c..8001d9769d 100644 --- a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.35__new_ic_nat.sql +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.35__new_ic_nat.sql @@ -34,7 +34,7 @@ CREATE TABLE `ic_nat_relation` ( `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', `AGENCY_ID` varchar(64) NOT NULL COMMENT '居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id', `PIDS` varchar(255) NOT NULL COMMENT '组织pids,包含当前agencyId值', - `IC_NAT_ID` varchar(64) DEFAULT NULL COMMENT '核酸记录表Id(ic_nat.id)', + `IC_NAT_ID` varchar(64) NOT NULL COMMENT '核酸记录表Id(ic_nat.id)', `USER_TYPE` varchar(32) NOT NULL COMMENT '关系数据的绑定途径【居民端录入:resi;\r\n数字社区录入:icresi;\r\n导入的:import;\r\n同步的:synchro】', `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识', `REVISION` int(11) NOT NULL COMMENT '乐观锁', From 6a82bf0a53340a871a04565faa317946c04e33f0 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 1 Apr 2022 14:13:35 +0800 Subject: [PATCH 107/129] =?UTF-8?q?=E4=B9=9D=E5=B0=8F=E5=9C=BA=E6=89=80?= =?UTF-8?q?=E5=B7=A1=E6=9F=A5-=E5=B7=A1=E6=9F=A5=E7=9B=91=E7=AE=A1?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/AddPlacePatrolRecordFormDTO.java | 5 +++- .../IcPlacePatrolRecordController.java | 13 +++++++++ .../service/IcPlacePatrolRecordService.java | 2 ++ .../impl/IcPlacePatrolRecordServiceImpl.java | 29 ++++++++++++------- 4 files changed, 38 insertions(+), 11 deletions(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddPlacePatrolRecordFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddPlacePatrolRecordFormDTO.java index cb8b6b2724..4a861062c2 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddPlacePatrolRecordFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddPlacePatrolRecordFormDTO.java @@ -122,6 +122,9 @@ public class AddPlacePatrolRecordFormDTO implements Serializable { //token中userId private String staffId; - public interface Add {} + @NotBlank(message = "placePatrolRecordId不能为空", groups = {Update.class}) + private String placePatrolRecordId; + public interface Add {} + public interface Update {} } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPlacePatrolRecordController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPlacePatrolRecordController.java index 0d2c02a3d6..bd232e2ca7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPlacePatrolRecordController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPlacePatrolRecordController.java @@ -60,6 +60,19 @@ public class IcPlacePatrolRecordController { return new Result(); } + /** + * @Author sun + * @Description 新增场所巡查记录 + **/ + @PostMapping("update") + public Result update(@LoginUser TokenDto tokenDto, @RequestBody AddPlacePatrolRecordFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AddPlacePatrolRecordFormDTO.Add.class,AddPlacePatrolRecordFormDTO.Update.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + placePatrolRecordService.update(formDTO); + return new Result(); + } + /** * @Author sun * @Description 删除场所巡查记录 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPlacePatrolRecordService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPlacePatrolRecordService.java index 3b0c2c6e12..464059ac3d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPlacePatrolRecordService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPlacePatrolRecordService.java @@ -38,6 +38,8 @@ public interface IcPlacePatrolRecordService extends BaseService Date: Fri, 1 Apr 2022 14:27:24 +0800 Subject: [PATCH 108/129] =?UTF-8?q?=E9=BB=98=E8=AE=A4true?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java index 982f3e02a9..723f5d062c 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java @@ -33,7 +33,7 @@ public class PageFormDTO implements Serializable { */ private Integer offset; - private Boolean isPage; + private Boolean isPage = true; public Integer getOffset() { return (pageNo-1)*pageSize; From cf1ad4719a74829cdd304f648e9484613d85ca56 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 1 Apr 2022 15:13:43 +0800 Subject: [PATCH 109/129] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/NatListCommonExcelResultDTO.java | 27 +++++++++++++++++++ .../epmet/dto/result/NatListResultDTO.java | 23 +++++++++------- .../com/epmet/controller/IcNatController.java | 27 +++++++++++++------ .../src/main/resources/logback-spring.xml | 1 - 4 files changed, 59 insertions(+), 19 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListCommonExcelResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListCommonExcelResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListCommonExcelResultDTO.java new file mode 100644 index 0000000000..15452546c4 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListCommonExcelResultDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.result; + +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 lombok.Data; + +/** + * @Description 核酸检测-我的上报记录 + * @Author sun + */ +@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 44) +@Data +public class NatListCommonExcelResultDTO extends NatListResultDTO{ + private static final long serialVersionUID = 1L; + + /** + * 是否客户下居民(0:否 1:是) + */ + @ColumnWidth(20) + @ExcelProperty(value = "本辖区居民",order = 6) + private String isResiUser; + + + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java index 5a8d622f7d..cbeb66e482 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java @@ -35,10 +35,7 @@ public class NatListResultDTO implements Serializable { */ @ExcelIgnore private String userId; - /** - * 是否客户下居民(0:否 1:是) - */ - private String isResiUser; + /** * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other */ @@ -49,21 +46,21 @@ public class NatListResultDTO implements Serializable { * 姓名 */ @ColumnWidth(20) - @ExcelProperty("姓名") + @ExcelProperty(value = "姓名",order = 1) private String name; /** * 手机号 */ @ColumnWidth(20) - @ExcelProperty("手机号") + @ExcelProperty(value = "手机号",order = 2) private String mobile; /** * 身份证号 */ @ColumnWidth(25) - @ExcelProperty("身份证号") + @ExcelProperty(value = "身份证号",order = 3) private String idCard; /** @@ -71,21 +68,27 @@ public class NatListResultDTO implements Serializable { */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") @ColumnWidth(25) - @ExcelProperty("检测时间") + @ExcelProperty(value = "检测时间",order = 4) private Date natTime; /** * 检测结果 */ @ColumnWidth(20) - @ExcelProperty("检测结果") + @ExcelProperty(value = "检测结果",order = 5) private String natResult; + /** + * 是否客户下居民(0:否 1:是) + */ + @ExcelIgnore + private String isResiUser; + /** * 检测地点 */ @ColumnWidth(30) - @ExcelProperty("检测地点") + @ExcelProperty(value = "检测地点",order = 7) private String natAddress; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index fb21ddae55..22e99e4e9e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -14,10 +14,7 @@ import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; -import com.epmet.commons.tools.utils.EpmetRequestHolder; -import com.epmet.commons.tools.utils.ExcelUtils; -import com.epmet.commons.tools.utils.FileUtils; -import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.IcNatDTO; @@ -26,6 +23,7 @@ import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.dto.result.MyNatListResultDTO; +import com.epmet.dto.result.NatListCommonExcelResultDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.IcNatService; @@ -268,15 +266,28 @@ public class IcNatController implements ResultDataResolver { try { // 这里 需要指定写用哪个class去写 String fileName = "核酸检测信息.xlsx"; - excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response),NatListResultDTO.class).build(); + if ("all".equals(formDTO.getOrgType())) { + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListResultDTO.class).build(); + }else { + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListCommonExcelResultDTO.class).build(); + } + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); PageData data = null; do { data = icNucleinService.natList(formDTO); - data.getList().forEach(o->o.setNatResult(NumConstant.ONE_STR.equals(o.getNatResult())?"阳性":"阴性")); + data.getList().forEach(o-> { + o.setNatResult(NumConstant.ONE_STR.equals(o.getNatResult()) ? "阳性" : "阴性"); + o.setIsResiUser(NumConstant.ONE_STR.equals(o.getNatResult()) ? "是" : "否"); + }); formDTO.setPageNo(++pageNo); - excelWriter.write(data.getList(), writeSheet); - } while (CollectionUtils.isNotEmpty(data.getList()) && data.getList().size()==formDTO.getPageSize()); + if ("current".equals(formDTO.getOrgType())) { + List list = ConvertUtils.sourceToTarget(data.getList(), NatListResultDTO.class); + excelWriter.write(list, writeSheet); + }else{ + excelWriter.write(data.getList(), writeSheet); + } + } while (CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize()); }catch (Exception e){ log.error("export exception", e); diff --git a/epmet-user/epmet-user-server/src/main/resources/logback-spring.xml b/epmet-user/epmet-user-server/src/main/resources/logback-spring.xml index 6b7089434f..c2a982739d 100644 --- a/epmet-user/epmet-user-server/src/main/resources/logback-spring.xml +++ b/epmet-user/epmet-user-server/src/main/resources/logback-spring.xml @@ -142,7 +142,6 @@ - From 6cbd70cc26b303865529149fd98b98e7eee995cb Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Fri, 1 Apr 2022 15:49:41 +0800 Subject: [PATCH 110/129] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=EF=BC=9A=E9=92=88=E5=AF=B9=E6=96=B0=E9=9C=80?= =?UTF-8?q?=E6=B1=82=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/entity/IcNatRelationEntity.java | 3 + .../handler/IcNatExcelImportListener.java | 4 +- .../epmet/service/impl/IcNatServiceImpl.java | 182 ++++++++++++++++-- .../src/main/resources/excel/ic_nat.xlsx | Bin 9157 -> 9220 bytes 4 files changed, 177 insertions(+), 12 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java index 7da911ee59..ce74babe94 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java @@ -1,5 +1,7 @@ package com.epmet.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; @@ -24,6 +26,7 @@ public class IcNatRelationEntity extends BaseEpmetEntity { /** * 客户Id */ + @TableField(fill = FieldFill.INSERT) private String customerId; /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java index dccc8d106a..32bb100b3b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -9,6 +9,7 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.entity.IcNatEntity; import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.service.impl.IcNatServiceImpl; +import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -18,6 +19,7 @@ import java.util.List; /** * 核酸检测excel导入监听器 */ +@Data @Slf4j public class IcNatExcelImportListener implements ReadListener { @@ -110,7 +112,7 @@ public class IcNatExcelImportListener implements ReadListener 0) { - icNatService.batchPersist(datas); + icNatService.batchPersist(datas, this); } } finally { datas.clear(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index a71f480f26..51e22193de 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -22,6 +22,7 @@ import com.epmet.commons.tools.utils.*; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcNatDao; import com.epmet.dao.IcNatRelationDao; +import com.epmet.dao.IcResiUserDao; import com.epmet.dao.UserBaseInfoDao; import com.epmet.dto.IcNatDTO; import com.epmet.dto.IcNoticeDTO; @@ -29,6 +30,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IcNatEntity; import com.epmet.entity.IcNatRelationEntity; +import com.epmet.entity.IcResiUserEntity; import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.excel.handler.IcNatExcelImportListener; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; @@ -54,10 +56,7 @@ import java.io.IOException; import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.UUID; +import java.util.*; import java.util.stream.Collectors; /** @@ -82,6 +81,8 @@ public class IcNatServiceImpl extends BaseServiceImpl imp private UserBaseInfoDao userBaseInfoDao; @Autowired private IcNatRelationDao icNatRelationDao; + @Autowired + private IcResiUserDao icResiUserDao; /** * @Author sun @@ -313,7 +314,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp LoginUserDetailsResultDTO loginUserDetails = getResultDataOrThrowsException(epmetUserOpenFeignClient.getLoginUserDetails(ludf), ServiceConstant.EPMET_USER_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "调用user出错", ""); - IcNatExcelImportListener listener = new IcNatExcelImportListener(userId, loginUserDetails.getAgencyId(), loginUserDetails.getOrgIdPath(), this); + String agencyId = loginUserDetails.getAgencyId(); + + IcNatExcelImportListener listener = new IcNatExcelImportListener(userId, agencyId, loginUserDetails.getOrgIdPath().replace(":".concat(agencyId), ""), this); EasyExcel.read(filePath.toFile(), IcNatImportExcelData.class, listener).headRowNumber(2).sheet(0).doRead(); @@ -425,14 +428,171 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * 批量持久化 * @param entities */ - public void batchPersist(List entities) { - //insertBatch(entities); + public void batchPersist(List entities, IcNatExcelImportListener listener) { + String customerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID); String currentUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + entities.forEach(e -> { - String id = IdWorker.getIdStr(e); - e.setId(id); - e.setUpdatedBy(currentUserId); - baseDao.insertOrUpdate(e); + try { + persisNat(e, customerId, currentUserId, listener); + } catch (Exception exception) { + String errorMsg = ExceptionUtils.getErrorStackTrace(exception); + log.error(errorMsg); + + IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + errorRow.setName(e.getName()); + errorRow.setMobile(e.getMobile()); + errorRow.setIdCard(e.getIdCard()); + errorRow.setErrorInfo("未知系统错误c "); + listener.getErrorRows().add(errorRow); + } }); } + + /** + * 单条持久化 + * @param e + * @param customerId + * @param currentUserId + * @param listener + */ + @Transactional(rollbackFor = Exception.class) + public void persisNat(IcNatEntity e, String customerId, String currentUserId, IcNatExcelImportListener listener) { + List errorRows = listener.getErrorRows(); + + Date natTime = e.getNatTime(); + String idCard = e.getIdCard(); + String name = e.getName(); + String mobile = e.getMobile(); + String natResult = e.getNatResult(); + String natAddress = e.getNatAddress(); + + //1.先看客户下有没有这个人 + IcNatEntity resiNat = getResiNat(customerId, idCard, natTime); + if (resiNat != null && !"import".equals(resiNat.getUserType())) { + // 有这个人,并且不是导入的 + String message = "已存在该次核酸检测录入记录,请到系统中修改"; + + IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + errorRow.setName(name); + errorRow.setMobile(mobile); + errorRow.setIdCard(idCard); + errorRow.setErrorInfo(message); + errorRows.add(errorRow); + return; + } + + if (resiNat != null) { + boolean needUpdate = false; + // 有这个人,也是导入的,那就要更新le + ArrayList changedFieldNames = new ArrayList<>(); + if (!name.equals(resiNat.getName())) { + changedFieldNames.add("姓名"); + resiNat.setName(name); + needUpdate = true; + } + + if (!natResult.equals(resiNat.getNatResult())) { + changedFieldNames.add("检测结果"); + resiNat.setNatResult(natResult); + needUpdate = true; + } + + // 检测地点和手机号先不提示,说需要提示再提示 + if (!natAddress.equals(resiNat.getNatAddress())) { + changedFieldNames.add("检测地点"); + resiNat.setNatResult(natAddress); + needUpdate = true; + } + + if (!mobile.equals(resiNat.getMobile())) { + changedFieldNames.add("手机号"); + resiNat.setMobile(mobile); + needUpdate = true; + } + + if (changedFieldNames.size() > 0) { + String fieldsStr = String.join(",", changedFieldNames); + String message = "该次核酸检测记录已存在,执行更新动作," + fieldsStr + "已成功更新"; + IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + errorRow.setName(name); + errorRow.setMobile(mobile); + errorRow.setIdCard(idCard); + errorRow.setErrorInfo(message); + errorRows.add(errorRow); + } + + if (needUpdate) { + resiNat.setUpdatedBy(currentUserId); + resiNat.setUpdatedTime(new Date()); + baseDao.updateById(resiNat); + } + + // 还要创建关系 + createNatRelation(resiNat.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids()); + + return; + } + + // 执行新增操作 + e.setIsResiUser(isResi(customerId, idCard)); + e.setUserType("import"); + + baseDao.insert(e); + + // 还要创建关系 + createNatRelation(e.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids()); + } + + /** + * 是否是客户下的居民; + * 0:否 + * 1:是 + * @param customerId + * @param idCard + * @return + */ + public String isResi(String customerId, String idCard) { + LambdaQueryWrapper query = new LambdaQueryWrapper(); + query.eq(IcResiUserEntity::getCustomerId, customerId); + query.eq(IcResiUserEntity::getIdCard, idCard); + return icResiUserDao.selectCount(query) > 0 ? "1" : "0"; + } + + /** + * + * @param customerId + * @param idCard + * @return + */ + public IcNatEntity getResiNat(String customerId, String idCard, Date natTime) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcNatEntity::getCustomerId, customerId); + query.eq(IcNatEntity::getIdCard, idCard); + query.eq(IcNatEntity::getNatTime, natTime); + return baseDao.selectOne(query); + } + + /** + * 创建nat关系 + * @param natId + * @param currentUserAgencyId + */ + private void createNatRelation(String natId, String currentUserAgencyId, String agencyPids) { + + // 没有关系创建关系,有关系就跳过 + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcNatRelationEntity::getIcNatId, natId); + query.eq(IcNatRelationEntity::getAgencyId, currentUserAgencyId); + if (icNatRelationDao.selectCount(query) > 0) { + return; + } + + IcNatRelationEntity relation = new IcNatRelationEntity(); + relation.setAgencyId(currentUserAgencyId); + relation.setPids(String.join(":", Arrays.asList(agencyPids, currentUserAgencyId))); + relation.setIcNatId(natId); + relation.setUserType("import"); + icNatRelationDao.insert(relation); + } } diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx index d74d726f950651308593eff7a73765535b44aff8..d9038bfdc4faa94007e45287efb4b4b9e34a099b 100644 GIT binary patch delta 4517 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 DE51rN delta 4469 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 Date: Fri, 1 Apr 2022 16:34:13 +0800 Subject: [PATCH 111/129] =?UTF-8?q?=E9=9C=80=E6=B1=82=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/exception/EpmetErrorCode.java | 1 + .../java/com/epmet/service/impl/IcNatServiceImpl.java | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index e0623c7648..a059504d2e 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -252,6 +252,7 @@ public enum EpmetErrorCode { ORG_DEL_FAILED(8921,"删除失败"), NEIGHBORHOOD_DEL_FAILED(8922,""), IC_NAT_IDCARD_NATTIME(8923,"已存在相同记录"), + IC_NAT(8924,"平台已存在记录,请去修改原有记录"), //通用错误码 start diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 51e22193de..cbb234aa0d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -92,9 +92,12 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Transactional(rollbackFor = Exception.class) public void add(AddIcNatFormDTO formDTO) { //0.先根据身份证号和检查时间以及检测结果校验数据是否存在 - IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), null, formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), formDTO.getNatResult()); - if (null != icNatDTO) { + IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), null, formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), null); + //按身份证号核酸时间存在记录的 核酸结果相同的提示已存在相同记录核酸结果不同的提示已存在去修改【业务要求的】 + if (null != icNatDTO && icNatDTO.getNatResult().equals(formDTO.getNatResult())) { throw new RenException(EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getCode(), EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getMsg()); + } else if (null != icNatDTO && !icNatDTO.getNatResult().equals(formDTO.getNatResult())) { + throw new RenException(EpmetErrorCode.IC_NAT.getCode(), EpmetErrorCode.IC_NAT.getMsg()); } //1.获取所填居民所属组织缓存信息 AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId()); @@ -209,7 +212,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp //0.先根据身份证号和检测时间以及检测结果校验除当前数据是否还存在相同数据 IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), formDTO.getIcNatId(), formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), formDTO.getNatResult()); if (null != icNatDTO) { - throw new RenException(EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getCode(), EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getMsg()); + throw new RenException(EpmetErrorCode.IC_NAT.getCode(), EpmetErrorCode.IC_NAT.getMsg()); } //1.更新核酸记录基础信息表数据 IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); From d8f723a873b6e0b67bcf2b4ac42c769bcc8e3ed6 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 1 Apr 2022 17:02:07 +0800 Subject: [PATCH 112/129] redis --- .../epmet/commons/tools/redis/RedisKeys.java | 10 ++++++++++ .../java/com/epmet/redis/AreaCodeRedis.java | 11 +++++++++++ .../service/impl/AreaCodeServiceImpl.java | 19 +++++++++++++++++-- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 7bc68a4842..04db67cfed 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -753,4 +753,14 @@ public class RedisKeys { public static String getCustomerMenuListPrefix() { return rootPrefix.concat("oper:access:nav:customerId:"); } + + /** + * 如果是省列表:epmet:areacode:parentCode:0 + * 山东省的下一级:epmet:areacode:parentCode:37 + * @param areaCode + * @return + */ + public static String getNextAreaCodeKey(String areaCode) { + return rootPrefix.concat("areaCode:parentCode:").concat(areaCode); + } } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/redis/AreaCodeRedis.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/redis/AreaCodeRedis.java index d1c6218ea0..1743dcb3d4 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/redis/AreaCodeRedis.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/redis/AreaCodeRedis.java @@ -19,9 +19,12 @@ package com.epmet.redis; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.dto.result.AreaCodeResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.List; + /** * 大陆省市区地区码 * @@ -49,4 +52,12 @@ public class AreaCodeRedis { return null; } + public List getNextAreaCodeKey(String key) { + List list = (List) redisUtils.get(key); + return list; + } + + public void setNextAreaCodeKey(String key, List list) { + redisUtils.set(key, list); + } } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index f300c4bb4e..6f4ad9f000 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -29,6 +29,7 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.constant.AreaCodeConstant; import com.epmet.dao.AreaCodeChildDao; @@ -693,9 +694,20 @@ public class AreaCodeServiceImpl extends BaseServiceImpl nextArea(AreaCodeFormDTO formDTO) { if(StringUtils.isBlank(formDTO.getParentAreaCode())&&StringUtils.isBlank(formDTO.getParentLevel())){ - return baseDao.selectProvince(); + String pKey=RedisKeys.getNextAreaCodeKey(NumConstant.ZERO_STR); + List list=areaCodeRedis.getNextAreaCodeKey(pKey); + if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){ + return list; + } + List pList=baseDao.selectProvince(); + areaCodeRedis.setNextAreaCodeKey(pKey,pList); + return pList; + } + String key=RedisKeys.getNextAreaCodeKey(formDTO.getParentAreaCode()); + List list=areaCodeRedis.getNextAreaCodeKey(key); + if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){ + return list; } - List list=new ArrayList<>(); switch (formDTO.getParentLevel()) { case AreaCodeConstant.PROVINCE: list = baseDao.selectCity(formDTO.getParentAreaCode()); @@ -716,6 +728,9 @@ public class AreaCodeServiceImpl extends BaseServiceImpl Date: Fri, 1 Apr 2022 17:12:30 +0800 Subject: [PATCH 113/129] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=EF=BC=9A=E6=9B=B4=E6=96=B0=E4=BA=86=EF=BC=8C?= =?UTF-8?q?=E6=88=96=E8=80=85=E6=98=AF=E8=B7=B3=E8=BF=87=E4=BA=86=EF=BC=8C?= =?UTF-8?q?=E9=83=BD=E7=AE=97=E6=98=AF=E6=88=90=E5=8A=9F=E7=9A=84=EF=BC=8C?= =?UTF-8?q?=E5=8F=AA=E6=9C=89=E5=87=BA=E7=8E=B0=E5=BC=82=E5=B8=B8=EF=BC=8C?= =?UTF-8?q?=E6=88=96=E8=80=85=E4=BF=A1=E6=81=AF=E7=A1=AE=E5=AE=9E=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E4=B8=8D=E9=80=9A=E8=BF=87=EF=BC=8C=E6=89=8D=E7=AE=97?= =?UTF-8?q?=E6=98=AF=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/data/IcNatImportExcelData.java | 2 +- .../handler/IcNatExcelImportListener.java | 10 ++++--- .../epmet/service/impl/IcNatServiceImpl.java | 27 ++++++++++++------- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java index 6e8d252c1f..b29a1928ff 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java @@ -40,7 +40,7 @@ public class IcNatImportExcelData { private String natResultZh; @Data - public static class ErrorRow { + public static class RowRemarkMessage { @ExcelProperty("姓名") @ColumnWidth(20) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java index 32bb100b3b..854507d471 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -44,7 +44,11 @@ public class IcNatExcelImportListener implements ReadListener errorRows = new ArrayList<>(); + private List errorRows = new ArrayList<>(); + /** + * 其他被标记出来的列表列表 + */ + private List otherRows = new ArrayList<>(); private IcNatServiceImpl icNatService; @@ -91,7 +95,7 @@ public class IcNatExcelImportListener implements ReadListener getErrorRows() { + public List getErrorRows() { return errorRows; } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 51e22193de..1a0caf24e5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -322,7 +322,14 @@ public class IcNatServiceImpl extends BaseServiceImpl imp Path errorDescFile = null; String errorDesFileUrl = null; - List errorRows = listener.getErrorRows(); + + List errorRows = listener.getErrorRows(); + List otherRows = listener.getOtherRows(); + + boolean failed = errorRows.size() > 0; + + // 合并到一起写入 + errorRows.addAll(otherRows); // 生成并上传错误文件 try { @@ -335,7 +342,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); OutputStream os = fileItem.getOutputStream(); - EasyExcel.write(os, IcNatImportExcelData.ErrorRow.class).sheet("导入失败列表").doWrite(errorRows); + EasyExcel.write(os, IcNatImportExcelData.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows); // 文件上传oss Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); @@ -350,7 +357,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); importFinishTaskForm.setTaskId(importTaskId); - importFinishTaskForm.setProcessStatus(errorRows.size() <= 0 ? ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS : ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setProcessStatus(failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS); importFinishTaskForm.setOperatorId(userId); importFinishTaskForm.setResultDesc(""); importFinishTaskForm.setResultDescFilePath(errorDesFileUrl); @@ -439,11 +446,11 @@ public class IcNatServiceImpl extends BaseServiceImpl imp String errorMsg = ExceptionUtils.getErrorStackTrace(exception); log.error(errorMsg); - IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); errorRow.setName(e.getName()); errorRow.setMobile(e.getMobile()); errorRow.setIdCard(e.getIdCard()); - errorRow.setErrorInfo("未知系统错误c "); + errorRow.setErrorInfo("未知系统错误"); listener.getErrorRows().add(errorRow); } }); @@ -458,7 +465,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp */ @Transactional(rollbackFor = Exception.class) public void persisNat(IcNatEntity e, String customerId, String currentUserId, IcNatExcelImportListener listener) { - List errorRows = listener.getErrorRows(); + List otherRows = listener.getOtherRows(); Date natTime = e.getNatTime(); String idCard = e.getIdCard(); @@ -473,12 +480,12 @@ public class IcNatServiceImpl extends BaseServiceImpl imp // 有这个人,并且不是导入的 String message = "已存在该次核酸检测录入记录,请到系统中修改"; - IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); errorRow.setName(name); errorRow.setMobile(mobile); errorRow.setIdCard(idCard); errorRow.setErrorInfo(message); - errorRows.add(errorRow); + otherRows.add(errorRow); return; } @@ -514,12 +521,12 @@ public class IcNatServiceImpl extends BaseServiceImpl imp if (changedFieldNames.size() > 0) { String fieldsStr = String.join(",", changedFieldNames); String message = "该次核酸检测记录已存在,执行更新动作," + fieldsStr + "已成功更新"; - IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); errorRow.setName(name); errorRow.setMobile(mobile); errorRow.setIdCard(idCard); errorRow.setErrorInfo(message); - errorRows.add(errorRow); + otherRows.add(errorRow); } if (needUpdate) { From 7e6b5d19799709dc05be24c349a1c25f76ab6951 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 1 Apr 2022 17:41:52 +0800 Subject: [PATCH 114/129] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migration/V0.0.14__add_areacode_flag.sql | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/V0.0.14__add_areacode_flag.sql diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/V0.0.14__add_areacode_flag.sql b/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/V0.0.14__add_areacode_flag.sql new file mode 100644 index 0000000000..6e0bc91b75 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/V0.0.14__add_areacode_flag.sql @@ -0,0 +1,20 @@ +#添加 是否自定义字段 +ALTER TABLE `epmet_common_service`.`area_code_child` + ADD COLUMN `USER_DEFINED` tinyint(1) NULL DEFAULT 0 COMMENT '是否自定义 1:是0否' AFTER `CATAGORY`; +#更新 字段值 +UPDATE area_code_child SET USER_DEFINED = 1 WHERE code like '%_UD%'; +#清空数据 +DELETE FROM area_code_child WHERE USER_DEFINED = 0; +#插入数据 +INSERT INTO `epmet_common_service`.`area_code_child` (`ID`, `CODE`, `NAME`, `P_CODE`, `LEVEL`, `CATAGORY`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) +SELECT ID, `CODE`, `NAME`, `P_CODE`, `LEVEL`, `CATAGORY`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME` FROM area_code_child_new; + + +SELECT * FROM area_code_new WHERE county_code = '441900'; + +#清空数据 +DELETE FROM area_code; +#插入数据 +INSERT INTO `epmet_common_service`.`area_code` +SELECT * FROM area_code_new; +SELECT COUNT(1) FROM area_code; From 799341a62bc6e2dc973d0a23611339cfa6902f53 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 1 Apr 2022 17:53:28 +0800 Subject: [PATCH 115/129] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/service/impl/IcNatServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index b3de790096..6d62b0277b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -279,7 +279,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp relationEntity.setCustomerId(formDTO.getCustomerId()); relationEntity.setIcNatId(formDTO.getIcNatId()); relationEntity.setAgencyId(staffInfo.getAgencyId()); - relationEntity.setPids(StringUtils.isNotBlank(staffInfo.getAgencyPIds())?staffInfo.getAgencyPIds()+":"+formDTO.getAgencyId():staffInfo.getAgencyId()); + relationEntity.setPids(StringUtils.isNotBlank(staffInfo.getAgencyPIds())?staffInfo.getAgencyPIds()+":"+staffInfo.getAgencyId():staffInfo.getAgencyId()); relationEntity.setUserType("synchro"); icNatRelationDao.insert(relationEntity); } From 5155f7b38f712a277f7a99201482fde6179809f8 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Sat, 2 Apr 2022 09:29:25 +0800 Subject: [PATCH 116/129] =?UTF-8?q?/gov/org/house/housedel=E5=86=85?= =?UTF-8?q?=E9=83=A8=E8=B0=83=E7=94=A8/gov/org/house/delete?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/HouseServiceImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 36ace6672d..6a07ba0ea2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -150,8 +150,11 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { @Override @Transactional(rollbackFor = Exception.class) public void delHouse(String houseId) { - //删除小区 - icHouseService.deleteById(houseId); + //单个删除房屋,房屋内有居民不允许删除 + NeighborHoodManageDelFormDTO formDTO=new NeighborHoodManageDelFormDTO(); + formDTO.setType(CustomerGridConstant.HOUSE); + formDTO.setIds(Arrays.asList(houseId)); + allDelete(formDTO); } @Override From c2d920b192fb401357e206b4691f822de579e231 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Sat, 2 Apr 2022 09:32:00 +0800 Subject: [PATCH 117/129] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A1.=E6=A0=B8?= =?UTF-8?q?=E9=85=B8=E6=A3=80=E6=B5=8B=E5=AF=BC=E5=85=A5=EF=BC=8C=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E6=A3=80=E6=B5=8B=E5=9C=B0=E7=82=B9=E5=BF=85=E5=A1=AB?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=EF=BC=9B2.=E6=B2=A1=E6=9C=89=E9=94=99?= =?UTF-8?q?=E8=AF=AF/=E6=8F=90=E7=A4=BA=E8=A1=8C=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E6=8F=8F=E8=BF=B0=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/data/IcNatImportExcelData.java | 1 - .../epmet/service/impl/IcNatServiceImpl.java | 44 ++++++++++--------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java index b29a1928ff..266da5175a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java @@ -31,7 +31,6 @@ public class IcNatImportExcelData { @ExcelProperty("检测时间") private Date natTime; - @NotBlank(message = "检测地点为必填项") @ExcelProperty("检测地点") private String natAddress; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 6d62b0277b..e6281b9467 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -334,27 +334,29 @@ public class IcNatServiceImpl extends BaseServiceImpl imp // 合并到一起写入 errorRows.addAll(otherRows); - // 生成并上传错误文件 - try { - // 文件生成 - Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import", "error_des"); - String fileName = UUID.randomUUID().toString().concat(".xlsx"); - errorDescFile = errorDescDir.resolve(fileName); - - FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile()); - FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); - OutputStream os = fileItem.getOutputStream(); - - EasyExcel.write(os, IcNatImportExcelData.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows); - - // 文件上传oss - Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); - if (errorDesFileUploadResult.success()) { - errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); - } - } finally { - if (Files.exists(errorDescFile)) { - Files.delete(errorDescFile); + // 生成并上传描述文件 + if (errorRows.size() > 0) { + try { + // 文件生成 + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import", "error_des"); + String fileName = UUID.randomUUID().toString().concat(".xlsx"); + errorDescFile = errorDescDir.resolve(fileName); + + FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile()); + FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); + OutputStream os = fileItem.getOutputStream(); + + EasyExcel.write(os, IcNatImportExcelData.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows); + // 文件上传oss + Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + if (errorDesFileUploadResult.success()) { + errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); + } + + } finally { + if (Files.exists(errorDescFile)) { + Files.delete(errorDescFile); + } } } From 58fc98085bdaa2b4fb76ecfdbcfe5142e9c058ec Mon Sep 17 00:00:00 2001 From: jianjun Date: Sat, 2 Apr 2022 09:35:35 +0800 Subject: [PATCH 118/129] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=AA=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/db/migration/V0.0.14__add_areacode_flag.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/V0.0.14__add_areacode_flag.sql b/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/V0.0.14__add_areacode_flag.sql index 6e0bc91b75..59b930701d 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/V0.0.14__add_areacode_flag.sql +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/V0.0.14__add_areacode_flag.sql @@ -13,7 +13,7 @@ SELECT ID, `CODE`, `NAME`, `P_CODE`, `LEVEL`, `CATAGORY`, `DEL_FLAG`, `REVISION` SELECT * FROM area_code_new WHERE county_code = '441900'; #清空数据 -DELETE FROM area_code; +DELETE FROM area_code where 1=1; #插入数据 INSERT INTO `epmet_common_service`.`area_code` SELECT * FROM area_code_new; From 6bea405d993516c137e589ef1620d57db812c7b6 Mon Sep 17 00:00:00 2001 From: jianjun Date: Sat, 2 Apr 2022 09:47:48 +0800 Subject: [PATCH 119/129] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/IcNatController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 22e99e4e9e..6ef36407e7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -278,7 +278,7 @@ public class IcNatController implements ResultDataResolver { data = icNucleinService.natList(formDTO); data.getList().forEach(o-> { o.setNatResult(NumConstant.ONE_STR.equals(o.getNatResult()) ? "阳性" : "阴性"); - o.setIsResiUser(NumConstant.ONE_STR.equals(o.getNatResult()) ? "是" : "否"); + o.setIsResiUser(NumConstant.ONE_STR.equals(o.getIsResiUser()) ? "是" : "否"); }); formDTO.setPageNo(++pageNo); if ("current".equals(formDTO.getOrgType())) { From 02525ad7998bbcc25a38679d8d880ddc8e2d54c0 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Sat, 2 Apr 2022 10:21:22 +0800 Subject: [PATCH 120/129] zhushixia --- .../main/java/com/epmet/controller/HouseController.java | 7 ++++++- .../main/java/com/epmet/service/impl/HouseServiceImpl.java | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index ab86eb425b..74021391de 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -170,8 +170,13 @@ public class HouseController implements ResultDataResolver { return new Result(); } + /** + * lzh + * @param formDTO + * @return 单独删除房屋内部调用/gov/org/house/delete + */ @PostMapping("housedel") - public Result houseDel(@LoginUser TokenDto tokenDTO, @RequestBody IcHouseFormDTO formDTO){ + public Result houseDel(@RequestBody IcHouseFormDTO formDTO){ //效验数据 ValidatorUtils.validateEntity(formDTO, IcNeighborHoodFormDTO.DeleteGroup.class); houseService.delHouse(formDTO.getHouseId()); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 6a07ba0ea2..44d1cbfa58 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -153,7 +153,9 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { //单个删除房屋,房屋内有居民不允许删除 NeighborHoodManageDelFormDTO formDTO=new NeighborHoodManageDelFormDTO(); formDTO.setType(CustomerGridConstant.HOUSE); - formDTO.setIds(Arrays.asList(houseId)); + List ids=new ArrayList<>(); + ids.add(houseId); + formDTO.setIds(ids); allDelete(formDTO); } From a5eec335b68c264697960fa71d5ca4b5b1d8eacc Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Sat, 2 Apr 2022 11:04:41 +0800 Subject: [PATCH 121/129] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A1.=E6=A0=B8?= =?UTF-8?q?=E9=85=B8=E6=A3=80=E6=B5=8B=E7=BB=93=E6=9E=9C=E5=A1=AB=E5=85=A5?= =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B=E5=9C=B0=E5=9D=80=E5=AF=BC?= =?UTF-8?q?=E8=87=B4sql=E6=8A=A5=E9=94=99=E7=9A=84bug=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/data/IcNatImportExcelData.java | 3 ++- .../handler/IcNatExcelImportListener.java | 5 ++++ .../epmet/service/impl/IcNatServiceImpl.java | 24 ++++++++++++------- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java index 266da5175a..385d02b171 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java @@ -2,8 +2,8 @@ package com.epmet.excel.data; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; -import com.epmet.dto.form.AddIcNatFormDTO; import lombok.Data; +import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -25,6 +25,7 @@ public class IcNatImportExcelData { @NotBlank(message = "身份证号为必填项") @ExcelProperty("身份证号") + @Length(max = 18, message = "身份证号长度不正确,应小于18位") private String idCard; @NotNull(message = "检测时间为必填项") diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java index 854507d471..db24888b03 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -66,6 +66,11 @@ public class IcNatExcelImportListener implements ReadListener imp private IcNatRelationDao icNatRelationDao; @Autowired private IcResiUserDao icResiUserDao; + @Autowired + private UserService userService; /** * @Author sun @@ -313,9 +314,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp String app = EpmetRequestHolder.getHeader(AppClientConstant.APP); String client = EpmetRequestHolder.getHeader(AppClientConstant.CLIENT); - LoginUserDetailsFormDTO ludf = new LoginUserDetailsFormDTO(app, client, userId); - LoginUserDetailsResultDTO loginUserDetails = getResultDataOrThrowsException(epmetUserOpenFeignClient.getLoginUserDetails(ludf), ServiceConstant.EPMET_USER_SERVER, - EpmetErrorCode.SERVER_ERROR.getCode(), "调用user出错", ""); + LoginUserDetailsResultDTO loginUserDetails = userService.getLoginUserDetails(app, client, userId); String agencyId = loginUserDetails.getAgencyId(); @@ -513,7 +512,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp // 检测地点和手机号先不提示,说需要提示再提示 if (!natAddress.equals(resiNat.getNatAddress())) { changedFieldNames.add("检测地点"); - resiNat.setNatResult(natAddress); + resiNat.setNatAddress(natAddress); needUpdate = true; } @@ -537,6 +536,11 @@ public class IcNatServiceImpl extends BaseServiceImpl imp if (needUpdate) { resiNat.setUpdatedBy(currentUserId); resiNat.setUpdatedTime(new Date()); + + IcResiUserEntity resi = getResi(customerId, idCard); + resiNat.setIsResiUser(resi != null ? "1" : "0"); + resiNat.setUserId(resi != null ? resi.getId() : ""); + baseDao.updateById(resiNat); } @@ -547,7 +551,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } // 执行新增操作 - e.setIsResiUser(isResi(customerId, idCard)); + IcResiUserEntity resi = getResi(customerId, idCard); + e.setIsResiUser(resi != null ? "1" : "0"); + e.setUserId(resi != null ? resi.getId() : ""); e.setUserType("import"); baseDao.insert(e); @@ -564,11 +570,11 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * @param idCard * @return */ - public String isResi(String customerId, String idCard) { + public IcResiUserEntity getResi(String customerId, String idCard) { LambdaQueryWrapper query = new LambdaQueryWrapper(); query.eq(IcResiUserEntity::getCustomerId, customerId); query.eq(IcResiUserEntity::getIdCard, idCard); - return icResiUserDao.selectCount(query) > 0 ? "1" : "0"; + return icResiUserDao.selectOne(query); } /** From afe68a52d72e2cfa26de8b1549fdff48b48338f9 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Sat, 2 Apr 2022 13:35:23 +0800 Subject: [PATCH 122/129] =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E3=80=81=E8=A1=A8=E5=A2=9E=E5=8A=A0=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=94=A8=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/IcNatController.java | 15 +++++++++++++++ .../db/migration/V0.0.36__ic_nat_normal.sql | 4 ++++ .../src/main/resources/mapper/IcNatDao.xml | 4 ++-- 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.36__ic_nat_normal.sql diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 6ef36407e7..e2d6b7344f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -63,6 +63,21 @@ public class IcNatController implements ResultDataResolver { @Autowired private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + /** + * 记录一下核酸记录模块的业务程序逻辑,防止后续理不清 ic_nat:基础信息表 ic_nat_relation:关系表 + * 1.数字平台导入时,按身份证检测时间查询数据,查到数据不是导入的状态则记录下并跳过,是导入数据更新结果,未查到直接新增 + * 是否居民以及userId值查询数据平台居民,能查到就相应的赋值; + * 2.居民端录入可以录自己的或别人的,但是数据属于当前录入的组织; + * 3.数据平台录入可以为已有居民录入也可以录新数据,新数据则是否居民和userId无值; + * 4.导入数据不允许修改删除,录入数据可以修改删除,删除时相应的删除基础表和可能存在的所有关心表数据, + * 数据同步可多次重复,只是修改对应的关系表数据,基础信息表数据公用; + * 5.同一条数据被A街道和A社区都同步了,街道在看本辖区数据时会看到两条,但是只有A街道的那一条才能看到取消同步按钮; + * 6.数据库一个人一个检测时间只存在一条记录,以导入数据结果为准,已导入的各项值都不能修改,即使错误也只能通过导入修改; + * 7.新增、删除居民时会相应的修改基础信息表是否居民以及userId的值; + * 注:1.导入数据不允许修改是觉得导入数据是官方提供的且没有问题的数据,不需要在平台有维护操作,只要看就可以了; + * 2.是否居民的查询条件以及是否居民的列标题在看整个客户列表数据时这两个都隐藏 + * + */ /** * @Author sun diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.36__ic_nat_normal.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.36__ic_nat_normal.sql new file mode 100644 index 0000000000..a0bfefa9f9 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.36__ic_nat_normal.sql @@ -0,0 +1,4 @@ +ALTER TABLE `ic_nat` +MODIFY COLUMN `USER_TYPE` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据来源【居民端小程序的人:resi;\r\n数字社区的居民:icresi;\r\n导入的:import;】' AFTER `USER_ID`, +ADD INDEX `idx_ic_card` (`ID_CARD`) USING BTREE ; + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index 66a10d467d..16b5e20990 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -69,7 +69,7 @@ AND b.is_resi_user = #{isResiUser} - ORDER BY b.nat_time DESC + ORDER BY b.nat_time DESC, b.id ASC +