瀏覽代碼

调试履职任务生成

jiawuxian 2 年之前
父節點
當前提交
cf8baab2ad

+ 1 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/vo/CoreDrillTaskRecPageVo.java

@@ -41,4 +41,5 @@ public class CoreDrillTaskRecPageVo {
     private String recStatusText;
 
 
+    private String title;
 }

+ 1 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/panel/enums/PanelTypeEnums.java

@@ -26,6 +26,7 @@ public enum PanelTypeEnums {
     EDU_TRAINING(5, "教育培训"),
 
     OTHER(6, "其他任务"),
+    DRILL_REC(7, "推优评优"),
 
 
     ;

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/ICoreDrillTaskService.java

@@ -106,4 +106,7 @@ public interface ICoreDrillTaskService extends IService<CoreDrillTask> {
     void delTaskByIdList(List<Long> taskIdList);
 
     void delByStartTimeAndEndTimeAndPlanIdList(List<Long> planIdList, Date startTime, Date endTime);
+
+    List<PanelListVo> selectRecList(PanelListDto panelListDto);
+
 }

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

@@ -263,7 +263,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         } else {
             coreDrillTask.setHostId(SecurityUtils.getUserId());
         }
-        List<CoreDrillTaskToUser> taskUserList=request.getTaskUserList();
+        List<CoreDrillTaskToUser> taskUserList = request.getTaskUserList();
         /*if (ObjectUtil.isNotEmpty(request.getTaskUserList())) {
             taskUserList = request.getTaskUserList();
         } else {
@@ -672,7 +672,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         dealRecListParam(request);
         IPage<CoreDrillTaskRecPageVo> page;
 
-            page = coreDrillTaskMapper.selectRecPage(request.getPageRequest(), request);
+        page = coreDrillTaskMapper.selectRecPage(request.getPageRequest(), request);
 
         final List<SysDictData> drillTypeDictList = DictUtils.getDictCache(DictConstants.CORE_DRILL_TYPE);
         final List<SysDictData> drillTaskRecStatusList = DictUtils.getDictCache(DictConstants.DRILL_TASK_REC_STATUS);
@@ -858,14 +858,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
 
             //查询待评价与待推优数据
             List<PanelListVo> waitEvaluateTaskList = coreDrillTaskMapper.selectWaitEvaluateTaskList(panelListDto);
-            List<PanelListVo> waitRecTaskList = coreDrillTaskMapper.selectWaitRecTaskList(panelListDto);
-            waitRecTaskList.forEach(item -> {
-                if (ObjectUtil.isNotNull(item.getRecStatus())) {
-                    item.setStatus(10);
-                }
-            });
             list.addAll(waitEvaluateTaskList);
-            list.addAll(waitRecTaskList);
             list.removeIf(item -> DateUtil.compare(new Date(), item.getEndTime()) > 0);
         }
 
@@ -876,6 +869,35 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         return list;
     }
 
+    @Override
+    public List<PanelListVo> selectRecList(PanelListDto panelListDto) {
+        SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() ->
+                orgService.selectSysOrgById(panelListDto.getOrgId(), SecurityConstants.FROM_SOURCE), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
+        panelListDto.setOrgType(sysOrg.getType());
+        panelListDto.setOrgPath(sysOrg.getPath());
+        List<PanelListVo> waitRecTaskList = new ArrayList<>();
+        //省联社/办事处或行社
+        if (OrgTypeEnum.HANG_SHE.getCode().equals(sysOrg.getType()) ||
+                OrgTypeEnum.BAN_SHI_CHU.getCode().equals(sysOrg.getType()) ||
+                OrgTypeEnum.SHEGN_LIAN_SHE.getCode().equals(sysOrg.getType())) {
+
+            //查询待评价与待推优数据
+            waitRecTaskList = coreDrillTaskMapper.selectWaitRecTaskList(panelListDto);
+            waitRecTaskList.forEach(item -> {
+                if (ObjectUtil.isNotNull(item.getRecStatus())) {
+                    item.setStatus(10);
+                }
+            });
+            waitRecTaskList.removeIf(item -> DateUtil.compare(new Date(), item.getEndTime()) > 0);
+        }
+
+        waitRecTaskList.forEach(item -> {
+            item.setType(PanelTypeEnums.DRILL_REC.getCode());
+        });
+
+        return waitRecTaskList;
+    }
+
     private void dealListData(List<PanelListVo> list, Long userId) {
         if (ObjectUtil.isEmpty(list)) {
             return;

+ 37 - 14
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/panel/service/impl/PanelServiceImpl.java

@@ -19,12 +19,15 @@ import com.xunmei.core.resumption.service.IProtectionService;
 import com.xunmei.core.resumption.service.ResumptionService;
 import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
 import com.xunmei.core.safetyCheck.service.ICoreSafetyTaskService;
+import com.xunmei.core.thread.ThreadPoolConfig;
 import com.xunmei.system.api.RemoteRoleService;
 import com.xunmei.system.api.RemoteUserService;
 import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
 import com.xunmei.system.api.model.LoginUser;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
@@ -57,6 +60,9 @@ public class PanelServiceImpl implements PanelService {
     private RemoteRoleService roleService;
     @Autowired
     private IProtectionService protectionService;
+    @Autowired
+    @Qualifier(ThreadPoolConfig.SOC_EXECUTOR)
+    private ThreadPoolTaskExecutor threadPoolTaskExecutor;
 
     @Override
     public List<PanelResultVo> selectPage() throws ExecutionException, InterruptedException, TimeoutException {
@@ -71,44 +77,49 @@ public class PanelServiceImpl implements PanelService {
 
         //履职任务
         CompletableFuture<List<PanelListVo>> resumptionTaskFuture = CompletableFuture.supplyAsync(() ->
-             resumptionService.selectCurUserTaskList(panelListDto)
+                resumptionService.selectCurUserTaskList(panelListDto), threadPoolTaskExecutor
         );
 
         //布撤防
         CompletableFuture<List<PanelListVo>> protectionTaskFuture = CompletableFuture.supplyAsync(() ->
-             protectionService.selectCurUserTaskList(panelListDto)
+                protectionService.selectCurUserTaskList(panelListDto), threadPoolTaskExecutor
         );
 
         //监控调阅任务
         CompletableFuture<List<PanelListVo>> monitorTaskFuture = CompletableFuture.supplyAsync(() ->
-             coreMonitoringRetrievalTaskService.selectCurUserTaskList(panelListDto)
+                coreMonitoringRetrievalTaskService.selectCurUserTaskList(panelListDto), threadPoolTaskExecutor
         );
 
         //安全检查任务
         CompletableFuture<List<PanelListVo>> safetyTaskFuture = CompletableFuture.supplyAsync(() ->
-             safetyTaskService.selectCurUserTaskList(panelListDto)
+                safetyTaskService.selectCurUserTaskList(panelListDto), threadPoolTaskExecutor
         );
 
 
         //预案演练任务
         CompletableFuture<List<PanelListVo>> drillTaskFuture = CompletableFuture.supplyAsync(() ->
-             drillTaskService.selectCurUserTaskList(panelListDto)
+                drillTaskService.selectCurUserTaskList(panelListDto), threadPoolTaskExecutor
+        );
+        //预案演练任务
+        CompletableFuture<List<PanelListVo>> recLitFuture = CompletableFuture.supplyAsync(() ->
+                drillTaskService.selectRecList(panelListDto), threadPoolTaskExecutor
         );
 
         //教育培训任务
         CompletableFuture<List<PanelListVo>> eduTrainingTaskFuture = CompletableFuture.supplyAsync(() ->
-             eduTrainingTaskService.selectCurUserTaskList(panelListDto)
+                eduTrainingTaskService.selectCurUserTaskList(panelListDto), threadPoolTaskExecutor
         );
+
         CompletableFuture<Void> allQueries = CompletableFuture.allOf(
                 resumptionTaskFuture, protectionTaskFuture, monitorTaskFuture,
-                safetyTaskFuture, drillTaskFuture, eduTrainingTaskFuture
+                safetyTaskFuture, drillTaskFuture, eduTrainingTaskFuture, recLitFuture
         );
 
         allQueries.get(TIMEOUT, TimeUnit.SECONDS);
 
         List<PanelListVo> resultList = Stream.of(
                         resumptionTaskFuture.join(), protectionTaskFuture.join(), monitorTaskFuture.join(),
-                        safetyTaskFuture.join(), drillTaskFuture.join(), eduTrainingTaskFuture.join()
+                        safetyTaskFuture.join(), drillTaskFuture.join(), eduTrainingTaskFuture.join(), recLitFuture.join()
                 )
                 .flatMap(Collection::stream)
                 .collect(Collectors.toList());
@@ -132,12 +143,24 @@ public class PanelServiceImpl implements PanelService {
     }
 
     private void dealResult(List<PanelListVo> resumptionTaskResult, List<PanelListVo> protectionTaskResult, List<PanelListVo> monitorTaskResult, List<PanelListVo> safetyTaskResult, List<PanelListVo> drillTaskResult, List<PanelListVo> eduTrainingTaskResult) {
-        resumptionTaskResult.forEach(item->{item.setType(PanelTypeEnums.RESUMPTION.getCode());});
-        protectionTaskResult.forEach(item->{item.setType(PanelTypeEnums.PROTECTION.getCode());});
-        monitorTaskResult.forEach(item->{item.setType(PanelTypeEnums.MONITORING_RETRIEVAL.getCode());});
-        safetyTaskResult.forEach(item->{item.setType(PanelTypeEnums.SAFETY_CHECK.getCode());});
-        drillTaskResult.forEach(item->{item.setType(PanelTypeEnums.DRILL.getCode());});
-        eduTrainingTaskResult.forEach(item->{item.setType(PanelTypeEnums.EDU_TRAINING.getCode());});
+        resumptionTaskResult.forEach(item -> {
+            item.setType(PanelTypeEnums.RESUMPTION.getCode());
+        });
+        protectionTaskResult.forEach(item -> {
+            item.setType(PanelTypeEnums.PROTECTION.getCode());
+        });
+        monitorTaskResult.forEach(item -> {
+            item.setType(PanelTypeEnums.MONITORING_RETRIEVAL.getCode());
+        });
+        safetyTaskResult.forEach(item -> {
+            item.setType(PanelTypeEnums.SAFETY_CHECK.getCode());
+        });
+        drillTaskResult.forEach(item -> {
+            item.setType(PanelTypeEnums.DRILL.getCode());
+        });
+        eduTrainingTaskResult.forEach(item -> {
+            item.setType(PanelTypeEnums.EDU_TRAINING.getCode());
+        });
 
     }
 }

+ 98 - 90
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/controller/ApiPlanController.java

@@ -1,10 +1,8 @@
 package com.xunmei.core.resumption.controller;
 
-import cn.hutool.core.date.DateTime;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.xunmei.common.core.constant.SecurityConstants;
-import com.xunmei.common.core.domain.R;
 import com.xunmei.common.core.web.domain.AjaxResult;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.common.security.annotation.RequiresPermissions;
@@ -23,9 +21,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
-import java.util.Map;
-import java.util.TimeZone;
+import java.util.*;
 
 /**
  * @author : 高雄
@@ -37,13 +33,10 @@ import java.util.TimeZone;
 @RequestMapping("/api/plan")
 @Slf4j
 public class ApiPlanController {
-
     @Autowired
     private AppPlanService appPlanService;
     @Autowired
-    private RemoteOrgService remoteOrgService;
-    @Autowired
-    ResumptionTaskBusiness taskBusiness;
+    ResumptionTaskBusiness resumptionTaskBusiness;
 
     /**
      * 计划分页查询
@@ -62,6 +55,7 @@ public class ApiPlanController {
 
     /**
      * 下发
+     *
      * @param dto
      * @return
      */
