|
|
@@ -5,8 +5,6 @@ import cn.hutool.core.date.DateField;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import cn.hutool.poi.excel.ExcelUtil;
|
|
|
-import cn.hutool.poi.excel.ExcelWriter;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
@@ -15,7 +13,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.xunmei.common.core.constant.ErrorMsgConstants;
|
|
|
import com.xunmei.common.core.constant.SecurityConstants;
|
|
|
import com.xunmei.common.core.domain.DateRange;
|
|
|
-import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanPageVo;
|
|
|
import com.xunmei.common.core.domain.panel.dto.PanelListDto;
|
|
|
import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
|
|
|
import com.xunmei.common.core.domain.panel.vo.PanelListVo;
|
|
|
@@ -25,15 +22,16 @@ import com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskExc
|
|
|
import com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskOneVo;
|
|
|
import com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskVo;
|
|
|
import com.xunmei.common.core.domain.retrieval.vo.TaskDataVo;
|
|
|
+import com.xunmei.common.core.domain.safetyindex.domain.CoreSafetyExceptionData;
|
|
|
import com.xunmei.common.core.enums.RetrievalTaskCycle;
|
|
|
-import com.xunmei.common.core.utils.*;
|
|
|
+import com.xunmei.common.core.utils.DateHelper;
|
|
|
+import com.xunmei.common.core.utils.DateUtils;
|
|
|
+import com.xunmei.common.core.utils.Ymd;
|
|
|
import com.xunmei.common.core.web.page.TableDataInfo;
|
|
|
import com.xunmei.common.security.utils.SecurityUtils;
|
|
|
import com.xunmei.core.access.domain.TMonitoringRetrievalPlan;
|
|
|
import com.xunmei.core.access.dto.CoreMonitoringTaskRegistrationDTO;
|
|
|
import com.xunmei.core.access.mapper.CoreMonitoringTaskRegistrationMapper;
|
|
|
-import com.xunmei.core.access.service.ICoreMonitoringTaskRegistrationMonitorService;
|
|
|
-import com.xunmei.core.access.service.ICoreMonitoringTaskRegistrationService;
|
|
|
import com.xunmei.core.access.service.ITMonitoringRetrievalPlanService;
|
|
|
import com.xunmei.core.retrieval.mapper.CoreMonitoringRetrievalTaskMapper;
|
|
|
import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
|
|
|
@@ -44,15 +42,11 @@ import com.xunmei.system.api.domain.SysOrg;
|
|
|
import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
|
|
|
import com.xunmei.system.api.model.LoginUser;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
|
|
-import org.springframework.context.annotation.DependsOn;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
-import org.springframework.context.annotation.Scope;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import javax.servlet.ServletOutputStream;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
import java.net.URLEncoder;
|
|
|
@@ -61,7 +55,7 @@ import java.time.LocalDate;
|
|
|
import java.time.ZoneId;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
-
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -83,6 +77,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
private ITMonitoringRetrievalPlanService itMonitoringRetrievalPlanService;
|
|
|
@Autowired
|
|
|
private CoreMonitoringTaskRegistrationMapper coreMonitoringTaskRegistrationMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public TableDataInfo selectPage(RetrievalTaskPageDto request) {
|
|
|
|
|
|
@@ -95,7 +90,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
}
|
|
|
//下穿
|
|
|
if (request.getCheckSub()) {
|
|
|
- SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectSysOrgById(request.getOrgId(),SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
+ SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectSysOrgById(request.getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
request.setOrgPath(sysOrg.getPath());
|
|
|
request.setOrgId(null);
|
|
|
}
|
|
|
@@ -107,7 +102,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
|
|
|
@Override
|
|
|
public void export(RetrievalTaskPageDto request, HttpServletResponse response) throws IOException {
|
|
|
- SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectSysOrgById(request.getOrgId(),SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
+ SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectSysOrgById(request.getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
List<SysDictData> listDict = RemoteCallHandlerExecutor.executeRemoteCall(() -> dictDataService.selectDictByeType("retrieval_task_status", SecurityConstants.INNER), ErrorMsgConstants.QUERY_DICT_DATA_ERROR);
|
|
|
List<SysDictData> listDicta = RemoteCallHandlerExecutor.executeRemoteCall(() -> dictDataService.selectDictByeType("sys_access_cycle", SecurityConstants.INNER), ErrorMsgConstants.QUERY_DICT_DATA_ERROR);
|
|
|
if (request.getCheckSub()) {
|
|
|
@@ -119,13 +114,13 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
if (ObjectUtil.isEmpty(list)) {
|
|
|
throw new RuntimeException("导出数据为空!");
|
|
|
}
|
|
|
- if(list.size()>10000){
|
|
|
+ if (list.size() > 10000) {
|
|
|
throw new RuntimeException("导出数据量过大(单次导出限量10000条数据),请填写条件分批导出");
|
|
|
}
|
|
|
- for(int i=0;i<list.size();i++){
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
CoreMonitoringRetrievalTaskExcelVo vo = list.get(i);
|
|
|
vo.setStatusText(listDict.stream().filter(d -> d.getDictValue().equals(vo.getStatus())).findFirst().orElse(new SysDictData()).getDictLabel());
|
|
|
- vo.setOrderNum(i+1);
|
|
|
+ vo.setOrderNum(i + 1);
|
|
|
vo.setCycleText(listDicta.stream().filter(d -> d.getDictValue().equals(vo.getStatus())).findFirst().orElse(new SysDictData()).getDictLabel());
|
|
|
}
|
|
|
response.setContentType("application/vnd.ms-excel");
|
|
|
@@ -219,6 +214,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
public int deleteCoreMonitoringRetrievalTaskById(Long id) {
|
|
|
return coreMonitoringRetrievalTaskMapper.deleteById(id);
|
|
|
}
|
|
|
+
|
|
|
@Async
|
|
|
/**
|
|
|
* 无周期任务生成
|
|
|
@@ -363,7 +359,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
coreMonitoringRetrievalTaskMapper.initializationTask(yesterday.toString());
|
|
|
List<Long> longs = coreMonitoringRetrievalTaskMapper.selectTaskByTime(yesterday.toString());
|
|
|
//删除关联
|
|
|
- longs.forEach(l->{
|
|
|
+ longs.forEach(l -> {
|
|
|
coreMonitoringTaskRegistrationMapper.deleteByTaskId(l);
|
|
|
});
|
|
|
}
|
|
|
@@ -375,12 +371,12 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
|
|
|
@Override
|
|
|
public void deleteWaitTaskByPlanId(Long planId) {
|
|
|
- coreMonitoringRetrievalTaskMapper. deleteWaitTaskByPlanId(planId);
|
|
|
+ coreMonitoringRetrievalTaskMapper.deleteWaitTaskByPlanId(planId);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void updateDeleteTaskByPlanId(Long planId,Integer isDeleted) {
|
|
|
- coreMonitoringRetrievalTaskMapper.updateDeleteTaskByPlanId(planId,isDeleted);
|
|
|
+ public void updateDeleteTaskByPlanId(Long planId, Integer isDeleted) {
|
|
|
+ coreMonitoringRetrievalTaskMapper.updateDeleteTaskByPlanId(planId, isDeleted);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -435,9 +431,9 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
dateRange = DateUtils.getStartAndEnd(dateTime, Integer.parseInt(plan.getPlanCycle()));
|
|
|
}
|
|
|
Map<Integer, DateRange> dateRanges = DateUtils.splitDateRange(dateRange.getStartTime(), dateRange.getEndTime(), plan.getPlanFrequency().intValue());
|
|
|
- for (int i =1; i <= plan.getPlanFrequency(); i++) {
|
|
|
+ for (int i = 1; i <= plan.getPlanFrequency(); i++) {
|
|
|
DateRange dateRange1 = dateRanges.get(i);
|
|
|
- CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum, i , plan, sysOrg, dateRange1,ymd);
|
|
|
+ CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum, i, plan, sysOrg, dateRange1, ymd);
|
|
|
taskList.add(task);
|
|
|
}
|
|
|
|
|
|
@@ -450,10 +446,10 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
* @param frequency 第几次
|
|
|
* @param plan 计划
|
|
|
* @param sysOrg 机构
|
|
|
- * @param ymd 日期
|
|
|
+ * @param ymd 日期
|
|
|
* @return
|
|
|
*/
|
|
|
- private CoreMonitoringRetrievalTask buildCoreMonitoringRetrievalTask(Long batchNum, int frequency, TMonitoringRetrievalPlan plan, SysOrg sysOrg, DateRange dateRange,Ymd ymd) {
|
|
|
+ private CoreMonitoringRetrievalTask buildCoreMonitoringRetrievalTask(Long batchNum, int frequency, TMonitoringRetrievalPlan plan, SysOrg sysOrg, DateRange dateRange, Ymd ymd) {
|
|
|
/* Date dateTime = Date.from(taskTime.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
|
|
Ymd ymd = Ymd.of(dateTime);
|
|
|
DateRange dateRange = null;
|
|
|
@@ -493,9 +489,21 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
@Override
|
|
|
public List<PanelListVo> selectCurUserTaskList(PanelListDto request) {
|
|
|
List<PanelListVo> list = baseMapper.selectCurUserTaskList(request);
|
|
|
- list.removeIf(item->DateUtil.compare(new Date(), item.getEndTime()) > 0);
|
|
|
- list.forEach(item -> {item.setType(PanelTypeEnums.MONITORING_RETRIEVAL.getCode());});
|
|
|
+ list.removeIf(item -> DateUtil.compare(new Date(), item.getEndTime()) > 0);
|
|
|
+ list.forEach(item -> {
|
|
|
+ item.setType(PanelTypeEnums.MONITORING_RETRIEVAL.getCode());
|
|
|
+ });
|
|
|
|
|
|
return list;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<CoreSafetyExceptionData> selectMonitorExceptionData(DateTime time) {
|
|
|
+ //逾期数据
|
|
|
+ List<CoreSafetyExceptionData> overTimeExceptionData = baseMapper.selectMonitorOverTimeExceptionData(time);
|
|
|
+ //检查通道占比数量数据
|
|
|
+ List<CoreSafetyExceptionData> numsExceptionData = baseMapper.selectMonitorNumsExceptionData(time);
|
|
|
+
|
|
|
+ return Stream.of(overTimeExceptionData, numsExceptionData).flatMap(Collection::stream).collect(Collectors.toList());
|
|
|
+ }
|
|
|
}
|