Browse Source

修改网格开通情况列表接口

dev
yujintao 6 years ago
parent
commit
6034e6e4d8
  1. 41
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GridOpeningResultDTO.java
  2. 92
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java
  3. 109
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java
  4. 326
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml

41
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GridOpeningResultDTO.java

@ -6,15 +6,17 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
/** /**
* @author: qushutong * @author: qushutong
* @Date: 2020/2/11 13:09 * @Date: 2020/2/11 13:09
* @Description: 开通网格情况 * @Description: 开通网格情况
*/ */
@Data @Data
public class GridOpeningResultDTO implements Serializable { public class GridOpeningResultDTO implements Serializable {
private static final long serialVersionUID = -852226852590425991L; private static final long serialVersionUID = -852226852590425991L;
private String gridId;
/** /**
* 街道社区网格 * 街道社区网格
*/ */
@ -22,56 +24,65 @@ public class GridOpeningResultDTO implements Serializable {
/** /**
* 用户注册数 * 用户注册数
*/ */
private String registerCount; private Integer registerCount;
/**
* 认证居民
*/
private Integer residentCount;
/** /**
* 党员注册数 * 认证党员数
*/ */
private String partyCount; private Integer partyCount;
/** /**
* 居民扫码数 * 居民扫码数
*/ */
private String ewmCount; private Integer ewmCount;
/** /**
* 新闻数 * 新闻数
*/ */
private String newsCount; private Integer newsCount;
/** /**
* 通知数 * 通知数
*/ */
private String noticeCount; private Integer noticeCount;
/** /**
* 议题数 * 议题数
*/ */
private String eventCount; private Integer eventCount;
/** /**
* 项目数 * 项目数
*/ */
private String itemCount; private Integer itemCount;
/** /**
* 项目结案数 * 项目结案数
*/ */
private String itemCloseCount; private Integer itemCloseCount;
/** /**
* 社群数 * 社群数
*/ */
private String communityCount; private Integer communityCount;
/** /**
* 社群成员数 * 社群成员数
*/ */
private String communityMemberCount; private Integer communityMemberCount;
/** /**
* 社群话题数 * 社群话题数
*/ */
private String communityTopicCount; private Integer communityTopicCount;
/**
* 网格长姓名
*/
private String gridLeader;
} }

92
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java

@ -53,42 +53,42 @@ public interface UserAnalysisDao extends BaseMapper<UserAnalysisDTO> {
/*** /***
* 新闻 * 根据网格统计新闻发布数
* @param * @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO> * @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong * @author qushutong
* @date 2020/2/11 14:10 * @date 2020/2/11 14:10
*/ */
List<GridOpeningResultDTO> selectListNewsCount(); List<GridOpeningResultDTO> selectListNewsCount(Map<String, Object> params);
/*** /***
* 通知 * 通知
* @param * @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO> * @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong * @author qushutong
* @date 2020/2/11 14:10 * @date 2020/2/11 14:10
*/ */
List<GridOpeningResultDTO> selectListNoticeCount(); List<GridOpeningResultDTO> selectListNoticeCount(Map<String, Object> params);
/*** /***
* 议题数 * 议题数
* @param * @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO> * @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong * @author qushutong
* @date 2020/2/11 14:10 * @date 2020/2/11 14:10
*/ */
List<GridOpeningResultDTO> selectListEventCount(); List<GridOpeningResultDTO> selectListEventCount(Map<String, Object> params);
/*** /***
* 项目数 * 项目数项目结案数
* @param * @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO> * @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong * @author qushutong
* @date 2020/2/11 14:10 * @date 2020/2/11 14:10
*/ */
List<GridOpeningResultDTO> selectListItemCount(); List<GridOpeningResultDTO> selectListItemCount(Map<String, Object> params);
/** /**
* 查询用户数据排行 * 查询用户数据排行
@ -111,72 +111,62 @@ public interface UserAnalysisDao extends BaseMapper<UserAnalysisDTO> {
List<UserDataRankResultDTO> selectListPartyAuthFailureCountByStreetId(@Param("streetIdList") List<String> streetIdList); List<UserDataRankResultDTO> selectListPartyAuthFailureCountByStreetId(@Param("streetIdList") List<String> streetIdList);
/*** /***
* 项目结案数 * 社群数 社群成员数 社群话题数
* @param * @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/2/11 14:10
*/
List<GridOpeningResultDTO> selectListItemCloseCount();
/***
* 社群数
* @param
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/2/11 14:10
*/
List<GridOpeningResultDTO> selectListCommunityCount();
/***
* 社群成员数
* @param
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO> * @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong * @author qushutong
* @date 2020/2/11 14:10 * @date 2020/2/11 14:10
*/ */
List<GridOpeningResultDTO> selectListCommunityMemberCount(); List<GridOpeningResultDTO> selectListCommunityCount(Map<String, Object> params);
/***
* 社群话题数
* @param
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/2/11 14:10
*/
List<GridOpeningResultDTO> selectListCommunityTopicCount();
/** /**
*用户数据统计 * 用户数据统计
* *
* @author wangtong
* @date 2020/2/11 14:55
* @param [formDTO] * @param [formDTO]
* @return com.elink.esua.epdc.dto.user.result.UserAnalysisCountDTO * @return com.elink.esua.epdc.dto.user.result.UserAnalysisCountDTO
* @author wangtong
* @date 2020/2/11 14:55
*/ */
UserAnalysisCountDTO getUserStatistics(UserCountDTO formDto); UserAnalysisCountDTO getUserStatistics(UserCountDTO formDto);
/** /**
*网格数量统计 * 网格数量统计
* *
* @author wangtong
* @date 2020/2/11 14:55
* @param [formDTO] * @param [formDTO]
* @return com.elink.esua.epdc.dto.user.result.GriddingCountDTO * @return com.elink.esua.epdc.dto.user.result.GriddingCountDTO
* @author wangtong
* @date 2020/2/11 14:55
*/ */
GriddingCountDTO getGridStatistics(UserCountDTO formDto); GriddingCountDTO getGridStatistics(UserCountDTO formDto);
/** /**
* @Description 注册用户数排名 * @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.user.result.UserSortRankResultDTO>>
* @Description 注册用户数排名
* @Author lpf * @Author lpf
* @Date 2020/2/11 * @Date 2020/2/11
* @Param [formDto] * @Param [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.user.result.UserSortRankResultDTO>>
**/ **/
List<UserSortRankResultDTO> userRegisterSort(UserSortRankFormDTO formDto, List<Long> deptIdList); List<UserSortRankResultDTO> userRegisterSort(UserSortRankFormDTO formDto, List<Long> deptIdList);
/**
* 开通网格列表查询字段网格的完整机构名称网格id网格长名称
*
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author work@yujt.net.cn
* @date 2020/2/12 13:27
*/
List<GridOpeningResultDTO> selectListGridHasMaCode(Map<String, Object> params);
/**
* 根据网格id查询网格内注册用户数认证党员数认证居民数
*
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author work@yujt.net.cn
* @date 2020/2/12 14:06
*/
List<GridOpeningResultDTO> selectListReigistData(Map<String, Object> params);
} }

