|
|
@@ -26,6 +26,7 @@ import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskReportVo;
|
|
|
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;
|
|
|
+import com.xunmei.common.core.domain.worktime.dto.WorkTimeDto;
|
|
|
import com.xunmei.common.core.enums.EduTrainingPlanCycleEnum;
|
|
|
import com.xunmei.common.core.enums.ExportPdfType;
|
|
|
import com.xunmei.common.core.enums.edu.EduTrainingDoStatus;
|
|
|
@@ -388,11 +389,6 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
|
|
|
|
|
|
if (plan.getPlanCycle() != 0) {
|
|
|
//如果不是无周期的计划,那么需要查询出他的时间范围
|
|
|
- List<String> workTimeList = workTimeService.findWorkTimeByDateRangeAndOrgId(start, end, plan.getBelongOrgId());
|
|
|
- if (workTimeList.isEmpty()) {
|
|
|
- log.error("未获取到该机构的作息时间");
|
|
|
- return;
|
|
|
- }
|
|
|
DateRange dateRange = DateUtils.getStartAndEnd(new Date(), plan.getPlanCycle());
|
|
|
start = dateRange.getStartTime();
|
|
|
end = dateRange.getEndTime();
|
|
|
@@ -401,6 +397,11 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
|
|
|
start = DateUtil.beginOfDay(start).setField(DateField.MILLISECOND, 0);
|
|
|
end = DateUtil.endOfDay(end).setField(DateField.MILLISECOND, 0);
|
|
|
}
|
|
|
+ List<SysOrg> execOrgList = getExecOrgList(plan, start, end);
|
|
|
+ saveTaskAndRoleData(plan, start, end, execOrgList);
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<SysOrg> getExecOrgList(CoreEduTrainingPlanDataVo plan,Date start, Date end){
|
|
|
List<CoreEduTrainingPlanToExecOrg> planExecOrgList = plan.getPlanExecOrgList();
|
|
|
List<SysOrg> orgList;
|
|
|
if (ObjectUtil.isEmpty(planExecOrgList)) {
|
|
|
@@ -410,7 +411,22 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
|
|
|
List<Long> list = planExecOrgList.stream().map(CoreEduTrainingPlanToExecOrg::getOrgId).collect(Collectors.toList());
|
|
|
orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgByIdList(list, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
}
|
|
|
- saveTaskAndRoleData(plan, start, end, orgList);
|
|
|
+ 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);
|
|
|
+ List<SysWorkTime> workTimeList = workTimeService.findWorkTimeByRange(workTimeDto);
|
|
|
+ if (workTimeList.isEmpty()) {
|
|
|
+ log.error("生成任务时,需要生成任务的机构均未营业,本次任务跳过!");
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ List<Long> workOrgIdList = workTimeList.stream().filter(time -> ObjectUtil.equal(time.getIsEnable(), WORK))
|
|
|
+ .map(SysWorkTime::getOrgId).collect(Collectors.toList());
|
|
|
+ return orgList;
|
|
|
+ // return orgList.stream().filter(org -> workOrgIdList.contains(org.getId())).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
private void saveTaskAndRoleData(CoreEduTrainingPlanDataVo plan, Date start, Date end, List<SysOrg> orgList) {
|
|
|
@@ -1069,7 +1085,11 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
|
|
|
DateRange range = DateUtils.getStartAndEnd(now, cycle);
|
|
|
String startTime = DateUtil.format(range.getStartTime(), Constants.DAILY_FORMAT);
|
|
|
String endTime = DateUtil.format(range.getEndTime(), Constants.DAILY_FORMAT);
|
|
|
- return workTimeService.findFutureWorkTime(event.getOrgIds(), startTime, endTime, SecurityConstants.INNER);
|
|
|
+ WorkTimeDto workTimeDto= new WorkTimeDto();
|
|
|
+ workTimeDto.setOrgIdList(event.getOrgIds());
|
|
|
+ workTimeDto.setStartTime(startTime);
|
|
|
+ workTimeDto.setEndTime(endTime);
|
|
|
+ return workTimeService.findWorkTimeByRange(workTimeDto);
|
|
|
}
|
|
|
}
|
|
|
|