From 270f49dc8514e8d6b72e2140d515e91a9d80224d Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 13 Apr 2022 10:08:05 +0800 Subject: [PATCH] =?UTF-8?q?22=E3=80=81=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D?= =?UTF-8?q?=E5=85=B3=E6=B3=A8=E5=90=8D=E5=8D=95=E3=80=81=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E5=85=B3=E6=B3=A8=E5=90=8D=E5=8D=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=A2=9E=E5=8A=A0=E6=89=80=E5=B1=9E=E6=88=BF=E5=B1=8B?= =?UTF-8?q?=E4=B8=80=E5=88=97=EF=BC=8C=E6=A0=B9=E6=8D=AE=E8=BA=AB=E4=BB=BD?= =?UTF-8?q?=E8=AF=81=E5=8F=B7=E6=98=BE=E7=A4=BA=E8=AF=A5=E8=BA=AB=E4=BB=BD?= =?UTF-8?q?=E8=AF=81=E5=8F=B7=E6=89=80=E5=B1=9E=E6=88=BF=E5=B1=8B=EF=BC=8C?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E7=9A=84=E4=B8=8D=E6=98=BE=E7=A4=BA=EF=BC=9B?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E6=89=80?= =?UTF-8?q?=E5=B1=9E=E6=88=BF=E5=B1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/VaccinationListFormDTO.java | 20 +++++++++ .../dto/result/VaccinationListResultDTO.java | 45 +++++++++++++++++++ .../epmet/excel/VaccinationExportExcel.java | 3 ++ ...IcEpidemicSpecialAttentionServiceImpl.java | 23 ++++++++++ .../mapper/IcEpidemicSpecialAttentionDao.xml | 38 +++++++++++++++- 5 files changed, 127 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java index fc69f5da84..23da9d859b 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java @@ -54,6 +54,26 @@ public class VaccinationListFormDTO extends PageFormDTO implements Serializable * 备注,核酸检测关注名单,此字段可填可不填 */ private String remark; + /** + * 所属小区ID + */ + private String villageId; + + /** + * 所属楼宇Id + */ + private String buildId; + + /** + * 单元id + */ + private String unitId; + + /** + * 所属家庭Id + */ + private String homeId; + private String userId; 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 index a0b10a13d3..a2012686fe 100644 --- 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 @@ -55,6 +55,51 @@ public class VaccinationListResultDTO implements Serializable { */ private String lastInformTime; + /** + * 所属小区ID + */ + private String villageId; + + /** + * 所属小区名称 + */ + private String villageName; + + /** + * 所属楼宇Id + */ + private String buildId; + + /** + * 所属楼宇名称 + */ + private String buildName; + + /** + * 单元id + */ + private String unitId; + + /** + * 单元名称 + */ + private String unitName; + + /** + * 所属家庭Id + */ + private String homeId; + + /** + * 所属家庭名称 + */ + private String homeName; + + /** + * 小区名+楼栋名+单元名+房屋名 + */ + private String allName; + public VaccinationListResultDTO() { this.vaccinationCount = NumConstant.ZERO; this.name = ""; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/VaccinationExportExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/VaccinationExportExcel.java index 65534756cd..8fe217466f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/VaccinationExportExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/VaccinationExportExcel.java @@ -32,4 +32,7 @@ public class VaccinationExportExcel { @Excel(name = "最近一次通知时间",width = 20) private String lastInformTime; + @Excel(name = "所属房屋",width = 40) + private String allName; + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index f27bc46842..94ed60ce9f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -23,6 +23,7 @@ import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcEpidemicSpecialAttentionDao; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; import com.epmet.dto.form.*; +import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.UploadImgResultDTO; import com.epmet.dto.result.VaccinationListResultDTO; import com.epmet.entity.IcEpidemicSpecialAttentionEntity; @@ -30,6 +31,7 @@ import com.epmet.enums.ChannelEnum; import com.epmet.excel.ImportEpidemicSpecialAttention; import com.epmet.excel.error.EpidemicSpecialAttentionErrorModel; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.OssFeignClient; import com.epmet.service.IcEpidemicSpecialAttentionService; import com.epmet.service.IcNoticeService; @@ -53,6 +55,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -71,6 +74,8 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl page(Map params) { @@ -160,10 +165,28 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl houseInfoMap = new HashMap<>(); + //查询房屋信息 + if (result.getList().size() > NumConstant.ZERO) { + Set houseIds = result.getList().stream().filter(l -> StringUtils.isNotBlank(l.getHomeId())).map(m -> m.getHomeId()).collect(Collectors.toSet()); + Result> houseInfoRes = govOrgOpenFeignClient.queryListHouseInfo(houseIds, formDTO.getCustomerId()); + List houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>(); + houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity())); + } + int i = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); for (VaccinationListResultDTO v : result.getList()) { i += 1; v.setSort(i); + if (null != houseInfoMap && houseInfoMap.containsKey(v.getHomeId())) { + v.setVillageName(houseInfoMap.get(v.getHomeId()).getNeighborHoodName()); + v.setBuildName(houseInfoMap.get(v.getHomeId()).getBuildingName()); + v.setUnitName(houseInfoMap.get(v.getHomeId()).getUnitName()); + v.setHomeName(houseInfoMap.get(v.getHomeId()).getDoorName()); + v.setAllName(houseInfoMap.get(v.getHomeId()).getAllName()); + } } return result; } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml index 0340d288bd..2b063d7094 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml @@ -26,13 +26,18 @@ a.ID_CARD, a.reason, a.REMARK, + b.VILLAGE_ID, + b.BUILD_ID, + b.UNIT_ID, + b.HOME_ID, IFNULL((SELECT DATE_FORMAT(CREATED_TIME,'%Y-%m-%d %H:%i:%s') FROM ic_notice WHERE DEL_FLAG = '0' AND ORIGIN = #{attentionType} AND ID_CARD = a.ID_CARD ORDER BY CREATED_TIME DESC LIMIT 1),'') AS lastInformTime, IFNULL(v.vaccinationCount,0) AS vaccinationCount FROM ic_epidemic_special_attention a + LEFT JOIN ic_resi_user b ON a.id_card = b.id_card LEFT JOIN (SELECT id_card ,count(1) AS vaccinationCount FROM ic_vaccine WHERE DEL_FLAG = 0 GROUP BY ID_CARD) v ON (v.ID_CARD = a.ID_CARD) WHERE a.DEL_FLAG = 0 AND a.ORG_ID = #{orgId} - AND ATTENTION_TYPE = #{attentionType} + AND a.ATTENTION_TYPE = #{attentionType} AND a.`NAME` LIKE CONCAT('%',#{name},'%') @@ -42,6 +47,18 @@ AND a.ID_CARD LIKE CONCAT('%',#{idCard},'%') + + AND b.village_id = #{villageId} + + + AND b.build_id = #{buildId} + + + AND b.unit_id = #{unitId} + + + AND b.home_id = #{homeId} + HAVING vaccinationCount = #{vaccinationCount} @@ -56,11 +73,16 @@ a.ID_CARD, a.REMARK, a.REASON, + b.VILLAGE_ID, + b.BUILD_ID, + b.UNIT_ID, + b.HOME_ID, IFNULL((SELECT DATE_FORMAT(CREATED_TIME,'%Y-%m-%d %H:%i:%s') FROM ic_notice WHERE DEL_FLAG = '0' AND ORIGIN = #{attentionType} AND ID_CARD = a.ID_CARD ORDER BY CREATED_TIME DESC LIMIT 1),'') AS lastInformTime FROM ic_epidemic_special_attention a + LEFT JOIN ic_resi_user b ON a.id_card = b.id_card WHERE a.DEL_FLAG = 0 AND a.ORG_ID = #{orgId} - AND ATTENTION_TYPE = #{attentionType} + AND a.ATTENTION_TYPE = #{attentionType} AND a.`NAME` LIKE CONCAT('%',#{name},'%') @@ -76,6 +98,18 @@ AND a.REMARK LIKE CONCAT('%',#{remark},'%') + + AND b.village_id = #{villageId} + + + AND b.build_id = #{buildId} + + + AND b.unit_id = #{unitId} + + + AND b.home_id = #{homeId} + ORDER BY a.CREATED_TIME DESC