Browse Source

运营导出报表

feature/dangjian
曲树通 6 years ago
parent
commit
3380a798c2
  1. 24
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/ExportOperationFormDTO.java
  2. 76
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/ExportOperationDataResultDTO.java
  3. 52
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/ExportOperationDataExcel.java
  4. 24
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java
  5. 75
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java
  6. 17
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java
  7. 46
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java
  8. 270
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml

24
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/ExportOperationFormDTO.java

@ -0,0 +1,24 @@
package com.elink.esua.epdc.dto.user.form;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class ExportOperationFormDTO implements Serializable {
private String operationStartTime;
private String operationEndTime;
/**
* 所有部门列表
*/
private List<Long[]> allDeptIdsShow;
private List<Long> allStreetIds;
private String endTime;
}

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

@ -0,0 +1,76 @@
package com.elink.esua.epdc.dto.user.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author: qushutong
* @Date: 2020/3/23 14:47
* @Description: 运营导出数据
*/
@Data
public class ExportOperationDataResultDTO implements Serializable {
private static final long serialVersionUID = -798787916350968587L;
/**
* 居民数
*/
private int registerCount = 0;
/**
* 未认证用户数
*/
private int unAuthorizedCount = 0;
/**
* 党员数
*/
private int partyCount = 0;
/**
* 新闻发布数
*/
private int newsCount = 0;
/**
* 议题数
*/
private int eventCount = 0;
/**
* 项目数
*/
private int itemCount = 0;
/**
* 项目解决数
*/
private int itemCloseCount = 0;
/**
* 社群数
*/
private int communityCount = 0;
/**
* 社群成员数
*/
private int communityMemberCount = 0;
/**
* 社群话题数
*/
private int communityTopicCount = 0;
/**
* 街道
*/
private String streetName;
}

52
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/ExportOperationDataExcel.java

@ -0,0 +1,52 @@
package com.elink.esua.epdc.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
/**
* @author: qushutong
* @Date: 2020/3/23 14:47
* @Description: 运营导出数据
*/
@Data
public class ExportOperationDataExcel implements Serializable {
private static final long serialVersionUID = 4935348597474149310L;
@Excel(name = "街道")
private String streetName;
@Excel(name = "居民数")
private int registerCount = 0;
@Excel(name = "已认证党员数")
private int partyCount = 0;
@Excel(name = "新闻发布数")
private int newsCount = 0;
@Excel(name = "议题数")
private int eventCount = 0;
@Excel(name = "项目数")
private int itemCount = 0;
@Excel(name = "项目结案数")
private int itemCloseCount = 0;
@Excel(name = "社群数")
private int communityCount = 0;
@Excel(name = "社群成员数")
private int communityMemberCount = 0;
@Excel(name = "社群话题数")
private int communityTopicCount = 0;
}

24
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java

@ -4,6 +4,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.result.*;
@ -12,23 +13,20 @@ import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
import com.elink.esua.epdc.excel.ExportOperationDataExcel;
import com.elink.esua.epdc.excel.GridOpiningExcel;
import com.elink.esua.epdc.modules.user.service.OldMemberRankService;
import com.elink.esua.epdc.modules.user.service.YoungMemberRankService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.elink.esua.epdc.excel.PartyAnalysExcel;
import com.elink.esua.epdc.excel.RegisterExcel;
import com.elink.esua.epdc.modules.user.service.UserAnalysisService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletResponse;
/**
@ -201,4 +199,18 @@ public class UserAnalysisController {
List<GridOpeningResultDTO> list = userAnalysisService.listPageGridOpeningsForExport(params);
ExcelUtils.exportExcelToTarget(response, "开通网格情况", list, GridOpiningExcel.class);
}
/***
* 运营数据导出
* @param
* @param response
* @return void
* @author qushutong
* @date 2020/3/23 16:36
*/
@PostMapping("export/exportOperationData")
public void exportOperationData(@RequestBody ExportOperationFormDTO exportOperationFormDTO, HttpServletResponse response) throws Exception{
List<ExportOperationDataResultDTO> list = userAnalysisService.listExportOperationCount(exportOperationFormDTO);
ExcelUtils.exportExcelToTarget(response, "开通网格情况", list, ExportOperationDataExcel.class);
}
}

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

