Browse Source

Merge branch 'dev_analysis' of http://121.42.41.42:7070/r/esua-epdc-cloud into dev_analysis

dev
李鹏飞 6 years ago
parent
commit
8625a03b57
  1. 5
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DataScopeDeptList.java
  2. 3
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysRoleDataScopeDao.xml
  3. 5
      esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/DeptDataScopeDTO.java
  4. 4
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GridDataTotalResultDTO.java
  5. 26
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GridOpeningResultDTO.java
  6. 48
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/GridOpiningExcel.java
  7. 5
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java
  8. 8
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java
  9. 10
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java
  10. 93
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java
  11. 23
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml

5
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DataScopeDeptList.java

@ -24,4 +24,9 @@ public class DataScopeDeptList implements Serializable {
* 部门名称 * 部门名称
*/ */
private String deptName; private String deptName;
/**
* 部门类型
*/
private String typeKey;
} }

3
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysRoleDataScopeDao.xml

@ -15,7 +15,8 @@
<select id="getDataScopeDetailList" resultType="com.elink.esua.epdc.dto.DataScopeDeptList"> <select id="getDataScopeDetailList" resultType="com.elink.esua.epdc.dto.DataScopeDeptList">
SELECT SELECT
t2.dept_id, t2.dept_id,
t3.`name` AS deptName t3.`name` AS deptName,
t3.type_key as typeKey
FROM FROM
sys_role_user t1, sys_role_user t1,
sys_role_data_scope t2, sys_role_data_scope t2,

5
esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/DeptDataScopeDTO.java

@ -24,4 +24,9 @@ public class DeptDataScopeDTO implements Serializable {
* 部门名称 * 部门名称
*/ */
private String deptName; private String deptName;
/**
* 部门类型
*/
private String typeKey;
} }

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

@ -14,10 +14,10 @@ public class GridDataTotalResultDTO extends GridOpeningResultDTO {
/** /**
* 已开通网格数 * 已开通网格数
*/ */
private Integer workGridCount; private int workGridCount = 0;
/** /**
* 未开通网格数 * 未开通网格数
*/ */
private Integer unWorkGridCount; private int unWorkGridCount = 0;
} }

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

@ -24,65 +24,67 @@ public class GridOpeningResultDTO implements Serializable {
/** /**
* 用户注册数 * 用户注册数
*/ */
private Integer registerCount; private int registerCount = 0;
/** /**
* 认证居民 * 认证居民
*/ */
private Integer residentCount; private int residentCount = 0;
/** /**
* 认证党员数 * 认证党员数
*/ */
private Integer partyCount; private int partyCount = 0;
/** /**
* 居民扫码数 * 居民扫码数
*/ */
private Integer ewmCount; private int ewmCount = 0;
/** /**
* 新闻数 * 新闻数
*/ */
private Integer newsCount; private int newsCount = 0;
/** /**
* 通知数 * 通知数
*/ */
private Integer noticeCount; private int noticeCount = 0;
/** /**
* 议题数 * 议题数
*/ */
private Integer eventCount; private int eventCount = 0;
/** /**
* 项目数 * 项目数
*/ */
private Integer itemCount; private int itemCount = 0;
/** /**
* 项目结案数 * 项目结案数
*/ */
private Integer itemCloseCount; private int itemCloseCount = 0;
/** /**
* 社群数 * 社群数
*/ */
private Integer communityCount; private int communityCount = 0;
/** /**
* 社群成员数 * 社群成员数
*/ */
private Integer communityMemberCount; private int communityMemberCount = 0;
/** /**
* 社群话题数 * 社群话题数
*/ */
private Integer communityTopicCount; private int communityTopicCount = 0;
/** /**
* 网格长姓名 * 网格长姓名
*/ */
private String gridLeader; private String gridLeader;
} }

48
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/GridOpiningExcel.java

@ -0,0 +1,48 @@
package com.elink.esua.epdc.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author: qushutong
* @Date: 2020/2/13 15:23
* @Description: 网格开通导出
*/
@Data
public class GridOpiningExcel {
@Excel(name = "网格名称")
private String allDeptName;
@Excel(name = "网格党建指导员姓名")
private String gridLeader;
@Excel(name = "注册用户数")
private Integer registerCount;
@Excel(name = "注册党员数")
private Integer partyCount;
@Excel(name = "新闻发布数")
private Integer newsCount;
@Excel(name = "社群数")
private Integer communityCount;
@Excel(name = "群成员数")
private Integer communityMemberCount;
@Excel(name = "话题数")
private Integer communityTopicCount;
@Excel(name = "项目数")
private Integer itemCount;
@Excel(name = "项目关闭数")
private Integer itemCloseCount;
@Excel(name = "议题数")
private Integer eventCount;
}

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

