diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java index 6f71e122b0..d15036075b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java @@ -18,7 +18,9 @@ public enum CoveragePlaceTypeEnum { VOLUNTEER("volunteer", "志愿者"), GROUP_RENT("group_rent", "群租房"), EVENT("event", "城市管理事件"), - ZHZL_RQ("zhzl_rq", "综合治理人群"); + ZHZL_RQ("zhzl_rq", "综合治理人群"), + NUCLEIC_POINT("nucleic_point", "核酸检测点"), + VACCINE_POINT("vaccine_point", "疫苗接种点"); private final String code; private final String name; diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcPointNucleicMonitoringDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcPointNucleicMonitoringDao.java new file mode 100644 index 0000000000..599243a856 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcPointNucleicMonitoringDao.java @@ -0,0 +1,17 @@ +package com.epmet.dataaggre.dao.epmetuser; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.entity.epmetuser.IcPointNucleicMonitoringEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 核酸监测点 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-20 + */ +@Mapper +public interface IcPointNucleicMonitoringDao extends BaseDao { + + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcPointVaccinesInoculationDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcPointVaccinesInoculationDao.java new file mode 100644 index 0000000000..a3bfafee1a --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcPointVaccinesInoculationDao.java @@ -0,0 +1,17 @@ +package com.epmet.dataaggre.dao.epmetuser; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.entity.epmetuser.IcPointVaccinesInoculationEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 疫苗接种点 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-06-20 + */ +@Mapper +public interface IcPointVaccinesInoculationDao extends BaseDao { + + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcPointNucleicMonitoringEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcPointNucleicMonitoringEntity.java new file mode 100644 index 0000000000..b19ab6b721 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcPointNucleicMonitoringEntity.java @@ -0,0 +1,77 @@ +package com.epmet.dataaggre.entity.epmetuser; + +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-06-20 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_point_nucleic_monitoring") +public class IcPointNucleicMonitoringEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 所属组织ID + */ + private String orgId; + + /** + * 所属组织名称 + */ + private String orgName; + + /** + * 组织ID上级 + */ + private String pid; + + /** + * 组织ID所有上级 + */ + private String pids; + + /** + * 核酸监测点名称 + */ + private String name; + + /** + * 服务时间 + */ + private String serveTime; + + /** + * 咨询电话 + */ + private String mobile; + + /** + * 监测点地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcPointVaccinesInoculationEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcPointVaccinesInoculationEntity.java new file mode 100644 index 0000000000..3e60c7660e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcPointVaccinesInoculationEntity.java @@ -0,0 +1,102 @@ +package com.epmet.dataaggre.entity.epmetuser; + +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-06-20 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_point_vaccines_inoculation") +public class IcPointVaccinesInoculationEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 所属组织ID + */ + private String orgId; + + /** + * 所属组织名称 + */ + private String orgName; + + /** + * 组织ID上级 + */ + private String pid; + + /** + * 组织ID所有上级 + */ + private String pids; + + /** + * 疫苗接种点名称 + */ + private String name; + + /** + * 接种日期 + */ + private String inoculationDate; + + /** + * 接种上午开始时间 + */ + private String moStartTime; + + /** + * 接种上午结束时间 + */ + private String moEndTime; + + /** + * 接种下午开始时间 + */ + private String afStartTime; + + /** + * 接种下午结束时间 + */ + private String afEndTime; + + /** + * 暂无疫苗(1:是;2:否) + */ + private String noAvailableVaccines; + + /** + * 咨询电话 + */ + private String mobile; + + /** + * 接种点地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index 068b1176cd..901087a7ba 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -15,6 +15,8 @@ import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govorg.result.MemberProjectInfoResultDTO; import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO; import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; +import com.epmet.dataaggre.entity.epmetuser.IcPointNucleicMonitoringEntity; +import com.epmet.dataaggre.entity.epmetuser.IcPointVaccinesInoculationEntity; import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.UserBaseInfoDTO; @@ -240,4 +242,12 @@ public interface EpmetUserService { List listVolunteers(String customerId, String agencyId, String staffOrgIds, String search, String resiCategory); List getNowResiUser(NowStatsDataFormDTO formDTO); + + Integer countVaccinePoint(String customerId, String agencyId, String staffOrgIds, String search); + + Integer countNucleicPoint(String customerId, String agencyId, String staffOrgIds, String search); + + List listVaccinePoints(String customerId, String agencyId, String staffOrgIds, String search); + + List listNucleicPoints(String customerId, String agencyId,String staffOrgIds, String search); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 26c5ef1b3a..d9dd1269ea 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -94,6 +94,10 @@ public class EpmetUserServiceImpl implements EpmetUserService { private CustomerFootBarService customerFootBarService; @Resource private RegisterRelationDao registerRelationDao; + @Resource + private IcPointVaccinesInoculationDao pointVaccinesInoculationDao; + @Resource + private IcPointNucleicMonitoringDao pointNucleicMonitoringDao; /** * @Description 根据UserIds查询 @@ -923,4 +927,48 @@ public class EpmetUserServiceImpl implements EpmetUserService { List list = registerRelationDao.selectNowResiUser(formDTO); return list; } + + @Override + public Integer countVaccinePoint(String customerId, String agencyId, String staffOrgIds, String search) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcPointVaccinesInoculationEntity::getCustomerId, customerId); + query.and(w -> w.likeRight(IcPointVaccinesInoculationEntity::getPids, staffOrgIds) + .or() + .eq(IcPointVaccinesInoculationEntity::getOrgId, agencyId)); + query.like(StringUtils.isNotBlank(search), IcPointVaccinesInoculationEntity::getName, search); + return pointVaccinesInoculationDao.selectCount(query); + } + + @Override + public Integer countNucleicPoint(String customerId, String agencyId, String staffOrgIds, String search) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcPointNucleicMonitoringEntity::getCustomerId, customerId); + query.and(w -> w.likeRight(IcPointNucleicMonitoringEntity::getPids, staffOrgIds) + .or() + .eq(IcPointNucleicMonitoringEntity::getOrgId, agencyId)); + query.like(StringUtils.isNotBlank(search), IcPointNucleicMonitoringEntity::getName, search); + return pointNucleicMonitoringDao.selectCount(query); + } + + @Override + public List listVaccinePoints(String customerId, String agencyId, String staffOrgIds, String search) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcPointVaccinesInoculationEntity::getCustomerId, customerId); + query.and(w -> w.likeRight(IcPointVaccinesInoculationEntity::getPids, staffOrgIds) + .or() + .eq(IcPointVaccinesInoculationEntity::getOrgId, agencyId)); + query.like(StringUtils.isNotBlank(search), IcPointVaccinesInoculationEntity::getName, search); + return pointVaccinesInoculationDao.selectList(query); + } + + @Override + public List listNucleicPoints(String customerId, String agencyId, String staffOrgIds, String search) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcPointNucleicMonitoringEntity::getCustomerId, customerId); + query.and(w -> w.likeRight(IcPointNucleicMonitoringEntity::getPids, staffOrgIds) + .or() + .eq(IcPointNucleicMonitoringEntity::getOrgId, agencyId)); + query.like(StringUtils.isNotBlank(search), IcPointNucleicMonitoringEntity::getName, search); + return pointNucleicMonitoringDao.selectList(query); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java index 19b7c71d7e..ff931888c3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java @@ -30,6 +30,8 @@ import com.epmet.dataaggre.dto.govorg.form.DataListLeftSubTotalFormDTO; import com.epmet.dataaggre.dto.govorg.form.SearchDetailFormDTO; import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; +import com.epmet.dataaggre.entity.epmetuser.IcPointNucleicMonitoringEntity; +import com.epmet.dataaggre.entity.epmetuser.IcPointVaccinesInoculationEntity; import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity; import com.epmet.dataaggre.entity.govorg.*; import com.epmet.dataaggre.entity.govproject.IcEventEntity; @@ -628,6 +630,12 @@ public class CoverageServiceImpl implements CoverageService { // 志愿者 String[] parts = categoryKey.split("_"); return epmetUserService.countVolunteers(customerId, agencyId, staffOrgIds, search, parts[1]); + } else if (CoveragePlaceTypeEnum.VACCINE_POINT.getCode().equals(placeType)) { + // 疫苗接种点 + return epmetUserService.countVaccinePoint(customerId, agencyId, staffOrgIds, search); + } else if (CoveragePlaceTypeEnum.NUCLEIC_POINT.getCode().equals(placeType)) { + // 核酸检测点 + return epmetUserService.countNucleicPoint(customerId, agencyId, staffOrgIds, search); } return 0; @@ -805,6 +813,20 @@ public class CoverageServiceImpl implements CoverageService { coordinates[1], coordinates[0]); }).collect(Collectors.toList()); + } else if (CoveragePlaceTypeEnum.VACCINE_POINT.getCode().equals(placeType)) { + // 疫苗接种点 + List vps = epmetUserService.listVaccinePoints(customerId, agencyId, staffOrgIds, search); + return vps.stream() + .map(vp -> new CoverageAnalisisDataListResultDTO(vp.getId(), categoryKey, isPage ? categoryDict.getCategoryName() : null, + placeType, vp.getName(), vp.getLatitude(), vp.getLongitude())) + .collect(Collectors.toList()); + } else if (CoveragePlaceTypeEnum.NUCLEIC_POINT.getCode().equals(placeType)) { + // 核酸检测点 + List nps = epmetUserService.listNucleicPoints(customerId, agencyId, staffOrgIds, search); + return nps.stream() + .map(np -> new CoverageAnalisisDataListResultDTO(np.getId(), categoryKey, isPage ? categoryDict.getCategoryName() : null, + placeType, np.getName(), np.getLatitude(), np.getLongitude())) + .collect(Collectors.toList()); } return new ArrayList<>(); }