فهرست منبع

教育培训需求变更 代码提交

jingyuanchao 2 سال پیش
والد
کامیت
eeffd9570e

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

@@ -5,12 +5,11 @@ import com.xunmei.common.core.constant.ServiceNameConstants;
 import com.xunmei.common.core.domain.R;
 import com.xunmei.common.core.utils.Ymd;
 import com.xunmei.system.api.domain.SysWorkTime;
-import com.xunmei.system.api.factory.RemoteLogFallbackFactory;
-import com.xunmei.system.api.factory.RemoteUserFallbackFactory;
 import com.xunmei.system.api.factory.RemoteWorkTimesFallbackFactory;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.List;
 
 @FeignClient(contextId = "remoteWorkTimeService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteWorkTimesFallbackFactory.class)
@@ -23,4 +22,7 @@ public interface RemoteWorkTimeService {
     @PostMapping("/work/time/existByYmd")
     R<Boolean> existByYmd(@RequestBody Ymd ymd);
 
+    @GetMapping("/work/time/findWorkTimeByDateRangeAndOrgId")
+    List<String> findWorkTimeByDateRangeAndOrgId(@RequestParam("startTime") Date startTime, @RequestParam("endTime") Date endTime, @RequestParam("orgId") Long orgId);
+
 }

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

@@ -4,12 +4,12 @@ import com.xunmei.common.core.domain.R;
 import com.xunmei.common.core.utils.Ymd;
 import com.xunmei.system.api.RemoteWorkTimeService;
 import com.xunmei.system.api.domain.SysWorkTime;
-import com.xunmei.system.api.factory.RemoteOrgFallbackFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
 import java.util.List;
 
 @Component
@@ -35,6 +35,11 @@ public class RemoteWorkTimesFallbackFactory implements FallbackFactory<RemoteWor
             public R<Boolean> existByYmd(Ymd ymd) {
                 return null;
             }
+
+            @Override
+            public List<String> findWorkTimeByDateRangeAndOrgId(Date startTime, Date endTime, Long orgId) {
+                return null;
+            }
         };
     }
 }

+ 2 - 2
soc-common/soc-common-security/src/main/java/com/xunmei/common/security/handler/GlobalExceptionHandler.java

