소스 검색

Merge branch 'V0.0.2' of http://10.87.10.227:4000/jzyd_yyds/soc into V0.0.2

jiawuxian 2 년 전
부모
커밋
6544f9c5e0

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

@@ -34,4 +34,6 @@ public interface RemoteWorkTimeService {
 
     @PostMapping("/work/time/checkWorkTime")
     Integer checkWorkTime(@RequestBody Map<String,Object> searchData,  @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+    @GetMapping("/work/time/findWorkTimeByOrgIdAndYmd")
+    SysWorkTime findWorkTimeByOrgIdAndYmd(@RequestParam("ymdDate") Date startTime, @RequestParam("orgId") Long orgId);
 }

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

@@ -52,6 +52,11 @@ public class RemoteWorkTimesFallbackFactory implements FallbackFactory<RemoteWor
                 return null;
             }
 
+            @Override
+            public SysWorkTime findWorkTimeByOrgIdAndYmd(Date startTime, Long orgId) {
+                return null;
+            }
+
 
         };
     }

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

@@ -23,15 +23,11 @@ import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanDataVo;
 import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanDetailVo;
 import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanPageVo;
 import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanRoleVo;
-import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlan;
-import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTask;
-import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanDataVo;
+import com.xunmei.common.core.enums.OrgTypeEnum;
 import com.xunmei.common.core.enums.drill.DrillDoStatus;
 import com.xunmei.common.core.enums.drill.DrillPlanCycleEnum;
-import com.xunmei.common.core.enums.edu.EduTrainingDoStatus;
-import com.xunmei.common.core.enums.edu.EduTrainingPlanCycleEnum;
-import com.xunmei.common.core.enums.OrgTypeEnum;
 import com.xunmei.common.core.enums.drill.DrillPlanStatus;
+import com.xunmei.common.core.enums.edu.EduTrainingPlanCycleEnum;
 import com.xunmei.common.core.enums.edu.EduTrainingPlanStatus;
 import com.xunmei.common.core.exception.SystemException;
 import com.xunmei.common.core.utils.DateUtils;
