Browse Source

PC端-工作台 init

hotfix/zhy
liuchuang 5 years ago
parent
commit
fefd4643d0
  1. 14
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/backstage/controller/EpdcBackstageController.java
  2. 5
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/backstage/service/EpdcBackstageService.java
  3. 11
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/backstage/service/impl/EpdcBackstageServiceImpl.java
  4. 2
      epdc-cloud-analysis-pc/src/main/resources/logback-spring.xml
  5. 48
      epdc-cloud-analysis-pc/src/main/resources/mapper/backstage/EpdcBackstageDao.xml
  6. 2
      epdc-cloud-client-yushan

14
epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/backstage/controller/EpdcBackstageController.java

@ -9,10 +9,12 @@ import com.elink.esua.epdc.dto.analysis.pc.backstage.excel.EpdcWorkbenchTopicIss
import com.elink.esua.epdc.dto.analysis.pc.backstage.excel.EpdcWorkbenchUserAnalysisExcel;
import com.elink.esua.epdc.dto.analysis.pc.backstage.excel.EpdcWorkbenchWorkStatusExcel;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.EpdcWorkbenchDataStatisticsFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.EpdcWorkbenchExportFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.EpdcWorkbenchTopicIssueItemAnalysisFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.EpdcWorkbenchUserAnalysisFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.backstage.result.*;
import com.elink.esua.epdc.modules.backstage.service.EpdcBackstageService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@ -109,29 +111,29 @@ public class EpdcBackstageController {
/**
* PC端-工作台-导出
*
* @param params
* @param formDto
* @param response
* @return void
* @author lc
* @since 2021/8/26 19:43
*/
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
public void export(EpdcWorkbenchExportFormDTO formDto, HttpServletResponse response) throws Exception {
// 数据分析数据
EpdcWorkbenchDataStatisticsResultDTO dataStatistics = epdcBackstageService.workbenchDataStatistics(ConvertUtils.sourceToTarget(params, EpdcWorkbenchDataStatisticsFormDTO.class));
EpdcWorkbenchDataStatisticsResultDTO dataStatistics = epdcBackstageService.workbenchDataStatistics(ConvertUtils.sourceToTarget(formDto, EpdcWorkbenchDataStatisticsFormDTO.class));
List<EpdcWorkbenchDataAnalysisExcel> dataAnalysisExcels = new ArrayList<>();
dataAnalysisExcels.add(ConvertUtils.sourceToTarget(dataStatistics, EpdcWorkbenchDataAnalysisExcel.class));
// 用户排行数据
List<EpdcWorkbenchUserAnalysisResultDTO> userAnalysis = epdcBackstageService.workbenchUserAnalysis(ConvertUtils.sourceToTarget(params, EpdcWorkbenchUserAnalysisFormDTO.class));
List<EpdcWorkbenchUserAnalysisResultDTO> userAnalysis = epdcBackstageService.workbenchUserAnalysis(ConvertUtils.sourceToTarget(formDto, EpdcWorkbenchUserAnalysisFormDTO.class));
List<EpdcWorkbenchUserAnalysisExcel> userAnalysisExcels = ConvertUtils.sourceToTarget(userAnalysis, EpdcWorkbenchUserAnalysisExcel.class);
// 话题、议题、项目排行数据
List<EpdcWorkbenchTopicIssueItemAnalysisResultDTO> topicIssueItemAnalysis = epdcBackstageService.workbenchTopicIssueItemAnalysis(ConvertUtils.sourceToTarget(params, EpdcWorkbenchTopicIssueItemAnalysisFormDTO.class));
List<EpdcWorkbenchTopicIssueItemAnalysisResultDTO> topicIssueItemAnalysis = epdcBackstageService.workbenchTopicIssueItemAnalysis(ConvertUtils.sourceToTarget(formDto, EpdcWorkbenchTopicIssueItemAnalysisFormDTO.class));
List<EpdcWorkbenchTopicIssueItemAnalysisExcel> topicIssueItemAnalysisExcels = ConvertUtils.sourceToTarget(topicIssueItemAnalysis, EpdcWorkbenchTopicIssueItemAnalysisExcel.class);
// 工作实况数据
List<EpdcWorkbenchWorkStatusExcel> workStatusExcels = epdcBackstageService.listOfWorkStatusExcelData(params);
List<EpdcWorkbenchWorkStatusExcel> workStatusExcels = epdcBackstageService.listOfWorkStatusExcelData(formDto);
// 多sheet导出
List<Class<?>> classes = new ArrayList<>(4);

5
epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/backstage/service/EpdcBackstageService.java

@ -3,6 +3,7 @@ package com.elink.esua.epdc.modules.backstage.service;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.analysis.pc.backstage.excel.EpdcWorkbenchWorkStatusExcel;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.EpdcWorkbenchDataStatisticsFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.EpdcWorkbenchExportFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.EpdcWorkbenchTopicIssueItemAnalysisFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.EpdcWorkbenchUserAnalysisFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.backstage.result.*;
@ -67,10 +68,10 @@ public interface EpdcBackstageService {
/**
* PC端-工作台-导出-工作实况数据
*
* @param params
* @param formDto
* @return java.util.List<com.elink.esua.epdc.dto.analysis.pc.backstage.excel.EpdcWorkbenchWorkStatusExcel>
* @author lc
* @since 2021/8/27 11:12
*/
List<EpdcWorkbenchWorkStatusExcel> listOfWorkStatusExcelData(Map<String, Object> params);
List<EpdcWorkbenchWorkStatusExcel> listOfWorkStatusExcelData(EpdcWorkbenchExportFormDTO formDto);
}

11
epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/backstage/service/impl/EpdcBackstageServiceImpl.java

@ -9,15 +9,13 @@ import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.dto.analysis.pc.backstage.excel.EpdcWorkbenchWorkStatusExcel;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.EpdcWorkbenchDataStatisticsFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.EpdcWorkbenchSysDeptFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.EpdcWorkbenchTopicIssueItemAnalysisFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.EpdcWorkbenchUserAnalysisFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.backstage.form.*;
import com.elink.esua.epdc.dto.analysis.pc.backstage.result.*;
import com.elink.esua.epdc.modules.backstage.dao.EpdcBackstageDao;
import com.elink.esua.epdc.modules.backstage.service.EpdcBackstageService;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -97,11 +95,14 @@ public class EpdcBackstageServiceImpl extends BaseServiceImpl<EpdcBackstageDao,
}
@Override
public List<EpdcWorkbenchWorkStatusExcel> listOfWorkStatusExcelData(Map<String, Object> params) {
public List<EpdcWorkbenchWorkStatusExcel> listOfWorkStatusExcelData(EpdcWorkbenchExportFormDTO formDto) {
UserDetail user = SecurityUser.getUser();
if (null == user) {
throw new RenException("登陆状态失效,请退出重新登陆");
}
Map<String, Object> params = new HashMap<>(3);
params.put("deptId", formDto.getDeptId());
params.put("dateType", formDto.getDateType());
params.put("deptIdList", user.getDeptIdList());
List<EpdcWorkStatusAnalysisResultDTO> workStatusList;
if (OrganizationTypeConstant.ORG_TYPE_STREET_PARTY.equals(user.getTypeKey())) {

2
epdc-cloud-analysis-pc/src/main/resources/logback-spring.xml

@ -138,6 +138,8 @@
<logger name="com.elink.esua.epdc.modules.topic.dao" level="DEBUG"/>
<logger name="com.elink.esua.epdc.modules.item.dao" level="DEBUG"/>
<logger name="com.elink.esua.epdc.modules.issue.dao" level="DEBUG"/>
<logger name="com.elink.esua.epdc.modules.backstage.dao" level="DEBUG"/>
<logger name="com.elink.esua.epdc.modules.screen.dao" level="DEBUG"/>
<root level="INFO">
<appender-ref ref="DEBUG_FILE"/>
<appender-ref ref="INFO_FILE"/>

48
epdc-cloud-analysis-pc/src/main/resources/mapper/backstage/EpdcBackstageDao.xml

@ -20,6 +20,10 @@
AND d.type_key = 'grid_party'
</otherwise>
</choose>
AND d.ID IN
<foreach collection="deptIdList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
AND d.id NOT IN ( SELECT c.dept_id FROM yushan_esua_epdc_admin.sys_dept_config c WHERE c.DEL_FLAG = '0' )
ORDER BY d.sort
</select>
@ -246,7 +250,7 @@
IFNULL(t1.topicNum,0) topicNum,
IFNULL(t2.issueNum,0) issueNum,
IFNULL(t3.itemNum,0) itemNum,
IFNULL(t3.itemCaseCloseNum,0) itemCaseCloseNum,
IFNULL(t3.itemCaseClosedNum,0) itemCaseClosedNum,
IFNULL(t4.superviseItemNum, 0) superviseItemNum,
IFNULL(t4.superviseItemAddedYesterdayNum, 0) superviseItemAddedYesterdayNum
FROM yushan_esua_epdc_admin.sys_dept d LEFT JOIN
@ -257,8 +261,8 @@
<if test="dateType == 'lastWeek'">
AND YEARWEEK(DATE_FORMAT(t.CREATED_TIME, '%Y-%m-%d')) = YEARWEEK(now())-1
</if>
<if test="dateType == 'lastMonth'">
AND DATE_FORMAT(t.CREATED_TIME, ' %Y-%m ' ) = DATE_FORMAT(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')
<if test="dateType == 'thisMonth'">
AND DATE_FORMAT(t.CREATED_TIME, '%Y-%m' ) = DATE_FORMAT( curdate(), '%Y-%m' )
</if>
GROUP BY t.GRID_ID) t1
ON t1.deptId = d.id
@ -270,20 +274,20 @@
<if test="dateType == 'lastWeek'">
AND YEARWEEK(DATE_FORMAT(issue.CREATED_TIME, '%Y-%m-%d')) = YEARWEEK(now())-1
</if>
<if test="dateType == 'lastMonth'">
AND DATE_FORMAT(issue.CREATED_TIME, ' %Y-%m ' ) = DATE_FORMAT(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')
<if test="dateType == 'thisMonth'">
AND DATE_FORMAT(issue.CREATED_TIME, '%Y-%m' ) = DATE_FORMAT( curdate(), '%Y-%m' )
</if>
GROUP BY issue.GRID_ID) t2 ON t2.deptId = d.id
LEFT JOIN
(SELECT item.GRID_ID AS deptId, item.ALL_DEPT_IDS AS allDeptIds, COUNT(item.ID) AS itemNum, SUM(item.ITEM_STATE = 10) AS itemCaseCloseNum FROM yushan_esua_epdc_events.epdc_item item WHERE item.DEL_FLAG = '0'
(SELECT item.GRID_ID AS deptId, item.ALL_DEPT_IDS AS allDeptIds, COUNT(item.ID) AS itemNum, SUM(item.ITEM_STATE = 10) AS itemCaseClosedNum FROM yushan_esua_epdc_events.epdc_item item WHERE item.DEL_FLAG = '0'
<if test="dateType == 'yesterday'">
AND DATE_FORMAT(item.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d')
</if>
<if test="dateType == 'lastWeek'">
AND YEARWEEK(DATE_FORMAT(item.CREATED_TIME, '%Y-%m-%d')) = YEARWEEK(now())-1
</if>
<if test="dateType == 'lastMonth'">
AND DATE_FORMAT(item.CREATED_TIME, ' %Y-%m ' ) = DATE_FORMAT(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')
<if test="dateType == 'thisMonth'">
AND DATE_FORMAT(item.CREATED_TIME, '%Y-%m' ) = DATE_FORMAT( curdate(), '%Y-%m' )
</if>
GROUP BY item.GRID_ID) t3 ON t3.deptId = d.id
LEFT JOIN
@ -302,8 +306,8 @@
<if test="dateType == 'lastWeek'">
AND YEARWEEK(DATE_FORMAT(io.CREATED_TIME, '%Y-%m-%d')) = YEARWEEK(now())-1
</if>
<if test="dateType == 'lastMonth'">
AND DATE_FORMAT(io.CREATED_TIME, ' %Y-%m ' ) = DATE_FORMAT(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')
<if test="dateType == 'thisMonth'">
AND DATE_FORMAT(io.CREATED_TIME, '%Y-%m' ) = DATE_FORMAT( curdate(), '%Y-%m' )
</if>
GROUP BY io.BE_OVERSEE_DEPT) t4 ON t4.deptId = d.id
WHERE d.del_flag = '0' AND d.type_key = 'grid_party'
@ -314,7 +318,7 @@
<if test="deptId != null and deptId != ''">
AND #{deptId} = d.id
</if>
AND d.id NOT IN( SELECT c.dept_id FROM yushan_esua_epdc_admin.sys_dept_config c WHERE c.DEL_FLAG = '0' ) GROUP BY d.id ORDER BY IFNULL(t1.topicNum,0)+IFNULL(t2.issueNum,0)+IFNULL(t3.itemNum,0)+IFNULL(t3.itemCaseCloseNum,0) DESC
AND d.id NOT IN( SELECT c.dept_id FROM yushan_esua_epdc_admin.sys_dept_config c WHERE c.DEL_FLAG = '0' ) GROUP BY d.id ORDER BY IFNULL(t1.topicNum,0)+IFNULL(t2.issueNum,0)+IFNULL(t3.itemNum,0)+IFNULL(t3.itemCaseClosedNum,0) DESC
</select>
<select id="workStatusAnalysisCommunity" resultType="com.elink.esua.epdc.dto.analysis.pc.backstage.result.EpdcWorkStatusAnalysisResultDTO">
@ -323,7 +327,7 @@
IFNULL(t1.topicNum,0) topicNum,
IFNULL(t2.issueNum,0) issueNum,
IFNULL(t3.itemNum,0) itemNum,
IFNULL(t3.itemCaseCloseNum,0) itemCaseCloseNum,
IFNULL(t3.itemCaseClosedNum,0) itemCaseClosedNum,
IFNULL(t4.superviseItemNum, 0) superviseItemNum,
IFNULL(t4.superviseItemAddedYesterdayNum, 0) superviseItemAddedYesterdayNum
FROM yushan_esua_epdc_admin.sys_dept d LEFT JOIN
@ -334,8 +338,8 @@
<if test="dateType == 'lastWeek'">
AND YEARWEEK(DATE_FORMAT(t.CREATED_TIME, '%Y-%m-%d')) = YEARWEEK(now())-1
</if>
<if test="dateType == 'lastMonth'">
AND DATE_FORMAT(t.CREATED_TIME, ' %Y-%m ' ) = DATE_FORMAT(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')
<if test="dateType == 'thisMonth'">
AND DATE_FORMAT(t.CREATED_TIME, '%Y-%m' ) = DATE_FORMAT( curdate(), '%Y-%m' )
</if>
GROUP BY SUBSTRING_INDEX(t.PARENT_DEPT_IDS,',',-1)) t1
ON t1.deptId = d.id
@ -347,20 +351,20 @@
<if test="dateType == 'lastWeek'">
AND YEARWEEK(DATE_FORMAT(issue.CREATED_TIME, '%Y-%m-%d')) = YEARWEEK(now())-1
</if>
<if test="dateType == 'lastMonth'">
AND DATE_FORMAT(issue.CREATED_TIME, ' %Y-%m ' ) = DATE_FORMAT(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')
<if test="dateType == 'thisMonth'">
AND DATE_FORMAT(issue.CREATED_TIME, '%Y-%m' ) = DATE_FORMAT( curdate(), '%Y-%m' )
</if>
GROUP BY SUBSTRING_INDEX(issue.PARENT_DEPT_IDS,',',-1)) t2 ON t2.deptId = d.id
LEFT JOIN
(SELECT SUBSTRING_INDEX(item.PARENT_DEPT_IDS,',',-1) AS deptId, item.ALL_DEPT_IDS AS allDeptIds, COUNT(item.ID) AS itemNum, SUM(item.ITEM_STATE = 10) AS itemCaseCloseNum FROM yushan_esua_epdc_events.epdc_item item WHERE item.DEL_FLAG = '0'
(SELECT SUBSTRING_INDEX(item.PARENT_DEPT_IDS,',',-1) AS deptId, item.ALL_DEPT_IDS AS allDeptIds, COUNT(item.ID) AS itemNum, SUM(item.ITEM_STATE = 10) AS itemCaseClosedNum FROM yushan_esua_epdc_events.epdc_item item WHERE item.DEL_FLAG = '0'
<if test="dateType == 'yesterday'">
AND DATE_FORMAT(item.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d')
</if>
<if test="dateType == 'lastWeek'">
AND YEARWEEK(DATE_FORMAT(item.CREATED_TIME, '%Y-%m-%d')) = YEARWEEK(now())-1
</if>
<if test="dateType == 'lastMonth'">
AND DATE_FORMAT(item.CREATED_TIME, ' %Y-%m ' ) = DATE_FORMAT(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')
<if test="dateType == 'thisMonth'">
AND DATE_FORMAT(item.CREATED_TIME, '%Y-%m' ) = DATE_FORMAT( curdate(), '%Y-%m' )
</if>
GROUP BY SUBSTRING_INDEX(item.PARENT_DEPT_IDS,',',-1)) t3 ON t3.deptId = d.id
LEFT JOIN
@ -379,8 +383,8 @@
<if test="dateType == 'lastWeek'">
AND YEARWEEK(DATE_FORMAT(io.CREATED_TIME, '%Y-%m-%d')) = YEARWEEK(now())-1
</if>
<if test="dateType == 'lastMonth'">
AND DATE_FORMAT(io.CREATED_TIME, ' %Y-%m ' ) = DATE_FORMAT(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')
<if test="dateType == 'thisMonth'">
AND DATE_FORMAT(io.CREATED_TIME, '%Y-%m' ) = DATE_FORMAT( curdate(), '%Y-%m' )
</if>
GROUP BY io.BE_OVERSEE_DEPT) t4 ON t4.deptId = d.id
WHERE d.del_flag = '0' AND d.type_key = 'community_party'
@ -391,7 +395,7 @@
<if test="deptId != null and deptId != ''">
AND #{deptId} = d.id
</if>
AND d.id NOT IN( SELECT c.dept_id FROM yushan_esua_epdc_admin.sys_dept_config c WHERE c.DEL_FLAG = '0' ) GROUP BY d.id ORDER BY IFNULL(t1.topicNum,0)+IFNULL(t2.issueNum,0)+IFNULL(t3.itemNum,0)+IFNULL(t3.itemCaseCloseNum,0) DESC
AND d.id NOT IN( SELECT c.dept_id FROM yushan_esua_epdc_admin.sys_dept_config c WHERE c.DEL_FLAG = '0' ) GROUP BY d.id ORDER BY IFNULL(t1.topicNum,0)+IFNULL(t2.issueNum,0)+IFNULL(t3.itemNum,0)+IFNULL(t3.itemCaseClosedNum,0) DESC
</select>
</mapper>

2
epdc-cloud-client-yushan

@ -1 +1 @@
Subproject commit a87f857cb65f7fc7a32937c714ae520c79f3a67c
Subproject commit 7d1061fc90b9fed21f378b864c65a19a008df6d5
Loading…
Cancel
Save