@ -12,6 +12,7 @@ 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.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO; import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO; import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
import com.elink.esua.epdc.excel.GridOpiningExcel;
import com.elink.esua.epdc.modules.user.service.OldMemberRankService; import com.elink.esua.epdc.modules.user.service.OldMemberRankService;
import com.elink.esua.epdc.modules.user.service.YoungMemberRankService; import com.elink.esua.epdc.modules.user.service.YoungMemberRankService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -197,7 +198,7 @@ public class UserAnalysisController {
*/ */
@GetMapping("export/grid0pining") @GetMapping("export/grid0pining")
public void exportGridOpining(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { public void exportGridOpining(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
PageData<GridOpeningResultDTO> page = userAnalysisService.listPageGridOpening(params); List<GridOpeningResultDTO> list = userAnalysisService.listPageGridOpeningsForExport(params);
ExcelUtils.exportExcelToTarget(response, "开通网格情况", page.getList(), PartyAnalysExcel.class); ExcelUtils.exportExcelToTarget(response, "开通网格情况", list, GridOpiningExcel.class);
} }
} }

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

@ -137,12 +137,4 @@ public interface UserAnalysisDao extends BaseMapper<UserAnalysisDTO> {
*/ */
GridDataTotalResultDTO selectCountGridWorkOrNot(Map<String, Object> params); GridDataTotalResultDTO selectCountGridWorkOrNot(Map<String, Object> params);
/**
* 查询用户注册数党员注册居民注册数
* @param params
* @return com.elink.esua.epdc.dto.user.result.GridDataTotalResultDTO
* @author work@yujt.net.cn
* @date 2020/2/13 14:11
*/
GridDataTotalResultDTO selectUserRegisterDataCount(Map<String, Object> params);
} }

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

