Browse Source

定时任务

ftature/screen
wanggongfeng 4 years ago
parent
commit
13f8fa4af0
  1. 38
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/form/GmUploaddataParamDTO.java
  2. 5
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenGridManagerController.java
  3. 3
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGridManagerDao.java
  4. 4
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenGridManagerService.java
  5. 80
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGridManagerServiceImpl.java
  6. 335
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGridManagerDao.xml
  7. 3
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java
  8. 3
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java
  9. 15
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenGridManagerDataTaskImpl.java

38
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/form/GmUploaddataParamDTO.java

@ -0,0 +1,38 @@
package com.elink.esua.epdc.dto.screen.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author: qushutong
* @Date: 2022/2/23 16:58
* @Description: 项目总数数据推送
*/
@Data
public class GmUploaddataParamDTO implements Serializable {
private static final long serialVersionUID = 1132628937660635407L;
/**
* 截止时间
*/
private String endTime;
/**
* 客户id
*/
private String customId;
/**
* 开始时间
*/
private String startTime;
/**
* 年月日
*/
private String yearMonthDay;
}

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

@ -1,6 +1,7 @@
package com.elink.esua.epdc.modules.screen.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.screen.form.GmUploaddataParamDTO;
import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO;
import com.elink.esua.epdc.modules.screen.service.ScreenGridManagerService;
import org.springframework.beans.factory.annotation.Autowired;
@ -29,8 +30,8 @@ public class ScreenGridManagerController {
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.screen.result.GridManagerUploadDataResultDTO>>
**/
@PostMapping("gridManagerUploadData")
public Result selectGridManagerUploadData() {
return screenGridManagerService.selectGridManagerUploadData();
public Result selectGridManagerUploadData(@RequestBody GmUploaddataParamDTO paramDto) {
return screenGridManagerService.selectGridManagerUploadData(paramDto);
}
/**
* @Description 网格员事件分析上报

3
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGridManagerDao.java

@ -1,6 +1,7 @@
package com.elink.esua.epdc.modules.screen.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.screen.form.GmUploaddataParamDTO;
import com.elink.esua.epdc.dto.screen.form.ScreenBaseReportDataFormDTO;
import com.elink.esua.epdc.dto.screen.result.*;
import org.apache.ibatis.annotations.Mapper;
@ -23,7 +24,7 @@ public interface ScreenGridManagerDao extends BaseDao<ScreenBaseReportDataFormDT
* @Param [customId]
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.GridManagerUploadDataResultDTO>
**/
List<GridManagerUploadDataResultDTO> selectGridManagerUploadData(@Param("customId")String customId,@Param("yearMonthDay") String yearMonthDay);
List<GridManagerUploadDataResultDTO> selectGridManagerUploadData(GmUploaddataParamDTO paramDto);
/**
* @Description 网格员事件总数上报
* @Author songyunpeng

4
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenGridManagerService.java

@ -1,6 +1,8 @@
package com.elink.esua.epdc.modules.screen.service;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.screen.form.GmUploaddataParamDTO;
import com.elink.esua.epdc.dto.screen.form.ItemCountParamDTO;
/**
* 网格管理
@ -17,7 +19,7 @@ public interface ScreenGridManagerService {
* @Param [customId]
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.GridManagerUploadDataResultDTO>
**/
Result selectGridManagerUploadData();
Result selectGridManagerUploadData(GmUploaddataParamDTO paramDto);
/**
* @Description 网格员事件总数上报
* @Author songyunpeng

80
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGridManagerServiceImpl.java

@ -4,7 +4,10 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.EpmetConstant;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.screen.form.GmUploaddataParamDTO;
import com.elink.esua.epdc.dto.screen.form.ItemCountParamDTO;
import com.elink.esua.epdc.dto.screen.form.ScreenBaseReportDataFormDTO;
import com.elink.esua.epdc.dto.screen.result.CommunityProjectResultDTO;
import com.elink.esua.epdc.dto.screen.result.GridManagerUploadDataResultDTO;
import com.elink.esua.epdc.dto.screen.result.GridManagerUploadEventResultDTO;
import com.elink.esua.epdc.modules.screen.dao.ScreenGridManagerDao;
@ -17,6 +20,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@ -34,18 +40,72 @@ public class ScreenGridManagerServiceImpl extends BaseServiceImpl<ScreenGridMana
private String customerId;
@Override
public Result selectGridManagerUploadData() {
// 统计截止到昨天的数据
String yearMonthDay = DateUtils.format(DateUtils.addDateDays(new Date(), -1));
List<GridManagerUploadDataResultDTO> gridManagerUploadDataResultDTOS = baseDao.selectGridManagerUploadData(customerId, yearMonthDay);
if(gridManagerUploadDataResultDTOS.size()!=0){
String dataJson = ScreenDataUtils.getScreenDateJson(gridManagerUploadDataResultDTOS,true);
// 数据上报
String body = epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_STATS_USER_GRID_MANAGER_UPLOAD_DATA, dataJson);
log.info(body);
public Result selectGridManagerUploadData(GmUploaddataParamDTO paramDto) {
paramDto.setCustomId(customerId);
if (StringUtils.isBlank(paramDto.getEndTime())) {
// 统计截止到昨天的数据
String yearMonthDay = DateUtils.format(DateUtils.addDateDays(new Date(), -1));
paramDto.setYearMonthDay(yearMonthDay);
List<GridManagerUploadDataResultDTO> gridManagerUploadDataResultDTOS = baseDao.selectGridManagerUploadData(paramDto);
if(gridManagerUploadDataResultDTOS.size()!=0){
String dataJson = ScreenDataUtils.getScreenDateJson(gridManagerUploadDataResultDTOS,true);
// 数据上报
String body = epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_STATS_USER_GRID_MANAGER_UPLOAD_DATA, dataJson);
log.info(body);
}
} else {
// 推送所有日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar ca = Calendar.getInstance();
Date curDate = null;
Date endDate = null;
try {
curDate = sdf.parse(paramDto.getStartTime());
endDate = sdf.parse(paramDto.getEndTime());
} catch (ParseException e) {
e.printStackTrace();
}
int i =curDate.compareTo(endDate);
while (curDate.compareTo(endDate) <= 0) {
ca.setTime(curDate);
paramDto.setEndTime(sdf.format(curDate));
ca.add(Calendar.DAY_OF_MONTH, 1);
curDate = ca.getTime();
// 统计截止到昨天的数据
String yearMonthDay = DateUtils.format(DateUtils.addDateDays(new Date(), -1));
paramDto.setYearMonthDay(yearMonthDay);
List<GridManagerUploadDataResultDTO> gridManagerUploadDataResultDTOS = baseDao.selectGridManagerUploadData(paramDto);
if(gridManagerUploadDataResultDTOS.size()!=0){
String dataJson = ScreenDataUtils.getScreenDateJson(gridManagerUploadDataResultDTOS,true);
// 数据上报
String body = epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_STATS_USER_GRID_MANAGER_UPLOAD_DATA, dataJson);
log.info(body);
}
}
}
return new Result();
return new Result<>();
// // 统计截止到昨天的数据
// String yearMonthDay = DateUtils.format(DateUtils.addDateDays(new Date(), -1));
// List<GridManagerUploadDataResultDTO> gridManagerUploadDataResultDTOS = baseDao.selectGridManagerUploadData(customerId, yearMonthDay);
// if(gridManagerUploadDataResultDTOS.size()!=0){
// String dataJson = ScreenDataUtils.getScreenDateJson(gridManagerUploadDataResultDTOS,true);
// // 数据上报
// String body = epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_STATS_USER_GRID_MANAGER_UPLOAD_DATA, dataJson);
// log.info(body);
// }
//
// return new Result<>();
}
@Override

335
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGridManagerDao.xml

@ -3,154 +3,201 @@
<mapper namespace="com.elink.esua.epdc.modules.screen.dao.ScreenGridManagerDao">
<select id="selectGridManagerUploadData"
<select id="selectGridManagerUploadData" parameterType="com.elink.esua.epdc.dto.screen.form.GmUploaddataParamDTO"
resultType="com.elink.esua.epdc.dto.screen.result.GridManagerUploadDataResultDTO">
select
'${customId}' as customerId,
DATE_FORMAT(#{yearMonthDay}, '%Y%m%d') as dateId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(#{yearMonthDay}, '%Y-%m-%d'), '%Y'), '%Y'),
'W',
WEEK(STR_TO_DATE(DATE_FORMAT(#{yearMonthDay}, '%Y-%m-%d'), '%Y-%m-%d'))) weekId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(#{yearMonthDay}, '%Y-%m-%d'), '%Y'), '%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(#{yearMonthDay}, '%Y-%m-%d'), '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(DATE_FORMAT(#{yearMonthDay}, '%Y-%m-%d'),
'%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(#{yearMonthDay}, '%Y-%m-%d'), '%Y-%m'), '%Y%m') AS monthId,
a.staffId,
a.staffName,
a.gridId,
a.pid AS agencyId,
SUM(a.projectCount) as projectCount,
SUM(a.projectIncr)projectIncr,
SUM(a.issueToProjectCount)issueToProjectCount,
SUM(a.closedIssueCount)closedIssueCount,
SUM(a.projectResponseCount)projectResponseCount,
SUM(a.projectTransferCount)projectTransferCount,
SUM(a.projectClosedCount)projectClosedCount,
SUM(a.issueToProjectIncr)issueToProjectIncr,
SUM(a.closedIssueIncr)closedIssueIncr,
SUM(a.projectResponseIncr)projectResponseIncr,
SUM(a.projectTransferIncr)projectTransferIncr,
SUM(a.projectClosedIncr)projectClosedIncr
'${customId}' as customerId,
<choose>
<when test="endTime != null and endTime != ''">
DATE_FORMAT(#{endTime}, '%Y%m%d') as dateId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(#{endTime}, '%Y-%m-%d'), '%Y'), '%Y'),
'W',
WEEK(STR_TO_DATE(DATE_FORMAT(#{endTime}, '%Y-%m-%d'), '%Y-%m-%d'))) weekId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(#{endTime}, '%Y-%m-%d'), '%Y'), '%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(#{endTime}, '%Y-%m-%d'), '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(DATE_FORMAT(#{endTime}, '%Y-%m-%d'),
'%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(#{endTime}, '%Y-%m-%d'), '%Y-%m'), '%Y%m') AS monthId,
</when>
<otherwise>
DATE_FORMAT(#{yearMonthDay}, '%Y%m%d') as dateId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(#{yearMonthDay}, '%Y-%m-%d'), '%Y'), '%Y'),
'W',
WEEK(STR_TO_DATE(DATE_FORMAT(#{yearMonthDay}, '%Y-%m-%d'), '%Y-%m-%d'))) weekId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(#{yearMonthDay}, '%Y-%m-%d'), '%Y'), '%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(#{yearMonthDay}, '%Y-%m-%d'), '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(DATE_FORMAT(#{yearMonthDay}, '%Y-%m-%d'),
'%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(#{yearMonthDay}, '%Y-%m-%d'), '%Y-%m'), '%Y%m') AS monthId,
</otherwise>
</choose>
a.staffId,
a.staffName,
a.gridId,
a.pid AS agencyId,
SUM(a.projectCount) as projectCount,
SUM(a.projectIncr)projectIncr,
SUM(a.issueToProjectCount)issueToProjectCount,
SUM(a.closedIssueCount)closedIssueCount,
SUM(a.projectResponseCount)projectResponseCount,
SUM(a.projectTransferCount)projectTransferCount,
SUM(a.projectClosedCount)projectClosedCount,
SUM(a.issueToProjectIncr)issueToProjectIncr,
SUM(a.closedIssueIncr)closedIssueIncr,
SUM(a.projectResponseIncr)projectResponseIncr,
SUM(a.projectTransferIncr)projectTransferIncr,
SUM(a.projectClosedIncr)projectClosedIncr
from(
select
seur.STAFF_ID as staffId,
seur.STAFF_NAME as staffName,
ee.GRID_ID as gridId,
sd.pid,
count(DATE_FORMAT(ee.CREATED_TIME, '%Y-%m-%d') &lt;= #{yearMonthDay} or null) as projectCount, -- 项目立项数,截止到当前dateId的总数
count(DATE_FORMAT(ee.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay} or null) as projectIncr, -- 项目立项数,dateId这一天的增量
0 as issueToProjectCount,
0 as closedIssueCount,
0 as projectResponseCount,
0 as projectTransferCount,
0 as projectClosedCount,
0 as issueToProjectIncr,
0 as closedIssueIncr,
0 as projectResponseIncr,
0 as projectTransferIncr,
0 as projectClosedIncr
from esua_epdc_admin.sys_epmet_user_relation seur
right join esua_epdc_events.epdc_events ee on ee.MOBILE = seur.MOBILE and ee.DEL_FLAG = '0'
left join esua_epdc_admin.sys_dept sd on sd.id = ee.GRID_ID and sd.DEL_FLAG = '0'
where seur.DEL_FLAG = '0' AND ee.GRID_ID NOT IN (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
group by ee.MOBILE,ee.GRID_ID
union all
select
seur.STAFF_ID as staffId,
seur.STAFF_NAME as staffName,
ei.GRID_ID as gridId,
sd.pid,
0 as projectCount,
0 as projectIncr,
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{yearMonthDay} or null) as issueToProjectCount, -- 议题转项目数,截止到当前dateId的总数
0 as closedIssueCount,
0 as projectResponseCount,
0 as projectTransferCount,
0 as projectClosedCount,
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay} or null) as issueToProjectIncr, -- 议题转项目数,dateId这一天的增量
0 as closedIssueIncr,
0 as projectResponseIncr,
0 as projectTransferIncr,
0 as projectClosedIncr
from esua_epdc_admin.sys_epmet_user_relation seur
left join esua_epdc_admin.sys_user eu on eu.MOBILE = seur.MOBILE
right join esua_epdc_events.epdc_item ei on ei.CREATED_BY = eu.id and ei.DEL_FLAG = '0'
left join esua_epdc_admin.sys_dept sd on sd.id = ei.GRID_ID and sd.DEL_FLAG = '0'
where seur.DEL_FLAG = '0' and eu.DEL_FLAG = '0' AND ei.GRID_ID NOT IN (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
group by ei.CREATED_BY,ei.GRID_ID
union all
select
seur.STAFF_ID as staffId,
seur.STAFF_NAME as staffName,
eii.GRID_ID as gridId,
sd.pid,
0 as projectCount,
0 as projectIncr,
0 as issueToProjectCount,
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{yearMonthDay} or null) as closedIssueCount, -- 议题关闭数,截止到当前dateId的总数
0 as projectResponseCount,
0 as projectTransferCount,
0 as projectClosedCount,
0 as issueToProjectIncr,
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay} or null) as closedIssueIncr, -- 议题关闭数,dateId这一天的增量
0 as projectResponseIncr,
0 as projectTransferIncr,
0 as projectClosedIncr
from esua_epdc_admin.sys_epmet_user_relation seur
left join esua_epdc_admin.sys_user eu on eu.MOBILE = seur.MOBILE
right join esua_epdc_events.epdc_issue_handle ei on ei.CREATED_BY = eu.id and ei.DEL_FLAG = '0' and ei.STATE = 2
right join esua_epdc_events.epdc_issue eii on ei.ISSUE_ID = eii.id and eii.DEL_FLAG = '0'
left join esua_epdc_admin.sys_dept sd on sd.id = eii.GRID_ID and sd.DEL_FLAG = '0'
where seur.DEL_FLAG = '0' and eu.DEL_FLAG = '0' AND eii.GRID_ID NOT IN (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
group by ei.CREATED_BY,eii.GRID_ID
union all
select
seur.STAFF_ID as staffId,
seur.STAFF_NAME as staffName,
eii.GRID_ID as gridId,
sd.pid ,
0 as projectCount,
0 as projectIncr,
0 as issueToProjectCount,
0 as closedIssueCount,
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{yearMonthDay} and ei.STATE = 0 and eid.ID is null or null) as projectResponseCount, -- 项目响应数,截止到当前dateId的总数
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{yearMonthDay} and ei.STATE = 0 and eid.ID is not null or null) as projectTransferCount, -- 项目吹哨数,截止到当前dateId的总数
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{yearMonthDay} and ei.STATE = 10 or null) as projectClosedCount, -- 项目结案数,截止到当前dateId的总数
0 as issueToProjectIncr,
0 as closedIssueIncr,
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay} and ei.STATE = 0 and eid.ID is null or null) as projectResponseIncr, -- 项目响应数,dateId这一天的增量
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay} and ei.STATE = 0 and eid.ID is not null or null) as projectTransferIncr, -- 项目吹哨数,dateId这一天的增量
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay} and ei.STATE = 10 or null) as projectClosedIncr -- 项目结案数,dateId这一天的增量
from esua_epdc_admin.sys_epmet_user_relation seur
left join esua_epdc_admin.sys_user eu on eu.MOBILE = seur.MOBILE
right join esua_epdc_events.epdc_item_handle_process ei on ei.CREATED_BY = eu.id and ei.DEL_FLAG = '0'
right join esua_epdc_events.epdc_item eii on ei.ITEM_ID = eii.id and eu.del_flag = '0'
left join esua_epdc_admin.sys_dept sd on sd.id = eii.GRID_ID and sd.DEL_FLAG = '0'
left join esua_epdc_events.epdc_item_dept eid on eid.ITEM_HANDLE_ID = ei.ID and eid.DEL_FLAG = '0'
where seur.DEL_FLAG = '0' and eu.DEL_FLAG = '0' AND eii.GRID_ID NOT IN (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
group by ei.CREATED_BY,eii.GRID_ID
select
seur.STAFF_ID as staffId,
seur.STAFF_NAME as staffName,
ee.GRID_ID as gridId,
sd.pid,
<choose>
<when test="endTime != null and endTime != ''">
count(DATE_FORMAT(ee.CREATED_TIME, '%Y-%m-%d') &lt;= #{endTime} or null) as projectCount, -- 项目立项数,截止到当前dateId的总数
count(DATE_FORMAT(ee.CREATED_TIME, '%Y-%m-%d') = #{endTime} or null) as projectIncr, -- 项目立项数,dateId这一天的增量
</when>
<otherwise>
count(DATE_FORMAT(ee.CREATED_TIME, '%Y-%m-%d') &lt;= #{yearMonthDay} or null) as projectCount, -- 项目立项数,截止到当前dateId的总数
count(DATE_FORMAT(ee.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay} or null) as projectIncr, -- 项目立项数,dateId这一天的增量
</otherwise>
</choose>
0 as issueToProjectCount,
0 as closedIssueCount,
0 as projectResponseCount,
0 as projectTransferCount,
0 as projectClosedCount,
0 as issueToProjectIncr,
0 as closedIssueIncr,
0 as projectResponseIncr,
0 as projectTransferIncr,
0 as projectClosedIncr
from esua_epdc_admin.sys_epmet_user_relation seur
right join esua_epdc_events.epdc_events ee on ee.MOBILE = seur.MOBILE and ee.DEL_FLAG = '0'
left join esua_epdc_admin.sys_dept sd on sd.id = ee.GRID_ID and sd.DEL_FLAG = '0'
where seur.DEL_FLAG = '0' AND ee.GRID_ID NOT IN (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
group by ee.MOBILE,ee.GRID_ID
union all
select
seur.STAFF_ID as staffId,
seur.STAFF_NAME as staffName,
ei.GRID_ID as gridId,
sd.pid,
0 as projectCount,
0 as projectIncr,
<choose>
<when test="endTime != null and endTime != ''">
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{endTime} or null) as issueToProjectCount, -- 议题转项目数,截止到当前dateId的总数
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{endTime} or null) as issueToProjectIncr, -- 议题转项目数,dateId这一天的增量
</when>
<otherwise>
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{yearMonthDay} or null) as issueToProjectCount, -- 议题转项目数,截止到当前dateId的总数
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay} or null) as issueToProjectIncr, -- 议题转项目数,dateId这一天的增量
</otherwise>
</choose>
0 as closedIssueCount,
0 as projectResponseCount,
0 as projectTransferCount,
0 as projectClosedCount,
0 as closedIssueIncr,
0 as projectResponseIncr,
0 as projectTransferIncr,
0 as projectClosedIncr
from esua_epdc_admin.sys_epmet_user_relation seur
left join esua_epdc_admin.sys_user eu on eu.MOBILE = seur.MOBILE
right join esua_epdc_events.epdc_item ei on ei.CREATED_BY = eu.id and ei.DEL_FLAG = '0'
left join esua_epdc_admin.sys_dept sd on sd.id = ei.GRID_ID and sd.DEL_FLAG = '0'
where seur.DEL_FLAG = '0' and eu.DEL_FLAG = '0' AND ei.GRID_ID NOT IN (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
group by ei.CREATED_BY,ei.GRID_ID
union all
select
seur.STAFF_ID as staffId,
seur.STAFF_NAME as staffName,
eii.GRID_ID as gridId,
sd.pid,
0 as projectCount,
0 as projectIncr,
0 as issueToProjectCount,
<choose>
<when test="endTime != null and endTime != ''">
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{endTime} or null) as closedIssueCount, -- 议题关闭数,截止到当前dateId的总数
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{endTime} or null) as closedIssueIncr, -- 议题关闭数,dateId这一天的增量
</when>
<otherwise>
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{yearMonthDay} or null) as closedIssueCount, -- 议题关闭数,截止到当前dateId的总数
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay} or null) as closedIssueIncr, -- 议题关闭数,dateId这一天的增量
</otherwise>
</choose>
0 as projectResponseCount,
0 as projectTransferCount,
0 as projectClosedCount,
0 as issueToProjectIncr,
0 as projectResponseIncr,
0 as projectTransferIncr,
0 as projectClosedIncr
from esua_epdc_admin.sys_epmet_user_relation seur
left join esua_epdc_admin.sys_user eu on eu.MOBILE = seur.MOBILE
right join esua_epdc_events.epdc_issue_handle ei on ei.CREATED_BY = eu.id and ei.DEL_FLAG = '0' and ei.STATE = 2
right join esua_epdc_events.epdc_issue eii on ei.ISSUE_ID = eii.id and eii.DEL_FLAG = '0'
left join esua_epdc_admin.sys_dept sd on sd.id = eii.GRID_ID and sd.DEL_FLAG = '0'
where seur.DEL_FLAG = '0' and eu.DEL_FLAG = '0' AND eii.GRID_ID NOT IN (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
group by ei.CREATED_BY,eii.GRID_ID
union all
select
seur.STAFF_ID as staffId,
seur.STAFF_NAME as staffName,
eii.GRID_ID as gridId,
sd.pid ,
0 as projectCount,
0 as projectIncr,
0 as issueToProjectCount,
0 as closedIssueCount,
0 as issueToProjectIncr,
0 as closedIssueIncr,
<choose>
<when test="endTime != null and endTime != ''">
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{endTime} and ei.STATE = 0 and eid.ID is null or null) as projectResponseCount, -- 项目响应数,截止到当前dateId的总数
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{endTime} and ei.STATE = 0 and eid.ID is not null or null) as projectTransferCount, -- 项目吹哨数,截止到当前dateId的总数
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{endTime} and ei.STATE = 10 or null) as projectClosedCount, -- 项目结案数,截止到当前dateId的总数
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{endTime} and ei.STATE = 0 and eid.ID is null or null) as projectResponseIncr, -- 项目响应数,dateId这一天的增量
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{endTime} and ei.STATE = 0 and eid.ID is not null or null) as projectTransferIncr, -- 项目吹哨数,dateId这一天的增量
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{endTime} and ei.STATE = 10 or null) as projectClosedIncr -- 项目结案数,dateId这一天的增量
</when>
<otherwise>
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{yearMonthDay} and ei.STATE = 0 and eid.ID is null or null) as projectResponseCount, -- 项目响应数,截止到当前dateId的总数
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{yearMonthDay} and ei.STATE = 0 and eid.ID is not null or null) as projectTransferCount, -- 项目吹哨数,截止到当前dateId的总数
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') &lt;= #{yearMonthDay} and ei.STATE = 10 or null) as projectClosedCount, -- 项目结案数,截止到当前dateId的总数
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay} and ei.STATE = 0 and eid.ID is null or null) as projectResponseIncr, -- 项目响应数,dateId这一天的增量
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay} and ei.STATE = 0 and eid.ID is not null or null) as projectTransferIncr, -- 项目吹哨数,dateId这一天的增量
count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay} and ei.STATE = 10 or null) as projectClosedIncr -- 项目结案数,dateId这一天的增量
</otherwise>
</choose>
from esua_epdc_admin.sys_epmet_user_relation seur
left join esua_epdc_admin.sys_user eu on eu.MOBILE = seur.MOBILE
right join esua_epdc_events.epdc_item_handle_process ei on ei.CREATED_BY = eu.id and ei.DEL_FLAG = '0'
right join esua_epdc_events.epdc_item eii on ei.ITEM_ID = eii.id and eu.del_flag = '0'
left join esua_epdc_admin.sys_dept sd on sd.id = eii.GRID_ID and sd.DEL_FLAG = '0'
left join esua_epdc_events.epdc_item_dept eid on eid.ITEM_HANDLE_ID = ei.ID and eid.DEL_FLAG = '0'
where seur.DEL_FLAG = '0' and eu.DEL_FLAG = '0' AND eii.GRID_ID NOT IN (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
group by ei.CREATED_BY,eii.GRID_ID
)a group by a.staffId,a.gridId;

3
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java

@ -2,6 +2,7 @@ package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.screen.form.GmUploaddataParamDTO;
import com.elink.esua.epdc.dto.screen.form.ItemCountParamDTO;
import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO;
import com.elink.esua.epdc.dto.screen.form.ScreenProjectFormDTO;
@ -479,7 +480,7 @@ public interface AnalysisFeignClient {
* @Param [customId]
**/
@PostMapping("analysis/girdManager/gridManagerUploadData")
Result selectGridManagerUploadData();
Result selectGridManagerUploadData(GmUploaddataParamDTO paramDto);
/**
* @Description 网格员事件总数上报
* @Author songyunpeng

3
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java

@ -3,6 +3,7 @@ package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.screen.form.GmUploaddataParamDTO;
import com.elink.esua.epdc.dto.screen.form.ItemCountParamDTO;
import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO;
import com.elink.esua.epdc.dto.screen.form.ScreenProjectFormDTO;
@ -232,7 +233,7 @@ public class AnalysisFeignClientFallback implements AnalysisFeignClient {
}
@Override
public Result selectGridManagerUploadData() {
public Result selectGridManagerUploadData(GmUploaddataParamDTO paramDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "selectGridManagerUploadData");
}

15
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenGridManagerDataTaskImpl.java

@ -1,6 +1,10 @@
package com.elink.esua.epdc.task.screen;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.dto.screen.form.GmUploaddataParamDTO;
import com.elink.esua.epdc.dto.screen.form.ItemCountParamDTO;
import com.elink.esua.epdc.feign.AnalysisFeignClient;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -24,16 +28,21 @@ public class ScreenGridManagerDataTaskImpl implements ScreenIndexDataPushTask {
@Override
public void run(String param) {
// 参数处理
GmUploaddataParamDTO paramDto = new GmUploaddataParamDTO();
if (StringUtils.isNotEmpty(param)) {
paramDto = JSONObject.parseObject(param, GmUploaddataParamDTO.class);
}
// 网格员数据管理
gridManagerUploadData();
gridManagerUploadData(paramDto);
}
private void gridManagerUploadData() {
private void gridManagerUploadData(GmUploaddataParamDTO paramDto) {
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|【网格员管理】网格员数据管理>定时任务开始执行");
analysisFeignClient.selectGridManagerUploadData();
analysisFeignClient.selectGridManagerUploadData(paramDto);
logger.info("<" + methodName + "|【网格员管理】网格员数据管理>定时任务执行结束");
}

Loading…
Cancel
Save