From c31da6b3515b78af48b8f7c84ea8681aaa2bd14a Mon Sep 17 00:00:00 2001 From: lichao <326994889@qq.com> Date: Wed, 19 Apr 2023 10:37:28 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=88=BF=E5=B1=8B=E6=95=B0=E7=BB=9F?= =?UTF-8?q?=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dao/CustomerAgencyDao.java | 2 + .../epmet/service/impl/AgencyServiceImpl.java | 9 +- .../resources/mapper/CustomerAgencyDao.xml | 196 +++++++++--------- 3 files changed, 111 insertions(+), 96 deletions(-) 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 1b21c0059c..b17ddb6de6 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 @@ -436,6 +436,8 @@ public interface CustomerAgencyDao extends BaseDao { List agencyCount(@Param("pids") String pids,@Param("timeStart")Date timeStart,@Param("timeEnd")Date timeEnd); + Integer communityCount(@Param("pids") String pids); + Integer agencyGridCount(@Param("pids") String pids,@Param("timeStart")Date timeStart,@Param("timeEnd")Date timeEnd); Integer agencyStaffCount(@Param("pids") String pids,@Param("timeStart")Date timeStart,@Param("timeEnd")Date timeEnd); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 31d49852b7..a972cd9797 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -1147,12 +1147,15 @@ public class AgencyServiceImpl implements AgencyService { calendar.set(Calendar.MILLISECOND, 0); Date endTime = calendar.getTime(); - AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId); +/* AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId); agencyOrgIdPath = getOrgIdPath(agencyInfo.getPids(), agencyInfo.getId()); - List currentUsingCommunityList = customerAgencyDao.getUsingCommunityList(customerId, orgId, agencyOrgIdPath, null); + List currentUsingCommunityList = customerAgencyDao.getUsingCommunityList(customerId, orgId, agencyOrgIdPath, null);*/ // List preferUsingCommunityList = customerAgencyDao.getUsingCommunityList(customerId, orgId, agencyOrgIdPath, endTime); // return new UsingCommunityStatsResultDTO(currentUsingCommunityList.size(), currentUsingCommunityList.size() - preferUsingCommunityList.size()); - return new UsingCommunityStatsResultDTO(currentUsingCommunityList.size(), 0); + CustomerAgencyEntity customerAgency = customerAgencyDao.selectById(orgId); + String pids = PidUtils.convertPid2OrgIdPath(customerAgency.getId(),customerAgency.getPids()); + + return new UsingCommunityStatsResultDTO(customerAgencyDao.communityCount(pids), 0); } else if ("grid".equals(orgType)) { // 网格下不会有该数据,给个0 return new UsingCommunityStatsResultDTO(0, 0); 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 0329a58092..8005814843 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 @@ -899,6 +899,16 @@ + + - + + + - - - - + (SELECT ca.ID as id, ca.ORGANIZATION_NAME as label, - ca.LONGITUDE as longitude, - ca.LATITUDE as latitude, - ca.`LEVEL` as level, - ca.PID as pId, - 'agency' AS orgType - FROM - customer_agency ca - WHERE - ca.ID = #{agencyId} - AND ca.DEL_FLAG = '0' - - - - - - - + ca.LONGITUDE as longitude, + ca.LATITUDE as latitude, + ca.`LEVEL` as level, + ca.PID as pId, + 'agency' AS orgType + FROM customer_agency ca + WHERE ca.PID = #{agencyId} + AND ca.DEL_FLAG = '0' + ORDER BY CAST(ca.organization_name AS SIGNED), CONVERT(ca.organization_name using gbk)) + union all + (SELECT cg.id, + cg.GRID_NAME AS label, + cg.LONGITUDE, + cg.LATITUDE, + 'grid' AS LEVEL, + cg.PID, + 'grid' AS orgType + FROM customer_grid cg + WHERE cg.DEL_FLAG = '0' + AND cg.PID = #{agencyId} + ORDER BY cg.sort, CAST(cg.GRID_NAME AS SIGNED), CONVERT(cg.GRID_NAME using gbk)) + + + + + SELECT - CONCAT( n.NEIGHBOR_HOOD_NAME, b.BUILDING_NAME ) AS label, - b.id AS buildingId, - b.BUILDING_NAME AS buildingName, - n.id AS neighborhoodId, - n.NEIGHBOR_HOOD_NAME AS neighborhoodName, - n.GRID_ID, - g.GRID_NAME, - a.ALL_PARENT_NAME, - a.ORGANIZATION_NAME AS AGENCY_NAME, - n.CUSTOMER_ID - FROM - ic_building b - LEFT JOIN ic_neighbor_hood n ON b.NEIGHBOR_HOOD_ID = n.id - LEFT JOIN customer_grid g ON n.GRID_ID = g.id - LEFT JOIN customer_agency a ON a.id = g.pid + CONCAT( n.NEIGHBOR_HOOD_NAME, b.BUILDING_NAME ) AS label, + b.id AS buildingId, + b.BUILDING_NAME AS buildingName, + n.id AS neighborhoodId, + n.NEIGHBOR_HOOD_NAME AS neighborhoodName, + n.GRID_ID, + g.GRID_NAME, + a.ALL_PARENT_NAME, + a.ORGANIZATION_NAME AS AGENCY_NAME, + n.CUSTOMER_ID + FROM ic_building b + LEFT JOIN ic_neighbor_hood n + ON b.NEIGHBOR_HOOD_ID = n.id + LEFT JOIN customer_grid g + ON n.GRID_ID = g.id + LEFT JOIN customer_agency a + ON a.id = g.pid WHERE - n.DEL_FLAG = '0' - AND b.DEL_FLAG = '0' - AND g.DEL_FLAG = '0' - AND a.DEL_FLAG = '0' - AND n.CUSTOMER_ID = #{customerId} - - AND n.GRID_ID = #{gridId} - - - AND (n.NEIGHBOR_HOOD_NAME LIKE CONCAT('%', #{buildingName}, '%') OR b.BUILDING_NAME LIKE CONCAT('%', #{buildingName}, '%')) - - - AND ( - n.AGENCY_ID = #{agencyId} - OR n.AGENCY_PIDS LIKE CONCAT('%', #{agencyId}, '%')) - + n.DEL_FLAG = '0' + AND b.DEL_FLAG = '0' + AND g.DEL_FLAG = '0' + AND a.DEL_FLAG = '0' + AND n.CUSTOMER_ID = #{customerId} + + AND n.GRID_ID = #{gridId} + + + AND n.NEIGHBOR_HOOD_NAME LIKE CONCAT('%', #{buildingName}, '%') + + + AND ( + n.AGENCY_ID = #{agencyId} + OR n.AGENCY_PIDS LIKE CONCAT('%', #{agencyId}, '%')) + + order by n.CREATED_TIME asc,n.id asc