Browse Source

【图层】完善:针对新增的volunteer这个placetype适配查询

dev
wangxianzhang 3 years ago
parent
commit
064e2d489c
  1. 11
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java
  2. 16
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryStatsDao.java
  3. 64
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryStatsEntity.java
  4. 6
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java
  5. 15
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  6. 23
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java
  7. 38
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml
  8. 25
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryStatsDao.xml

11
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<IcResiUserEntity> {
*/ */
List<UserInfoResultDTO> getAllIcUser(CoverageHomeSearchFormDTO formDTO); List<UserInfoResultDTO> 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<IcResiUserEntity> listVolunteersByCategory(@Param("customerId")String customerId,
@Param("agencyId")String agencyId,
@Param("staffOrgIds")String staffOrgIds,
@Param("search")String search,
@Param("resiCategory")String resiCategory);
} }

16
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryStatsDao.java

@ -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<IcCoverageCategoryStatsEntity> {
}

64
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryStatsEntity.java

@ -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;
}

6
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.GridLivelyFormDTO;
import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO;
import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; 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.GridDateIdResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO;
import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO; import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO;
import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity;
import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity;
import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.UserBaseInfoDTO; 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, Integer getTotalByPolicyRules(String customerId, String orgIdPath, String orgId, String orgType, String neighborHoodId, String buildingId, String unitId,
String houseId, String idCard, String name, String houseId, String idCard, String name,
List<ResisByPolicyRulesFormDTO.ResiRule> resiRule, List<String> houseIds); List<ResisByPolicyRulesFormDTO.ResiRule> resiRule, List<String> houseIds);
Integer countVolunteers(String customerId, String agencyId, String staffOrgIds, String search, String resiCategory);
List<IcResiUserEntity> listVolunteers(String customerId, String agencyId, String staffOrgIds, String search, String resiCategory);
} }

15
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.StaffOrgNameResultDTO;
import com.epmet.dataaggre.dto.govorg.result.StaffOrgRelationResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffOrgRelationResultDTO;
import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO; import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO;
import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; import com.epmet.dataaggre.entity.epmetuser.*;
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.service.datastats.DataStatsService; import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService; 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<ResisByPolicyRulesFormDTO.ResiRule> resiRule, List<String> houseIds) { public Integer getTotalByPolicyRules(String customerId, String orgIdPath, String orgId, String orgType, String neighborHoodId, String buildingId, String unitId, String houseId, String idCard, String name, List<ResisByPolicyRulesFormDTO.ResiRule> resiRule, List<String> houseIds) {
return icResiUserDao.getTotalByPolicyRules(customerId, orgIdPath, orgId, orgType, neighborHoodId, buildingId, unitId, houseId, idCard, name, resiRule, 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<IcResiUserEntity> listVolunteers(String customerId, String agencyId, String staffOrgIds, String search, String resiCategory) {
return icResiUserDao.listVolunteersByCategory(customerId, agencyId, staffOrgIds, search, resiCategory);
}
} }

23
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.enums.MenusEnums;
import com.epmet.dataaggre.redis.GovCustomerMenuRedis; import com.epmet.dataaggre.redis.GovCustomerMenuRedis;
import com.epmet.dataaggre.service.CoverageService; 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.epmetuser.IcResiService;
import com.epmet.dataaggre.service.govorg.GovOrgCoverageService; import com.epmet.dataaggre.service.govorg.GovOrgCoverageService;
import com.epmet.dataaggre.service.govorg.GovOrgService; import com.epmet.dataaggre.service.govorg.GovOrgService;
@ -96,6 +97,9 @@ public class CoverageServiceImpl implements CoverageService {
@Autowired @Autowired
private ExecutorService executorService; private ExecutorService executorService;
@Autowired
private EpmetUserService epmetUserService;
// 1:出租 0:自住 2:闲置 3:未售出 // 1:出租 0:自住 2:闲置 3:未售出
public static final Integer HOUSE_RENT_FLAG_RENT = 1; public static final Integer HOUSE_RENT_FLAG_RENT = 1;
@ -611,6 +615,10 @@ public class CoverageServiceImpl implements CoverageService {
// 企事业单位巡查 // 企事业单位巡查
// 最新巡查结果【0:合格 1:不合格】 // 最新巡查结果【0:合格 1:不合格】
return orgCoverageService.countEnterprisePatrol(customerId, agencyId, staffOrgIds, search, categoryKey,NumConstant.ONE_STR,gridId); 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; return 0;
@ -773,6 +781,21 @@ public class CoverageServiceImpl implements CoverageService {
StringUtils.isNotBlank(dc.getLatitude()) ? dc.getLatitude() : rootAgency.getLatitude(), StringUtils.isNotBlank(dc.getLatitude()) ? dc.getLatitude() : rootAgency.getLatitude(),
StringUtils.isNotBlank(dc.getLongitude()) ? dc.getLongitude() : rootAgency.getLongitude())) StringUtils.isNotBlank(dc.getLongitude()) ? dc.getLongitude() : rootAgency.getLongitude()))
.collect(Collectors.toList()); .collect(Collectors.toList());
} else if (CoveragePlaceTypeEnum.VOLUNTEER.getCode().equals(placeType)) {
// 志愿者
String[] parts = categoryKey.split("_");
List<IcResiUserEntity> 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<>(); return new ArrayList<>();
} }

