From d4d92ec092022740158e1085bb70d71abe436581 Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Fri, 24 Jun 2022 10:38:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=E7=82=B9?= =?UTF-8?q?=EF=BC=8C=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B=E7=82=B9=20pc=20?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constants/ImportTaskConstants.java | 1 + .../constant/UserMessageTypeConstant.java | 10 + .../dto/result/OrgListTreeResultDTO.java | 34 +++ .../epmet/controller/AgencyController.java | 12 + .../controller/CustomerAgencyController.java | 12 + .../java/com/epmet/dao/CustomerAgencyDao.java | 4 + .../java/com/epmet/service/AgencyService.java | 11 +- .../epmet/service/CustomerAgencyService.java | 9 + .../epmet/service/impl/AgencyServiceImpl.java | 9 + .../impl/CustomerAgencyServiceImpl.java | 7 + .../resources/mapper/CustomerAgencyDao.xml | 25 ++ .../dto/IcPointVaccinesInoculationDTO.java | 6 +- .../com/epmet/dto/form/MapInfoFormDTO.java | 46 +++ .../dto/form/SendPointNoticeFormDTO.java | 63 ++++ .../epmet/dto/result/MapInfoResultDTO.java | 82 +++++ .../dto/result/SendPointNoticeResultDTO.java | 34 +++ .../epmet/controller/IcNoticeController.java | 28 ++ .../controller/IcPointAppController.java | 47 +++ .../IcPointNucleicMonitoringController.java | 26 +- .../IcPointVaccinesInoculationController.java | 76 ++++- .../dao/IcPointNucleicMonitoringDao.java | 18 ++ .../dao/IcPointVaccinesInoculationDao.java | 30 +- .../java/com/epmet/dao/IcResiUserDao.java | 12 +- .../IcPointVaccinesInoculationEntity.java | 2 +- .../IcPointVaccinesInoculationExcel.java | 4 +- ...IcPointVaccinesInoculationImportExcel.java | 71 +++++ .../PointVaccinesInoculationErrorModel.java | 50 +++ .../com/epmet/feign/GovOrgFeignClient.java | 10 + .../fallback/GovOrgFeignClientFallBack.java | 5 + .../com/epmet/service/IcNoticeService.java | 13 +- .../com/epmet/service/IcPointAppService.java | 33 ++ .../IcPointNucleicMonitoringService.java | 19 ++ .../IcPointVaccinesInoculationService.java | 34 ++- .../com/epmet/service/IcResiUserService.java | 7 + .../service/impl/IcNoticeServiceImpl.java | 92 +++++- .../service/impl/IcPointAppServiceImpl.java | 88 ++++++ .../IcPointNucleicMonitoringServiceImpl.java | 23 +- ...IcPointVaccinesInoculationServiceImpl.java | 285 +++++++++++++++++- .../service/impl/IcResiUserServiceImpl.java | 7 + .../excel/ic_point_nucleic_monitoring.xlsx | Bin 11348 -> 11305 bytes .../excel/ic_point_vaccines_inoculation.xlsx | Bin 0 -> 11577 bytes .../mapper/IcPointNucleicMonitoringDao.xml | 60 ++++ .../mapper/IcPointVaccinesInoculationDao.xml | 74 ++++- .../main/resources/mapper/IcResiUserDao.xml | 12 + 44 files changed, 1457 insertions(+), 34 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrgListTreeResultDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MapInfoFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendPointNoticeFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MapInfoResultDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/SendPointNoticeResultDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcPointAppController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcPointVaccinesInoculationImportExcel.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/error/PointVaccinesInoculationErrorModel.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcPointAppService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcPointAppServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/excel/ic_point_vaccines_inoculation.xlsx diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java index 9c461a1f18..4072db576c 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java @@ -20,6 +20,7 @@ public interface ImportTaskConstants { String BIZ_TYPE_ATTENTION_TRIP_REPORT = "attention_vaccination"; String BIZ_TYPE_IC_PARTY_MEMBER = "ic_party_member"; String IC_POINT_NUCLEIC_MONITORING = "ic_point_nucleic_monitoring"; + String IC_POINT_VACCINES_INOCULATION = "ic_point_vaccines_inoculation"; /** * 核酸检测 */ 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 08991d8a8b..b94b1b252a 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 @@ -169,6 +169,16 @@ public interface UserMessageTypeConstant { */ String ANTIEPIDEMIC="antiepidemic"; + /** + * 核酸检测点通知 + */ + String NUCLEIC="nucleic"; + + /** + * 疫苗接种点通知 + */ + String VACCINES="vaccines"; + /** * 发布党建声音 diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrgListTreeResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrgListTreeResultDTO.java new file mode 100644 index 0000000000..d6df3d9b87 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrgListTreeResultDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dto.result; + + +import com.epmet.commons.tools.utils.NodeTree; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class OrgListTreeResultDTO extends NodeTree implements Serializable { + + private static final long serialVersionUID = -1993037593855768962L; + + /** + * 父id + */ + private String pid; + + /** + * 名字 + */ + private String label; + + /** + * 值 + */ + private String value; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index e917eacf59..b6a6ec5ec4 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -467,6 +467,18 @@ public class AgencyController { return new Result>().ok(agencyService.getCommunityList(tokenDto)); } + /** + * Desc: 查询工作人员所属组织下的所有街道社区 + * + * @param tokenDto + * @author wgf + * @date 2022/6/23 09:13 + */ + @PostMapping("getOrgTreeListByCustomerId") + public Result> getOrgTreeListByCustomerId(@LoginUser TokenDto tokenDto) { + return new Result>().ok(agencyService.getOrgTreeListByCustomerId(tokenDto)); + } + /** * 通讯录树状结构 * diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index 24008e536e..153ffb26fe 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -475,5 +475,17 @@ public class CustomerAgencyController { return customerAgencyService.getCommunityInfo(orgName); } + /** + * @param userId + * @return com.epmet.commons.tools.utils.Result + * @Author wgf + * @Description 根据用户ID查询所属组织信息 + * @Date 2022/6/21 22:41 + **/ + @GetMapping("getCommunityInfoByUserId/{userId}") + public Result getCommunityInfoByUserId(@PathVariable("userId") String userId) { + return customerAgencyService.getCommunityInfoByUserId(userId); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 17fb8356f3..0a6875acbc 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -331,6 +331,8 @@ public interface CustomerAgencyDao extends BaseDao { */ List getOrgTreeByUserAndType(OrgTreeByUserAndTypeFormDTO formDto); + List getOrgTreeListByCustomerId(@Param("customerId") String customerId); + /** * 通讯录树 * @@ -346,5 +348,7 @@ public interface CustomerAgencyDao extends BaseDao { List getDelAgencyIdList(@Param("agencyId") String agencyId); CommunityInfoResultDTO getCommunityInfo(@Param("orgName") String orgName); + + CommunityInfoResultDTO getCommunityInfoByUserId(@Param("userId") String userId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java index ea43abd53e..34bd0c7b55 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java @@ -150,6 +150,15 @@ public interface AgencyService { */ List getCommunityList(TokenDto tokenDto); + /** + * Desc: 查询工作人员所属组织下的所有街道社区 + * + * @param tokenDto + * @author wgf + * @date 2022/6/23 09:13 + */ + List getOrgTreeListByCustomerId(TokenDto tokenDto); + /** * 通讯录树状结构 * @@ -160,4 +169,4 @@ public interface AgencyService { * @date 2022/5/16 10:43 */ List getAddressTree(String name, String customerId); -} \ No newline at end of file +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index d6651bc29b..bc950586a9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -327,4 +327,13 @@ public interface CustomerAgencyService extends BaseService * @Date 2022/6/21 22:41 **/ Result getCommunityInfo(String orgName); + + /** + * @param userId + * @return com.epmet.commons.tools.utils.Result + * @Author wgf + * @Description 根据用户ID查询所属组织信息 + * @Date 2022/6/21 22:41 + **/ + Result getCommunityInfoByUserId(String userId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index ceee6804eb..aff8e76bb3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -870,6 +870,15 @@ public class AgencyServiceImpl implements AgencyService { return customerAgencyDao.getCommunityList(tokenDto.getCustomerId(), agencyId); } + @Override + public List getOrgTreeListByCustomerId(TokenDto tokenDto) { + if (null == tokenDto.getCustomerId()) { + throw new EpmetException("未查询到工作人员信息"); + } + List list = customerAgencyDao.getOrgTreeListByCustomerId(tokenDto.getCustomerId()); + return NodeTreeUtils.build(list); + } + /** * 通讯录树 * diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 7c6cfa6d50..3b6317e4f4 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -1573,4 +1573,11 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl().ok(communityInfoResultDTO); } + @Override + public Result getCommunityInfoByUserId(String userId) { + CommunityInfoResultDTO communityInfoResultDTO = baseDao.getCommunityInfoByUserId(userId); + + return new Result().ok(communityInfoResultDTO); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index e5d635d88f..a167a9e803 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -756,6 +756,16 @@ AND CUSTOMER_ID = #{customerId} AND CONCAT(PIDS,':',ID) LIKE CONCAT('%',#{agencyId},'%') + + + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcPointVaccinesInoculationDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcPointVaccinesInoculationDTO.java index d1f397a84b..2d1c465ecb 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcPointVaccinesInoculationDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcPointVaccinesInoculationDTO.java @@ -79,7 +79,7 @@ public class IcPointVaccinesInoculationDTO implements Serializable { /** * 暂无疫苗(1:是;2:否) */ - private Integer noAvailableVaccines; + private String noAvailableVaccines; /** * 咨询电话 @@ -102,7 +102,7 @@ public class IcPointVaccinesInoculationDTO implements Serializable { private String latitude; /** - * + * */ private Integer delFlag; @@ -131,4 +131,4 @@ public class IcPointVaccinesInoculationDTO implements Serializable { */ private Date updatedTime; -} \ No newline at end of file +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MapInfoFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MapInfoFormDTO.java new file mode 100644 index 0000000000..d97acc0d24 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MapInfoFormDTO.java @@ -0,0 +1,46 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; + + +/** + * 获取地图信息入参 + * + * @author wgf + * @since v1.0.0 2022-06-20 + */ +@Data +public class MapInfoFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 地点类型(1:核酸检测点; 2:疫苗接种点) + */ + @NotBlank(message = "地点类型不能为空") + private String type; + + /** + * 经度 + */ + @NotBlank(message = "经度不能为空") + private String longitude; + + /** + * 纬度 + */ + @NotBlank(message = "纬度不能为空") + private String latitude; + + /** + * 地点名称 + */ + private String name; + + + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendPointNoticeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendPointNoticeFormDTO.java new file mode 100644 index 0000000000..52eb7ca00a --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendPointNoticeFormDTO.java @@ -0,0 +1,63 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @Author wgf + * @Date 2022/3/28 14:14 + */ +@NoArgsConstructor +@Data +public class SendPointNoticeFormDTO implements Serializable { + private static final long serialVersionUID = 4800907725063604885L; + private String customerId; + private String staffId; + /** + * 用户列表 + */ + private List userList; + /** + * 通知渠道通知渠道 0小程序通知,1短信通知 + */ + @NotEmpty(message = "请选择通知渠道", groups = CustomerClientShowGroup.class) + private List channel; + /** + * 通知来源 0 行程上报,1 疫苗接种,2 核酸检测,3核酸检测点,4疫苗接种点 + */ + @NotEmpty(message = "通知来源不能为空", groups = CustomerClientShowGroup.class) + private String origin; + /** + * 通知内容 + */ + @Size(min = 1, max = 500, message = "通知内容不超过500字", groups = CustomerClientShowGroup.class) + private String content; + /** + * 组织名 + */ + 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/result/MapInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MapInfoResultDTO.java new file mode 100644 index 0000000000..896d1195fc --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MapInfoResultDTO.java @@ -0,0 +1,82 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +/** + * 获取地图信息返参 + * + * @author wgf + * @since v1.0.0 2022-06-20 + */ +@Data +public class MapInfoResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 时间随机数标识 + */ + private Integer markerId; + + /** + * 疫苗接种点名称 + */ + private String name; + + /** + * 距离当前位置千米数 + */ + private String km; + + /** + * 暂无疫苗(1:是;2:否) + */ + private String noAvailableVaccines; + + /** + * 距离(1:1公里以内;3:3公里以内;5:5公里以内;99:5公里以外) + */ + private String kmNum; + + /** + * 日期 + */ + private String date; + + /** + * 上午时间 + */ + private String moTime; + + /** + * 下午时间 + */ + private String afTime; + + /** + * 电话 + */ + private String mobile; + + /** + * 地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/SendPointNoticeResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/SendPointNoticeResultDTO.java new file mode 100644 index 0000000000..04f8b2b4f9 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/SendPointNoticeResultDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dto.result; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @Author wgf + * @Date 2022/3/28 14:14 + */ +@Data +public class SendPointNoticeResultDTO implements Serializable { + private static final long serialVersionUID = 4800907725063604885L; + + + /** + * 用户ID + */ + private String userId; + /** + * 手机号 + */ + private String mobile; + /** + * 身份证 + */ + private String idCard; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java index ab0529b158..325eb71c31 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java @@ -4,6 +4,7 @@ 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.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -14,10 +15,16 @@ 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.dto.form.SendPointNoticeFormDTO; +import com.epmet.dto.result.CommunityInfoResultDTO; +import com.epmet.feign.GovOrgFeignClient; import com.epmet.service.IcNoticeService; +import com.epmet.service.IcResiUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * 防疫通知 @@ -32,6 +39,12 @@ public class IcNoticeController { @Autowired private IcNoticeService icNoticeService; + @Autowired + private GovOrgFeignClient govOrgFeignClient; + + @Autowired + private IcResiUserService icResiUserService; + @RequestMapping("page") public Result> page(@LoginUser TokenDto tokenDto, @RequestBody IcNoticeFormDTO formDTO){ formDTO.setCustomerId(tokenDto.getCustomerId()); @@ -80,4 +93,19 @@ public class IcNoticeController { return new Result(); } + @PostMapping("sendPointNotice") + public Result sendPointNotice(@LoginUser TokenDto tokenDto, @RequestBody SendPointNoticeFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, CustomerClientShowGroup.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + // 查询用户列表 + Result communityInfoResultDTOResult = govOrgFeignClient.getCommunityInfoByUserId(tokenDto.getUserId()); + // 能点击发送按钮的人肯定有社区ID + String communityId = communityInfoResultDTOResult.getData().getDeptId(); + List userList = icResiUserService.getUserListByCommunityId(communityId); + formDTO.setUserList(userList); + icNoticeService.sendPointNotice(formDTO); + return new Result(); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcPointAppController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcPointAppController.java new file mode 100644 index 0000000000..babae7655b --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcPointAppController.java @@ -0,0 +1,47 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.form.MapInfoFormDTO; +import com.epmet.dto.result.MapInfoResultDTO; +import com.epmet.service.IcPointAppService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 核酸监测点 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-20 + */ +@RestController +@RequestMapping("appPoint") +@Slf4j +public class IcPointAppController { + + @Autowired + private IcPointAppService icPointAppService; + + /** + * 根据地点类型获取地图数据 + * @param formDTO + * @return + */ + @PostMapping("getMapInfoByPointType") + public Result> getMapInfoByPointType(@RequestBody MapInfoFormDTO formDTO){ + // 效验数据 + ValidatorUtils.validateEntity(formDTO, AddGroup.class, DefaultGroup.class); + + return icPointAppService.getMapInfoByPointType(formDTO); + } + + + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcPointNucleicMonitoringController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcPointNucleicMonitoringController.java index b1bc4385a3..c320c5cb56 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcPointNucleicMonitoringController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcPointNucleicMonitoringController.java @@ -18,9 +18,11 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.IcPointNucleicMonitoringDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.result.CommunityInfoResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.excel.IcPointNucleicMonitoringExcel; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.GovOrgFeignClient; import com.epmet.service.IcPointNucleicMonitoringService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FilenameUtils; @@ -52,9 +54,13 @@ public class IcPointNucleicMonitoringController { @Autowired private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + @Autowired + private GovOrgFeignClient govOrgFeignClient; + @RequestMapping("page") public Result> page(@RequestParam Map params){ - PageData page = icPointNucleicMonitoringService.page(params); +// PageData page = icPointNucleicMonitoringService.page(params); + PageData page = icPointNucleicMonitoringService.getPhrasePage(params); return new Result>().ok(page); } @@ -65,7 +71,7 @@ public class IcPointNucleicMonitoringController { } @NoRepeatSubmit - @PostMapping("save") + @PostMapping public Result save(@RequestBody IcPointNucleicMonitoringDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); @@ -74,7 +80,7 @@ public class IcPointNucleicMonitoringController { } @NoRepeatSubmit - @PutMapping("update") + @PutMapping public Result update(@RequestBody IcPointNucleicMonitoringDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); @@ -96,6 +102,16 @@ public class IcPointNucleicMonitoringController { ExcelUtils.exportExcelToTarget(response, null, list, IcPointNucleicMonitoringExcel.class); } + /** + * 获取【发送通知】按钮显示隐藏状态 + * @param tokenDto + * @return + */ + @PostMapping("getShowType") + public Result getShowType(@LoginUser TokenDto tokenDto){ + return govOrgFeignClient.getCommunityInfoByUserId(tokenDto.getUserId()); + } + /** * Desc: 【核酸检测点】导入 @@ -103,8 +119,8 @@ public class IcPointNucleicMonitoringController { * @author wgf * @date 2022/6/21 13:40 */ - @PostMapping("pointNucleicMonitoringImport") - public Result pointNucleicMonitoringImport(@LoginUser TokenDto tokenDto, @RequestParam("file") MultipartFile file){ + @PostMapping("pointImport") + public Result pointImport(@LoginUser TokenDto tokenDto, @RequestParam("file") MultipartFile file){ if (file.isEmpty()) { throw new EpmetException("请上传文件"); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcPointVaccinesInoculationController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcPointVaccinesInoculationController.java index 79e71f1dd8..141bb3e75d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcPointVaccinesInoculationController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcPointVaccinesInoculationController.java @@ -1,7 +1,12 @@ package com.epmet.controller; +import cn.afterturn.easypoi.excel.entity.TemplateExportParams; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ExcelPoiUtils; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; @@ -9,13 +14,22 @@ 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.constants.ImportTaskConstants; import com.epmet.dto.IcPointVaccinesInoculationDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.excel.IcPointVaccinesInoculationExcel; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.IcPointVaccinesInoculationService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FilenameUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -28,14 +42,19 @@ import java.util.Map; */ @RestController @RequestMapping("icPointVaccinesInoculation") +@Slf4j public class IcPointVaccinesInoculationController { @Autowired private IcPointVaccinesInoculationService icPointVaccinesInoculationService; + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + @RequestMapping("page") public Result> page(@RequestParam Map params){ - PageData page = icPointVaccinesInoculationService.page(params); +// PageData page = icPointVaccinesInoculationService.page(params); + PageData page = icPointVaccinesInoculationService.getPhrasePage(params); return new Result>().ok(page); } @@ -46,7 +65,7 @@ public class IcPointVaccinesInoculationController { } @NoRepeatSubmit - @PostMapping("save") + @PostMapping() public Result save(@RequestBody IcPointVaccinesInoculationDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); @@ -55,7 +74,7 @@ public class IcPointVaccinesInoculationController { } @NoRepeatSubmit - @PutMapping("update") + @PutMapping() public Result update(@RequestBody IcPointVaccinesInoculationDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); @@ -77,6 +96,57 @@ public class IcPointVaccinesInoculationController { ExcelUtils.exportExcelToTarget(response, null, list, IcPointVaccinesInoculationExcel.class); } + /** + * Desc: 【疫苗接种点】导入 + * @param + * @author wgf + * @date 2022/6/21 13:40 + */ + @PostMapping("pointImport") + public Result pointImport(@LoginUser TokenDto tokenDto, @RequestParam("file") MultipartFile file){ + if (file.isEmpty()) { + throw new EpmetException("请上传文件"); + } + // 校验文件类型 + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + if (!"xls".equals(extension) && !"xlsx".equals(extension)) { + throw new EpmetException("文件类型不匹配"); + } + + ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); + importTaskForm.setOriginFileName(file.getOriginalFilename()); + importTaskForm.setOperatorId(tokenDto.getUserId()); + importTaskForm.setBizType(ImportTaskConstants.IC_POINT_VACCINES_INOCULATION); + Result result = commonServiceOpenFeignClient.createImportTask(importTaskForm); + if (!result.success()) { + throw new EpmetException(9999,"存在进行中的导入"); + } + InputStream inputStream = null; + try { + inputStream = file.getInputStream(); + }catch (Exception e){ + ImportTaskCommonFormDTO input = new ImportTaskCommonFormDTO(); + input.setOperatorId(tokenDto.getUserId()); + input.setTaskId(result.getData().getTaskId()); + input.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + commonServiceOpenFeignClient.finishImportTask(input); + log.error("读取文件失败"); + } + icPointVaccinesInoculationService.importFile(tokenDto,inputStream,result.getData().getTaskId()); + return new Result(); + } + + /** + * 导出模板 + * @param response + * @throws Exception + */ + @PostMapping("exporttemplate") + public void exportTemplate( HttpServletResponse response) throws Exception { + TemplateExportParams templatePath = new TemplateExportParams("excel/ic_point_vaccines_inoculation.xlsx"); + ExcelPoiUtils.exportExcel(templatePath ,new HashMap<>(),"疫苗接种点录入表",response); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcPointNucleicMonitoringDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcPointNucleicMonitoringDao.java index 563d33553d..995ac2a81e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcPointNucleicMonitoringDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcPointNucleicMonitoringDao.java @@ -1,10 +1,14 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IcPointNucleicMonitoringDTO; +import com.epmet.dto.form.MapInfoFormDTO; +import com.epmet.dto.result.MapInfoResultDTO; import com.epmet.entity.IcPointNucleicMonitoringEntity; import org.apache.ibatis.annotations.Mapper; import java.util.List; +import java.util.Map; /** * 核酸监测点 @@ -21,4 +25,18 @@ public interface IcPointNucleicMonitoringDao extends BaseDao getAllAddressName(); + /** + * 条件查询 + * @param params + * @return + */ + List getPhrasePage(Map params); + + /** + * 获取地图信息 + * @param formDTO + * @return + */ + List getMapInfoList(MapInfoFormDTO formDTO); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcPointVaccinesInoculationDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcPointVaccinesInoculationDao.java index 4541f80cde..debf41daeb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcPointVaccinesInoculationDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcPointVaccinesInoculationDao.java @@ -1,9 +1,15 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IcPointVaccinesInoculationDTO; +import com.epmet.dto.form.MapInfoFormDTO; +import com.epmet.dto.result.MapInfoResultDTO; import com.epmet.entity.IcPointVaccinesInoculationEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; +import java.util.Map; + /** * 疫苗接种点 * @@ -12,5 +18,25 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IcPointVaccinesInoculationDao extends BaseDao { - -} \ No newline at end of file + + /** + * 获取所有地点名称 + * @return + */ + List getAllAddressName(); + + /** + * 条件查询 + * @param params + * @return + */ + List getPhrasePage(Map params); + + /** + * 获取地图信息 + * @param formDTO + * @return + */ + List getMapInfoList(MapInfoFormDTO formDTO); + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index f145fadd97..1208d07507 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -22,10 +22,7 @@ import com.epmet.commons.tools.dto.result.OptionDataResultDTO; import com.epmet.dto.IcResiUserConfirmDTO; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.IcVolunteerPolyDTO; -import com.epmet.dto.form.EpidemicPreventionFormDTO; -import com.epmet.dto.form.MoveOutMemberFormDTO; -import com.epmet.dto.form.RentTenantDataFormDTO; -import com.epmet.dto.form.ResiUserQueryValueDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IcResiUserEntity; import org.apache.ibatis.annotations.MapKey; @@ -370,4 +367,11 @@ public interface IcResiUserDao extends BaseDao { * @return com.epmet.entity.IcResiUserEntity */ IcResiUserEntity selectResiUserEntityByIdCard(@Param("idCard") String idCard,@Param("customerId") String customerId); + + /** + * 通过社区ID获取所属人员 + * @param communityId + * @return + */ + List getUserListByCommunityId(@Param("communityId") String communityId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcPointVaccinesInoculationEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcPointVaccinesInoculationEntity.java index c08d24575f..3f31a38485 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcPointVaccinesInoculationEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcPointVaccinesInoculationEntity.java @@ -79,7 +79,7 @@ public class IcPointVaccinesInoculationEntity extends BaseEpmetEntity { /** * 暂无疫苗(1:是;2:否) */ - private Integer noAvailableVaccines; + private String noAvailableVaccines; /** * 咨询电话 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcPointVaccinesInoculationExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcPointVaccinesInoculationExcel.java index 08bbb31df3..e88e19b906 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcPointVaccinesInoculationExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcPointVaccinesInoculationExcel.java @@ -51,7 +51,7 @@ public class IcPointVaccinesInoculationExcel { private String afEndTime; @Excel(name = "暂无疫苗(1:是;2:否)") - private Integer noAvailableVaccines; + private String noAvailableVaccines; @Excel(name = "咨询电话") private String mobile; @@ -84,4 +84,4 @@ public class IcPointVaccinesInoculationExcel { private Date updatedTime; -} \ No newline at end of file +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcPointVaccinesInoculationImportExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcPointVaccinesInoculationImportExcel.java new file mode 100644 index 0000000000..bbc7e202b9 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcPointVaccinesInoculationImportExcel.java @@ -0,0 +1,71 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import cn.afterturn.easypoi.excel.annotation.ExcelIgnore; +import lombok.Data; + +/** + * 疫苗接种点 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-20 + */ +@Data +public class IcPointVaccinesInoculationImportExcel { + +// @Excel(name = "所属组织名称") +// private String orgName; + + @Excel(name = "疫苗接种点名称") + private String name; + + @Excel(name = "接种日期") + private String inoculationDate; + + @Excel(name = "接种上午开始时间") + private String moStartTime; + + @Excel(name = "接种上午结束时间") + private String moEndTime; + + @Excel(name = "接种下午开始时间") + private String afStartTime; + + @Excel(name = "接种下午结束时间") + private String afEndTime; + + @Excel(name = "暂无疫苗", replace = {"否_1","是_2"}) + private String noAvailableVaccines; + + @Excel(name = "咨询电话") + private String mobile; + + @Excel(name = "接种点地址") + private String address; + + @ExcelIgnore + private Boolean addStatus = false; + + @ExcelIgnore + private Integer num; + + /** + * 所属组织ID + */ +// @ExcelIgnore +// private String orgId; + + /** + * 组织ID上级 + */ +// @ExcelIgnore +// private String pid; + + /** + * 组织ID所有上级 + */ +// @ExcelIgnore +// private String pids; + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/error/PointVaccinesInoculationErrorModel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/error/PointVaccinesInoculationErrorModel.java new file mode 100644 index 0000000000..7f7d3c3109 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/error/PointVaccinesInoculationErrorModel.java @@ -0,0 +1,50 @@ +package com.epmet.excel.error; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +/** + * @Author wgf + * @DateTime 2022/6/21 16:57 + * @DESC + */ +@Data +public class PointVaccinesInoculationErrorModel { + + @Excel(name = "行号",width = 10) + private Integer num; + +// @Excel(name = "所属组织名称",width = 30) +// private String orgName; + + @Excel(name = "核酸监测点名称",width = 30) + private String name; + + @Excel(name = "接种日期",width = 30) + private String inoculationDate; + + @Excel(name = "接种上午开始时间",width = 30) + private String moStartTime; + + @Excel(name = "接种上午结束时间",width = 30) + private String moEndTime; + + @Excel(name = "接种下午开始时间",width = 30) + private String afStartTime; + + @Excel(name = "接种下午结束时间",width = 30) + private String afEndTime; + + @Excel(name = "暂无疫苗",width = 20, replace = {"否_1","是_2"}) + private String noAvailableVaccines; + + @Excel(name = "电话",width = 30) + private String mobile; + + @Excel(name = "监测点地址",width = 40) + private String address; + + @Excel(name = "错误信息", width = 200) + private String errorMsg; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index b364fa689d..4d97431514 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -74,4 +74,14 @@ public interface GovOrgFeignClient { @GetMapping("/gov/org/customeragency/getCommunityInfo/{orgName}") Result getCommunityInfo(@PathVariable("orgName") String orgName); + /** + * @param userId + * @return com.epmet.commons.tools.utils.Result + * @Author wgf + * @Description 根据社区名称查询所属组织信息 + * @Date 2020/4/26 23:16 + **/ + @GetMapping("/gov/org/customeragency/getCommunityInfoByUserId/{userId}") + Result getCommunityInfoByUserId(@PathVariable("userId") String userId); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index f01da41601..b2968f313f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -45,4 +45,9 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { public Result getCommunityInfo(String orgName) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getCommunityInfo",orgName); } + + @Override + public Result getCommunityInfoByUserId(String userId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getCommunityInfoByUserId",userId); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java index 3f72855558..9c65229972 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNoticeService.java @@ -5,6 +5,7 @@ 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.dto.form.SendPointNoticeFormDTO; import com.epmet.entity.IcNoticeEntity; import java.util.Date; @@ -89,6 +90,16 @@ public interface IcNoticeService extends BaseService { */ void sendNotice(SendNoticeFormDTO formDTO); + /** + * 发送通知(疫苗,核酸地点) + * + * @Param formDTO + * @Return + * @Author wgf + * @Date 2022/6/23 14:19 + */ + void sendPointNotice(SendPointNoticeFormDTO formDTO); + /** * 获取人员最新一条通知 * @Param idCard @@ -104,4 +115,4 @@ public interface IcNoticeService extends BaseService { * @return */ Map getUserLatestNoticeTime(String customerId,List idCardSet); -} \ No newline at end of file +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcPointAppService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcPointAppService.java new file mode 100644 index 0000000000..6d6f7626d9 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcPointAppService.java @@ -0,0 +1,33 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.IcPointNucleicMonitoringDTO; +import com.epmet.dto.form.MapInfoFormDTO; +import com.epmet.dto.result.MapInfoResultDTO; +import com.epmet.entity.IcPointNucleicMonitoringEntity; +import org.springframework.web.bind.annotation.RequestBody; + +import java.io.InputStream; +import java.util.List; +import java.util.Map; + +/** + * 地图信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-20 + */ +public interface IcPointAppService { + + /** + * 根据地点类型获取地图数据 + * @param formDTO + * @return + */ + Result> getMapInfoByPointType(MapInfoFormDTO formDTO); + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcPointNucleicMonitoringService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcPointNucleicMonitoringService.java index d74f89f861..8aaf21fe7d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcPointNucleicMonitoringService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcPointNucleicMonitoringService.java @@ -4,6 +4,8 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.IcPointNucleicMonitoringDTO; +import com.epmet.dto.form.MapInfoFormDTO; +import com.epmet.dto.result.MapInfoResultDTO; import com.epmet.entity.IcPointNucleicMonitoringEntity; import java.io.InputStream; @@ -28,6 +30,13 @@ public interface IcPointNucleicMonitoringService extends BaseService page(Map params); + /** + * 分页条件查询 + * @param params + * @return + */ + PageData getPhrasePage(Map params); + /** * 默认查询 * @@ -86,4 +95,14 @@ public interface IcPointNucleicMonitoringService extends BaseService + * @author wgf + * @date 2022-06-20 + */ + List getMapInfoList(MapInfoFormDTO formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcPointVaccinesInoculationService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcPointVaccinesInoculationService.java index f9bd63cc05..9dc56f6779 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcPointVaccinesInoculationService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcPointVaccinesInoculationService.java @@ -2,9 +2,13 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.IcPointVaccinesInoculationDTO; +import com.epmet.dto.form.MapInfoFormDTO; +import com.epmet.dto.result.MapInfoResultDTO; import com.epmet.entity.IcPointVaccinesInoculationEntity; +import java.io.InputStream; import java.util.List; import java.util.Map; @@ -26,6 +30,13 @@ public interface IcPointVaccinesInoculationService extends BaseService page(Map params); + /** + * 分页条件查询 + * @param params + * @return + */ + PageData getPhrasePage(Map params); + /** * 默认查询 * @@ -75,4 +86,25 @@ public interface IcPointVaccinesInoculationService extends BaseService + * @author wgf + * @date 2022-06-20 + */ + List getMapInfoList(MapInfoFormDTO formDTO); + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 3ef76601bc..51619b8579 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -436,4 +436,11 @@ public interface IcResiUserService extends BaseService { * @Date 2022/6/16 15:30 */ List getUserId(String icResiUserId); + + /** + * 根据社区ID获取该社区下的所有用户 + * @param communityId + * @return + */ + List getUserListByCommunityId(String communityId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java index 28fd02753b..1abb00b5f3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java @@ -16,10 +16,7 @@ import com.epmet.constant.UserMessageTypeConstant; import com.epmet.dao.IcNoticeDao; import com.epmet.dto.IcNoticeDTO; import com.epmet.dto.UserBaseInfoDTO; -import com.epmet.dto.form.IcNoticeFormDTO; -import com.epmet.dto.form.ProjectSendMsgFormDTO; -import com.epmet.dto.form.SendNoticeFormDTO; -import com.epmet.dto.form.UserMessageFormDTO; +import com.epmet.dto.form.*; import com.epmet.entity.IcNoticeEntity; import com.epmet.feign.MessageFeignClient; import com.epmet.service.IcNoticeService; @@ -197,6 +194,91 @@ public class IcNoticeServiceImpl extends BaseServiceImpl userBeanList = formDTO.getUserList().stream().collect(Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>( + Comparator.comparing( SendPointNoticeFormDTO.UserListBean::getIdCard))), ArrayList::new)); + List entityList = userBeanList.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(finalOrgName); + return entity; + }).collect(Collectors.toList()); + insertBatch(entityList); + + //通知 + List msgList = new ArrayList<>(); + //短信消息 + List smsList = new ArrayList<>(); + + entityList.forEach(item -> { + if (StringUtils.isNotBlank(item.getIdCard())) { + //根据身份证获取居民ID + List userList = userBaseInfoService.getCommonIdNumUser(item.getCustomerId(), item.getIdCard()); + if (CollectionUtils.isNotEmpty(userList)) { + userList.forEach(user -> { + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(item.getCustomerId()); + messageFormDTO.setApp(AppClientConstant.APP_GOV); + messageFormDTO.setGridId(StrConstant.STAR); + messageFormDTO.setUserId(user.getUserId()); + messageFormDTO.setTitle("您有一条通知消息!"); + messageFormDTO.setMessageContent(item.getContent()); + messageFormDTO.setReadFlag(Constant.UNREAD); + if("3".equals(formDTO.getOrigin())){ + // 核酸检测点 + messageFormDTO.setMessageType(UserMessageTypeConstant.NUCLEIC); + }else{ + // 疫苗接种点 + messageFormDTO.setMessageType(UserMessageTypeConstant.VACCINES); + } + 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)); + } + //TODO 发送短信 + } + /** * 获取人员最新一条通知 * @@ -244,4 +326,4 @@ public class IcNoticeServiceImpl extends BaseServiceImpl> getMapInfoByPointType(MapInfoFormDTO formDTO) { + List mapInfoResultDTO = new ArrayList(); + // 地点类型(1:核酸检测点; 2:疫苗接种点) + if("1".equals(formDTO.getType())){ + // 核酸检测点地图数据 + mapInfoResultDTO = icPointNucleicMonitoringService.getMapInfoList(formDTO); + + }else if("2".equals(formDTO.getType())){ + // 疫苗接种点地图数据 + mapInfoResultDTO = icPointVaccinesInoculationService.getMapInfoList(formDTO); + } + return new Result>().ok(mapInfoResultDTO); + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcPointNucleicMonitoringServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcPointNucleicMonitoringServiceImpl.java index 9256d6f9fa..a5dacb5bc6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcPointNucleicMonitoringServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcPointNucleicMonitoringServiceImpl.java @@ -22,7 +22,9 @@ import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcPointNucleicMonitoringDao; import com.epmet.dto.IcPointNucleicMonitoringDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.form.MapInfoFormDTO; import com.epmet.dto.result.CommunityInfoResultDTO; +import com.epmet.dto.result.MapInfoResultDTO; import com.epmet.dto.result.UploadImgResultDTO; import com.epmet.entity.IcEpidemicSpecialAttentionEntity; import com.epmet.entity.IcPointNucleicMonitoringEntity; @@ -85,6 +87,18 @@ public class IcPointNucleicMonitoringServiceImpl extends BaseServiceImpl getPhrasePage(Map params) { + IPage page = getPage(params); + List list = baseDao.getPhrasePage(params); + return new PageData<>(list, page.getTotal()); + } + @Override public List list(Map params) { List entityList = baseDao.selectList(getWrapper(params)); @@ -229,7 +243,7 @@ public class IcPointNucleicMonitoringServiceImpl extends BaseServiceImpl getMapInfoList(MapInfoFormDTO formDTO) { + List list = baseDao.getMapInfoList(formDTO); + return list; + } + + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcPointVaccinesInoculationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcPointVaccinesInoculationServiceImpl.java index 1d5dca7b45..9b89513936 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcPointVaccinesInoculationServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcPointVaccinesInoculationServiceImpl.java @@ -1,24 +1,57 @@ package com.epmet.service.impl; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; 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.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; 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.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.ExcelPoiUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcPointVaccinesInoculationDao; import com.epmet.dto.IcPointVaccinesInoculationDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.form.MapInfoFormDTO; +import com.epmet.dto.result.CommunityInfoResultDTO; +import com.epmet.dto.result.MapInfoResultDTO; +import com.epmet.dto.result.UploadImgResultDTO; import com.epmet.entity.IcPointVaccinesInoculationEntity; +import com.epmet.excel.IcPointVaccinesInoculationImportExcel; +import com.epmet.excel.error.PointVaccinesInoculationErrorModel; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.GovOrgFeignClient; +import com.epmet.feign.OssFeignClient; import com.epmet.redis.IcPointVaccinesInoculationRedis; import com.epmet.service.IcPointVaccinesInoculationService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.FileItemFactory; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.lang3.StringUtils; +import org.apache.http.entity.ContentType; +import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.commons.CommonsMultipartFile; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.*; +import java.util.stream.Collectors; /** * 疫苗接种点 @@ -27,11 +60,21 @@ import java.util.Map; * @since v1.0.0 2022-06-20 */ @Service +@Slf4j public class IcPointVaccinesInoculationServiceImpl extends BaseServiceImpl implements IcPointVaccinesInoculationService { @Autowired private IcPointVaccinesInoculationRedis icPointVaccinesInoculationRedis; + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + + @Autowired + private OssFeignClient ossFeignClient; + + @Autowired + private GovOrgFeignClient govOrgFeignClient; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -41,6 +84,18 @@ public class IcPointVaccinesInoculationServiceImpl extends BaseServiceImpl getPhrasePage(Map params) { + IPage page = getPage(params); + List list = baseDao.getPhrasePage(params); + return new PageData<>(list, page.getTotal()); + } + @Override public List list(Map params) { List entityList = baseDao.selectList(getWrapper(params)); @@ -84,4 +139,226 @@ public class IcPointVaccinesInoculationServiceImpl extends BaseServiceImpl errorInfo = new ArrayList<>(); + + try { + List list = ExcelPoiUtils.importExcel(inputStream, 0,1,IcPointVaccinesInoculationImportExcel.class); + if (CollectionUtils.isEmpty(list)){ + closeTask(taskId,tokenDto.getUserId(), ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL,""); + return; + } + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); + if (null == staffInfo){ + throw new EpmetException("未查询到工作人员信息"+tokenDto.getUserId()); + } + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(staffInfo.getAgencyId()); + if (null == agencyInfo){ + throw new EpmetException("未查询到组织信息"+staffInfo.getAgencyId()); + } + // 获取所有地点名称 + List addressList = baseDao.getAllAddressName(); + for (int i = 0; i < list.size(); i++) { + list.get(i).setNum(i+1); +// if (StringUtils.isBlank(list.get(i).getOrgName()) && !list.get(i).getAddStatus()){ +// errorInfo.add(getErrorInfo(list.get(i), "所属组织名称不能为空",i+1)); +// list.get(i).setAddStatus(true); +// continue; +// } + if (StringUtils.isBlank(list.get(i).getName()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "核酸监测点名称不能为空",i+1)); + list.get(i).setAddStatus(true); + continue; + } + if (StringUtils.isBlank(list.get(i).getInoculationDate()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "接种日期不能为空",i+1)); + list.get(i).setAddStatus(true); + continue; + } + if (StringUtils.isBlank(list.get(i).getMoStartTime()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "接种上午开始时间不能为空",i+1)); + list.get(i).setAddStatus(true); + continue; + } + if (StringUtils.isBlank(list.get(i).getMoEndTime()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "接种上午结束时间不能为空",i+1)); + list.get(i).setAddStatus(true); + continue; + } + if (StringUtils.isBlank(list.get(i).getAfStartTime()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "接种下午开始时间不能为空",i+1)); + list.get(i).setAddStatus(true); + continue; + } + if (StringUtils.isBlank(list.get(i).getAfEndTime()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "接种下午结束时间不能为空",i+1)); + list.get(i).setAddStatus(true); + continue; + } + if (list.get(i).getNoAvailableVaccines() == null && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "暂无疫苗不能为空",i+1)); + list.get(i).setAddStatus(true); + continue; + } + if (StringUtils.isBlank(list.get(i).getMobile()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "咨询电话不能为空",i+1)); + list.get(i).setAddStatus(true); + continue; + } + if (StringUtils.isBlank(list.get(i).getAddress()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "监测点地址不能为空",i+1)); + list.get(i).setAddStatus(true); + continue; + } + // 校验数据库是否存在该地点名称 + if (addressList.contains(list.get(i).getName()) && !list.get(i).getAddStatus()){ + errorInfo.add(getErrorInfo(list.get(i), "核酸监测点名称已存在",i+1)); + list.get(i).setAddStatus(true); + continue; + } + + // 校验所属组织通过名称能否匹配到ID +// Result resultDTOResult = govOrgFeignClient.getCommunityInfo(list.get(i).getOrgName()); +// CommunityInfoResultDTO communityInfoResultDTO = resultDTOResult.getData(); +// if(communityInfoResultDTO == null && !list.get(i).getAddStatus()){ +// errorInfo.add(getErrorInfo(list.get(i), "所属组织匹配失败",i+1)); +// list.get(i).setAddStatus(true); +// continue; +// }else{ +// list.get(i).setOrgId(communityInfoResultDTO.getDeptId()); +// list.get(i).setPid(communityInfoResultDTO.getPid()); +// list.get(i).setPids(communityInfoResultDTO.getPids()); +// } + + } + if (list.size() > errorInfo.size()){ + Map groupByName = list.stream().collect(Collectors.groupingBy(IcPointVaccinesInoculationImportExcel::getName, Collectors.counting())); + groupByName.forEach((name,count) -> { + if (Integer.valueOf(count.toString()).compareTo(1) != 0){ + for (IcPointVaccinesInoculationImportExcel i : list) { + if (name.equals(i.getName()) && !i.getAddStatus()){ + errorInfo.add(getErrorInfo(i,"数据重复",i.getNum())); + i.setAddStatus(true); + } + } + } + }); + } + Map> groupByStatus = list.stream().collect(Collectors.groupingBy(IcPointVaccinesInoculationImportExcel::getAddStatus)); + List needInsert = groupByStatus.get(false); + if (CollectionUtils.isNotEmpty(needInsert)){ + List entities = ConvertUtils.sourceToTarget(needInsert, IcPointVaccinesInoculationEntity.class); + entities.forEach(e -> { + // 设置客户ID + e.setCustomerId(tokenDto.getCustomerId()); + }); + insertBatch(entities); + } + if (CollectionUtils.isNotEmpty(errorInfo)){ + String url = importOssUpload(errorInfo, PointVaccinesInoculationErrorModel.class); + closeTask(taskId,tokenDto.getUserId(), ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL,url); + }else { + closeTask(taskId,tokenDto.getUserId(),ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS,""); + } + }catch (Exception e){ + log.error(e.getMessage()); + closeTask(taskId,tokenDto.getUserId(),ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL,""); + } + } + + /** + * Desc: 关闭任务 + * @param taskId + * @param userId + * @param status + * @param url + * @author wgf + * @date 2022/3/30 09:05 + */ + public void closeTask(String taskId,String userId,String status,String url){ + ImportTaskCommonFormDTO input = new ImportTaskCommonFormDTO(); + input.setOperatorId(userId); + input.setTaskId(taskId); + input.setProcessStatus(status); + input.setResultDescFilePath(url); + commonServiceOpenFeignClient.finishImportTask(input); + } + + /** + * Desc: 构造错误信息 + * @param dto + * @param info + * @param num + * @author wgf + * @date 2022/3/29 17:17 + */ + public PointVaccinesInoculationErrorModel getErrorInfo(IcPointVaccinesInoculationImportExcel dto, String info, Integer num){ + PointVaccinesInoculationErrorModel result = ConvertUtils.sourceToTarget(dto, PointVaccinesInoculationErrorModel.class); + result.setErrorMsg(info); + result.setNum(num); + return result; + } + + /** + * Desc: 文件上传并返回url + * @param errorRows + * @param tClass + * @author zxc + * @date 2022/3/30 09:16 + */ + public String importOssUpload(Collection errorRows, Class tClass) throws IOException { + Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("导入失败的数据列表","导入失败的数据列表"), + tClass, errorRows); + + // 文件名 + String resultDescFileName = UUID.randomUUID().toString().concat(".xls"); + + FileItemFactory factory = new DiskFileItemFactory(16, null); + FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, resultDescFileName); + OutputStream os = fileItem.getOutputStream(); + Result uploadResult = null; + try { + workbook.write(os); + uploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + } catch (Exception e) { + String errormsg = ExceptionUtils.getErrorStackTrace(e); + log.error("上传错误描述文件:{}", errormsg); + } finally { + try { + os.close(); + } catch (IOException e) { + String errormsg = ExceptionUtils.getErrorStackTrace(e); + log.error("上传错误描述文件关闭输出流:{}", errormsg); + } + try { + fileItem.delete(); + } catch (Exception e) { + String errormsg = ExceptionUtils.getErrorStackTrace(e); + log.error("上传错误描述文件删除临时文件:{}", errormsg); + } + } + + if (uploadResult == null || !uploadResult.success()) { + log.error("调用OSS上传结果描述文件失败"); + return null; + } + return uploadResult.getData().getUrl(); + } + + @Override + public List getMapInfoList(MapInfoFormDTO formDTO) { + List list = baseDao.getMapInfoList(formDTO); + return list; + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index a7d1183196..80f5a27910 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -2631,4 +2631,11 @@ public class IcResiUserServiceImpl extends BaseServiceImpl getAllUserIds(String idCard, String customerId) { return baseDao.getAllUserIds(idCard, customerId); } + + @Override + public List getUserListByCommunityId(String communityId) { + List userList = baseDao.getUserListByCommunityId(communityId); + List list = ConvertUtils.sourceToTarget(userList,SendPointNoticeFormDTO.UserListBean.class); + return list; + } } diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_point_nucleic_monitoring.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_point_nucleic_monitoring.xlsx index 5afef2dc0a41cdd614b64316e8feaf2cc14c88f2..bec686be9df8d2f1690a1904815c63dacde4b860 100644 GIT binary patch delta 4482 zcmZ8lbx_pp8r@yGySrIhSW0k_MjE73K)Op%l%-u@$sgSapENF_ARr+qos!bEN;gPz z{l4$c+?o6S@zy+Zo_FTFbLKhEgjt0dx&VyRCiUo(4Nw9WLNv=NO^5f_GUJ<2?<@I9 z#p_t4ZZxPLaC~KYr|R8s5+|g<_>< zcgUtu_577F*o>$uSdKfilmatTeE&u%L^UXGg>~bmtRh&t%=9#{EFPC#CI-UI@9sk% zb>8EysCDeDT;d_?==Cc-*OewHS2$SEYhD8IMvZU6vbuGMGZns?mW&@e87Y{a*2)yY zDDwPB1~cy8SjZzj%QpkdHEyk6A{gZS23UWwC;r_0HLibkv}eKGtA8Z)O|y?nlE_`A&dO10aKL6_S|PsLiwYb_LW?Y6ps8mTMaTVL<^ zPq?Kzdkfwvp;-0ISnt3H-4rSoBp3uLfq+2NAP^|nLo~q7-ow%V-{qc2u&0M->XK%c z7JieIWUsF)_<@r5_T zr>~$u0Qy1e-Y5*94M;zVkKw2iIZMvNz@0ANc1OQX6H#4AZtLhx5$WzPQCo!35tC8i zf_(!l@#&9Fwj+D!UOhveK;67hk08@RpYjB2F_K@nY2AQ*zM@q^gNiEQ%>8W&ZI?`a z2C-xQ}V`rXPxHS2~kKm(?uq!nfE|Z-C_^&KG-bAsWS# zkrt{<(spNK*ab|wRPd9wq>!;)<8xnDmQbB#f8e|mxo?H-oMd-(+;UUknp+q(L{_(a z>3DESz3`IQW?y_}p4-C?d2_K75ZPi9BlNZOo@hqu^^k{_B(xUIh-cVi%d1og>z2t? zu~fe+4K~*#XWK3;nPvf?Fhjs9t> z+?xy?&B&jhSA0L@f5hv{V>A>JQ}K%EHI$IY z&h@FKV#0%19O2}X7DGv|p0l*}SkcBeB^E(1&bURc^20@0*fy)uK6Gb8xLhkgWj?dQ zIKF(Y@63~gv~e}z*>RZ5BllJQR+DCO&fLF10J$C-544_;6iGcbL431`{C-UDGj<;~ zX;`#;Y@XGTpYW^R%7E@>BRiUNZF=*>p&!ahu0S2&wFli<2y&#l~1;Pqor?bw`#SN?r10^ZnrZOn+y)z#s7Ooyf_QUI@JYtwR8% zMvHrtLfPgC>L>TBgIRTn(0&HVA%g%3J*UGMT+T)$Sr77r98o8uh9adHaQM2(5uyFN zEb%Z5SrL)1dYQ^t7bDtPYrLBk6Y+sB#k*;@Yza~1sx&DWxqgin+B^db$i)tSUmsPD zzIT2}E8G361YZ`hr6uxj4Z%057_VZ!MwDC0a=#8a}48{8Xtb@TLeouX*+> zN)`$`XJ;{D<0&fK2yp#GMau%bt!YhgijJ?3swu>b5k^kKi@d~3HkwbJ&)l8-s1sR z?%a;BXZ*>;^k@>Wuz?gf?u1_eZAsmmpgEcVK^AK zZ(6vQNq+NtTYWvkS>l*xB=D!!5j#Mh?#jVGJ#>^7x)VNn_0jz}9rpIBkb>4ybnn$q z%Sz|1-~LfhgMBaWQ%Iq#`E&rKJ9dQn~eeH?KGjsL>YfrI1eR*852+RIE;;wgch3 z(;8`lO*)3bKchIXwXI&oN0Z)SV_$ql+?jqruf-oTjG{qvkE8(Img zEaIY1z7IqzTm@;2_BsH>ZjG{BT;6EovRd)9bP`#y;bC#NS~)c38Ii^Q>$AGIYjs>q zU)T@kMN;kCho;r_8P!AtS_X1y#$nr&ZY7o3&BfUo84qS>PFsdkumXb6U4@GO3fXVDTu;JA+ZIIP7@XwQF6O@)@l6;`pE*gGZO3Fa{9iQ8GU&_!9#+%w#8 zN-&9m@;q;7#mKhe^ClFxAi{3dzi{Lz;Tlk%ti0Kty$bgZ@iC8suHGRj8*-kQR#d3r z1)CzP4Ssa-7sa3ROd!wN(83wucr+S{WYB6t3mg25XdXpSB8B-xCR{S?!)@xZ<3Hs7 z^@*6p^8RHJD#chmkux`uSy7EeHm>@91VkLxBeN-I9W?VApZ$prp*X}h>gt<*6MOvA zbJ%EQtbufYU`gdPa;UzNZkr>DSryx|d}vGQ4+fEJ1WII`f4Is)ntt!O?rN2`g-B`k zq(4Wj$~Yn#W*%rA#v{u%5K#mDj3VheQWX@=b{J`s znn+B={BmMV>U>2TYnDsR8Gn?gy7{|S>Wki?vy9!QtI(xGJKzTaS7W49shrPtvhZ@r zqERC*T>9aqsyfyBjlkJTagYZXF_=HE`1sj$=O!X;!8Qr=Bx#W}vUgME9EIE8@QWtB z9z>a=NvKX5Oho>uU3zC^Obd)=N;>Y$qmxtQIpBT}!PQT*Gr;&aoPbHs8?Ps-1(6b_Iskrh% z+|rkemC+&#OYuln>7!qbSTF*z8V4=SFu7BD1?x#|;!XNsNJ9AL4YGIAiSfKOt8L1_ zYMjteaB3DTy?Rh*J;NZ&HrL5rt${`E-PbwXCBs1hCt{Qp@>!OwlO(6Cw$Rq{3rCc^ zQ~o(cl-qRC0rl!%fs~;cUiUn;lOWyS>vUpXOpP9r$xBWT?3GFX=O{QL!xQ>Df9Kor z+yUKev}xiCy2V8G#}PPl*UK|m;U2tLwrdwU@w%2{L|e~3GZh{hflSRxw0>M3qNv|> zk|oOZPSB3t>(ZZpm^8`jKX|@}$WyX|h21qNGpwedu!RX37uFvbI!!Dv+1I+5!4R z+w_a5IW-=}*rNp3RoBkV2xtP2uD@(7mSjPU4Nwrb4I^_0LZk0ugx3h&jt@m8S3$P& zEee+xBg61p~FXrys z=+)|e98)cvM#FP&DwacfuYE87K`{K*c$MPwQD1o}{N=^fuO|zKwhD3Iz7eIM@Y`J^ z+|xyQ%WMlD$iKQc!~+-*wVVN^PAqq8BhGwmyh5rQVKbB)rL*`m6uoaSM#CC3P@(R^ zg1lE}ayU7LoD`bt3&XCj`1EdJm#44E`PcMrQ_15F!1a%!c;_i8DU{F;xj3@rZ<)0v z+Kz+c^6^V5snv~|o?2mf2FG_;#7A-PXbvKs+lfJFF+L8>Q?*V6(}QjCM5xMV=``g-`B zEJ^J*LZUe+=z7zXpa#iGZq_Lhn1*YAUo#$AsmY}-J}BWFkB-Q!mtKrwL~bk{kiNZMCn}9Fp!^2LsI%_uMs<_21}mROb{Df z@24!eJHoomnXGlg>B#Z1E8ZKOGwql^#&{vmXE5wiGH{bO zFpW@gpR4)^RyBO^SD=sgA>@o5AmS4TGXiiv;J>YiDLx}G3n0k<5F7}2@QZVrAOH>p;sxZv!9cHo95@fa7E}Ze18Ra& y%>OfpAQ1iED1XMk`ATtteF7SwMo<(INbqON2%HNFKq83#xs?^7!S(0;JNQ3$wqR%g delta 4548 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 L3cMVSe~kYFBY1bR diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_point_vaccines_inoculation.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_point_vaccines_inoculation.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..3901ecd5f408e256ef0ca02e77bb3d32000cef25 GIT binary patch literal 11577 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 Jz;lHH`X4AbdEfv5 literal 0 HcmV?d00001 diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcPointNucleicMonitoringDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcPointNucleicMonitoringDao.xml index 2cb4e10db6..490a890faa 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcPointNucleicMonitoringDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcPointNucleicMonitoringDao.xml @@ -31,5 +31,65 @@ where DEL_FLAG = 0 + + + + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcPointVaccinesInoculationDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcPointVaccinesInoculationDao.xml index 4d9d2fa764..d44fa7358c 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcPointVaccinesInoculationDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcPointVaccinesInoculationDao.xml @@ -29,5 +29,77 @@ + - \ No newline at end of file + + + + + + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index edb2455bee..2d9dc76c92 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -1132,4 +1132,16 @@ AND customer_id = #{customerId} AND DEL_FLAG = '0' + +