浏览代码

安全检查功能完善

jiawuxian 1 年之前
父节点
当前提交
58229f6c7d

+ 6 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/controller/CoreSafetyTaskController.java

@@ -65,12 +65,12 @@ public class CoreSafetyTaskController extends BaseController {
         return success(b);
     }
 
-    @ApiOperation(value = "履职计划下拉框")
-    @GetMapping("/plan")
-    public AjaxResult plan(Long orgId) {
-        List<CoreSafecheckPlan> list = planService.list(new LambdaQueryWrapper<CoreSafecheckPlan>().eq(CoreSafecheckPlan::getCheckOrg, orgId));
-        return success(list);
-    }
+//    @ApiOperation(value = "履职计划下拉框")
+//    @GetMapping("/plan")
+//    public AjaxResult plan(Long orgId) {
+//        List<CoreSafecheckPlan> list = planService.list(new LambdaQueryWrapper<CoreSafecheckPlan>().eq(CoreSafecheckPlan::getCheckOrg, orgId));
+//        return success(list);
+//    }
 
     /**
      * 获取【请填写功能名称】详细信息

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/controller/SafetyCheckRegisterController.java

@@ -29,7 +29,7 @@ public class SafetyCheckRegisterController extends BaseController {
     @PostMapping("page")
     @RequiresPermissions("core:safetycheck:appregister")
     public TableDataInfo getAppPage(@RequestBody AppPageDto query) {
-      Long[] roleIds=  SecurityUtils.getLoginUser().getSysUser().getRoleIds();
+//      Long[] roleIds=  SecurityUtils.getLoginUser().getSysUser().getRoleIds();
 
         TableDataInfo appRulePage = safetyCheckRegisterSerice.appList(query);
         return appRulePage;

+ 5 - 5
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/domain/CoreSafecheckPlan.java

@@ -146,11 +146,11 @@ public class CoreSafecheckPlan extends BaseEntity {
     /**
      * 受检机构类型
      */
-    @ApiModelProperty(value = "受检机构类型")
-    @JsonSerialize(using = ToStringSerializer.class)
-    private Long checkOrgType;
-    @ApiModelProperty(value = "受检机构")
-    private String checkOrg;
+//    @ApiModelProperty(value = "受检机构类型")
+//    @JsonSerialize(using = ToStringSerializer.class)
+//    private Long checkOrgType;
+//    @ApiModelProperty(value = "受检机构")
+//    private String checkOrg;
 
     @TableField(exist = false)
     private List<CoreSafecheckPlanToCheckOrgType> checkOrgTypeList;

+ 13 - 7
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/job/SafetyCheckJobBusiness.java

@@ -205,7 +205,10 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
         List<PlanTaskBuildVo> list = new ArrayList<>();
         Integer execOrgType = Math.toIntExact(plan.getExecOrgType());
 //        Integer checkOrgType = Math.toIntExact(plan.getCheckOrgType());
-        List<Integer> checkOrgTypes = coreSafecheckPlanToCheckOrgTypeMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToCheckOrgType>().eq(CoreSafecheckPlanToCheckOrgType::getPlanId, plan.getId())).stream().map(CoreSafecheckPlanToCheckOrgType::getTypeId).collect(Collectors.toList());
+        List<Integer> checkOrgTypes = coreSafecheckPlanToCheckOrgTypeMapper
+                .selectList(new LambdaQueryWrapper<CoreSafecheckPlanToCheckOrgType>()
+                        .eq(CoreSafecheckPlanToCheckOrgType::getPlanId, plan.getId()))
+                .stream().map(CoreSafecheckPlanToCheckOrgType::getTypeId).collect(Collectors.toList());
         //获取具体执行检查的机构
         QueryWrapper<CoreSafecheckPlanToExecOrg> eos = new QueryWrapper<>();
         eos.lambda().eq(CoreSafecheckPlanToExecOrg::getPlanId, plan.getId());
