diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java index 9aaf933745..5e282e7145 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java @@ -108,4 +108,15 @@ public interface IcResiUserDao extends BaseDao { */ List getAllIcUser(CoverageHomeSearchFormDTO formDTO); + Integer countVolunteersByCategory(@Param("customerId")String customerId, + @Param("agencyId")String agencyId, + @Param("staffOrgIds")String staffOrgIds, + @Param("search")String search, + @Param("resiCategory")String resiCategory); + + List listVolunteersByCategory(@Param("customerId")String customerId, + @Param("agencyId")String agencyId, + @Param("staffOrgIds")String staffOrgIds, + @Param("search")String search, + @Param("resiCategory")String resiCategory); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryStatsDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryStatsDao.java deleted file mode 100755 index 2d179ee974..0000000000 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryStatsDao.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.epmet.dataaggre.dao.govorg; - -import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.dataaggre.entity.govorg.IcCoverageCategoryStatsEntity; -import org.apache.ibatis.annotations.Mapper; - -/** - * - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2022-07-29 - */ -@Mapper -public interface IcCoverageCategoryStatsDao extends BaseDao { - -} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryStatsEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryStatsEntity.java deleted file mode 100755 index 7947b31564..0000000000 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryStatsEntity.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.epmet.dataaggre.entity.govorg; - -import com.baomidou.mybatisplus.annotation.TableName; - -import com.epmet.commons.mybatis.entity.BaseEpmetEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2022-07-29 - */ -@Data -@EqualsAndHashCode(callSuper=false) -@TableName("ic_coverage_category_stats") -public class IcCoverageCategoryStatsEntity extends BaseEpmetEntity { - - private static final long serialVersionUID = 1L; - - /** - * default;或者customerId - */ - private String customerId; - - /** - * agency,grid的id - */ - private String orgId; - - /** - * agency,grid的id - */ - private String orgType; - - /** - * agency,grid ID路径path,包含自身 - */ - private String orgIdPath; - - /** - * 类别key - */ - private String categoryKey; - - /** - * 所属场所类型。社区自组织:community_org;优势资源:superior_resource;城市管理:city_management;重点危化企业:dangerous_chemicals;公共服务:public_service;特殊人群:special_resi;居民:resi;联建单位:party_unit;群租房:group_rent;事件(包括难点堵点):event;企事业单位巡查:enterprise_patrol; - */ - private String placeType; - - /** - * 所属五大图层:zhzl:综合治理图层;yjcl:应急处置图层;aqsc:安全生产图层;csgl:城市管理图层;ggfw:公共服务图层 - */ - private String coverageType; - - /** - * - */ - private Integer quantity; - -} 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 01b9dae907..018e5ae902 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 @@ -5,10 +5,12 @@ import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; +import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO; import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; +import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.UserBaseInfoDTO; @@ -208,4 +210,8 @@ public interface EpmetUserService { Integer getTotalByPolicyRules(String customerId, String orgIdPath, String orgId, String orgType, String neighborHoodId, String buildingId, String unitId, String houseId, String idCard, String name, List resiRule, List houseIds); + + Integer countVolunteers(String customerId, String agencyId, String staffOrgIds, String search, String resiCategory); + + List listVolunteers(String customerId, String agencyId, String staffOrgIds, String search, String resiCategory); } 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 000affa6ff..b42e78b256 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 @@ -31,10 +31,7 @@ import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffOrgNameResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffOrgRelationResultDTO; import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO; -import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; -import com.epmet.dataaggre.entity.epmetuser.GovStaffRoleEntity; -import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity; -import com.epmet.dataaggre.entity.epmetuser.StaffRoleEntity; +import com.epmet.dataaggre.entity.epmetuser.*; import com.epmet.dataaggre.service.datastats.DataStatsService; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService; @@ -857,4 +854,14 @@ public class EpmetUserServiceImpl implements EpmetUserService { public Integer getTotalByPolicyRules(String customerId, String orgIdPath, String orgId, String orgType, String neighborHoodId, String buildingId, String unitId, String houseId, String idCard, String name, List resiRule, List houseIds) { return icResiUserDao.getTotalByPolicyRules(customerId, orgIdPath, orgId, orgType, neighborHoodId, buildingId, unitId, houseId, idCard, name, resiRule, houseIds); } + + @Override + public Integer countVolunteers(String customerId, String agencyId, String staffOrgIds, String search, String resiCategory) { + return icResiUserDao.countVolunteersByCategory(customerId, agencyId, staffOrgIds, search, resiCategory); + } + + @Override + public List listVolunteers(String customerId, String agencyId, String staffOrgIds, String search, String resiCategory) { + return icResiUserDao.listVolunteersByCategory(customerId, agencyId, staffOrgIds, search, resiCategory); + } } 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 523b1f1fbe..b950371ffa 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 @@ -39,6 +39,7 @@ import com.epmet.dataaggre.entity.opercustomize.IcResiCategoryWarnConfigEntity; import com.epmet.dataaggre.enums.MenusEnums; import com.epmet.dataaggre.redis.GovCustomerMenuRedis; import com.epmet.dataaggre.service.CoverageService; +import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.epmetuser.IcResiService; import com.epmet.dataaggre.service.govorg.GovOrgCoverageService; import com.epmet.dataaggre.service.govorg.GovOrgService; @@ -96,6 +97,9 @@ public class CoverageServiceImpl implements CoverageService { @Autowired private ExecutorService executorService; + @Autowired + private EpmetUserService epmetUserService; + // 1:出租 0:自住 2:闲置 3:未售出 public static final Integer HOUSE_RENT_FLAG_RENT = 1; @@ -611,6 +615,10 @@ public class CoverageServiceImpl implements CoverageService { // 企事业单位巡查 // 最新巡查结果【0:合格 1:不合格】 return orgCoverageService.countEnterprisePatrol(customerId, agencyId, staffOrgIds, search, categoryKey,NumConstant.ONE_STR,gridId); + } else if (CoveragePlaceTypeEnum.VOLUNTEER.getCode().equals(placeType)) { + // 志愿者 + String[] parts = categoryKey.split("_"); + return epmetUserService.countVolunteers(customerId, agencyId, staffOrgIds, search, parts[1]); } return 0; @@ -773,6 +781,21 @@ public class CoverageServiceImpl implements CoverageService { StringUtils.isNotBlank(dc.getLatitude()) ? dc.getLatitude() : rootAgency.getLatitude(), StringUtils.isNotBlank(dc.getLongitude()) ? dc.getLongitude() : rootAgency.getLongitude())) .collect(Collectors.toList()); + } else if (CoveragePlaceTypeEnum.VOLUNTEER.getCode().equals(placeType)) { + // 志愿者 + String[] parts = categoryKey.split("_"); + List resiEntities = epmetUserService.listVolunteers(customerId, agencyId, staffOrgIds, search, parts[1]); + + return resiEntities.parallelStream().map(re -> { + // 使用楼栋的坐标补充居民的坐标信息 + String[] coordinates = getUserCoordinates(re.getId(), re.getBuildId(), rootAgency); + + return new CoverageAnalisisDataListResultDTO( + re.getId(), categoryKey, isPage ? categoryDict.getCategoryName() : null, placeType, + re.getName().concat(StrConstant.BRACKET_LEFT).concat(re.getIdCard()).concat(StrConstant.BRACKET_RIGNT), + coordinates[1], coordinates[0]); + + }).collect(Collectors.toList()); } return new ArrayList<>(); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml index dfcd87920f..23e2d967d6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml @@ -171,4 +171,42 @@ AND u.PIDS LIKE CONCAT('%',#{orgId},'%') + + + + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryStatsDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryStatsDao.xml deleted file mode 100755 index 2954d89db3..0000000000 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryStatsDao.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file