From 981863afb7e72da021976e480636aeb1dc6ad5f5 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 3 Jun 2021 21:36:44 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=90=91=E4=B8=8A=E6=B1=87=E8=81=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dao/org/StatsCustomerAgencyDao.java | 19 +++++++++++- .../org/impl/CustomerAgencyServiceImpl.java | 15 ++++++++- ...reenCentralZoneDataExtractServiceImpl.java | 2 ++ .../mapper/org/StatsCustomerAgencyDao.xml | 31 ++++++++++++------- 4 files changed, 54 insertions(+), 13 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/StatsCustomerAgencyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/StatsCustomerAgencyDao.java index 210882908f..47f0e3da95 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/StatsCustomerAgencyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/StatsCustomerAgencyDao.java @@ -41,5 +41,22 @@ public interface StatsCustomerAgencyDao extends BaseDao { * @param customerId * @return com.epmet.dto.org.result.OrgStaffResultDTO */ - List selectOrgStaffIds(String customerId); + List selectGridStaffIds(String customerId); + + /** + * 根据客户id下,查询所有的组织 + * + * @param customerId + * @return com.epmet.entity.org.CustomerAgencyEntity + */ + List selectListByCustomerId(@Param("customerId")String customerId); + + /** + * 查询agency下面的网格员,注意:向上汇聚的, + * + * @param agencyId + * @param customerId + * @return java.lang.String + */ + List selectAgencyStaffIds(@Param("customerId") String customerId,@Param("agencyId")String agencyId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerAgencyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerAgencyServiceImpl.java index 5bcfd88550..3a3d8b4511 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerAgencyServiceImpl.java @@ -60,7 +60,20 @@ public class CustomerAgencyServiceImpl implements CustomerAgencyService { */ @Override public List queryOrgStaffIds(String customerId) { - List resultList=customerAgencyDao.selectOrgStaffIds(customerId); + List resultList=new ArrayList<>(); + List list=customerAgencyDao.selectListByCustomerId(customerId); + for(CustomerAgencyEntity agencyEntity:list){ + List agencyStaffIds=customerAgencyDao.selectAgencyStaffIds(customerId,agencyEntity.getId()); + if(!CollectionUtils.isEmpty(agencyStaffIds)){ + OrgStaffDTO agencyStaffDTO=new OrgStaffDTO(); + agencyStaffDTO.setOrgId(agencyEntity.getId()); + agencyStaffDTO.setOrgType("agency"); + agencyStaffDTO.setStaffIds(agencyStaffIds); + resultList.add(agencyStaffDTO); + } + } + List gridStaffIds=customerAgencyDao.selectGridStaffIds(customerId); + resultList.addAll(gridStaffIds); return resultList; } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/ScreenCentralZoneDataExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/ScreenCentralZoneDataExtractServiceImpl.java index d096430868..ff368ab5da 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/ScreenCentralZoneDataExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/ScreenCentralZoneDataExtractServiceImpl.java @@ -161,7 +161,9 @@ public class ScreenCentralZoneDataExtractServiceImpl implements ScreenCentralZon projectMap.putAll(gridProject.stream().collect(Collectors.toMap(ScreenUserTotalDataEntity::getOrgId,ScreenUserTotalDataEntity::getProjectTotal))); //For:06.01新增:orgType=agency或者grid的时候,此列赋值:当前组织或者当前网格内的网格员人数 + //先查询各个组织,各个网格下的用户id集合 List orgStaffDTOList=customerAgencyService.queryOrgStaffIds(customerId); + //再查询这些人当中多少个网格员 Map gridManagerMap=userService.queryOrgGridManager(customerId,orgStaffDTOList); result.forEach(o -> { diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/StatsCustomerAgencyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/StatsCustomerAgencyDao.xml index 5dc44f074c..46039b48a9 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/StatsCustomerAgencyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/StatsCustomerAgencyDao.xml @@ -134,7 +134,7 @@ - SELECT csg.GRID_ID AS orgId, 'grid' AS orgType, @@ -144,17 +144,26 @@ WHERE csg.DEL_FLAG = '0' AND csg.CUSTOMER_ID = #{customerId} - UNION ALL - SELECT - csa.AGENCY_ID AS orgId, - 'agency' AS orgType, - csa.USER_ID AS staffId - FROM - customer_staff_agency csa - WHERE - csa.DEL_FLAG = '0' - AND csa.CUSTOMER_ID = #{customerId} ORDER BY orgType asc,orgId ASC + + + + \ No newline at end of file