@@ -99,12 +99,12 @@ public class GlobalExceptionHandler {
     /**
      * 自定义验证异常
      */
-    @ExceptionHandler(MethodArgumentNotValidException.class)
+   /* @ExceptionHandler(MethodArgumentNotValidException.class)
     public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {
         log.error(e.getMessage(), e);
         String message = e.getBindingResult().getFieldError().getDefaultMessage();
         return AjaxResult.error(message);
-    }
+    }*/
 
     /**
      * 内部认证异常

+ 2 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillPlanServiceImpl.java

@@ -202,6 +202,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
         plan.setFileList(ObjectUtil.isNotEmpty(request.getFileList()) ? JSON.toJSONString(request.getFileList()) : null);
         batchSavePlanToRole(request.getPlanRoleId(), plan.getId());
         batchSavePlanToExecOrg(request.getPlanExecOrgIdList(), plan.getId());
+        plan.setPlanStatus(DrillPlanStatus.DRAFT.getCode());
         plan.setStandard(0);
         plan.setIssue(0);
         //省联社或者办事处创建的计划才存在下发
@@ -277,7 +278,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
         List<CoreDrillPlan> planList = buildPlanData(plan, drillPlanToRoleList);
 
         if (plan.getPlanStatus()==DrillPlanStatus.DELETED.getCode()){
-            log.info("计划已被修改为禁用,不再生成任务!");
+            log.info("计划已被修改为"+DrillPlanStatus.DELETED.getDesc()+",不再生成任务!");
             return;
         }
 

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

@@ -43,10 +43,7 @@ import com.xunmei.core.drill.service.ICoreDrillTaskService;
 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.RemoteConfigService;
-import com.xunmei.system.api.RemoteFileService;
-import com.xunmei.system.api.RemoteOrgService;
-import com.xunmei.system.api.RemoteRoleService;
+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;
@@ -98,6 +95,8 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
 
     @Autowired
     RemoteConfigService remoteConfigService;
+    @Autowired
+    private RemoteWorkTimeService workTimeService;
 
     @Autowired
     @Qualifier(ThreadPoolConfig.SOC_EXECUTOR)
@@ -327,6 +326,12 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
     public void createTaskForNow(CoreDrillPlanDataVo plan, Date start, Date end) {
 
+        List<String> workTimeList = workTimeService.findWorkTimeByDateRangeAndOrgId(start, end, plan.getBelongOrgId());
+        if (workTimeList.isEmpty()){
+            log.error("未获取到该机构的作息时间");
+            return;
+        }
+
         //如果不是无周期的计划,那么需要查询出他的时间范围
         if (plan.getPlanCycle() != 0) {
             DateRange dateRange = DateUtils.getStartAndEnd(new Date(), plan.getPlanCycle());

+ 10 - 2
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysWorkTimeController.java

@@ -1,6 +1,5 @@
 package com.xunmei.system.controller;
 
-import cn.hutool.core.date.DateUtil;
 import com.xunmei.common.core.domain.R;
 import com.xunmei.common.core.utils.Ymd;
 import com.xunmei.common.core.web.controller.BaseController;
@@ -20,7 +19,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.text.ParseException;
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 【请填写功能名称】Controller
@@ -135,4 +137,10 @@ public class SysWorkTimeController extends BaseController {
     R<Boolean> existByYmd(Ymd ymd) {
         return R.ok(sysWorkTimeService.existByYmd(ymd.getOrgId(), ymd, ymd.isEnable()));
     }
+
+    @GetMapping("/work/time/findWorkTimeByDateRangeAndOrgId")
+    List<String> findWorkTimeByDateRangeAndOrgId(@RequestParam("startTime") Date startTime, @RequestParam("endTime") Date endTime, @RequestParam("orgId") Long orgId){
+        return sysWorkTimeService.findWorkTimeByDateRangeAndOrgId(startTime,endTime,orgId);
+    }
+
 }

+ 9 - 7
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysWorkTimeService.java

@@ -1,17 +1,17 @@
 package com.xunmei.system.service;
 
-import java.text.ParseException;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import com.xunmei.common.core.utils.Ymd;
-import com.xunmei.system.api.domain.SysWorkTime;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.xunmei.common.core.utils.Ymd;
 import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.system.api.domain.SysWorkTime;
 import com.xunmei.system.domain.SysWorkTimeSet;
 import com.xunmei.system.dto.SysWorkTimeDto;
 
+import java.text.ParseException;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
 /**
  * 【作息】Service接口
  *
@@ -92,4 +92,6 @@ public interface ISysWorkTimeService extends IService<SysWorkTime> {
     TableDataInfo<SysWorkTimeDto> selectPage(SysWorkTime sysWorkTime) throws ParseException;
 
     Map<String, Object> checkData(SysWorkTimeSet sysWorkTime);
+
+    List<String> findWorkTimeByDateRangeAndOrgId(Date startTime, Date endTime, Long orgId);
 }

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

@@ -10,8 +10,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.google.common.collect.Lists;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.common.core.utils.Ymd;
@@ -26,7 +24,6 @@ import com.xunmei.system.mapper.SysWorkTimeMapper;
 import com.xunmei.system.mapper.SysWorkTimeSetMapper;
 import com.xunmei.system.service.ISysOrgService;
 import com.xunmei.system.service.ISysWorkTimeService;
-import com.xunmei.system.util.WorkChangeEvent;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -442,4 +439,16 @@ public class SysWorkTimeServiceImpl extends ServiceImpl<SysWorkTimeMapper, SysWo
     public int deleteSysWorkTimeById(String id) {
         return sysWorkTimeMapper.deleteById(id);
     }
+
+    @Override
+    public List<String> findWorkTimeByDateRangeAndOrgId(Date startTime, Date endTime, Long orgId) {
+        List<SysWorkTime> list = lambdaQuery().ge(SysWorkTime::getYmdDate, startTime)
+                .le(SysWorkTime::getYmdDate, endTime)
+                .eq(SysWorkTime::getOrgId, orgId)
+                .select(SysWorkTime::getYmdDate).list();
+        if (CollectionUtil.isNotEmpty(list)) {
+            return list.stream().map(t -> DateUtil.format(t.getYmdDate(), "yyyy-MM-dd")).collect(Collectors.toList());
+        }
+        return new ArrayList<>();
+    }
 }