@ -2,6 +2,7 @@ package com.elink.esua.epdc.modules.user.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.elink.esua.epdc.dto.user.UserAnalysisDTO;
import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.result.*;
@ -157,4 +158,78 @@ public interface UserAnalysisDao extends BaseMapper<UserAnalysisDTO> {
* @date 2020/3/5 14:10
*/
List<GridOpeningResultDTO> selectListUnAuthorizedCountByGridId(Map<String, Object> params);
/***
* 运营数据导出用户相关
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportUserCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出未认证用户
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportunAuthorizedCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出议题
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportEventCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出项目相关
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportItemCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出新闻
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportNewsCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出社群数
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportGroupCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出社群成员数
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportCommunityMemberCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出社群话题数
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportTopicCount(ExportOperationFormDTO exportOperationFormDTO);
}

17
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java

@ -2,12 +2,10 @@ package com.elink.esua.epdc.modules.user.service;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.GridDataTotalResultDTO;
import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO;
import com.elink.esua.epdc.dto.user.result.UserSortRankResultDTO;
import com.elink.esua.epdc.dto.user.result.*;
import java.util.List;
import java.util.Map;
@ -88,4 +86,15 @@ public interface UserAnalysisService {
* @date 2020/2/13 14:22
*/
GridDataTotalResultDTO selectGridDataTotal(Map<String, Object> params);
/***
* 运营数据导出用户相关
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> listExportOperationCount(ExportOperationFormDTO exportOperationFormDTO);
}

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

@ -13,6 +13,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.datasources.DataSourceNames;
import com.elink.esua.epdc.datasources.annotation.DataSource;
import com.elink.esua.epdc.dto.user.UserAnalysisDTO;
import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.*;
@ -23,6 +24,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -269,6 +271,7 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
result.setNoticeCount(noticeCount);
result.setEventCount(eventCount);
result.setItemPraiseCount(itemPraiseCount);
result.setItemCloseCount(itemCloseCount);
result.setItemCount(itemCount);
result.setCommunityCount(communityCount);
@ -277,4 +280,47 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
return result;
}
@Override
public List<ExportOperationDataResultDTO> listExportOperationCount(ExportOperationFormDTO exportOperationFormDTO) {
List<Long> allStreetIds = new ArrayList<>();
for(Long[] item : exportOperationFormDTO.getAllDeptIdsShow()){
allStreetIds.add(item[0]);
}
exportOperationFormDTO.setAllStreetIds(allStreetIds);
//用户相关
List<ExportOperationDataResultDTO> exportOperationDataResultDTOS = baseDao.selectExportUserCount(exportOperationFormDTO);
// 未认证用户
List<ExportOperationDataResultDTO> unAuthorizedResultDTOS = baseDao.selectExportunAuthorizedCount(exportOperationFormDTO);
List<ExportOperationDataResultDTO> newsResultDTOS = baseDao.selectExportNewsCount(exportOperationFormDTO);
// 议题
List<ExportOperationDataResultDTO> eventDataResultDTOS = baseDao.selectExportEventCount(exportOperationFormDTO);
// 项目
List<ExportOperationDataResultDTO> itemDataResultDTOS = baseDao.selectExportItemCount(exportOperationFormDTO);
// 社群
List<ExportOperationDataResultDTO> groupDataResultDTOS = baseDao.selectExportGroupCount(exportOperationFormDTO);
// 社群成员
List<ExportOperationDataResultDTO> communityMemberDataResultDTOS = baseDao.selectExportCommunityMemberCount(exportOperationFormDTO);
// 话题
List<ExportOperationDataResultDTO> topicDataResultDTOS = baseDao.selectExportTopicCount(exportOperationFormDTO);
//居民数
for(int i= 0;i<exportOperationDataResultDTOS.size();i++){
for(ExportOperationDataResultDTO item:unAuthorizedResultDTOS){
if( exportOperationDataResultDTOS.get(i).getStreetName().equals(item.getStreetName())){
exportOperationDataResultDTOS.get(i).setRegisterCount(exportOperationDataResultDTOS.get(i).getRegisterCount()+item.getUnAuthorizedCount());
}else {
exportOperationDataResultDTOS.get(i).setRegisterCount(exportOperationDataResultDTOS.get(i).getRegisterCount());
}
}
exportOperationDataResultDTOS.get(i).setNewsCount(newsResultDTOS.get(i).getNewsCount());
exportOperationDataResultDTOS.get(i).setItemCount(itemDataResultDTOS.get(i).getItemCount());
exportOperationDataResultDTOS.get(i).setItemCloseCount(itemDataResultDTOS.get(i).getItemCloseCount());
exportOperationDataResultDTOS.get(i).setEventCount(eventDataResultDTOS.get(i).getEventCount());
exportOperationDataResultDTOS.get(i).setCommunityCount(groupDataResultDTOS.get(i).getCommunityCount());
exportOperationDataResultDTOS.get(i).setCommunityMemberCount(communityMemberDataResultDTOS.get(i).getCommunityMemberCount());
exportOperationDataResultDTOS.get(i).setCommunityTopicCount(topicDataResultDTOS.get(i).getCommunityTopicCount());
}
return exportOperationDataResultDTOS;
}
}

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

@ -430,4 +430,274 @@
) t GROUP BY t.userId
) tt GROUP BY tt.gridId
</select>
<!--运营导出数据相关-->
<select id="selectExportUserCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO" parameterType="com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO">
SELECT
t0.`name` streetName,
count(uu.PARTY_FLAG = '0'OR NULL)AS registerCount,
count(uu.PARTY_FLAG = '1'OR NULL) AS partyCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_user.epdc_user uu ON find_in_set(t0.id, uu.ALL_DEPT_IDS)
AND uu.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND uu.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and uu.CREATED_TIME &lt;=#{endTime}
</if>
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<select id="selectExportunAuthorizedCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT t1.`name` streetName ,COUNT(t1.ID) unAuthorizedCount FROM (SELECT
uu.ID,t0.`name`
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_user.epdc_user_grid_relation ug ON find_in_set(t0.id, ug.ALL_DEPT_IDS)
LEFT JOIN esua_epdc_user.epdc_user uu ON uu.STATE = '0' AND ug.USER_ID=uu.ID
AND uu.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND uu.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and uu.CREATED_TIME &lt;=#{endTime}
</if>
WHERE uu.ID is NOT NULL
GROUP BY
ug.USER_ID,t0.id
ORDER BY
ug.CREATED_TIME ASC) t1
GROUP BY t1.`name`
</select>
<!--新闻-->
<select id="selectExportNewsCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
COUNT(un.ID) newsCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_news.epdc_news un ON find_in_set(t0.id, un.ALL_DEPT_IDS)
AND un.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND un.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and un.CREATED_TIME &lt;=#{endTime}
</if>
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--议题-->
<select id="selectExportEventCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
COUNT(epen.ID) eventCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_events.epdc_events epen ON find_in_set(t0.id, epen.ALL_DEPT_IDS)
AND epen.DEL_FLAG = '0'
AND epen.EVENT_STATE = '4'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND epen.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and epen.CREATED_TIME &lt;=#{endTime}
</if>
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--项目相关-->
<select id="selectExportItemCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
COUNT(epen.ID) itemCount,
COUNT(epen.ITEM_STATE = '10' OR NULL) itemCloseCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_events.epdc_item epen ON find_in_set(t0.id, epen.ALL_DEPT_IDS)
AND epen.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND epen.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and epen.CREATED_TIME &lt;=#{endTime}
</if>
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--社群数-->
<select id="selectExportGroupCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
COUNT(epgr.ID) communityCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_group.epdc_group epgr ON find_in_set(t0.id, epgr.ALL_DEPT_IDS)
AND epgr.DEL_FLAG = '0'
AND (
epgr.STATE = '10'
OR epgr.STATE = '15'
)
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND epgr.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and epgr.CREATED_TIME &lt;=#{endTime}
</if>
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--社群成员数-->
<select id="selectExportCommunityMemberCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
COUNT(ug.ID) communityMemberCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_group.epdc_group epgr ON find_in_set(t0.id, epgr.ALL_DEPT_IDS)
AND epgr.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND epgr.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and epgr.CREATED_TIME &lt;=#{endTime}
</if>
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'
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--社群话题数-->
<select id="selectExportTopicCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
COUNT(ug.ID) communityTopicCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_group.epdc_group epgr ON find_in_set(t0.id, epgr.ALL_DEPT_IDS)
AND epgr.DEL_FLAG = '0'
AND (
epgr.STATE = '10'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND epgr.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and epgr.CREATED_TIME &lt;=#{endTime}
</if>
OR epgr.STATE = '15'
)
LEFT JOIN esua_epdc_group.epdc_topic ug ON epgr.id = ug.group_id
AND ug.DEL_FLAG = '0'
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--循环街道id集合-->
<sql id="foreachAllDeptIdsShow">
<foreach collection="allStreetIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</sql>
</mapper>

Loading…
Cancel
Save