ソースを参照

检查任务补全数据

jiawuxian 2 年 前
コミット
764a201ff4

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

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.xunmei.core.safetyCheck.vo.plan.SafetyPlanRoleVo;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
@@ -262,6 +263,10 @@ public class CoreSafetyTask extends BaseEntity {
     @ApiModelProperty(value = "授权的目标用户id")
     private Long grantUserId;
 
+    @TableField(exist = false)
+    @ApiModelProperty(value = "任务的执行角色")
+    private List<SafetyPlanRoleVo> roles;
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/mapper/CoreSafecheckPlanToRoleMapper.java

@@ -4,6 +4,8 @@ import java.util.List;
 
 import com.xunmei.core.safetyCheck.domain.CoreSafecheckPlanToRole;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xunmei.core.safetyCheck.vo.plan.SafetyPlanRoleVo;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 常规安全检查计划执行角色关联Mapper接口
@@ -28,6 +30,8 @@ public interface CoreSafecheckPlanToRoleMapper extends BaseMapper<CoreSafecheckP
      */
     List<CoreSafecheckPlanToRole> selectCoreSafecheckPlanToRoleList(CoreSafecheckPlanToRole coreSafecheckPlanToRole);
 
+    List<SafetyPlanRoleVo> selectRoles(@Param("planId") List<Long> planId);
+
     /**
      * 新增常规安全检查计划执行角色关联
      *

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

@@ -3,19 +3,26 @@ package com.xunmei.core.safetyCheck.service.impl;
 import java.util.Date;
 import java.util.List;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.utils.DateUtils;
+import com.xunmei.core.safetyCheck.domain.CoreSafecheckPlanToRole;
 import com.xunmei.core.safetyCheck.domain.CoreSafetyTask;
+import com.xunmei.core.safetyCheck.mapper.CoreSafecheckPlanToRoleMapper;
 import com.xunmei.core.safetyCheck.mapper.CoreSafetyTaskMapper;
 import com.xunmei.core.safetyCheck.service.ICoreSafetyTaskService;
 import com.xunmei.core.safetyCheck.vo.CheckNfcRecord;
+import com.xunmei.core.safetyCheck.vo.plan.SafetyPlanRoleVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Arrays;
+import java.util.stream.Collectors;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -33,6 +40,8 @@ public class CoreSafetyTaskServiceImpl extends ServiceImpl<CoreSafetyTaskMapper,
     @Autowired
     private CoreSafetyTaskMapper coreSafetyTaskMapper;
 
+    @Autowired
+    private CoreSafecheckPlanToRoleMapper coreSafecheckPlanToRoleMapper;
 
     @Override
     public TableDataInfo<CoreSafetyTask> selectPage(CoreSafetyTask coreSafetyTask) {
@@ -61,10 +70,18 @@ public class CoreSafetyTaskServiceImpl extends ServiceImpl<CoreSafetyTaskMapper,
         }
         //获取数据
         page = coreSafetyTaskMapper.selectCoreSafetyTaskPage(page, coreSafetyTask);
+        if(CollectionUtil.isNotEmpty(page.getRecords())){
+            List<Long> planIds= page.getRecords().stream().map(r->r.getPlanId()).distinct().collect(Collectors.toList());
+
+            List<SafetyPlanRoleVo> planRoles=coreSafecheckPlanToRoleMapper.selectRoles(planIds);
+            page.getRecords().forEach(r->{
+                List<SafetyPlanRoleVo> roles=planRoles.stream().filter(pr-> ObjectUtil.equal(r.getPlanId(),pr.getPlanId())).collect(Collectors.toList());
+                r.setRoles(roles);
+            });
+        }
+
         //抓换为TableDataInfo适配前端
         return TableDataInfo.build(page);
-
-
     }
 
     @Override

+ 12 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/vo/plan/SafetyPlanRoleVo.java

@@ -0,0 +1,12 @@
+package com.xunmei.core.safetyCheck.vo.plan;
+
+import lombok.Data;
+
+@Data
+public class SafetyPlanRoleVo {
+    private Long planId;
+
+    private Long roleId;
+
+    private String roleName;
+}

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

@@ -78,6 +78,7 @@ public class TaskRegisterVo<T> {
         vo.setId(task.getId());
         vo.setTaskName(task.getTitle());
         vo.setPlanId(task.getPlanId());
+        vo.setStatus(task.getStatus());
         vo.setPlanStartTime(task.getPlanStartTime());
         vo.setPlanEndTime(task.getPlanEndTime());
         vo.setCheckOrgId(task.getCheckOrgId());

+ 42 - 27
soc-modules/soc-modules-core/src/main/resources/mapper/safetycheck/CoreSafecheckPlanToRoleMapper.xml

@@ -3,10 +3,9 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xunmei.core.safetyCheck.mapper.CoreSafecheckPlanToRoleMapper">
-
     <resultMap type="com.xunmei.core.safetyCheck.domain.CoreSafecheckPlanToRole" id="CoreSafecheckPlanToRoleResult">
-                <result property="planId" column="plan_id"/>
-                <result property="roleId" column="role_id"/>
+        <result property="planId" column="plan_id"/>
+        <result property="roleId" column="role_id"/>
     </resultMap>
 
     <sql id="selectCoreSafecheckPlanToRoleVo">
@@ -14,54 +13,70 @@
         from core_safecheck_plan_to_role
     </sql>
 
-    <select id="selectCoreSafecheckPlanToRoleList" parameterType="com.xunmei.core.safetyCheck.domain.CoreSafecheckPlanToRole"
+    <select id="selectCoreSafecheckPlanToRoleList"
+            parameterType="com.xunmei.core.safetyCheck.domain.CoreSafecheckPlanToRole"
             resultMap="CoreSafecheckPlanToRoleResult">
         <include refid="selectCoreSafecheckPlanToRoleVo"/>
         <where>
-                        <if test="planId != null ">
-                            and plan_id = #{planId}
-                        </if>
-                        <if test="roleId != null ">
-                            and role_id = #{roleId}
-                        </if>
+            <if test="planId != null ">
+                and plan_id = #{planId}
+            </if>
+            <if test="roleId != null ">
+                and role_id = #{roleId}
+            </if>
         </where>
     </select>
 
     <select id="selectCoreSafecheckPlanToRoleByPlanId" parameterType="Long"
             resultMap="CoreSafecheckPlanToRoleResult">
-            <include refid="selectCoreSafecheckPlanToRoleVo"/>
-            where plan_id = #{planId}
+        <include refid="selectCoreSafecheckPlanToRoleVo"/>
+        where plan_id = #{planId}
     </select>
-
-    <insert id="insertCoreSafecheckPlanToRole" parameterType="com.xunmei.core.safetyCheck.domain.CoreSafecheckPlanToRole">
+    <select id="selectRoles" resultType="com.xunmei.core.safetyCheck.vo.plan.SafetyPlanRoleVo">
+        select pr.role_id as roleId,pr.plan_id as planId,r.role_name as roleName from core_safecheck_plan_to_role pr
+        inner join sys_role r on pr.role_id=r.id
+        where r.del_flag=0 and pr.plan_id in
+        <foreach collection="planId" item="id" separator="," open="(" close=")">
+            #{id}
+        </foreach>
+    </select>
+    <insert id="insertCoreSafecheckPlanToRole"
+            parameterType="com.xunmei.core.safetyCheck.domain.CoreSafecheckPlanToRole">
         insert into core_safecheck_plan_to_role
         <trim prefix="(" suffix=")" suffixOverrides=",">
-                    <if test="planId != null">plan_id,
-                    </if>
-                    <if test="roleId != null">role_id,
-                    </if>
+            <if test="planId != null">
+                plan_id,
+            </if>
+            <if test="roleId != null">
+                role_id,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-                    <if test="planId != null">#{planId},
-                    </if>
-                    <if test="roleId != null">#{roleId},
-                    </if>
+            <if test="planId != null">
+                #{planId},
+            </if>
+            <if test="roleId != null">
+                #{roleId},
+            </if>
         </trim>
     </insert>
 
-    <update id="updateCoreSafecheckPlanToRole" parameterType="com.xunmei.core.safetyCheck.domain.CoreSafecheckPlanToRole">
+    <update id="updateCoreSafecheckPlanToRole"
+            parameterType="com.xunmei.core.safetyCheck.domain.CoreSafecheckPlanToRole">
         update core_safecheck_plan_to_role
         <trim prefix="SET" suffixOverrides=",">
-                    <if test="roleId != null">role_id =
-                        #{roleId},
-                    </if>
+            <if test="roleId != null">
+                role_id =
+                #{roleId},
+            </if>
         </trim>
         where plan_id = #{planId}
     </update>
 
     <delete id="deleteCoreSafecheckPlanToRoleByPlanId" parameterType="Long">
         delete
-        from core_safecheck_plan_to_role where plan_id = #{planId}
+        from core_safecheck_plan_to_role
+        where plan_id = #{planId}
     </delete>
 
     <delete id="deleteCoreSafecheckPlanToRoleByPlanIds" parameterType="String">

+ 4 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/safetycheck/CoreSafetyTaskMapper.xml

@@ -197,11 +197,14 @@
         where id = #{id}
     </select>
     <select id="selectCoreSafetyTaskPage" resultType="com.xunmei.core.safetyCheck.domain.CoreSafetyTask">
-        SELECT t.id,t.title,
+        SELECT t.id,
+        t.title,
         o1.`name` as org_name,
         o2.`name` as check_org_name,
         u1.name as submit_name,
         r1.role_name as role_name,
+        t.plan_id,
+        t.check_org_id,
         t.start_time,
         t.end_time,
         t.`status`,