Browse Source

教育培训 预案演练任务生成增加作息判断

jingyuanchao 2 years ago
parent
commit
68825c7453

+ 1 - 1
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteWorkTimeService.java

@@ -29,6 +29,6 @@ public interface RemoteWorkTimeService {
 
 
     @PostMapping("/work/time/findWorkTimeByRange")
-    List<SysWorkTime> findWorkTimeByRange(@RequestBody WorkTimeDto workTimeDto);
+    List<SysWorkTime> findWorkTimeByRange(@RequestBody WorkTimeDto workTimeDto, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
 }

+ 1 - 1
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteWorkTimesFallbackFactory.java

@@ -43,7 +43,7 @@ public class RemoteWorkTimesFallbackFactory implements FallbackFactory<RemoteWor
             }
 
             @Override
-            public List<SysWorkTime> findWorkTimeByRange(WorkTimeDto workTimeDto) {
+            public List<SysWorkTime> findWorkTimeByRange(WorkTimeDto workTimeDto,String source) {
                 return null;
             }
         };

+ 1 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/constant/ErrorMsgConstants.java

@@ -6,6 +6,7 @@ public class ErrorMsgConstants {
     public static final String REMOTE_CALL_ERROR = "远程调用错误: ";
 
     public static final String QUERY_ORG_DATA_ERROR = "获取机构信息失败!";
+    public static final String QUERY_ORG_WORK_TIME_ERROR = "获取机构作息失败!";
     public static final String QUERY_DICT_DATA_ERROR = "获取字典信息失败!";
     public static final String GENERATE_PDF_ERROR = "生成PDF文件失败!";
     public static final String QUERY_FILE_PATH_ERROR = "获取文件路径失败!";

+ 11 - 12
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillTaskServiceImpl.java

@@ -11,10 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xunmei.common.core.constant.DictConstants;
-import com.xunmei.common.core.constant.ErrorMsgConstants;
-import com.xunmei.common.core.constant.SecurityConstants;
-import com.xunmei.common.core.constant.SystemParameterConstant;
+import com.xunmei.common.core.constant.*;
 import com.xunmei.common.core.domain.DateRange;
 import com.xunmei.common.core.domain.R;
 import com.xunmei.common.core.domain.drill.domain.*;
@@ -23,6 +20,7 @@ import com.xunmei.common.core.domain.drill.vo.*;
 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.ExportPdfType;
 import com.xunmei.common.core.enums.OrgTypeEnum;
 import com.xunmei.common.core.enums.drill.DrillDoStatus;
@@ -44,10 +42,7 @@ import com.xunmei.core.drill.service.ICoreDrillTaskToRoleService;
 import com.xunmei.core.drill.service.ICoreDrillTaskToUserService;
 import com.xunmei.core.thread.ThreadPoolConfig;
 import com.xunmei.system.api.*;
-import com.xunmei.system.api.domain.SysConfig;
-import com.xunmei.system.api.domain.SysDictData;
-import com.xunmei.system.api.domain.SysOrg;
-import com.xunmei.system.api.domain.SysUser;
+import com.xunmei.system.api.domain.*;
 import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
 import io.netty.util.internal.StringUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -65,6 +60,8 @@ import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import static com.xunmei.core.edu.service.impl.CoreEduTrainingTaskServiceImpl.WORK;
+
 
 /**
  * 教育任务Service业务层处理
@@ -351,22 +348,24 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
             List<Long> list = planExecOrgList.stream().map(CoreDrillPlanToExecOrg::getOrgId).collect(Collectors.toList());
             orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgByIdList(list, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
         }
-        /*List<Long> orgIdList = orgList.stream().map(SysOrg::getId).collect(Collectors.toList());
+        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);
+        List<SysWorkTime> workTimeList = RemoteCallHandlerExecutor.executeRemoteCall(() ->
+                        workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE),
+                ErrorMsgConstants.QUERY_ORG_WORK_TIME_ERROR);
         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.stream().filter(org -> workOrgIdList.contains(org.getId())).collect(Collectors.toList());*/
-        return orgList;
+        return orgList.stream().filter(org -> workOrgIdList.contains(org.getId())).collect(Collectors.toList());
+       // return orgList;
 
     }
 

+ 7 - 5
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java

@@ -411,22 +411,24 @@ 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);
         }
-      /*  List<Long> orgIdList = orgList.stream().map(SysOrg::getId).collect(Collectors.toList());
+        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);
+        List<SysWorkTime> workTimeList = RemoteCallHandlerExecutor.executeRemoteCall(() ->
+                workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE),
+                ErrorMsgConstants.QUERY_ORG_WORK_TIME_ERROR);
         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.stream().filter(org -> workOrgIdList.contains(org.getId())).collect(Collectors.toList());*/
-        return orgList;
+        return orgList.stream().filter(org -> workOrgIdList.contains(org.getId())).collect(Collectors.toList());
+       // return orgList;
 
     }
 
@@ -1090,7 +1092,7 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         workTimeDto.setOrgIdList(event.getOrgIds());
         workTimeDto.setStartTime(startTime);
         workTimeDto.setEndTime(endTime);
-        return workTimeService.findWorkTimeByRange(workTimeDto);
+        return workTimeService.findWorkTimeByRange(workTimeDto,SecurityConstants.FROM_SOURCE);
     }
 }