@@ -237,14 +240,17 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 //        execOrgs = execOrgs.stream().filter(o -> ObjectUtil.equal(o.getIsLock(), false)).collect(Collectors.toList());
         //此处循环所有执行检查的机构
         for (SysOrg org : execOrgs) {
-            List<SysOrg> checkOrgs = null;
+            List<SysOrg> checkOrgs = new ArrayList<>();
             if (ObjectUtil.isEmpty(checkOrg)) {
                 //如果没有选择具体受检的机构,则根据受检机构类型查询
-                if (checkOrgTypes.contains(execOrgType) && checkOrgTypes.size() == 1) {
-                    //如果检查机构类型与被检机构类型一致,则表示查自己
-                    checkOrgs = Arrays.asList(org);
-                } else {
-                    checkOrgs = orgService.findByOrgTypesAndParent(new FindOrgTypes(checkOrgTypes, org.getPath()), SecurityConstants.INNER);
+                if (checkOrgTypes.contains(execOrgType)) {
+                    checkOrgs.add(org);
+                }
+
+                List<Integer> orgTypes = checkOrgTypes.stream().filter(t -> ObjectUtil.notEqual(t,execOrgType)).collect(Collectors.toList());
+                if(CollectionUtil.isNotEmpty(orgTypes)){
+                    List<SysOrg>  checkOrgsTmp = orgService.findByOrgTypesAndParent(new FindOrgTypes(orgTypes, org.getPath()), SecurityConstants.INNER);
+                    checkOrgs.addAll(checkOrgsTmp);
                 }
             } else {
                 //选择了具体的受检机构

+ 11 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/impl/SafetyCheckRegisterSericeImpl.java

@@ -222,6 +222,13 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
         if (ObjectUtil.isNotNull(task.getPlanId())) {
             plan = coreSafecheckPlanMapper.selectById(task.getPlanId());
         }
+        SysOrg beCheckedOrg= remoteOrgService.selectOrgById(task.getOrgId(),SecurityConstants.INNER);
+        if(ObjectUtil.isNull(beCheckedOrg)){
+            throw new ServiceException("受检机构不存在");
+        }
+        if(ObjectUtil.isNull(beCheckedOrg.getType())){
+            throw new ServiceException("受检机构没有机构类型");
+        }
 
         /**
          * 已经完成任务的信息应该从任务信息中获取
@@ -249,9 +256,11 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
             taskImgs = imgs.stream().collect(Collectors.groupingBy(CoreSafetyTaskDataRemarkimg::getTaskDataId));
         }
 
+        TaskRegisterVo<AppTaskRegisterPointVo> vo = TaskRegisterVo.of(task, beCheckedOrg.getType().toString(), roleNames);
+        if(ObjectUtil.isNotNull(plan)){
+            vo.setPlanType(plan.getCheckType().intValue());
+        }
 
-        TaskRegisterVo<AppTaskRegisterPointVo> vo = TaskRegisterVo.of(task, plan != null ? plan.getCheckOrgType().toString() : "", roleNames);
-//        vo.setPlanType(plan.getCheckType().intValue());
         Set<Long> usedNfcId = new HashSet<>();
         for (AppTaskRegisterPointVo point : points) {
             List<CoreSafetyTaskDataRemarkimg> dataImgs = taskImgs.get(point.getPointDataId());

+ 2 - 3
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/vo/regsiter/TaskRegisterVo.java

@@ -32,9 +32,8 @@ public class TaskRegisterVo<T> {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long planId;
 
-//    @ApiModelProperty(value = "计划类型")
-//
-//    private Integer planType;
+    @ApiModelProperty(value = "计划类型")
+    private Integer planType;
 
     @ApiModelProperty(value = "计划开始时间")
     private Date planStartTime;

+ 1 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/board/AppCockpitMapper.xml

@@ -63,7 +63,7 @@
                sum(if(t.ymd_date &lt; #{date}, 1, 0))                        as prevcount,
                sum(if(t.ymd_date &lt; #{date}, (if(t.`status` = 3, 1, 0)), 0)) as prevcompleted
         FROM core_safety_task t
-        INNER JOIN core_safecheck_plan p on t.plan_id=p.id and p.check_type=1
+        INNER JOIN core_safecheck_plan p on t.plan_id=p.id and p.check_type=3
         WHERE ymd_date >= #{prevdate}
           and org_path like concat(#{orgPath}, '%')
     </select>