Browse Source

定时任务

master
wanggongfeng 4 years ago
parent
commit
2879512b98
  1. 4
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenGridManagerController.java
  2. 3
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGridManagerDao.java
  3. 3
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenGridManagerService.java
  4. 78
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGridManagerServiceImpl.java
  5. 27
      epdc-cloud-analysis-pc/src/main/resources/mapper/screen/ScreenGridManagerDao.xml

4
epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenGridManagerController.java

@ -40,7 +40,7 @@ public class ScreenGridManagerController {
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.screen.result.GridManagerUploadEventResultDTO>>
**/
@PostMapping("gridManagerUploadEvent")
public Result selectGridManagerUploadEvent(@RequestBody ScreenJobFormDTO formDto) {
return screenGridManagerService.selectGridManagerUploadEvent(formDto.getYearMonth());
public Result selectGridManagerUploadEvent(@RequestBody ScreenJobFormDTO paramDto) {
return screenGridManagerService.selectGridManagerUploadEvent(paramDto);
}
}

3
epdc-cloud-analysis-pc/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.analysis.pc.screen.form.ScreenJobFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.screen.result.GridManagerUploadDataResultDTO;
import com.elink.esua.epdc.dto.analysis.pc.screen.result.GridManagerUploadEventResultDTO;
import com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenBaseReportResultDTO;
@ -32,7 +33,7 @@ public interface ScreenGridManagerDao extends BaseDao<ScreenBaseReportResultDTO>
* @Param [customId]
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.GridManagerUploadEventResultDTO>
**/
List<GridManagerUploadEventResultDTO> selectGridManagerUploadEvent(@Param("customId")String customId, @Param("yearMonthDay") String yearMonthDay);
List<GridManagerUploadEventResultDTO> selectGridManagerUploadEvent(ScreenJobFormDTO paramDto);
}

3
epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenGridManagerService.java

@ -1,6 +1,7 @@
package com.elink.esua.epdc.modules.screen.service;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.analysis.pc.screen.form.ScreenJobFormDTO;
/**
* 网格管理
@ -25,7 +26,7 @@ public interface ScreenGridManagerService {
* @Param [customId]
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.GridManagerUploadEventResultDTO>
**/
Result selectGridManagerUploadEvent(String yearMonthDay);
Result selectGridManagerUploadEvent(ScreenJobFormDTO paramDto);

78
epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGridManagerServiceImpl.java

@ -4,6 +4,7 @@ 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.analysis.pc.screen.form.ScreenJobFormDTO;
import com.elink.esua.epdc.dto.analysis.pc.screen.result.GridManagerUploadDataResultDTO;
import com.elink.esua.epdc.dto.analysis.pc.screen.result.GridManagerUploadEventResultDTO;
import com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenBaseReportResultDTO;
@ -18,6 +19,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;
@ -56,15 +60,71 @@ public class ScreenGridManagerServiceImpl extends BaseServiceImpl<ScreenGridMana
}
@Override
public Result selectGridManagerUploadEvent(String yearMonthDay) {
// 如果统计年月日为空,则统计当前天的数据
yearMonthDay = StringUtils.isEmpty(yearMonthDay) ? DateUtils.format(new Date()) : yearMonthDay;
List<GridManagerUploadEventResultDTO> gridManagerUploadEventResultDTOS = baseDao.selectGridManagerUploadEvent(customerId, yearMonthDay);
if(gridManagerUploadEventResultDTOS.size()>0){
String dataJson = ScreenDataUtils.getScreenDateJson(gridManagerUploadEventResultDTOS,true);
// 数据上报
epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_STATS_USER_GRID_MANAGER_UPLOAD_EVENT, dataJson);
public Result selectGridManagerUploadEvent(ScreenJobFormDTO paramDto) {
paramDto.setCustomId(customerId);
if (StringUtils.isBlank(paramDto.getEndTime())) {
// 如果统计年月日为空,则统计当前天的数据
String yearMonthDay = paramDto.getYearMonth();
yearMonthDay = StringUtils.isEmpty(yearMonthDay) ? DateUtils.format(new Date()) : yearMonthDay;
paramDto.setYearMonthDay(yearMonthDay);
List<GridManagerUploadEventResultDTO> gridManagerUploadEventResultDTOS = baseDao.selectGridManagerUploadEvent(paramDto);
if(gridManagerUploadEventResultDTOS.size()>0){
String dataJson = ScreenDataUtils.getScreenDateJson(gridManagerUploadEventResultDTOS,true);
// 数据上报
epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_STATS_USER_GRID_MANAGER_UPLOAD_EVENT, dataJson);
}
} 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 = paramDto.getYearMonth();
yearMonthDay = StringUtils.isEmpty(yearMonthDay) ? DateUtils.format(new Date()) : yearMonthDay;
paramDto.setYearMonthDay(yearMonthDay);
List<GridManagerUploadEventResultDTO> gridManagerUploadEventResultDTOS = baseDao.selectGridManagerUploadEvent(paramDto);
if(gridManagerUploadEventResultDTOS.size()>0){
String dataJson = ScreenDataUtils.getScreenDateJson(gridManagerUploadEventResultDTOS,true);
// 数据上报
epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_STATS_USER_GRID_MANAGER_UPLOAD_EVENT, dataJson);
}
}
}
return new Result<>();
return new Result();
// // 如果统计年月日为空,则统计当前天的数据
// String yearMonthDay = paramDto.getYearMonth();
// yearMonthDay = StringUtils.isEmpty(yearMonthDay) ? DateUtils.format(new Date()) : yearMonthDay;
// List<GridManagerUploadEventResultDTO> gridManagerUploadEventResultDTOS = baseDao.selectGridManagerUploadEvent(customerId, yearMonthDay);
// if(gridManagerUploadEventResultDTOS.size()>0){
// String dataJson = ScreenDataUtils.getScreenDateJson(gridManagerUploadEventResultDTOS,true);
// // 数据上报
// epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_STATS_USER_GRID_MANAGER_UPLOAD_EVENT, dataJson);
// }
// return new Result<>();
}
}

27
epdc-cloud-analysis-pc/src/main/resources/mapper/screen/ScreenGridManagerDao.xml

@ -160,10 +160,24 @@
</select>
<select id="selectGridManagerUploadEvent"
<select id="selectGridManagerUploadEvent" parameterType="com.elink.esua.epdc.dto.analysis.pc.screen.form.ScreenJobFormDTO"
resultType="com.elink.esua.epdc.dto.analysis.pc.screen.result.GridManagerUploadEventResultDTO">
select
'${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',
@ -174,13 +188,22 @@
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>
seur.STAFF_ID,
ee.GRID_ID,
sd.pid AS agencyId,
count(ee.ID) as reportProjectCount
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'
and DATE_FORMAT(ee.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay}
<choose>
<when test="endTime != null and endTime != ''">
and DATE_FORMAT(ee.CREATED_TIME, '%Y-%m-%d') = #{endTime}
</when>
<otherwise>
and DATE_FORMAT(ee.CREATED_TIME, '%Y-%m-%d') = #{yearMonthDay}
</otherwise>
</choose>
left join esua_epdc_admin.sys_dept sd on sd.id = ee.GRID_ID
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'

Loading…
Cancel
Save