@ -29,6 +29,16 @@ public interface UserAnalysisService {
*/ */
PageData<GridOpeningResultDTO> listPageGridOpening(Map<String, Object> params); PageData<GridOpeningResultDTO> listPageGridOpening(Map<String, Object> params);
/**
* 网格开通情况用于导出
*
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author work@yujt.net.cn
* @date 2020/2/13 16:47
*/
List<GridOpeningResultDTO> listPageGridOpeningsForExport(Map<String, Object> params);
/** /**
* 用户数据排行PC端用户数据分析居民注册排行党员排行 * 用户数据排行PC端用户数据分析居民注册排行党员排行
* *

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

@ -28,8 +28,7 @@ import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
/** /** 用户数据分析业务实现
* 用户数据分析业务实现
* *
* @author work@yujt.net.cn * @author work@yujt.net.cn
* @date 2020/2/11 09:46 * @date 2020/2/11 09:46
@ -46,10 +45,31 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
IPage<GridOpeningResultDTO> iPage = this.getPage(params); IPage<GridOpeningResultDTO> iPage = this.getPage(params);
List<GridOpeningResultDTO> list = baseDao.selectListGridHasMaCode(params); List<GridOpeningResultDTO> list = baseDao.selectListGridHasMaCode(params);
list = fillFieldForGridOpening(list, params);
PageData<GridOpeningResultDTO> page = new PageData<>(list, iPage.getTotal()); PageData<GridOpeningResultDTO> page = new PageData<>(list, iPage.getTotal());
if (CollUtil.isEmpty(list)) { return page;
return page; }
}
@Override
public List<GridOpeningResultDTO> listPageGridOpeningsForExport(Map<String, Object> params) {
params.put("deptIdList", SecurityUser.getUser().getDeptIdList());
List<GridOpeningResultDTO> list = baseDao.selectListGridHasMaCode(params);
list = fillFieldForGridOpening(list, params);
return list;
}
/** 组装网格开通情况的数据
*
* @param list 第一次执行查询获取到的列表主要包含机构id和机构名称
* @param params 查询条件
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author work@yujt.net.cn
* @date 2020/2/13 16:46
*/
private List<GridOpeningResultDTO> fillFieldForGridOpening(List<GridOpeningResultDTO> list, Map<String, Object> params) {
List<String> gridIdList = Lists.newArrayList(); List<String> gridIdList = Lists.newArrayList();
for (GridOpeningResultDTO gridOpeningResult : list) { for (GridOpeningResultDTO gridOpeningResult : list) {
if (StringUtils.isNotBlank(gridOpeningResult.getGridId())) { if (StringUtils.isNotBlank(gridOpeningResult.getGridId())) {
@ -103,7 +123,7 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
} }
} }
} }
return page; return list;
} }
@Override @Override
@ -122,8 +142,7 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
return new PageData<>(list, page.getTotal()); return new PageData<>(list, page.getTotal());
} }
/** /** 根据已经查出的列表的街道id查询街道下党员认证失败的人数
* 根据已经查出的列表的街道id查询街道下党员认证失败的人数
* *
* @param hasList * @param hasList
* @return java.util.List<com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO> * @return java.util.List<com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO>
@ -151,8 +170,7 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
return hasList; return hasList;
} }
/** /** 用户数据统计
* 用户数据统计
* *
* @param formDto * @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
@ -161,18 +179,17 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
*/ */
@Override @Override
public Result getUserStatistics(UserCountDTO formDto) { public Result getUserStatistics(UserCountDTO formDto) {
if(formDto.getDeptId()!=null && !"".equals(formDto.getDeptId())){ if (formDto.getDeptId() != null && !"".equals(formDto.getDeptId())) {
UserAnalysisCountDTO message = baseDao.getUserStatistics(formDto, SecurityUser.getUser().getDeptIdList()); UserAnalysisCountDTO message = baseDao.getUserStatistics(formDto, SecurityUser.getUser().getDeptIdList());
return new Result<UserAnalysisCountDTO>().ok(message); return new Result<UserAnalysisCountDTO>().ok(message);
}else{ } else {
UserAnalysisCountDTO message = baseDao.getUserStatistics(formDto, null); UserAnalysisCountDTO message = baseDao.getUserStatistics(formDto, null);
return new Result<UserAnalysisCountDTO>().ok(message); return new Result<UserAnalysisCountDTO>().ok(message);
} }
} }
/** /** 网格开通状况
* 网格开通状况
* *
* @param formDto * @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
@ -200,15 +217,51 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
// 网格开通数,网格未开通数 // 网格开通数,网格未开通数
GridDataTotalResultDTO gridWorkOrNot = baseDao.selectCountGridWorkOrNot(params); GridDataTotalResultDTO gridWorkOrNot = baseDao.selectCountGridWorkOrNot(params);
// 用户注册数,党员注册,居民注册数
GridDataTotalResultDTO registerDataCount = baseDao.selectUserRegisterDataCount(params);
GridDataTotalResultDTO result = new GridDataTotalResultDTO(); GridDataTotalResultDTO result = new GridDataTotalResultDTO();
result.setWorkGridCount(gridWorkOrNot.getWorkGridCount()); result.setWorkGridCount(gridWorkOrNot.getWorkGridCount());
result.setUnWorkGridCount(gridWorkOrNot.getUnWorkGridCount()); result.setUnWorkGridCount(gridWorkOrNot.getUnWorkGridCount());
result.setResidentCount(registerDataCount.getResidentCount());
result.setRegisterCount(registerDataCount.getRegisterCount()); List<GridOpeningResultDTO> gridOpeningResults = this.listPageGridOpeningsForExport(params);
result.setPartyCount(registerDataCount.getPartyCount());
return null; int registerCount = 0;
int residentCount = 0;
int partyCount = 0;
int newsCount = 0;
int noticeCount = 0;
int eventCount = 0;
int itemCount = 0;
int itemCloseCount = 0;
int communityCount = 0;
int communityMemberCount = 0;
int communityTopicCount = 0;
for (GridOpeningResultDTO openingResult : gridOpeningResults) {
registerCount += openingResult.getRegisterCount();
residentCount += openingResult.getResidentCount();
partyCount += openingResult.getPartyCount();
newsCount += openingResult.getNewsCount();
noticeCount += openingResult.getNoticeCount();
eventCount += openingResult.getEventCount();
itemCount += openingResult.getItemCount();
itemCloseCount += openingResult.getItemCloseCount();
communityCount += openingResult.getCommunityCount();
communityMemberCount += openingResult.getCommunityMemberCount();
communityTopicCount += openingResult.getCommunityTopicCount();
}
result.setRegisterCount(registerCount);
result.setResidentCount(residentCount);
result.setPartyCount(partyCount);
result.setNewsCount(newsCount);
result.setNoticeCount(noticeCount);
result.setEventCount(eventCount);
result.setItemCloseCount(itemCloseCount);
result.setItemCount(itemCount);
result.setCommunityCount(communityCount);
result.setCommunityMemberCount(communityMemberCount);
result.setCommunityTopicCount(communityTopicCount);
return result;
} }
} }

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

@ -358,29 +358,14 @@
WHERE WHERE
ad.type_key = 'grid_party' ad.type_key = 'grid_party'
AND ad.del_flag = 0 AND ad.del_flag = 0
<if test="deptIdList != null and deptIdList.size() > 0">
AND ad.id in <include refid="foreachDeptIdList"></include>
</if>
<if test="gridId != null and grid != ''">and (ad1.id = #{gridId} or ad2.id = #{gridId})</if>
GROUP BY GROUP BY
ad.id ad.id
)t )t
</select> </select>
<select id="selectUserRegisterDataCount"
resultType="com.elink.esua.epdc.dto.user.result.GridDataTotalResultDTO">
SELECT
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="deptIdList != null and deptIdList.size() > 0">
AND uu.DEPT_ID in <include refid="foreachDeptIdList"></include>
</if>
<if test="startTime != null and endTime != null and endTime != ''">
AND uu.CREATED_TIME BETWEEN #{startTime} AND #{endTime}
</if>
AND uu.DEPT_ID IS NOT NULL
) t
</select>
<sql id="fromGridCommunityStreet"> <sql id="fromGridCommunityStreet">
esua_epdc_admin.sys_dept ad esua_epdc_admin.sys_dept ad

Loading…
Cancel
Save