@@ -72,30 +66,35 @@ public class ApiPlanController {
             appPlanService.distributeToOrg(dto);
             AppPlan plan = appPlanService.getById(dto.getId());
             //如果选择了计划立即生效
-            if (plan.getBuildTaskNow()==1) {
-                DateTime datetime = new DateTime();
-                datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
-                Integer plancycle = plan.getPlanCycle();
-                if (plancycle != null) {
-                    if (plancycle == 2) {
-                        taskBusiness.syncDay(datetime, plancycle);
-                    }
-                    if (plancycle == 3) {
-                        taskBusiness.syncWeek(datetime, plancycle);
-                    }
-                    if (plancycle == 4) {
-                        taskBusiness.syncMonth(datetime, plancycle);
-                    }
-                    if (plancycle == 5) {
-                        taskBusiness.syncQuarter(datetime, plancycle);
-                    }
-                    if (plancycle == 6) {
-                        taskBusiness.syncHalfYear(datetime, plancycle);
-                    }
-                    if (plancycle == 7) {
-                        taskBusiness.syncYear(datetime, plancycle);
-                    }
-                }
+            if (plan.getBuildTaskNow() == 1) {
+                List<AppPlan> list = appPlanService.list(new LambdaQueryWrapper<AppPlan>().eq(AppPlan::getParentId, plan.getId()).eq(AppPlan::getDeleted, 0));
+                list.add(plan);
+                List<Object> newlist = new ArrayList<>(list);
+                resumptionTaskBusiness.rebuildCurrentCycleTask(newlist);
+
+//                DateTime datetime = new DateTime();
+//                datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
+//                Integer plancycle = plan.getPlanCycle();
+//                if (plancycle != null) {
+//                    if (plancycle == 2) {
+//                        taskBusiness.syncDay(datetime, plancycle);
+//                    }
+//                    if (plancycle == 3) {
+//                        taskBusiness.syncWeek(datetime, plancycle);
+//                    }
+//                    if (plancycle == 4) {
+//                        taskBusiness.syncMonth(datetime, plancycle);
+//                    }
+//                    if (plancycle == 5) {
+//                        taskBusiness.syncQuarter(datetime, plancycle);
+//                    }
+//                    if (plancycle == 6) {
+//                        taskBusiness.syncHalfYear(datetime, plancycle);
+//                    }
+//                    if (plancycle == 7) {
+//                        taskBusiness.syncYear(datetime, plancycle);
+//                    }
+//                }
             }
             return AjaxResult.success();
         } catch (Exception e) {
@@ -146,42 +145,45 @@ public class ApiPlanController {
     public AjaxResult edit(@RequestBody AppPlanVo info) {
         try {
             appPlanService.saveOrUpdatePlan(info);
+            AppPlan plan = null;
+            plan = appPlanService.getById(info.getId());
             Long planOfOrgType = null;
-            if (info.getId()==null){
-                Long orgId = info.getPlanCreateOrgId();
-                planOfOrgType = Long.valueOf(remoteOrgService.selectSysOrgById(orgId, SecurityConstants.INNER).getType());
-            }else {
-                AppPlan plan = appPlanService.getById(info.getId());
+            if(info.getId()!=null) {
                 planOfOrgType = plan.getPlanOfOrgType();
             }
             //判断是否是编辑并且计划所属任务不存在已完成或者逾期,需要删除所有任务重新生成
-            boolean isEditAll = info.getHasEdit() == null&&info.getId()!=null;
+            boolean isEditAll = info.getHasEdit() == null && info.getId() != null;
             //如果计划所属机构类型为行社并且勾选立即执行,新增的时候立即生成任务
-            if ((info.getId()==null&&planOfOrgType==3&&info.getBuildTaskNow()==1)||isEditAll){
-                    DateTime datetime = new DateTime();
-                    datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
-                    //当有周期存在时保持原有接口不变(doTask),否则按照新的接口创建
-                    Integer plancycle = info.getPlanCycle();
-                    if (plancycle != null) {
-                        if (plancycle == 2) {
-                            taskBusiness.syncDay(datetime, plancycle);
-                        }
-                        if (plancycle == 3) {
-                            taskBusiness.syncWeek(datetime, plancycle);
-                        }
-                        if (plancycle == 4) {
-                            taskBusiness.syncMonth(datetime, plancycle);
-                        }
-                        if (plancycle == 5) {
-                            taskBusiness.syncQuarter(datetime, plancycle);
-                        }
-                        if (plancycle == 6) {
-                            taskBusiness.syncHalfYear(datetime, plancycle);
-                        }
-                        if (plancycle == 7) {
-                            taskBusiness.syncYear(datetime, plancycle);
-                        }
-                    }
+            if ((info.getId() == null &&planOfOrgType!=null&& planOfOrgType == 3 && info.getBuildTaskNow() == 1) || isEditAll) {
+//                    DateTime datetime = new DateTime();
+//                    datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
+//                    //当有周期存在时保持原有接口不变(doTask),否则按照新的接口创建
+//                    Integer plancycle = info.getPlanCycle();
+//                    if (plancycle != null) {
+//                        if (plancycle == 2) {
+//                            taskBusiness.syncDay(datetime, plancycle);
+//                        }
+//                        if (plancycle == 3) {
+//                            taskBusiness.syncWeek(datetime, plancycle);
+//                        }
+//                        if (plancycle == 4) {
+//                            taskBusiness.syncMonth(datetime, plancycle);
+//                        }
+//                        if (plancycle == 5) {
+//                            taskBusiness.syncQuarter(datetime, plancycle);
+//                        }
+//                        if (plancycle == 6) {
+//                            taskBusiness.syncHalfYear(datetime, plancycle);
+//                        }
+//                        if (plancycle == 7) {
+//                            taskBusiness.syncYear(datetime, plancycle);
+//                        }
+//                    }
+                //如果编辑
+                List<AppPlan> list = appPlanService.list(new LambdaQueryWrapper<AppPlan>().eq(AppPlan::getParentId, plan.getId()).eq(AppPlan::getDeleted, 0));
+                list.add(plan);
+                List<Object> newlist = new ArrayList<>(list);
+                resumptionTaskBusiness.rebuildCurrentCycleTask(newlist);
 
             }
 
@@ -245,6 +247,7 @@ public class ApiPlanController {
 //        }
         return AjaxResult.success();
     }
+
     @ApiOperation(value = "撤回后下发")
     @GetMapping(value = "/distributeCheHui/{id}")
 //    @RequiresPermissions("core:plan:findById")
@@ -252,31 +255,36 @@ public class ApiPlanController {
         int i = appPlanService.distributeCheHui(id);
         AppPlan plan = appPlanService.getById(id);
         //撤回后的下发如果存在子计划并且勾选立即执行也需要生成任务
-        if(plan.getBuildTaskNow()==1){
-            DateTime datetime = new DateTime();
-            datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
-            //当有周期存在时保持原有接口不变(doTask),否则按照新的接口创建
-            Integer plancycle = plan.getPlanCycle();
-            if (plancycle != null) {
-                if (plancycle == 2) {
-                    taskBusiness.syncDay(datetime, plancycle);
-                }
-                if (plancycle == 3) {
-                    taskBusiness.syncWeek(datetime, plancycle);
-                }
-                if (plancycle == 4) {
-                    taskBusiness.syncMonth(datetime, plancycle);
-                }
-                if (plancycle == 5) {
-                    taskBusiness.syncQuarter(datetime, plancycle);
-                }
-                if (plancycle == 6) {
-                    taskBusiness.syncHalfYear(datetime, plancycle);
-                }
-                if (plancycle == 7) {
-                    taskBusiness.syncYear(datetime, plancycle);
-                }
-            }
+        if (plan.getBuildTaskNow() == 1) {
+//            DateTime datetime = new DateTime();
+//            datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
+//            //当有周期存在时保持原有接口不变(doTask),否则按照新的接口创建
+//            Integer plancycle = plan.getPlanCycle();
+//            if (plancycle != null) {
+//                if (plancycle == 2) {
+//                    taskBusiness.syncDay(datetime, plancycle);
+//                }
+//                if (plancycle == 3) {
+//                    taskBusiness.syncWeek(datetime, plancycle);
+//                }
+//                if (plancycle == 4) {
+//                    taskBusiness.syncMonth(datetime, plancycle);
+//                }
+//                if (plancycle == 5) {
+//                    taskBusiness.syncQuarter(datetime, plancycle);
+//                }
+//                if (plancycle == 6) {
+//                    taskBusiness.syncHalfYear(datetime, plancycle);
+//                }
+//                if (plancycle == 7) {
+//                    taskBusiness.syncYear(datetime, plancycle);
+//                }
+//            }
+            List<AppPlan> list = appPlanService.list(new LambdaQueryWrapper<AppPlan>().eq(AppPlan::getParentId, plan.getId()).eq(AppPlan::getDeleted, 0));
+            list.add(plan);
+            List<Object> newlist = new ArrayList<>(list);
+            resumptionTaskBusiness.rebuildCurrentCycleTask(newlist);
+
         }
         return AjaxResult.success(i);
     }

+ 5 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/task/ResumptionTaskBusiness.java

@@ -129,7 +129,7 @@ public class ResumptionTaskBusiness extends TaskCreatingServiceImplBase<Resumpti
             DateRange range = DateUtils.getStartAndEnd(new Date(), cycleCommonEnum);
             Map<Long, SysWorkTime> workTimes = orgSingleWorkTimeMap(new Date(), cycleCommonEnum, orgIdList);
             for (Long orgId : orgIdList) {
-                if (!workTimes.containsKey(orgId) || ObjectUtil.isNull(workTimes.get(orgId)) || ObjectUtil.notEqual(workTimes.get(orgId).getIsEnable(), 1)) {
+                if (!workTimes.containsKey(orgId) || ObjectUtil.isNull(workTimes.get(orgId)) || ObjectUtil.notEqual(workTimes.get(orgId).getIsEnable(), 1L)) {
                     continue;
                 }
                 SysWorkTime workTime = workTimes.get(orgId);
@@ -273,6 +273,10 @@ public class ResumptionTaskBusiness extends TaskCreatingServiceImplBase<Resumpti
         DateTime planstartTime = null;
         DateTime planendTime = null;
 
+        if (ObjectUtil.isNull(opentime) || ObjectUtil.isNull(closetime)) {
+            log.error("作息" + workTime.getId() + "缺少营业开始或结束时间");
+            return new ArrayList<>();
+        }
         DateTime time1 = new DateTime(dateTime);
         time1.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
         DateTime time2 = new DateTime(dateTime);

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/controller/CoreMonitoringRetrievalTaskController.java

@@ -172,7 +172,7 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
         }
     }
     @InnerAuth
-    @GetMapping("/rebuildTask")
+    @PostMapping("/rebuildTask")
     public AjaxResult rebuildTask(@RequestBody String event) {
         try {
             coreMonitoringRetrievalTaskService.taskChangeForTimeWorkChange(new Gson().fromJson(event, WorkTimeChangeEvent.class));

+ 4 - 4
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/impl/CoreMonitoringRetrievalTaskServiceImpl.java

@@ -605,7 +605,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
     @Transactional(rollbackFor = Exception.class)
    public void taskChangeForTimeWorkChange(WorkTimeChangeEvent event) {
         //修改的作息的日期
-        Date ymdDate  =  event.getDataList().get(0).getDate();
+        Date ymdDate  =  event.getDataList().get(0).getYmdDate();
 
         //受影响的机构
         List<Long> orgIds = event.getOrgIds();
@@ -688,7 +688,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
         queryWrapper.lambda().in(TMonitoringRetrievalPlan::getOrgId, orgParentIds);
         queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getPlanStatus, 1);
         queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getIsDeleted, 0);
-        /*queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getCreateType, 1);*/
+        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getCreateType, 1);
         List<TMonitoringRetrievalPlan> plans = itMonitoringRetrievalPlanService.list(queryWrapper);
         List<TMonitoringRetrievalPlan> planList = new ArrayList<>();
 
@@ -700,8 +700,8 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
                         continue;
                     }
                 }
-                //计划的机构id不是当前机构的直属父机构,不生成任务
-                if(!p.getOrgId().equals(s.getParentId())){
+                //计划的机构id不是当前机构的直属父机构,不生成任务,计划的机构类型不是当前机构的机构类型不生成任务
+                if(!p.getOrgId().equals(s.getParentId())||!p.getOrgType().equals(s.getOrgType())){
                     continue;
                 }
                 TMonitoringRetrievalPlan plan = new TMonitoringRetrievalPlan();

+ 2 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/listener/WorkTimeChangeEventListener.java

@@ -30,8 +30,10 @@ public class WorkTimeChangeEventListener implements ApplicationListener<WorkTime
     @EventListener(WorkTimeChangeEvent.class)
     @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT, fallbackExecution = false)
     public void onApplicationEvent(WorkTimeChangeEvent event) {
+
         remoteResumptionTaskService.rebuild(JSON.toJSONString(event), SecurityConstants.INNER);
         eduTrainingService.rebuild(JSON.toJSONString(event), SecurityConstants.INNER);
         remoteRetrievalTaskService.rebuild(JSON.toJSONString(event), SecurityConstants.INNER);
+
     }
 }

+ 1 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysWorkTimeServiceImpl.java

@@ -455,7 +455,7 @@ public class SysWorkTimeServiceImpl extends ServiceImpl<SysWorkTimeMapper, SysWo
                 .ge(SysWorkTime::getYmdDate, workTimeDto.getStartTime())
                 .le(SysWorkTime::getYmdDate, workTimeDto.getEndTime())
                 .in(SysWorkTime::getOrgId, workTimeDto.getOrgIdList())
-                .select(SysWorkTime::getId, SysWorkTime::getIsEnable, SysWorkTime::getYmdDate, SysWorkTime::getOrgId)
+                .select(SysWorkTime::getId, SysWorkTime::getIsEnable, SysWorkTime::getYmdDate, SysWorkTime::getOrgId,SysWorkTime::getOpenTime,SysWorkTime::getCloseTime)
                 .list();
 
     }