38
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml

@ -171,4 +171,42 @@
AND u.PIDS LIKE CONCAT('%',#{orgId},'%') AND u.PIDS LIKE CONCAT('%',#{orgId},'%')
</select> </select>
<!--志愿者数量 -->
<select id="countVolunteersByCategory" resultType="java.lang.Integer">
select count(1)
from ic_resi_user resi
inner join ic_volunteer vol on (resi.ID = vol.IC_RESI_USER and vol.DEL_FLAG = '0')
where resi.DEL_FLAG = '0'
and resi.CUSTOMER_ID = #{customerId}
<if test="agencyId != null and agencyId != ''">
and resi.AGENCY_ID = #{agencyId}
</if>
and vol.VOLUNTEER_CATEGORY like CONCAT('%',#{resiCategory},'%')
<if test="staffOrgIds != null and staffOrgIds != ''">
and resi.PIDS like CONCAT(#{staffOrgIds},'%')
</if>
<if test="search != null and search != ''">
and resi.NAME like CONCAT('%',#{search},'%')
</if>
</select>
<select id="listVolunteersByCategory" resultType="com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity">
select resi.ID, resi.NAME, resi.ID_CARD, resi.BUILD_ID
from ic_resi_user resi
inner join ic_volunteer vol on (resi.ID = vol.IC_RESI_USER and vol.DEL_FLAG = '0')
where resi.DEL_FLAG = '0'
and resi.CUSTOMER_ID = #{customerId}
<if test="agencyId != null and agencyId != ''">
and resi.AGENCY_ID = #{agencyId}
</if>
and vol.VOLUNTEER_CATEGORY like CONCAT('%',#{resiCategory},'%')
<if test="staffOrgIds != null and staffOrgIds != ''">
and resi.PIDS like CONCAT(#{staffOrgIds},'%')
</if>
<if test="search != null and search != ''">
and resi.NAME like CONCAT('%',#{search},'%')
</if>
</select>
</mapper> </mapper>

25
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryStatsDao.xml

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dataaggre.dao.govorg.IcCoverageCategoryStatsDao">
<resultMap type="com.epmet.dataaggre.entity.govorg.IcCoverageCategoryStatsEntity" id="icCoverageCategoryStatsMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="orgId" column="ORG_ID"/>
<result property="orgType" column="ORG_TYPE"/>
<result property="orgIdPath" column="ORG_ID_PATH"/>
<result property="categoryKey" column="CATEGORY_KEY"/>
<result property="placeType" column="PLACE_TYPE"/>
<result property="coverageType" column="COVERAGE_TYPE"/>
<result property="quantity" column="QUANTITY"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>
Loading…
Cancel
Save