109
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java

@ -42,46 +42,68 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
@Override @Override
public PageData<GridOpeningResultDTO> listPageGridOpening(Map<String, Object> params) { public PageData<GridOpeningResultDTO> listPageGridOpening(Map<String, Object> params) {
// 注册数 IPage<GridOpeningResultDTO> iPage = this.getPage(params);
List<GridOpeningResultDTO> registerCountList = baseDao.selectListReigistCount(); List<GridOpeningResultDTO> list = baseDao.selectListGridHasMaCode(params);
// 党员数
List<GridOpeningResultDTO> partyCountList = baseDao.selectListPartyCount(); PageData<GridOpeningResultDTO> page = new PageData<>(list, iPage.getTotal());
// 居民扫码数 if (CollUtil.isEmpty(list)) {
List<GridOpeningResultDTO> ewmCountList = baseDao.selectListEwmCount(); return page;
}
List<String> gridIdList = Lists.newArrayList();
for (GridOpeningResultDTO gridOpeningResult : list) {
gridIdList.add(gridOpeningResult.getGridId());
}
params.put("gridIdList", gridIdList);
// 注册数,认证党员数,认证居民数
List<GridOpeningResultDTO> registerDataList = baseDao.selectListReigistData(params);
// 新闻数 // 新闻数
List<GridOpeningResultDTO> newsCountList = baseDao.selectListNewsCount(); List<GridOpeningResultDTO> newsCountList = baseDao.selectListNewsCount(params);
// 通知数 // 通知数
List<GridOpeningResultDTO> noticeCountList = baseDao.selectListNoticeCount(); List<GridOpeningResultDTO> noticeCountList = baseDao.selectListNoticeCount(params);
// 议题数 // 议题数
List<GridOpeningResultDTO> eventCountList = baseDao.selectListEventCount(); List<GridOpeningResultDTO> eventCountList = baseDao.selectListEventCount(params);
// 项目数 // 项目数,项目结案数
List<GridOpeningResultDTO> itemCountList = baseDao.selectListItemCount(); List<GridOpeningResultDTO> itemCountList = baseDao.selectListItemCount(params);
// 结案数 // 社群数 社群成员数 社群话题数
List<GridOpeningResultDTO> itemCloseCountList = baseDao.selectListItemCloseCount(); List<GridOpeningResultDTO> communityCountList = baseDao.selectListCommunityCount(params);
// 社群数
List<GridOpeningResultDTO> communityCountList = baseDao.selectListCommunityCount();
// 社群成员数
List<GridOpeningResultDTO> communityMemberCountList = baseDao.selectListCommunityMemberCount();
// 社群话题数
List<GridOpeningResultDTO> communityTopicCountList = baseDao.selectListCommunityTopicCount();
GridOpeningResultDTO openingResultDto;
for (int i = 0; i < registerCountList.size(); i++) {
openingResultDto = registerCountList.get(i);
openingResultDto.setRegisterCount(registerCountList.get(i).getRegisterCount());
openingResultDto.setPartyCount(partyCountList.get(i).getPartyCount());
openingResultDto.setNewsCount(newsCountList.get(i).getNewsCount());
openingResultDto.setNoticeCount(noticeCountList.get(i).getNoticeCount());
openingResultDto.setEwmCount(ewmCountList.get(i).getEwmCount());
openingResultDto.setEventCount(eventCountList.get(i).getEventCount());
openingResultDto.setItemCount(itemCountList.get(i).getItemCount());
openingResultDto.setItemCloseCount(itemCloseCountList.get(i).getItemCloseCount());
openingResultDto.setCommunityCount(communityCountList.get(i).getCommunityCount());
openingResultDto.setCommunityMemberCount(communityMemberCountList.get(i).getCommunityMemberCount());
openingResultDto.setCommunityTopicCount(communityTopicCountList.get(i).getCommunityTopicCount());
}
IPage<GridOpeningResultDTO> iPage = this.getPage(params); for (GridOpeningResultDTO resultDto : list) {
return new PageData<>(registerCountList, iPage.getTotal()); for (GridOpeningResultDTO registerData : registerDataList) {
if(resultDto.getGridId().equals(registerData.getGridId())){
resultDto.setRegisterCount(registerData.getRegisterCount());
resultDto.setPartyCount(registerData.getPartyCount());
resultDto.setRegisterCount(registerData.getRegisterCount());
}
}
for (GridOpeningResultDTO newsCountData : newsCountList) {
if(resultDto.getGridId().equals(newsCountData.getGridId())){
resultDto.setNewsCount(newsCountData.getNewsCount());
}
}
for (GridOpeningResultDTO noticeCounData : noticeCountList) {
if(resultDto.getGridId().equals(noticeCounData.getGridId())){
resultDto.setNoticeCount(noticeCounData.getNoticeCount());
}
}
for (GridOpeningResultDTO eventCountData : eventCountList) {
if(resultDto.getGridId().equals(eventCountData.getGridId())){
resultDto.setEventCount(eventCountData.getEventCount());
}
}
for (GridOpeningResultDTO itemCountData : itemCountList) {
if(resultDto.getGridId().equals(itemCountData.getGridId())){
resultDto.setItemCloseCount(itemCountData.getItemCloseCount());
}
}
for (GridOpeningResultDTO communityCountData : communityCountList) {
if(resultDto.getGridId().equals(communityCountData.getGridId())){
resultDto.setCommunityCount(communityCountData.getCommunityCount());
resultDto.setCommunityTopicCount(communityCountData.getCommunityTopicCount());
resultDto.setCommunityMemberCount(communityCountData.getCommunityMemberCount());
}
}
}
return page;
} }
@Override @Override
@ -130,12 +152,12 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
} }
/** /**
*用户数据统计 * 用户数据统计
* *
* @author wangtong
* @date 2020/2/11 14:33
* @param formDto * @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author wangtong
* @date 2020/2/11 14:33
*/ */
@Override @Override
public Result getUserStatistics(UserCountDTO formDto) { public Result getUserStatistics(UserCountDTO formDto) {
@ -145,12 +167,12 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
/** /**
*网格开通状况 * 网格开通状况
* *
* @author wangtong
* @date 2020/2/11 14:33
* @param formDto * @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author wangtong
* @date 2020/2/11 14:33
*/ */
@Override @Override
public Result getGridStatistics(UserCountDTO formDto) { public Result getGridStatistics(UserCountDTO formDto) {
@ -163,5 +185,6 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize(); int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize();
formDto.setPageIndex(pageIndex); formDto.setPageIndex(pageIndex);
List<UserSortRankResultDTO> data = baseDao.userRegisterSort(formDto, SecurityUser.getUser().getDeptIdList()); List<UserSortRankResultDTO> data = baseDao.userRegisterSort(formDto, SecurityUser.getUser().getDeptIdList());
return new Result<List<UserSortRankResultDTO>>().ok(data); } return new Result<List<UserSortRankResultDTO>>().ok(data);
}
} }

