|
|
@@ -27,6 +27,7 @@ import com.xunmei.common.core.enums.RetrievalTaskCycle;
|
|
|
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.domain.AjaxResult;
|
|
|
import com.xunmei.common.core.web.page.TableDataInfo;
|
|
|
import com.xunmei.common.security.utils.SecurityUtils;
|
|
|
import com.xunmei.core.access.domain.TMonitoringRetrievalPlan;
|
|
|
@@ -37,10 +38,12 @@ import com.xunmei.core.retrieval.mapper.CoreMonitoringRetrievalTaskMapper;
|
|
|
import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
|
|
|
import com.xunmei.system.api.RemoteDictDataService;
|
|
|
import com.xunmei.system.api.RemoteOrgService;
|
|
|
+import com.xunmei.system.api.RemoteWorkTimeService;
|
|
|
import com.xunmei.system.api.domain.SysDictData;
|
|
|
import com.xunmei.system.api.domain.SysOrg;
|
|
|
import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
|
|
|
import com.xunmei.system.api.model.LoginUser;
|
|
|
+import io.swagger.models.auth.In;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
@@ -80,6 +83,8 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
private CoreMonitoringTaskRegistrationMapper coreMonitoringTaskRegistrationMapper;
|
|
|
@Autowired
|
|
|
private RemoteOrgService remoteOrgService;
|
|
|
+ @Autowired
|
|
|
+ RemoteWorkTimeService workTimeService;
|
|
|
|
|
|
@Override
|
|
|
public TableDataInfo selectPage(RetrievalTaskPageDto request) {
|
|
|
@@ -409,7 +414,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
//获取计划
|
|
|
QueryWrapper<TMonitoringRetrievalPlan> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getPlanCycle, cycle);
|
|
|
- queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getPlanStatus, 0);
|
|
|
+ queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getPlanStatus, 1);
|
|
|
queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getIsDeleted, 0);
|
|
|
queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getCreateType, 1);
|
|
|
List<TMonitoringRetrievalPlan> plans = itMonitoringRetrievalPlanService.list(queryWrapper);
|
|
|
@@ -484,6 +489,25 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum, i, plan, sysOrg, dateRange1, ymd);
|
|
|
taskList.add(task);
|
|
|
}
|
|
|
+ //判断作息(无周期排开)
|
|
|
+ if(!plan.getPlanCycle().equals(RetrievalTaskCycle.NOCYCLE.getCode())){
|
|
|
+ boolean flag = checkWorkTime(dateRange.getStartTime(), dateRange.getEndTime(), sysOrg.getId());
|
|
|
+ if(flag){
|
|
|
+ for (int i = 1; i <= plan.getPlanFrequency(); i++) {
|
|
|
+ DateRange dateRange1 = dateRanges.get(i);
|
|
|
+ CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum, i, plan, sysOrg, dateRange1, ymd);
|
|
|
+ taskList.add(task);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ log.error("机构"+sysOrg.getName()+"在时间"+dateRange.getStartTime()+"-"+dateRange.getEndTime()+"没有作息,不生成监控调阅任务");
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ for (int i = 1; i <= plan.getPlanFrequency(); i++) {
|
|
|
+ DateRange dateRange1 = dateRanges.get(i);
|
|
|
+ CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum, i, plan, sysOrg, dateRange1, ymd);
|
|
|
+ taskList.add(task);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
return taskList;
|
|
|
|
|
|
@@ -558,4 +582,17 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
|
|
|
return Stream.of(overTimeExceptionData, numsExceptionData).flatMap(Collection::stream).collect(Collectors.toList());
|
|
|
}
|
|
|
+
|
|
|
+ private boolean checkWorkTime(Date workstartTime, Date workendTime,Long orgId){
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ map.put("workstartTime",DateUtil.format(workstartTime,"yyyy-MM-dd"));
|
|
|
+ map.put("workendTime",DateUtil.format(workendTime,"yyyy-MM-dd"));
|
|
|
+ map.put("orgId",orgId);
|
|
|
+ Integer num = workTimeService.checkWorkTime(map,SecurityConstants.INNER);
|
|
|
+ if(num>0){
|
|
|
+ return true;
|
|
|
+ }else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|