|
|
@@ -8,11 +8,14 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.xunmei.common.core.constant.Constants;
|
|
|
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.retrieval.domain.CoreMonitoringRetrievalTask;
|
|
|
import com.xunmei.common.core.domain.retrieval.vo.*;
|
|
|
+import com.xunmei.common.core.domain.worktime.domain.SysWorkTime;
|
|
|
+import com.xunmei.common.core.domain.worktime.dto.WorkTimeDto;
|
|
|
import com.xunmei.common.core.enums.OrgTypeEnum;
|
|
|
import com.xunmei.common.core.enums.RetrievalTaskCycle;
|
|
|
import com.xunmei.common.core.enums.edu.EduTrainingPlanCycleEnum;
|
|
|
@@ -20,6 +23,7 @@ import com.xunmei.common.core.event.WorkTimeChangeEvent;
|
|
|
import com.xunmei.common.core.utils.DateUtils;
|
|
|
import com.xunmei.common.core.utils.Ymd;
|
|
|
import com.xunmei.common.security.utils.SecurityUtils;
|
|
|
+import com.xunmei.core.TaskCreatingServiceImplBase;
|
|
|
import com.xunmei.core.access.domain.TMonitoringRetrievalPlan;
|
|
|
import com.xunmei.core.access.mapper.CoreMonitoringTaskRegistrationMapper;
|
|
|
import com.xunmei.core.access.service.ITMonitoringRetrievalPlanService;
|
|
|
@@ -407,14 +411,18 @@ public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<C
|
|
|
//周期任务获取计划时间
|
|
|
dateRange = DateUtils.getStartAndEnd(dateTime, EduTrainingPlanCycleEnum.toCommonEnum(Integer.parseInt(plan.getPlanCycle())));
|
|
|
}
|
|
|
- Map<Integer, DateRange> dateRanges = DateUtils.splitDateRange(dateRange.getStartTime(), dateRange.getEndTime(), plan.getPlanFrequency().intValue());
|
|
|
+ List<SysOrg> orgList = new ArrayList<>();
|
|
|
+ orgList.add(sysOrg);
|
|
|
+ final List<SysWorkTime> workTimeList = getWorkTimeList(orgList, dateRange.getStartTime(), dateRange.getEndTime());
|
|
|
+ //Map<Integer, DateRange> dateRanges = DateUtils.splitDateRange(dateRange.getStartTime(), dateRange.getEndTime(), plan.getPlanFrequency().intValue());
|
|
|
+ Map<Short, DateRange> dateRanges = TaskCreatingServiceImplBase.splitTaskTime((short)plan.getPlanFrequency().intValue(), EduTrainingPlanCycleEnum.toCommonEnum(Integer.parseInt(plan.getPlanCycle())), dateRange.getStartTime(), dateRange.getEndTime(), workTimeList);
|
|
|
//判断作息(无周期排开)
|
|
|
// if (!plan.getPlanCycle().equals(RetrievalTaskCycle.NOCYCLE.getCode().toString())) {
|
|
|
- int idx = 1;
|
|
|
+/* int idx = 1;
|
|
|
Map<Integer, DateRange> workingDateRanges = new HashMap<>();
|
|
|
|
|
|
|
|
|
- for (Map.Entry<Integer, DateRange> entry : dateRanges.entrySet()) {
|
|
|
+ for (Map.Entry<Short, DateRange> entry : dateRanges.entrySet()) {
|
|
|
DateRange dateRange1 = entry.getValue();
|
|
|
boolean flag = true;
|
|
|
if (ObjectUtil.equal(sysOrg.getType(), OrgTypeEnum.YINGYE_WANGDIAN.getCode())) {
|
|
|
@@ -425,13 +433,13 @@ public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<C
|
|
|
workingDateRanges.put(idx, dateRange1);
|
|
|
idx++;
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
- for (Map.Entry<Integer, DateRange> entry : workingDateRanges.entrySet()) {
|
|
|
- Integer key = entry.getKey();
|
|
|
+ for (Map.Entry<Short, DateRange> entry : dateRanges.entrySet()) {
|
|
|
+ Integer key = entry.getKey().intValue();
|
|
|
DateRange dateRange1 = entry.getValue();
|
|
|
CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum, key, plan, sysOrg,
|
|
|
- dateRange1, ymd, workingDateRanges.size());
|
|
|
+ dateRange1, ymd, dateRanges.size());
|
|
|
taskList.add(task);
|
|
|
}
|
|
|
return taskList;
|
|
|
@@ -748,6 +756,18 @@ public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<C
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private List<SysWorkTime> getWorkTimeList(List<SysOrg> orgList, Date start, Date end) {
|
|
|
+ List<Long> orgIdList = orgList.stream().map(SysOrg::getId).collect(Collectors.toList());
|
|
|
+ String startTime = DateUtil.format(start, Constants.DAILY_FORMAT);
|
|
|
+ String endTime = DateUtil.format(end, Constants.DAILY_FORMAT);
|
|
|
+ WorkTimeDto workTimeDto = new WorkTimeDto();
|
|
|
+ workTimeDto.setOrgIdList(orgIdList);
|
|
|
+ workTimeDto.setStartTime(startTime);
|
|
|
+ workTimeDto.setEndTime(endTime);
|
|
|
+ return RemoteCallHandlerExecutor.executeRemoteCall(() ->
|
|
|
+ workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE).getData(),
|
|
|
+ ErrorMsgConstants.QUERY_ORG_WORK_TIME_ERROR);
|
|
|
+ }
|
|
|
// private List<SysWorkTime> selectWorkTimeList(Date now, CycleCommonEnum cycle, WorkTimeChangeEvent event) {
|
|
|
// DateRange range = DateUtils.getStartAndEnd(now, cycle);
|
|
|
// String startTime = DateUtil.format(range.getStartTime(), Constants.DAILY_FORMAT);
|