326
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml

@ -152,269 +152,84 @@
<!--新闻数--> <!--新闻数-->
<select id="selectListNewsCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO"> <select id="selectListNewsCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO">
SELECT SELECT
CONCAT(ad2.`name`,ad1.`name`,t0.`name`) AS allDeptName, COUNT(nn.ID) newsCount,nn.DEPT_ID gridId
count(un.ID) AS newsCount
FROM FROM
( esua_epdc_news.epdc_news nn
SELECT WHERE
ad.id, nn.DEL_FLAG = '0'
ad.`name`, <if test="gridIdList != null and gridIdList.size() > 0">
ad.pid AND nn.DEPT_ID in <foreach item="item" collection="gridIdList" open="(" separator="," close=")"> #{item} </foreach>
FROM </if>
esua_epdc_admin.sys_dept ad GROUP BY nn.DEPT_ID
WHERE
ad.type_key = 'grid_party'
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_news.epdc_news un ON un.dept_id = t0.id
AND un.DEL_FLAG = '0'
LEFT JOIN esua_epdc_admin.sys_dept ad1 ON ad1.id = t0.pid
LEFT JOIN esua_epdc_admin.sys_dept ad2 ON ad2.id = ad1.pid
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select> </select>
<!--通知数--> <!--通知数-->
<select id="selectListNoticeCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO"> <select id="selectListNoticeCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO">
SELECT SELECT
CONCAT( COUNT(nn.ID) newsCount,nn.DEPT_ID gridId
ad2.`name`,
ad1.`name`,
t0.`name`
) AS allDeptName,
count(un.ID) AS noticeCount
FROM FROM
esua_epdc_news.epdc_notice nn
( WHERE
SELECT nn.DEL_FLAG = '0'
ad.id, <if test="gridIdList != null and gridIdList.size() > 0">
ad.`name`, AND nn.DEPT_ID in <foreach item="item" collection="gridIdList" open="(" separator="," close=")"> #{item} </foreach>
ad.pid </if>
FROM GROUP BY nn.DEPT_ID
esua_epdc_admin.sys_dept ad
WHERE
ad.type_key = 'grid_party'
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_news.epdc_notice un ON un.dept_id = t0.id
AND un.DEL_FLAG = '0'
LEFT JOIN esua_epdc_admin.sys_dept ad1 ON ad1.id = t0.pid
LEFT JOIN esua_epdc_admin.sys_dept ad2 ON ad2.id = ad1.pid
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select> </select>
<!--议题数--> <!--议题数-->
<select id="selectListEventCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO"> <select id="selectListEventCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO">
SELECT SELECT
CONCAT( epen.GRID_ID gridId, COUNT( epen.ID ) eventCount
ad2.`name`,
ad1.`name`,
t0.`name`
) AS allDeptName,
count(epen.ID) AS eventCount
FROM FROM
( esua_epdc_events.epdc_events epen
SELECT WHERE
ad.id, epen.DEL_FLAG = '0' AND epen.EVENT_STATE = '4'
ad.`name`, <if test="gridIdList != null and gridIdList.size() > 0">
ad.pid AND epen.GRID_ID in <foreach item="item" collection="gridIdList" open="(" separator="," close=")"> #{item} </foreach>
FROM </if>
esua_epdc_admin.sys_dept ad GROUP BY epen.GRID_ID
WHERE
ad.type_key = 'grid_party'
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_events.epdc_events epen ON epen.GRID_ID = t0.id
AND epen.DEL_FLAG = '0'
AND epen.EVENT_STATE = '4'
LEFT JOIN esua_epdc_admin.sys_dept ad1 ON ad1.id = t0.pid
LEFT JOIN esua_epdc_admin.sys_dept ad2 ON ad2.id = ad1.pid
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select> </select>
<!--项目数--> <!--项目数-->
<select id="selectListItemCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO"> <select id="selectListItemCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO">
SELECT SELECT
CONCAT( epen.GRID_ID gridId,
ad2.`name`, COUNT( epen.ID ) itemCount,
ad1.`name`, count(epen.EVENT_STATE = '10' or null) itemCloseCount
t0.`name`
) AS allDeptName,
count(epen.ID) AS itemCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.type_key = 'grid_party'
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_events.epdc_item epen ON epen.GRID_ID = t0.id
AND epen.DEL_FLAG = '0'
LEFT JOIN esua_epdc_admin.sys_dept ad1 ON ad1.id = t0.pid
LEFT JOIN esua_epdc_admin.sys_dept ad2 ON ad2.id = ad1.pid
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--结案数-->
<select id="selectListItemCloseCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO">
SELECT
CONCAT(
ad2.`name`,
ad1.`name`,
t0.`name`
) AS allDeptName,
count(epen.ID) AS itemCloseCount
FROM FROM
( esua_epdc_events.epdc_item epen
SELECT WHERE
ad.id, epen.DEL_FLAG = '0'
ad.`name`, <if test="gridIdList != null and gridIdList.size() > 0">
ad.pid AND epen.GRID_ID in <foreach item="item" collection="gridIdList" open="(" separator="," close=")"> #{item} </foreach>
FROM </if>
esua_epdc_admin.sys_dept ad GROUP BY epen.GRID_ID
WHERE
ad.type_key = 'grid_party'
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_events.epdc_item epen ON epen.GRID_ID = t0.id
AND epen.DEL_FLAG = '0'
AND epen.ITEM_STATE = '10'
LEFT JOIN esua_epdc_admin.sys_dept ad1 ON ad1.id = t0.pid
LEFT JOIN esua_epdc_admin.sys_dept ad2 ON ad2.id = ad1.pid
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select> </select>
<!--社群数--> <!--社群数-->
<select id="selectListCommunityCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO"> <select id="selectListCommunityCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO">
SELECT SELECT
CONCAT( epgr.GRID_ID gridId,
ad2.`name`, COUNT( DISTINCT epgr.ID ) communityCount,
ad1.`name`, COUNT( DISTINCT ug.user_id ) communityMemberCount,
t0.`name` COUNT( DISTINCT ut.ID ) communityTopicCount
) AS allDeptName,
count(epgr.ID) AS communityCount
FROM FROM
( esua_epdc_group.epdc_group epgr
SELECT LEFT JOIN esua_epdc_group.epdc_user_group ug ON epgr.id = ug.group_id AND ug.DEL_FLAG = '0'
ad.id, LEFT JOIN esua_epdc_group.epdc_topic ut ON epgr.id = ut.group_id AND ut.DEL_FLAG = '0'
ad.`name`, WHERE
ad.pid epgr.DEL_FLAG = '0' AND ( epgr.STATE = '10' OR epgr.STATE = '15' )
FROM <if test="gridIdList != null and gridIdList.size() > 0">
esua_epdc_admin.sys_dept ad AND epgr.GRID_ID in <foreach item="item" collection="gridIdList" open="(" separator="," close=")"> #{item} </foreach>
WHERE </if>
ad.type_key = 'grid_party' GROUP BY epgr.GRID_ID
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_group.epdc_group epgr ON epgr.GRID_ID = t0.id
AND epgr.DEL_FLAG = '0'
AND (
epgr.STATE = '10'
OR epgr.STATE = '15'
)
LEFT JOIN esua_epdc_admin.sys_dept ad1 ON ad1.id = t0.pid
LEFT JOIN esua_epdc_admin.sys_dept ad2 ON ad2.id = ad1.pid
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select> </select>
<!--社区成员数-->
<select id="selectListCommunityMemberCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO">
SELECT
CONCAT(
ad2.`name`,
ad1.`name`,
t0.`name`
) AS allDeptName,
count(ug.ID) AS communityMemberCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.type_key = 'grid_party'
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_group.epdc_group epgr ON epgr.GRID_ID = t0.id
AND epgr.DEL_FLAG = '0'
AND (
epgr.STATE = '10'
OR epgr.STATE = '15'
)
LEFT JOIN esua_epdc_group.epdc_user_group ug ON epgr.id = ug.group_id
AND ug.DEL_FLAG = '0'
LEFT JOIN esua_epdc_admin.sys_dept ad1 ON ad1.id = t0.pid
LEFT JOIN esua_epdc_admin.sys_dept ad2 ON ad2.id = ad1.pid
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--社群话题数-->
<select id="selectListCommunityTopicCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO">
SELECT
CONCAT(
ad2.`name`,
ad1.`name`,
t0.`name`
) AS allDeptName,
count(ug.ID) AS communityTopicCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.type_key = 'grid_party'
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_group.epdc_group epgr ON epgr.GRID_ID = t0.id
AND epgr.DEL_FLAG = '0'
AND (
epgr.STATE = '10'
OR epgr.STATE = '15'
)
LEFT JOIN esua_epdc_group.epdc_topic ug ON epgr.id = ug.group_id
AND ug.DEL_FLAG = '0'
LEFT JOIN esua_epdc_admin.sys_dept ad1 ON ad1.id = t0.pid
LEFT JOIN esua_epdc_admin.sys_dept ad2 ON ad2.id = ad1.pid
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<select id="getUserStatistics" resultType="com.elink.esua.epdc.dto.user.result.UserAnalysisCountDTO" parameterType="com.elink.esua.epdc.dto.user.form.UserCountDTO"> <select id="getUserStatistics" resultType="com.elink.esua.epdc.dto.user.result.UserAnalysisCountDTO" parameterType="com.elink.esua.epdc.dto.user.form.UserCountDTO">
SELECT SELECT
t.userCount, t.userCount,
@ -501,4 +316,49 @@
</if> </if>
LIMIT #{formDto.pageIndex},#{formDto.pageSize} LIMIT #{formDto.pageIndex},#{formDto.pageSize}
</select> </select>
<select id="selectListGridHasMaCode" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO">
SELECT
ad.id gridId,
CONCAT( ad2.`name`, '-', ad1.`name`, '-', ad.`name` ) AS allDeptName,
GROUP_CONCAT( DISTINCT u.real_name ) gridLeader
FROM
esua_epdc_admin.sys_dept ad
LEFT JOIN esua_epdc_admin.epdc_dept_ma_code ama ON ad.id = ama.GRID_ID
AND ama.DEL_FLAG = '0'
LEFT JOIN esua_epdc_admin.sys_dept ad1 ON ad1.id = ad.pid
LEFT JOIN esua_epdc_admin.sys_dept ad2 ON ad2.id = ad1.pid
LEFT JOIN esua_epdc_admin.sys_role_data_scope ards ON ards.dept_id = ad.id
LEFT JOIN esua_epdc_admin.sys_role r ON ards.role_id = r.id AND r.DEL_FLAG = 0
LEFT JOIN esua_epdc_admin.sys_role_user ru ON r.id = ru.role_id
LEFT JOIN esua_epdc_admin.sys_user u ON ru.user_id = u.id AND u.del_flag = 0
WHERE
ad.type_key = 'grid_party'
AND ad.del_flag = 0
AND ama.ID IS NOT NULL
GROUP BY
ad.id
ORDER BY
ama.CREATED_TIME DESC,
ad.create_date DESC
</select>
<select id="selectListReigistData" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO">
SELECT
t.DEPT_ID, COUNT( t.ID ) registerCount,
COUNT(t.PARTY_FLAG = '0' OR NULL) residentCount,
COUNT(t.PARTY_FLAG = '1' OR NULL) partyCount
FROM (
SELECT
uu.ID, uu.DEPT_ID, uu.STATE, uu.PARTY_FLAG
FROM
esua_epdc_user.epdc_user uu
WHERE
uu.DEL_FLAG = '0'
<if test="gridIdList != null and gridIdList.size() > 0">
AND uu.DEPT_ID in <foreach item="item" collection="gridIdList" open="(" separator="," close=")"> #{item} </foreach>
</if>
AND uu.DEPT_ID IS NOT NULL
) t
GROUP BY t.DEPT_ID
</select>
</mapper> </mapper>

Loading…
Cancel
Save