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-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-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; } 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..cceed0a556 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java @@ -0,0 +1,118 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + + +/** + * 疫情特别关注 + * + * @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; + + public interface IcEpidemicSpecialAttention{} + + /** + * ID + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 当前工作人员所属组织ID + */ + private String orgId; + + /** + * 组织ID上级 + */ + private String pid; + + /** + * 组织ID所有上级 + */ + private String pids; + + /** + * 是否关注 1:关注,0:取消关注 + */ + @NotNull(message = "isAttention不能为空",groups = IcEpidemicSpecialAttention.class) + private Integer isAttention; + + /** + * 关注类型,核酸检测:2,疫苗接种:1 + */ + private Integer attentionType; + + /** + * 姓名 + */ + @NotBlank(message = "name不能为空",groups = IcEpidemicSpecialAttention.class) + private String name; + + /** + * 手机号 + */ + @NotBlank(message = "mobile不能为空",groups = IcEpidemicSpecialAttention.class) + private String mobile; + + /** + * 身份证号 + */ + @NotBlank(message = "idCard不能为空",groups = IcEpidemicSpecialAttention.class) + 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/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/IcNatDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java new file mode 100644 index 0000000000..9c98833ed4 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java @@ -0,0 +1,139 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; +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; + + /** + * 组织pids + */ + private String pids; + + /** + * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 + */ + private String userId; + + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;导入的:import;同步的:synchro + */ + private String userType; + + /** + * 人员姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 检测时间,精确到分钟 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date natTime; + + /** + * 检测结果(0:阴性 1:阳性) + */ + private String natResult; + + /** + * 检测地点 + */ + private String natAddress; + + /** + * 文件名 + */ + 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; + + /** + * 通知渠道 0小程序通知,1短信通知,多选是数组 + */ + private List channel = new ArrayList<>(); + /** + * 通知内容 + */ + private String content = ""; + +} \ 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..72520ef800 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNoticeDTO.java @@ -0,0 +1,109 @@ +package com.epmet.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + + +/** + * 防疫通知 + * + * @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; + + /** + * 唯一标识 + */ + @JsonIgnore + private String id; + + /** + * 客户Id customer.id + */ + @JsonIgnore + private String customerId; + + /** + * 通知渠道 0小程序通知,1短信通知 + */ + private String channel; + private List channelList; + /** + * 通知来源 0行程上报,1疫苗接种,2核酸检测 + */ + @JsonIgnore + private String origin; + + /** + * 用户ID + */ + @JsonIgnore + private String userId; + /** + * 手机号 + */ + @JsonIgnore + private String mobile; + + /** + * 被通知人身份证号 + */ + @JsonIgnore + private String idCard; + + /** + * 通知内容 + */ + private String content; + + /** + * 发送通知的社区 + */ + private String orgName; + + /** + * 删除标识:0.未删除 1.已删除 + */ + @JsonIgnore + private Integer delFlag; + + /** + * 乐观锁 + */ + @JsonIgnore + private Integer revision; + + /** + * 创建人 + */ + @JsonIgnore + private String createdBy; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date createdTime; + + /** + * 更新人 + */ + @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/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-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-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..73928633fb --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -0,0 +1,97 @@ +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @Description 核酸检测-上报核酸记录 + * @Author sun + */ +@Data +public class AddIcNatFormDTO implements Serializable { + private static final long serialVersionUID = 9156247659994638103L; + + public interface Nat extends CustomerClientShowGroup { + } + + /** + * 核酸记录Id,修改时使用 + */ + private String icNatId; + /** + * 当前网格所属组织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 natTime; + /** + * 检测结果 + */ + private String natResult; + /** + * 检测地点 + */ + private String natAddress; + /** + * 文件名 + */ + private String fileName; + /** + * 附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) + */ + private String attachmentType; + + /** + * 附件地址 + */ + private String attachmentUrl; + /** + * 通知渠道 0小程序通知,1短信通知,多选是数组 + */ + private List channel = new ArrayList<>(); + /** + * 通知内容 + */ + private String content = ""; + + //token中信息 + private String customerId; + + +} 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..bd9e48906c --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CancelAttentionFormDTO.java @@ -0,0 +1,33 @@ +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 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-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-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..b19a1d9caf --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java @@ -0,0 +1,68 @@ +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 { + } + public interface Detail extends CustomerClientShowGroup { + } + public interface Del extends CustomerClientShowGroup { + } + public interface Synchro extends CustomerClientShowGroup { + } + + /** + * 身份证号 + */ + @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; + + /** + * 核酸记录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-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..85b56ecb29 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatListFormDTO.java @@ -0,0 +1,52 @@ +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; + + /** + * user所属组织ID + */ + private String orgId; +} 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-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..ec8d2a3932 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java @@ -0,0 +1,66 @@ +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; + + public interface VaccinationListForm{} + + /** + * 关注类型,核酸检测:2,疫苗接种:1 + */ + @NotNull(message = "attentionType不能为空",groups = VaccinationListForm.class) + private Integer attentionType; + + /** + * 手机号 + */ + private String mobile; + + /** + * 名字 + */ + private String name; + + /** + * 身份证 + */ + 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/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-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-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 new file mode 100644 index 0000000000..f7325eca20 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -0,0 +1,150 @@ +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.UpdateGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.IcEpidemicSpecialAttentionDTO; +import com.epmet.dto.form.*; +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; + + +/** + * 疫情特别关注 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@RestController +@RequestMapping("icEpidemicSpecialAttention") +public class IcEpidemicSpecialAttentionController { + + @Autowired + private IcEpidemicSpecialAttentionService icEpidemicSpecialAttentionService; + + /** + * Desc: 【疫苗接种关注名单,疫苗接种关注名单】列表 + * @param formDTO + * @author zxc + * @date 2022/3/28 10:29 + */ + @PostMapping("list") + public Result vaccinationList(@RequestBody VaccinationListFormDTO formDTO, @LoginUser TokenDto tokenDto){ + 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 13:35 + */ + @PostMapping("vaccination-add") + public Result vaccinationAdd(@RequestBody VaccinationAddFormDTO formDTO,@LoginUser TokenDto tokenDto){ + 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 formDTO + * @author zxc + * @date 2022/3/28 13:51 + */ + @PostMapping("cancel-attention") + public Result cancelAttention(@RequestBody CancelAttentionPackageFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, CancelAttentionFormDTO.CancelAttentionForm.class); + icEpidemicSpecialAttentionService.cancelAttention(formDTO); + 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/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/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java new file mode 100644 index 0000000000..35d3511196 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -0,0 +1,152 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +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.apache.commons.io.IOUtils; +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; + + +/** + * 核酸上报记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@RestController +@RequestMapping("icNat") +public class IcNatController { + + @Autowired + private IcNatService icNucleinService; + + + /** + * @Author sun + * @Description 核酸检测-上报核酸记录 + **/ + //@NoRepeatSubmit + @PostMapping("add") + public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + icNucleinService.add(formDTO); + 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)); + } + + /** + * @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) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Detail.class); + return new Result().ok(icNucleinService.detail(formDTO)); + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息修改 + **/ + @NoRepeatSubmit + @PostMapping("edit") + public Result edit(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + icNucleinService.edit(formDTO); + return new Result(); + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息删除/取消同步 + **/ + @NoRepeatSubmit + @PostMapping("del") + public Result del(@RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Del.class); + icNucleinService.del(formDTO); + return new Result<>(); + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息同步 + **/ + @NoRepeatSubmit + @PostMapping("synchro") + 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(); + } + + /** + * @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/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..f7cb128fc4 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java @@ -0,0 +1,81 @@ +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.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.*; + + +/** + * 防疫通知 + * + * @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(@LoginUser TokenDto tokenDto, @RequestBody IcNoticeFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + PageData page = icNoticeService.page(formDTO); + 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(); + } + + @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/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/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/IcEpidemicSpecialAttentionDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java new file mode 100644 index 0000000000..cc1d3ba4a1 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java @@ -0,0 +1,36 @@ +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; + +/** + * 疫情特别关注 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-28 + */ +@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/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/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java new file mode 100644 index 0000000000..5ab06f865d --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -0,0 +1,39 @@ +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; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 核酸上报记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Mapper +public interface IcNatDao extends BaseDao { + + /** + * @Author sun + * @Description 核酸检测-按条件查询核酸记录 + **/ + List getMyNatList(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息列表 + **/ + 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/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/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/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/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/IcNatEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java new file mode 100644 index 0000000000..84d875c391 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java @@ -0,0 +1,94 @@ +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; + + /** + * 组织pids + */ + private String pids; + + /** + * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 + */ + private String userId; + + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;导入的:import;同步的:synchro + */ + private String userType; + + /** + * 人员姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 检测时间,精确到分钟 + */ + private Date natTime; + + /** + * 检测结果(0:阴性 1:阳性) + */ + private String natResult; + + /** + * 检测地点 + */ + private String natAddress; + + /** + * 文件名 + */ + 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/entity/IcNoticeEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNoticeEntity.java new file mode 100644 index 0000000000..133d56dfcd --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNoticeEntity.java @@ -0,0 +1,60 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 防疫通知 + * + * @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; + + /** + * 用户ID + */ + private String userId; + /** + * 手机号 + */ + private String mobile; + + /** + * 被通知人身份证号 + */ + 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/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/IcEpidemicSpecialAttentionService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java new file mode 100644 index 0000000000..2ed2223152 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java @@ -0,0 +1,115 @@ +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; +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); + + /** + * Desc: 【疫苗接种关注名单,疫苗接种关注名单】列表 + * @param formDTO + * @author zxc + * @date 2022/3/28 10:29 + */ + PageData vaccinationList(VaccinationListFormDTO formDTO); + + + /** + * Desc:【疫苗接种关注名单,核酸检测关注名单】新增 + * @param formDTO + * @author zxc + * @date 2022/3/28 13:35 + */ + void vaccinationAdd(VaccinationAddFormDTO formDTO); + + /** + * Desc:【疫苗接种关注名单,核酸检测关注名单】修改 + * @param formDTO + * @author zxc + * @date 2022/3/28 13:45 + */ + void vaccinationUpdate(IcEpidemicSpecialAttentionDTO formDTO); + + /** + * Desc: 取消关注 + * @param list + * @author zxc + * @date 2022/3/28 13:51 + */ + void cancelAttention(CancelAttentionPackageFormDTO formDTO); +} \ 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/IcNatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java new file mode 100644 index 0000000000..50bf30b6f8 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java @@ -0,0 +1,62 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +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; + +/** + * 核酸上报记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +public interface IcNatService extends BaseService { + + /** + * @Author sun + * @Description 核酸检测-上报核酸记录 + **/ + void add(AddIcNatFormDTO formDTO); + + /** + * @Author sun + * @Description 核酸检测-居民端我的上报 + **/ + List myNatList(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息列表 + **/ + NatListResultDTO natList(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息详情 + **/ + IcNatDTO detail(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息修改 + **/ + void edit(AddIcNatFormDTO 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/IcNoticeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java new file mode 100644 index 0000000000..937cca916a --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java @@ -0,0 +1,99 @@ +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; + +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 dto + * @return PageData + * @author generator + * @date 2022-03-28 + */ + PageData page(IcNoticeFormDTO formDTO); + + /** + * 默认查询 + * + * @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); + + /** + * 发送通知 + * + * @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/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/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/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java new file mode 100644 index 0000000000..f87b2c3184 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -0,0 +1,191 @@ +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.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.*; +import com.epmet.dto.result.VaccinationListResultDTO; +import com.epmet.entity.IcEpidemicSpecialAttentionEntity; +import com.epmet.service.IcEpidemicSpecialAttentionService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +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; + +/** + * 疫情特别关注 + * + * @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)); + } + + /** + * Desc: 【疫苗接种关注名单,疫苗接种关注名单】列表 + * @param formDTO + * @author zxc + * @date 2022/3/28 10:29 + */ + @Override + public PageData vaccinationList(VaccinationListFormDTO formDTO) { + PageData result = new PageData(new ArrayList(), NumConstant.ZERO_L); + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo){ + throw new EpmetException("未查询到工作人员信息"+formDTO.getUserId()); + } + formDTO.setOrgId(staffInfo.getAgencyId()); + // 关注类型,核酸检测:2,疫苗接种:1 + if (formDTO.getAttentionType().equals(NumConstant.ONE)){ + if (formDTO.isPage()){ + PageInfo 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()); + } + } + int i = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + for (VaccinationListResultDTO v : result.getList()) { + i += 1; + v.setSort(i); + } + return result; + } + + /** + * Desc:【疫苗接种关注名单,核酸检测关注名单】新增 + * @param formDTO + * @author zxc + * @date 2022/3/28 13:35 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void vaccinationAdd(VaccinationAddFormDTO formDTO) { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo){ + throw new EpmetException("未查询到工作人员信息"+formDTO.getUserId()); + } + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(staffInfo.getAgencyId()); + if (null == agencyInfo){ + throw new EpmetException("未查询到组织信息"+staffInfo.getAgencyId()); + } + List 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 发送通知 + } + + /** + * Desc:【疫苗接种关注名单,核酸检测关注名单】修改 + * 修改的时候通知渠道和通知内容是空的,如果他再次写了就是再次发送一条通知 不是修改之前发过的通知 + * 除了 姓名 身份证 都能修改 + * @param formDTO + * @author zxc + * @date 2022/3/28 13:45 + */ + @Override + public void vaccinationUpdate(IcEpidemicSpecialAttentionDTO formDTO) { + + } + + /** + * Desc: 取消关注 + * @param list + * @author zxc + * @date 2022/3/28 13:51 + */ + @Override + public 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/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/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java new file mode 100644 index 0000000000..f367748156 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -0,0 +1,218 @@ +package com.epmet.service.impl; + +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +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.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.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * 核酸上报记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-25 + */ +@Service +@Slf4j +public class IcNatServiceImpl extends BaseServiceImpl implements IcNatService { + @Autowired + private IcNoticeService icNoticeService; + + /** + * @Author sun + * @Description 核酸检测-上报核酸记录 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + 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); + entity.setPids(agencyInfo.getPids()); + insert(entity); + + //3.新增通知表信息 + if (formDTO.getChannel().size() > NumConstant.ZERO) { + 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"); + dto.setContent(formDTO.getContent()); + dto.setOrgName(agencyInfo.getOrganizationName()); + icNoticeService.sendNotice(dto); + } + + } + + /** + * @Author sun + * @Description 核酸检测-居民端我的上报 + **/ + @Override + public List myNatList(MyNatListFormDTO formDTO) { + //1.根据身份证号查询该人员所有核酸记录(居民端录入、数字平台录入、数字平台导入) + List resultList = baseDao.getMyNatList(formDTO); + 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 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); + + //2.查询对应的通知记录信息 + IcNoticeDTO dto = icNoticeService.getNotice(entity.getCustomerId(), entity.getIdCard()); + if (null != dto) { + resultDTO.setChannel(dto.getChannelList()); + resultDTO.setContent(dto.getContent()); + } + + return resultDTO; + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息修改 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + 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->%s", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "核酸记录修改失败"); + } + + //3.新增通知表信息 + if (formDTO.getChannel().size() > NumConstant.ZERO) { + 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.setCustomerId(formDTO.getCustomerId()); + dto.setUserList(userList); + dto.setChannel(formDTO.getChannel()); + dto.setOrigin("2"); + dto.setContent(formDTO.getContent()); + dto.setOrgName(agencyInfo.getOrganizationName()); + icNoticeService.sendNotice(dto); + } + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息删除/取消同步 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public void del(MyNatListFormDTO formDTO) { + //1.物理删除业务数据 + if (baseDao.delById(formDTO.getIcNatId()) < NumConstant.ONE) { + log.error(String.format("数据删除/取消同步失败,核酸记录Id->%s", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据操作失败"); + } + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息同步 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + 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 || staffInfo.getAgencyId().equals(entity.getAgencyId()) + || (!"import".equals(entity.getUserType()) && !"synchro".equals(entity.getUserType()))) { + log.error(String.format("数据同步失败,核酸记录Id->%s", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据同步失败,不是导入数据或非本组织数据"); + } + + //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/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..64fe1016c2 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java @@ -0,0 +1,205 @@ +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.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; +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; +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; + +/** + * 防疫通知 + * + * @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(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 + 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)); + } + + /** + * 发送通知 + * + * @param formDTO + * @Param formDTO + * @Return + * @Author zhaoqifeng + * @Date 2022/3/28 14:19 + */ + @Override + public void sendNotice(SendNoticeFormDTO formDTO) { + //保存消息 + String channel = StringUtils.join(formDTO.getChannel(), StrConstant.COMMA); + List entityList = formDTO.getUserList().stream().map(item -> { + IcNoticeEntity entity = new IcNoticeEntity(); + entity.setCustomerId(formDTO.getCustomerId()); + entity.setChannel(channel); + entity.setContent(formDTO.getContent()); + entity.setOrigin(formDTO.getOrigin()); + entity.setUserId(item.getUserId()); + entity.setMobile(item.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 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/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/excel/ic_nat.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx new file mode 100644 index 0000000000..4d7df5944a Binary files /dev/null and b/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx differ 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..63c556f0c0 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + \ 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/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml new file mode 100644 index 0000000000..f8b162ee5c --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + DELETE FROM ic_nat WHERE id = #{icNatId} + + + \ 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 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