@@ -373,8 +369,11 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
     }
 
     private void updateCommonPlan(CoreDrillPlan plan, CoreDrillPlanUpdateDto request, DateRange range) {
+        CoreDrillPlan parentPlan = coreDrillPlanMapper.selectOne(new LambdaQueryWrapper<CoreDrillPlan>()
+                .eq(CoreDrillPlan::getId, plan.getParentId())
+                .select(CoreDrillPlan::getExecTimes));
         //使用中的普通计划
-        if (plan.getExecTimes() > request.getExecTimes()) {
+        if (parentPlan.getExecTimes() > request.getExecTimes()) {
             throw new RuntimeException("执行次数不能小于基准计划执行次数!");
         }
         String errorMsg = "子计划仅允许修改演练次数!";

+ 9 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingPlanServiceImpl.java

@@ -8,7 +8,6 @@ import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -16,9 +15,10 @@ 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.IdName;
-import com.xunmei.common.core.domain.drill.domain.CoreDrillPlan;
-import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanDataVo;
-import com.xunmei.common.core.domain.edu.domain.*;
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlan;
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlanToExecOrg;
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlanToRole;
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTask;
 import com.xunmei.common.core.domain.edu.dto.CoreEduTrainingPlanEditDto;
 import com.xunmei.common.core.domain.edu.dto.CoreEduTrainingPlanInsertDto;
 import com.xunmei.common.core.domain.edu.dto.CoreEduTrainingPlanPageDto;
@@ -26,10 +26,10 @@ import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanDataVo;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanDetailVo;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanPageVo;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanRoleVo;
+import com.xunmei.common.core.enums.OrgTypeEnum;
 import com.xunmei.common.core.enums.drill.DrillPlanCycleEnum;
 import com.xunmei.common.core.enums.edu.EduTrainingDoStatus;
 import com.xunmei.common.core.enums.edu.EduTrainingPlanCycleEnum;
-import com.xunmei.common.core.enums.OrgTypeEnum;
 import com.xunmei.common.core.enums.edu.EduTrainingPlanStatus;
 import com.xunmei.common.core.utils.AssertUtil;
 import com.xunmei.common.core.utils.DateUtils;
@@ -272,8 +272,11 @@ public class CoreEduTrainingPlanServiceImpl extends ServiceImpl<CoreEduTrainingP
     }
 
     private void updateCommonPlan(CoreEduTrainingPlan plan, CoreEduTrainingPlanEditDto request, DateRange range) {
+        CoreEduTrainingPlan parentPlan = coreEduTrainingPlanMapper.selectOne(new LambdaQueryWrapper<CoreEduTrainingPlan>()
+                .eq(CoreEduTrainingPlan::getId, plan.getParentId())
+                .select(CoreEduTrainingPlan::getExecTimes));
         //使用中的普通计划
-        if (plan.getExecTimes() > request.getExecTimes()) {
+        if (parentPlan.getExecTimes() > request.getExecTimes()) {
             throw new RuntimeException("执行次数不能小于基准计划执行次数!");
         }
         String errorMsg = "子计划仅允许修改培训次数!";

+ 27 - 5
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/job/SafetyCheckJobBusiness.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.worktime.domain.SysWorkTime;
+import com.xunmei.common.core.enums.CycleCommonEnum;
 import com.xunmei.common.core.utils.DateHelper;
 import com.xunmei.common.core.utils.IDHelper;
 import com.xunmei.core.TaskCreatingServiceImplBase;
@@ -42,7 +43,7 @@ import java.util.stream.Collectors;
 
 @Slf4j
 @Component
-public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafetyTaskMapper,CoreSafetyTask> {
+public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafetyTaskMapper, CoreSafetyTask> {
     @Resource
     CoreSafecheckPlanMapper planMapper;
     @Resource
@@ -94,6 +95,7 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 
     /**
      * 检查指定机构有无作息
+     *
      * @param workstartTime
      * @param workendTime
      * @param orgId
@@ -150,23 +152,24 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 
     /**
      * 指定计划生成任务
+     *
      * @param plans
      * @throws Exception
      */
     @Async
     public void createTaskByPlans(List<CoreSafecheckPlan> plans) throws Exception {
-        if(plans!=null&&plans.size()>0){
+        if (plans != null && plans.size() > 0) {
             int cycle = Math.toIntExact(plans.get(0).getPlanCycle());
             DateTime datetime = new DateTime();
             datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
             DateHelper dateHelper = new DateHelper(datetime);
-            Map<String, Date> map=null;
+            Map<String, Date> map = null;
             //如果无周期
-            if(cycle==6){
+            if (cycle == 6) {
                 map = DateHelper.getStartAndEnd(dateHelper, null);
                 map.put("start", plans.get(0).getStartDate());
                 map.put("end", plans.get(0).getEndDate());
-            }else{
+            } else {
                 map = DateHelper.getStartAndEnd(dateHelper, cycle);
             }
             List<PlanTaskBuildVo> tasks = new ArrayList<>();
@@ -631,7 +634,26 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 
     @Override
     public void rebuildWeeklyTask(List<Long> orgIds, Date startDate, Date endDate) {
+        Map<Long, Boolean> workingMap = orgWorkTimeStatusMap(startDate, CycleCommonEnum.WEEKLY, orgIds);
+//        List<Long> deleteTaskIds = new ArrayList<>();
+
+        List<SysOrg> orgs = remoteOrgService.selectByOrgIdList(orgIds, SecurityConstants.INNER);
+        for (SysOrg org : orgs) {
+            if (ObjectUtil.isNull(org.getType())) {
+                continue;
+            }
 
+            Long orgId = org.getId();
+            if (!workingMap.containsKey(orgId) || !workingMap.get(orgId)) {
+                //当前作息周期已经歇业,删除未进行的任务
+                checkTaskService.deleteByOrgIdAndRange(orgId, startDate, endDate);
+                continue;
+            }else{
+                //开始营业,重新生成任务
+
+            }
+
+        }
     }
 
     @Override

+ 8 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/ICoreSafetyTaskService.java

@@ -77,4 +77,12 @@ public interface ICoreSafetyTaskService extends IService<CoreSafetyTask> {
     List<CheckNfcRecord> selectNfc(String taskId);
 
     List<PanelListVo> selectCurUserTaskList(PanelListDto panelListDto);
+
+    /**
+     * 根据机构id删除时间区域内的未进行的任务
+     * @param orgId
+     * @param startDate
+     * @param endDate
+     */
+    void deleteByOrgIdAndRange(Long orgId, Date startDate, Date endDate);
 }

+ 7 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/impl/CoreSafetyTaskServiceImpl.java

@@ -165,4 +165,11 @@ public class CoreSafetyTaskServiceImpl extends ServiceImpl<CoreSafetyTaskMapper,
         list.forEach(item -> { item.setType(PanelTypeEnums.SAFETY_CHECK.getCode());});
         return list;
     }
+
+    @Override
+    public void deleteByOrgIdAndRange(Long orgId, Date startDate, Date endDate) {
+        coreSafetyTaskMapper.delete(new LambdaQueryWrapper<CoreSafetyTask>().eq(CoreSafetyTask::getOrgId, orgId).between(CoreSafetyTask::getYmdDate, startDate, endDate).in(CoreSafetyTask::getStatus,1,2));
+    }
+
+
 }

+ 4 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysWorkTimeController.java

@@ -163,5 +163,8 @@ public class SysWorkTimeController extends BaseController {
     Integer checkWorkTime(@RequestBody Map<String,Object> map){
         return sysWorkTimeService.checkWorkTime(map);
     }
-
+    @GetMapping("/findWorkTimeByOrgIdAndYmd")
+    SysWorkTime findWorkTimeByOrgIdAndYmd(Date ymdDate, Long orgId) {
+        return sysWorkTimeService.findWorkTimeByOrgIdAndYmd(ymdDate, orgId);
+    }
 }

+ 2 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysWorkTimeService.java

@@ -99,4 +99,6 @@ public interface ISysWorkTimeService extends IService<SysWorkTime> {
     List<SysWorkTime> findFutureWorkTime(WorkTimeDto workTimeDto);
 
     int checkWorkTime(Map<String,Object> map);
+
+    SysWorkTime findWorkTimeByOrgIdAndYmd(Date ymdDate, Long orgId);
 }

+ 8 - 8
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysAreaCheckServiceImpl.java

@@ -46,6 +46,7 @@ public class SysAreaCheckServiceImpl extends ServiceImpl<SysAreaCheckMapper, Sys
     private SysDictDataMapper sysDictDataMapper;
     @Autowired
     private SysOrgMapper sysOrgMapper;
+
     @Override
     public TableDataInfo<SysAreaCheck> selectPage(SysAreaCheckDTO sysAreaCheck) {
         //未删除
@@ -71,7 +72,7 @@ public class SysAreaCheckServiceImpl extends ServiceImpl<SysAreaCheckMapper, Sys
     @Override
     public List<SysAreaCheck> selectByAreaId(Long areaId) {
         SysAreaCheck areaCheck = new SysAreaCheck();
-      //  areaCheck.setAreaId(areaId);
+        //  areaCheck.setAreaId(areaId);
         areaCheck.setDelFlag("0");
         //查询机构名称
         return baseMapper.selectSysAreaCheckList(areaCheck);
@@ -129,8 +130,8 @@ public class SysAreaCheckServiceImpl extends ServiceImpl<SysAreaCheckMapper, Sys
         if (aLong > 0) {
             throw new ServiceException("名称不能重复");
         }
-      //  SysOrg sysOrg = orgService.selectSysOrgById(sysAreaCheck.getOrgId());
-      //  sysAreaCheck.setOrgPath(sysOrg.getPath());
+        //  SysOrg sysOrg = orgService.selectSysOrgById(sysAreaCheck.getOrgId());
+        //  sysAreaCheck.setOrgPath(sysOrg.getPath());
         sysAreaCheck.setCreateTime(DateUtils.getNowDate());
         sysAreaCheck.setCreateBy(SecurityUtils.getUsername());
         sysAreaCheck.setUpdateBy(SecurityUtils.getUsername());
@@ -149,15 +150,14 @@ public class SysAreaCheckServiceImpl extends ServiceImpl<SysAreaCheckMapper, Sys
     public int updateSysAreaCheck(SysAreaCheck sysAreaCheck) {
         QueryWrapper queryWrapper = new QueryWrapper();
         queryWrapper.eq("check_name", sysAreaCheck.getCheckName());
-      //  queryWrapper.eq("area_id", sysAreaCheck.getAreaId());
-        queryWrapper.eq("org_id", sysAreaCheck.getOrgId());
+        queryWrapper.eq("org_type", sysAreaCheck.getOrgType());
         queryWrapper.eq("del_flag", 0);
         SysAreaCheck sysAreaCheck1 = baseMapper.selectOne(queryWrapper);
-        if (null != sysAreaCheck1 && sysAreaCheck1.getId() != sysAreaCheck.getId()) {
+        if (null != sysAreaCheck1 && !sysAreaCheck1.getId().equals(sysAreaCheck.getId())) {
             throw new ServiceException("名称不能重复");
         }
-        SysOrg sysOrg = orgService.selectSysOrgById(sysAreaCheck.getOrgId());
-        sysAreaCheck.setOrgPath(sysOrg.getPath());
+        //  SysOrg sysOrg = orgService.selectSysOrgById(sysAreaCheck.getOrgId());
+        //    sysAreaCheck.setOrgPath(sysOrg.getPath());
         sysAreaCheck.setUpdateBy(SecurityUtils.getUsername());
         sysAreaCheck.setUpdateTime(DateUtils.getNowDate());
         sysAreaCheck.setUpdateId(SecurityUtils.getUserId().toString());

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

@@ -465,4 +465,9 @@ public class SysWorkTimeServiceImpl extends ServiceImpl<SysWorkTimeMapper, SysWo
         return sysWorkTimeMapper.checkWorkTime(param);
     }
 
+    @Override
+    public SysWorkTime findWorkTimeByOrgIdAndYmd(Date ymdDate, Long orgId) {
+        return sysWorkTimeMapper.selectOne(new LambdaQueryWrapper<SysWorkTime>().eq(SysWorkTime::getYmdDate,ymdDate).eq(SysWorkTime::getOrgId,orgId));
+    }
+
 }