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);
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.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<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.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<ResisByPolicyRulesFormDTO.ResiRule> resiRule, List<String> 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.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<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<>();
}

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},'%')
</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>

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