diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/PidUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/PidUtils.java new file mode 100644 index 0000000000..f0cdb943b8 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/PidUtils.java @@ -0,0 +1,27 @@ +package com.epmet.commons.tools.utils; + +import org.apache.commons.lang3.StringUtils; + +/** + * pid用到的工具 + */ +public class PidUtils { + + /** + * 将orgId和pids组合传话为orgIdPath(包含自己) + * @param orgId + * @param pids + * @return + */ + public static String convertPid2OrgIdPath(String orgId,String pids) { + StringBuilder orgIdPath = new StringBuilder(); + if (StringUtils.isBlank(pids) || pids.equals("0")) { + orgIdPath.append(orgId); + } else { + orgIdPath.append(pids).append(":").append(orgId); + } + + return orgIdPath.toString(); + } + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java index dbf18ee25a..8e39699670 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java @@ -21,6 +21,7 @@ import lombok.Data; import java.io.Serializable; import java.util.Date; +import java.util.List; /** @@ -54,6 +55,11 @@ public class IcNeighborHoodDTO implements Serializable { */ private String agencyId; + /** + * agencyId列表 + */ + private List agencyIds; + /** * 上级组织id */ @@ -69,6 +75,11 @@ public class IcNeighborHoodDTO implements Serializable { */ private String gridId; + /** + * gridId列表 + */ + private List gridIds; + /** * 网格 */ diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyCountCensusResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyCountCensusResultDTO.java index 9f453b4a09..4599d00793 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyCountCensusResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyCountCensusResultDTO.java @@ -1,5 +1,7 @@ package com.epmet.dto.result; +import lombok.Data; + import java.io.Serializable; /** @@ -8,6 +10,7 @@ import java.io.Serializable; * @Date 2023/4/6 16:46 * @Author lichao **/ +@Data public class AgencyCountCensusResultDTO implements Serializable { private static final long serialVersionUID = 4360690752084258055L; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index 2f70dc04ce..b60cf26230 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -517,7 +517,13 @@ public class CustomerAgencyController { return customerAgencyService.getCurrentUserCommunityInfo(tokenDTO); } - + /** + * @Description: 返回下级数量统计 + * @param agencyId: + * @Return com.epmet.commons.tools.utils.Result> + * @Author: lichao + * @Date: 2023/4/7 14:48 + */ @GetMapping("getAgencyCountList") public Result> getAgencyCountList(@RequestParam String agencyId){ return new Result>().ok(customerAgencyService.getAgencyCountList(agencyId)); @@ -525,4 +531,7 @@ public class CustomerAgencyController { + + + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java index a8cf04b4cb..43b2d4bd60 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java @@ -141,7 +141,7 @@ public class IcNeighborHoodController { } /** - * @Description 获取网格下小区列表 + * @Description 获取组织/网格下小区列表,支持单选和多选 * @Param dto * @Return {@link Result< List< OptionResultDTO>>} * @Author zhaoqifeng @@ -149,7 +149,13 @@ public class IcNeighborHoodController { */ @PostMapping("neighborhoodoption") public Result> getNeighborHoodOptions(@LoginUser TokenDto tokenDto, @RequestBody IcNeighborHoodDTO dto) { - return new Result>().ok(icNeighborHoodService.getNeighborHoodOptions(dto.getAgencyId(), dto.getGridId(),tokenDto.getUserId(),tokenDto.getCustomerId())); + return new Result>().ok(icNeighborHoodService.getNeighborHoodOptions( + dto.getAgencyId(), + dto.getGridId(), + dto.getAgencyIds(), + dto.getGridIds(), + tokenDto.getUserId(), + tokenDto.getCustomerId())); } /** diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 7d01383272..ef13f0573d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -430,6 +430,10 @@ public interface CustomerAgencyDao extends BaseDao { */ List getAllCommunity(String customerId); - Integer agencyCount(@Param("pids") String pids,@Param("level") String level); + List agencyCount(@Param("pids") String pids); + + Integer agencyGridCount(@Param("pids") String pids); + + Integer agencyStaffCount(@Param("pids") String pids); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index d80ec62617..0426634026 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -362,5 +362,11 @@ public interface CustomerAgencyService extends BaseService * @return */ String getOrgIdPath(String orgId); + + /** + * 返回下级数量 + * @param agencyId + * @return + */ List getAgencyCountList(String agencyId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java index 2755cf3af0..5ffb6a19e8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java @@ -117,7 +117,8 @@ public interface IcNeighborHoodService extends BaseService * @Author zhaoqifeng * @Date 2021/10/26 14:32 */ - List getNeighborHoodOptions(String agencyId, String gridId,String staffId,String customerId); + List getNeighborHoodOptions(String agencyId, String gridId, List agencyIds, List gridIds, + String staffId,String customerId); /** * 获取用户组织下小区列表 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 67f97aeb0c..aac48182eb 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -37,6 +37,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.PidUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.CustomerAgencyConstant; import com.epmet.constant.CustomerGridConstant; @@ -1624,6 +1625,14 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl + * @Author: lichao + * @Date: 2023/4/7 14:17 + */ @Override public List getAgencyCountList(String agencyId) { @@ -1631,23 +1640,21 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl getNeighborHoodOptions(String agencyId, String gridId,String staffId,String customerId) { - if (StringUtils.isBlank(agencyId)&&StringUtils.isEmpty(gridId)) { - log.info("agencyId与gridId都为空时,默认查询当前工作人员所属组织下的小区"); - CustomerStaffInfoCacheResult result= CustomerStaffRedis.getStaffInfo(customerId,staffId); + public List getNeighborHoodOptions(String agencyId, String gridId, + List agencyIds, List gridIds, + String staffId,String customerId) { + if (StringUtils.isBlank(agencyId) + && StringUtils.isEmpty(gridId) + && CollectionUtils.isEmpty(agencyIds) + && CollectionUtils.isEmpty(gridIds)) { + log.info("agencyId(s)与gridId(s)都为空时,默认查询当前工作人员所属组织下的小区"); + CustomerStaffInfoCacheResult result = CustomerStaffRedis.getStaffInfo(customerId, staffId); if (null == result || StringUtils.isBlank(result.getAgencyId())) { log.error(String.format("staffId:%s,工作人员缓存信息查询异常", staffId)); return Collections.emptyList(); } - agencyId=result.getAgencyId(); + agencyId = result.getAgencyId(); } + + // 此处支持多种条件,or连接 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(agencyId),IcNeighborHoodEntity::getAgencyId, agencyId); - wrapper.eq(StringUtils.isNotBlank(gridId), IcNeighborHoodEntity::getGridId, gridId); + wrapper.eq(StringUtils.isNotBlank(agencyId), IcNeighborHoodEntity::getAgencyId, agencyId) + .or() + .eq(StringUtils.isNotBlank(gridId), IcNeighborHoodEntity::getGridId, gridId) + .or() + .in(!CollectionUtils.isEmpty(agencyIds), IcNeighborHoodEntity::getAgencyId, agencyIds) + .or() + .in(!CollectionUtils.isEmpty(gridIds), IcNeighborHoodEntity::getGridId, gridIds); wrapper.last("ORDER BY CONVERT ( NEIGHBOR_HOOD_NAME USING gbk ) ASC"); List list = baseDao.selectList(wrapper); - if(CollectionUtils.isEmpty(list)) { + if (CollectionUtils.isEmpty(list)) { return Collections.emptyList(); } return list.stream().map(item -> { diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffLoginLogServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffLoginLogServiceImpl.java index 85e498a6c3..86d033d3a9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffLoginLogServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffLoginLogServiceImpl.java @@ -186,6 +186,12 @@ public class StaffLoginLogServiceImpl extends BaseServiceImpl getAccountActivityInfo(CountActivityFormDTO formDTO) { + + if (formDTO.getIsPage()) { + List accountActivityInfos = baseDao.selectListActivityInfo(formDTO); + int total = CollectionUtils.isEmpty(accountActivityInfos) ? NumConstant.ZERO : accountActivityInfos.size(); + return new PageData<>(accountActivityInfos, total); + } List accountActivityInfos = baseDao.selectListActivityInfo(formDTO); int total = CollectionUtils.isEmpty(accountActivityInfos) ? NumConstant.ZERO : accountActivityInfos.size(); return new PageData<>(accountActivityInfos, total); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 3c1b1d9068..5070e25e8f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -863,13 +863,34 @@ AND CUSTOMER_ID = #{customerId} AND pids LIKE concat('%',#{agencyId}, '%' ) - - select count(*) + select level,count(*) from customer_agency where DEL_FLAG = 0 - and LEVEL = #{level} and PIDS like concat(#{pids},'%') + group by level + + + + + + diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCoverageCategoryDictDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCoverageCategoryDictDao.xml index dce1591d30..d7a99f153b 100755 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCoverageCategoryDictDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCoverageCategoryDictDao.xml @@ -7,11 +7,14 @@ INSERT INTO ic_coverage_category_dict ( id, customer_id, - category_key, - category_name, - place_type, - coverage_type, - sort, + CATEGORY_KEY, + CATEGORY_NAME, + PLACE_TYPE, + PLACE_TYPE_IN_ANALYSIS, + MENU_URL, + DATA_TYPE, + COVERAGE_TYPE, + SORT, del_flag, revision, created_by, @@ -19,24 +22,27 @@ updated_by, updated_time ) SELECT - MD5(UUID()), - #{customerId}, - category_key, - category_name, - place_type, - coverage_type, - sort, - del_flag, - revision, - 'APP_USER', - NOW(), - 'APP_USER', - NOW() + MD5(UUID()), + #{customerId}, + CATEGORY_KEY, + CATEGORY_NAME, + PLACE_TYPE, + PLACE_TYPE_IN_ANALYSIS, + MENU_URL, + DATA_TYPE, + COVERAGE_TYPE, + SORT, + del_flag, + revision, + 'APP_USER', + NOW(), + 'APP_USER', + NOW() FROM ic_coverage_category_dict WHERE del_flag = '0' - AND customer_id = 'default' + AND customer_id = 'default'