Browse Source

【修改】人房信息-点击"开通平台社区数"弹框,只查询开通平台社区列表及其人房统计数据

master
wangxianzhang 3 years ago
parent
commit
0e7301b5f2
  1. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  2. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  3. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
  4. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
  5. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  6. 35
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java

@ -633,7 +633,7 @@ public class HouseController implements ResultDataResolver {
* 针对社区的人房统计列表
* @return
*/
@PostMapping("communityUserHouseStats")
@PostMapping("usingCommunityUserHouseStats")
public Result<PageData<SubUserHouseListResultDTO>> communityUserHouseStats(@RequestBody CommunityUserHouseStatsFormDTO input) {
String orgId = input.getOrgId();
@ -641,7 +641,7 @@ public class HouseController implements ResultDataResolver {
Integer pageNo = input.getPageNo();
Integer pageSize = input.getPageSize();
PageData<SubUserHouseListResultDTO> r = houseService.communityUserHouseStats(orgId, orgType, pageNo, pageSize);
PageData<SubUserHouseListResultDTO> r = houseService.usingCommunityUserHouseStats(orgId, orgType, pageNo, pageSize);
return new Result<PageData<SubUserHouseListResultDTO>>().ok(r);
}

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -389,13 +389,13 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
CustomerAgencyEntity getAgencyByUserId(@Param("userId") String userId, @Param("customerId") String customerId);
/**
* 开通社区数统计
* 开通社区列表
* @param agencyId 机关组织的id
* @param agencyOrgIdPath agency的id路径path包含自己
* @param endDate 截止日期也即查询截止改日期有多少社区在使用
* @return
*/
Integer getUsingCommunityStats(@Param("agencyId") String agencyId, @Param("agencyOrgIdPath") String agencyOrgIdPath, @Param("endDate") Date endDate);
List<String> getUsingCommunityList(@Param("agencyId") String agencyId, @Param("agencyOrgIdPath") String agencyOrgIdPath, @Param("endDate") Date endDate);
List<String> getCommunitysByOrgIdPath(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("orgIdPath") String orgIdPath);
}

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java

@ -198,5 +198,5 @@ public interface HouseService {
PageData<IcHouseListResultDTO> houseStatisListDetail(HouseChartFormDTO formDTO);
PageData<SubUserHouseListResultDTO> communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize);
PageData<SubUserHouseListResultDTO> usingCommunityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize);
}

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java

@ -1145,9 +1145,9 @@ public class AgencyServiceImpl implements AgencyService {
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId);
agencyOrgIdPath = getOrgIdPath(agencyInfo.getPids(), agencyInfo.getId());
Integer currentUsingCommunityCount = customerAgencyDao.getUsingCommunityStats(orgId, agencyOrgIdPath, null);
Integer prefersUsingCommunityCount = customerAgencyDao.getUsingCommunityStats(orgId, agencyOrgIdPath, endTime);
return new UsingCommunityStatsResultDTO(currentUsingCommunityCount, currentUsingCommunityCount - prefersUsingCommunityCount);
List<String> currentUsingCommunityList = customerAgencyDao.getUsingCommunityList(orgId, agencyOrgIdPath, null);
List<String> preferUsingCommunityList = customerAgencyDao.getUsingCommunityList(orgId, agencyOrgIdPath, endTime);
return new UsingCommunityStatsResultDTO(currentUsingCommunityList.size(), currentUsingCommunityList.size() - preferUsingCommunityList.size());
} else if ("grid".equals(orgType)) {
// 网格下不会有该数据,给个0
return new UsingCommunityStatsResultDTO(0, 0);

5
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

@ -1394,12 +1394,13 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
}
@Override
public PageData<SubUserHouseListResultDTO> communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize) {
public PageData<SubUserHouseListResultDTO> usingCommunityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize) {
String customerId = EpmetRequestHolder.getLoginUserCustomerId();
PageHelper.startPage(pageNo, pageSize);
List<String> communityIds = customerAgencyDao.getCommunitysByOrgIdPath(customerId, orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType));
List<String> communityIds = customerAgencyDao.getUsingCommunityList(orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType), null);
// List<String> communityIds = customerAgencyDao.getCommunitysByOrgIdPath(customerId, orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType));
// 填充组织信息

35
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -1011,24 +1011,6 @@
LIMIT 1
</select>
<!--开通社区数统计-->
<select id="getUsingCommunityStats" resultType="java.lang.Integer">
select count(1)
from (select ca.ID
, ca.ORGANIZATION_NAME
, count(csa.ID) community_count
from customer_agency ca
inner join customer_staff_agency csa on (ca.ID = csa.AGENCY_ID and csa.DEL_FLAG = 0)
where ca.DEL_FLAG = 0
and ca.LEVEL = 'community'
<if test="endDate != null">
and csa.CREATED_TIME <![CDATA[<]]> #{endDate}
</if>
and (ca.ID = #{agencyId} or ca.PIDS like CONCAT(#{agencyOrgIdPath}, '%'))
group by ca.ID, ca.ORGANIZATION_NAME
having community_count > 0) t
</select>
<select id="getCommunitysByOrgIdPath" resultType="string">
select ca.ID
from customer_agency ca
@ -1038,4 +1020,21 @@
and (ca.ID = #{orgId} or ca.PIDS like CONCAT(#{orgIdPath},'%'))
order by ca.CREATED_TIME asc
</select>
<!--开通社区列表-->
<select id="getUsingCommunityList" resultType="string">
select ca.ID
, ca.ORGANIZATION_NAME
, count(csa.ID) community_count
from customer_agency ca
inner join customer_staff_agency csa on (ca.ID = csa.AGENCY_ID and csa.DEL_FLAG = 0)
where ca.DEL_FLAG = 0
and ca.LEVEL = 'community'
<if test="endDate != null">
and csa.CREATED_TIME <![CDATA[<]]> #{endDate}
</if>
and (ca.ID = #{agencyId} or ca.PIDS like CONCAT(#{agencyOrgIdPath}, '%'))
group by ca.ID, ca.ORGANIZATION_NAME
having community_count > 0
</select>
</mapper>

Loading…
Cancel
Save