Explorar el Código

【新增】 预案执行记录冲突提交

linfutong hace 3 años
padre
commit
9a4bb459b7
Se han modificado 13 ficheros con 744 adiciones y 89 borrados
  1. 67 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabRiskPlanAbnormalDescController.java
  2. 32 3
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabRiskPlanAbnormalGroupController.java
  3. 136 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabRiskPlanAbnormalDesc.java
  4. 28 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabRiskPlanAbnormalGroup.java
  5. 4 4
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/vo/LabRiskPlanAbnormalGroupVO.java
  6. 53 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabRiskPlanAbnormalDescMapper.java
  7. 22 9
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabRiskPlanAbnormalGroupMapper.java
  8. 71 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabRiskPlanAbnormalDescService.java
  9. 32 3
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabRiskPlanAbnormalGroupService.java
  10. 95 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanAbnormalDescServiceImpl.java
  11. 62 25
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanAbnormalGroupServiceImpl.java
  12. 109 0
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanAbnormalDescMapper.xml
  13. 33 45
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanAbnormalGroupMapper.xml

+ 67 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabRiskPlanAbnormalDescController.java

@@ -0,0 +1,67 @@
+package com.zd.laboratory.controller;
+
+import com.zd.common.core.web.controller.BaseController;
+import com.zd.laboratory.domain.LabRiskPlanAbnormalDesc;
+import com.zd.laboratory.service.ILabRiskPlanAbnormalDescService;
+import com.zd.laboratory.service.impl.LabRiskPlanAbnormalDescServiceImpl;
+import com.zd.model.domain.ResultData;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>风险执行概要</p>
+ *
+ * @author linft
+ * @version 1.0
+ * @date 12/9/2022
+ */
+@RestController
+@RequestMapping("/plan/desc")
+@Api(tags = {" 风险执行概要"})
+public class LabRiskPlanAbnormalDescController extends BaseController {
+
+    @Autowired
+    private ILabRiskPlanAbnormalDescService labRiskPlanAbnormalDescService;
+
+    @GetMapping("/riskPlanAbnormalDesc")
+    public ResultData getRiskPlanAbnormalDesc(Long groupId) {
+        if (groupId != null) {
+            LabRiskPlanAbnormalDesc desc = new LabRiskPlanAbnormalDesc();
+            desc.setGroupId(groupId);
+            List<LabRiskPlanAbnormalDesc> list = labRiskPlanAbnormalDescService.selectByList(desc);
+            if (list != null && list.size() > 0) {
+                LabRiskPlanAbnormalDesc result = list.get(0);
+                return ResultData.success(result);
+            }
+        }
+        return ResultData.success();
+    }
+
+    @PostMapping("/add")
+    public ResultData addRiskPlanAbnormalDesc(@RequestBody LabRiskPlanAbnormalDesc desc) {
+        if (desc != null && labRiskPlanAbnormalDescService.insert(desc) > 0) {
+            return ResultData.success();
+        }
+        return ResultData.fail();
+    }
+
+    @PostMapping("/update")
+    public ResultData updateRiskPlanAbnormalDesc(@RequestBody LabRiskPlanAbnormalDesc desc) {
+        if (desc != null && labRiskPlanAbnormalDescService.updateById(desc) > 0) {
+            return ResultData.success();
+        }
+        return ResultData.fail();
+    }
+
+    @PostMapping("/delete")
+    public ResultData deleteRiskPlanAbnormalDesc(@RequestBody LabRiskPlanAbnormalDesc desc) {
+        if (desc != null && desc.getDescId() != null && labRiskPlanAbnormalDescService.deleteById(desc.getDescId()) > 0) {
+            return ResultData.success();
+        }
+        return ResultData.fail();
+    }
+
+}

+ 32 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabRiskPlanAbnormalGroupController.java

@@ -1,18 +1,23 @@
 package com.zd.laboratory.controller;
 
+import com.zd.common.core.web.controller.BaseController;
+import com.zd.model.domain.ResultData;
 import com.zd.laboratory.domain.LabRiskPlanAbnormalGroup;
 import com.zd.laboratory.domain.vo.LabRiskPlanAbnormalGroupVO;
 import com.zd.laboratory.service.ILabRiskPlanAbnormalGroupService;
-import com.zd.model.domain.ResultData;
+import com.zd.model.page.TableDataInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
+import static com.zd.common.core.utils.PageHelperUtil.startPage;
+
 /**
  * 风险异常组Controller
  *
@@ -22,7 +27,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/plan/group")
 @Api(tags = {" 风险异常组"})
-public class LabRiskPlanAbnormalGroupController {
+public class LabRiskPlanAbnormalGroupController extends BaseController {
 
     @Autowired
     private ILabRiskPlanAbnormalGroupService labRiskPlanAbnormalGroupService;
@@ -37,7 +42,31 @@ public class LabRiskPlanAbnormalGroupController {
         return ResultData.success(list);
     }
 
+    @GetMapping("/riskExeRecordList")
+    @ApiOperation(value = "查询预案执行记录")
+    public TableDataInfo riskExeRecordList(LabRiskPlanAbnormalGroup group) {
+        startPage();
+        List<LabRiskPlanAbnormalGroup> list = labRiskPlanAbnormalGroupService.queryRiskExeRecordList(group);
+        return getDataTable(list);
+    }
 
+    @GetMapping("/addRiskExeRecord")
+    @ApiOperation(value = "查询预案执行记录")
+    public ResultData addRiskExeRecord(String riskPlanName, long subjectId, String subjectName, Integer riskAttribute, String riskReason, int riskLevel) {
+        boolean bool = labRiskPlanAbnormalGroupService.addRiskExeRecord(riskPlanName, subjectId, subjectName, riskAttribute, riskReason, riskLevel);
+        if (bool) {
+            return ResultData.success();
+        }
+        return ResultData.fail();
+    }
 
-
+    @GetMapping("/doneRiskExeRecord")
+    @ApiOperation(value = "查询预案执行记录")
+    public ResultData doneRiskExeRecord(long groupId,String handledPerson, String recordVideo) {
+        boolean bool = labRiskPlanAbnormalGroupService.doneRiskExeRecord(groupId, handledPerson, recordVideo);
+        if (bool) {
+            return ResultData.success();
+        }
+        return ResultData.fail();
+    }
 }

+ 136 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabRiskPlanAbnormalDesc.java

@@ -0,0 +1,136 @@
+package com.zd.laboratory.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zd.model.entity.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * <p>
+ * 风险概况
+ * </p>
+ *
+ * @author linft
+ * @since 2022-12-09
+ */
+@ApiModel(value = "LabRiskPlanAbnormalDesc对象", description = "风险概况")
+public class LabRiskPlanAbnormalDesc extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("主键")
+    private Long descId;
+
+    @ApiModelProperty("风险组")
+    private Long groupId;
+
+    @ApiModelProperty("风险事故原因")
+    private String riskReason;
+
+    @ApiModelProperty("风险等级")
+    private Integer riskLevel;
+
+    @ApiModelProperty("发生时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date startDate;
+
+    @ApiModelProperty("结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date endDate;
+
+    @ApiModelProperty("持续时长(s)")
+    private Long riskDuration;
+
+    @ApiModelProperty("风险响应人员")
+    private String handledPerson;
+
+    @ApiModelProperty("实验室内人员")
+    private String internalPerson;
+
+    @ApiModelProperty("现场记录(视频)")
+    private String recordVideo;
+
+    public Long getDescId() {
+        return descId;
+    }
+
+    public Long getGroupId() {
+        return groupId;
+    }
+
+    public String getRiskReason() {
+        return riskReason;
+    }
+
+    public Integer getRiskLevel() {
+        return riskLevel;
+    }
+
+    public Date getStartDate() {
+        return startDate;
+    }
+
+    public Date getEndDate() {
+        return endDate;
+    }
+
+    public Long getRiskDuration() {
+        return riskDuration;
+    }
+
+    public String getRecordVideo() {
+        return recordVideo;
+    }
+
+    public void setDescId(Long descId) {
+        this.descId = descId;
+    }
+
+    public void setGroupId(Long groupId) {
+        this.groupId = groupId;
+    }
+
+    public void setRiskReason(String riskReason) {
+        this.riskReason = riskReason;
+    }
+
+    public void setRiskLevel(Integer riskLevel) {
+        this.riskLevel = riskLevel;
+    }
+
+    public void setStartDate(Date startDate) {
+        this.startDate = startDate;
+    }
+
+    public void setEndDate(Date endDate) {
+        this.endDate = endDate;
+    }
+
+    public void setRiskDuration(Long riskDuration) {
+        this.riskDuration = riskDuration;
+    }
+
+    public void setRecordVideo(String recordVideo) {
+        this.recordVideo = recordVideo;
+    }
+
+    public String getHandledPerson() {
+        return handledPerson;
+    }
+
+    public void setHandledPerson(String handledPerson) {
+        this.handledPerson = handledPerson;
+    }
+
+    public String getInternalPerson() {
+        return internalPerson;
+    }
+
+    public void setInternalPerson(String internalPerson) {
+        this.internalPerson = internalPerson;
+    }
+}

+ 28 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabRiskPlanAbnormalGroup.java

@@ -39,6 +39,18 @@ public class LabRiskPlanAbnormalGroup extends BaseEntity {
     private Long subjectId;
 
     /**
+     * 实验室名称
+     */
+    @ApiModelProperty(value = "实验室名称")
+    private String subjectName;
+
+    /**
+     * 预案属性:1-火灾预案、2-非火灾预案
+     */
+    @ApiModelProperty(value = "预案属性")
+    private Integer riskAttribute;
+
+    /**
      * 组级状态,(1组开始,0是组关闭)
      */
     @ApiModelProperty(value = "组级状态,(1组开始,0是组关闭)")
@@ -77,4 +89,20 @@ public class LabRiskPlanAbnormalGroup extends BaseEntity {
     public void setStatus(Long status) {
         this.status = status;
     }
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public Integer getRiskAttribute() {
+        return riskAttribute;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
+    public void setRiskAttribute(Integer riskAttribute) {
+        this.riskAttribute = riskAttribute;
+    }
 }

+ 4 - 4
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/vo/LabRiskPlanAbnormalGroupVO.java

@@ -17,8 +17,8 @@ import java.util.List;
 @ApiModel("风险预案组Vo")
 public class LabRiskPlanAbnormalGroupVO extends LabRiskPlanAbnormalGroup {
 
-    @ApiModelProperty(value = "实验室名称")
-    private String subjectName;
+    /*@ApiModelProperty(value = "实验室名称")
+    private String subjectName;*/
 
     @ApiModelProperty(value = "学校id")
     private String buildId;
@@ -49,13 +49,13 @@ public class LabRiskPlanAbnormalGroupVO extends LabRiskPlanAbnormalGroup {
 
     private List<LabHardware> hardwareList;
 
-    public String getSubjectName() {
+    /*public String getSubjectName() {
         return subjectName;
     }
 
     public void setSubjectName(String subjectName) {
         this.subjectName = subjectName;
-    }
+    }*/
 
     public List <LabHardware> getHardwareList() {
         return hardwareList;

+ 53 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabRiskPlanAbnormalDescMapper.java

@@ -0,0 +1,53 @@
+package com.zd.laboratory.mapper;
+
+import com.zd.laboratory.domain.LabRiskPlanAbnormalDesc;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
+/**
+ * <p>
+ * 风险概况 Mapper 接口
+ * </p>
+ *
+ * @author linft
+ * @since 2022-12-09
+ */
+public interface LabRiskPlanAbnormalDescMapper {
+
+    /**
+     * 插入一条记录
+     *
+     * @param labRiskPlanAbnormalDesc 实体对象
+     */
+    int insert(LabRiskPlanAbnormalDesc labRiskPlanAbnormalDesc);
+
+    /**
+     * 根据 ID 修改
+     *
+     * @param labRiskPlanAbnormalDesc 实体对象
+     */
+    int updateById(LabRiskPlanAbnormalDesc labRiskPlanAbnormalDesc);
+
+    /**
+     * 根据 ID 删除
+     *
+     * @param descId 主键ID
+     */
+    int deleteById(Long descId);
+
+
+    /**
+     * 根据 ID 查询
+     *
+     * @param descId 主键ID
+     */
+    LabRiskPlanAbnormalDesc selectById(Long descId);
+
+    /**
+     * 查询(根据 columnMap 条件)
+     *
+     * @param labRiskPlanAbnormalDesc 表字段 map 对象
+     */
+    List<LabRiskPlanAbnormalDesc> selectByList(LabRiskPlanAbnormalDesc labRiskPlanAbnormalDesc);
+}

+ 22 - 9
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabRiskPlanAbnormalGroupMapper.java

@@ -21,7 +21,7 @@ public interface LabRiskPlanAbnormalGroupMapper {
      * @param labRiskPlanAbnormalGroup 风险异常组级
      * @return 风险异常日志集合
      */
-    public List <LabRiskPlanAbnormalGroupVO> selectLabRiskPlanAbnormalGroupList(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup);
+    List <LabRiskPlanAbnormalGroupVO> selectLabRiskPlanAbnormalGroupList(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup);
 
     /**
      * 根据组织机构查询风险异常组级列表
@@ -29,7 +29,7 @@ public interface LabRiskPlanAbnormalGroupMapper {
      * @param labRiskPlanAbnormalGroup 风险异常组级
      * @return 风险异常日志集合
      */
-    public List <LabRiskPlanAbnormalGroupVO> selectLabRiskPlanAbnormalGroupListByDept(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup);
+    List <LabRiskPlanAbnormalGroupVO> selectLabRiskPlanAbnormalGroupListByDept(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup);
 
 
     /**
@@ -38,10 +38,7 @@ public interface LabRiskPlanAbnormalGroupMapper {
      * @param labRiskPlanAbnormalGroup 风险异常组级
      * @return 结果
      */
-    public int insertLabRiskPlanAbnormalGroup(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup);
-
-
-
+    int insertLabRiskPlanAbnormalGroup(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup);
 
     /**
      * 修改风险异常组级
@@ -49,7 +46,7 @@ public interface LabRiskPlanAbnormalGroupMapper {
      * @param labRiskPlanAbnormalGroup 风险异常组级
      * @return 结果
      */
-    public int updateLabRiskPlanAbnormalGroup(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup);
+    int updateLabRiskPlanAbnormalGroup(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup);
 
 
     /**
@@ -57,12 +54,28 @@ public interface LabRiskPlanAbnormalGroupMapper {
      * @param subId 实验室ID
      * @return
      */
-    public List<String> queryWranFunNumBySubId(Long subId);
+    List<String> queryWranFunNumBySubId(Long subId);
 
     /**
      * 批量查询 实验室当前预警
      * @param subIds
      * @return
      */
-    public List<SubWarnFunctions> queryWranFunNumBySubIds(Long... subIds);
+    List<SubWarnFunctions> queryWranFunNumBySubIds(Long... subIds);
+
+
+    /**
+     * 按ID查询
+     * @param id
+     * @return
+     */
+    LabRiskPlanAbnormalGroup selectById(Long id);
+
+    /**
+     * 查询执行预案记录
+     * @author linft
+     * @param group
+     * @return
+     */
+    List<LabRiskPlanAbnormalGroup> queryRiskExeRecordList(LabRiskPlanAbnormalGroup group);
 }

+ 71 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabRiskPlanAbnormalDescService.java

@@ -0,0 +1,71 @@
+package com.zd.laboratory.service;
+
+import com.zd.laboratory.domain.LabRiskPlanAbnormalDesc;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>风险概况</p>
+ *
+ * @author linft
+ * @version 1.0
+ * @date 12/9/2022
+ */
+public interface ILabRiskPlanAbnormalDescService {
+
+    /**
+     * 插入记录
+     *
+     * @param entity 实体对象
+     */
+    int insert(LabRiskPlanAbnormalDesc entity);
+
+    /**
+     * 根据 ID 修改
+     *
+     * @param labRiskPlanAbnormalDesc 实体对象
+     */
+    int updateById(LabRiskPlanAbnormalDesc labRiskPlanAbnormalDesc);
+
+    /**
+     * 根据 ID 删除
+     *
+     * @param descId 主键ID
+     */
+    int deleteById(Long descId);
+
+
+    /**
+     * 根据 ID 查询
+     *
+     * @param descId 主键ID
+     */
+    LabRiskPlanAbnormalDesc selectById(Long descId);
+
+    /**
+     * 查询(根据 columnMap 条件)
+     *
+     * @param labRiskPlanAbnormalDesc 表字段 map 对象
+     */
+    List<LabRiskPlanAbnormalDesc> selectByList(LabRiskPlanAbnormalDesc labRiskPlanAbnormalDesc);
+
+    /**
+     * 添加风险概况
+     * @param groupId 分线记录ID
+     * @param riskReason 风险原因
+     * @param riskLevel 风险级别
+     * @param internalPerson 实验室内人员
+     * @return
+     */
+    int addLabRiskPlanAbnormalDesc(long groupId, String riskReason, int riskLevel, String internalPerson);
+
+    /**
+     * 更新风险概况
+     * @param descId
+     * @param handledPerson
+     * @param recordVideo
+     * @return
+     */
+    int updateLabRiskPlanAbnormalDesc(long descId, String handledPerson, String recordVideo);
+}

+ 32 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabRiskPlanAbnormalGroupService.java

@@ -1,8 +1,8 @@
 package com.zd.laboratory.service;
 
-import com.zd.laboratory.api.entity.SensorFunctionStatus;
 import com.zd.laboratory.domain.LabRiskPlanAbnormalGroup;
 import com.zd.laboratory.domain.vo.LabRiskPlanAbnormalGroupVO;
+import com.zd.laboratory.api.entity.SensorFunctionStatus;
 
 import java.util.List;
 
@@ -19,7 +19,7 @@ public interface ILabRiskPlanAbnormalGroupService {
      * @param labRiskPlanAbnormalGroup 风险异常组PO
      * @return 风险异常列表
      */
-    public List <LabRiskPlanAbnormalGroupVO> selectLabRiskPlanAbnormalGroupList(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup);
+    List <LabRiskPlanAbnormalGroupVO> selectLabRiskPlanAbnormalGroupList(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup);
 
 
     /**
@@ -27,5 +27,34 @@ public interface ILabRiskPlanAbnormalGroupService {
      * @return
      * @param subId
      */
-    public List<SensorFunctionStatus> queryWranFunNumBySubId(Long subId);
+    List<SensorFunctionStatus> queryWranFunNumBySubId(Long subId);
+
+    /**
+     * 查询预案执行记录
+     * @author linft
+     * @param group
+     * @return
+     */
+    List<LabRiskPlanAbnormalGroup> queryRiskExeRecordList(LabRiskPlanAbnormalGroup group);
+
+    /**
+     * 添加预案记录
+     * @param riskPlanName 预案名称
+     * @param subjectId 实验室ID
+     * @param subjectName 实验室名称
+     * @param riskAttribute 预案属性:1-火灾预案、2-非火灾预案
+     * @param riskReason 预案原因
+     * @param riskLevel 预案风险等级
+     * @return
+     */
+    boolean addRiskExeRecord(String riskPlanName, long subjectId, String subjectName, Integer riskAttribute, String riskReason, int riskLevel);
+
+    /**
+     * 预案执行完成调用更新完成状态
+     * @param groupId 预案(组)记录id
+     * @param handledPerson 处理人,多个用逗号拼接
+     * @param recordVideo 现场视频
+     * @return
+     */
+    boolean doneRiskExeRecord(long groupId, String handledPerson, String recordVideo);
 }

+ 95 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanAbnormalDescServiceImpl.java

@@ -0,0 +1,95 @@
+package com.zd.laboratory.service.impl;
+
+import com.zd.common.core.exception.ServiceException;
+import com.zd.common.core.utils.StringUtils;
+import com.zd.laboratory.domain.LabRiskPlanAbnormalDesc;
+import com.zd.laboratory.mapper.LabRiskPlanAbnormalDescMapper;
+import com.zd.laboratory.service.ILabRiskPlanAbnormalDescService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>类注释说明</p>
+ *
+ * @author linft
+ * @version 1.0
+ * @date 12/9/2022
+ */
+@Service
+public class LabRiskPlanAbnormalDescServiceImpl implements ILabRiskPlanAbnormalDescService {
+
+    @Autowired
+    private LabRiskPlanAbnormalDescMapper labRiskPlanAbnormalDescMapper;
+
+    @Override
+    public int insert(LabRiskPlanAbnormalDesc labRiskPlanAbnormalDesc) {
+        if (labRiskPlanAbnormalDesc != null) {
+            if (labRiskPlanAbnormalDesc.getGroupId() == null || StringUtils.isEmpty(labRiskPlanAbnormalDesc.getRiskReason())
+                    || labRiskPlanAbnormalDesc.getRiskLevel() == null) {
+                throw new ServiceException("缺少必须的参数");
+            }
+            Date date = new Date();
+            labRiskPlanAbnormalDesc.setStartDate(date);
+            labRiskPlanAbnormalDesc.setCreateTime(date);
+            labRiskPlanAbnormalDesc.setRiskDuration(0l);
+            return labRiskPlanAbnormalDescMapper.insert(labRiskPlanAbnormalDesc);
+        }
+        return 0;
+    }
+
+    @Override
+    public int updateById(LabRiskPlanAbnormalDesc labRiskPlanAbnormalDesc) {
+        if (labRiskPlanAbnormalDesc != null && labRiskPlanAbnormalDesc.getDescId() != null) {
+            LabRiskPlanAbnormalDesc desc = labRiskPlanAbnormalDescMapper.selectById(labRiskPlanAbnormalDesc.getDescId());
+            if (desc != null) {
+                long start = desc.getStartDate().getTime();
+                Date now = new Date();
+                desc.setEndDate(now);
+                long rd = ((now.getTime() - start) / 1000);
+                desc.setRiskDuration(rd);
+                desc.setHandledPerson(labRiskPlanAbnormalDesc.getHandledPerson());
+                desc.setRecordVideo(labRiskPlanAbnormalDesc.getRecordVideo());
+                return labRiskPlanAbnormalDescMapper.updateById(desc);
+            } else {
+                throw new ServiceException("数据不存在!");
+            }
+        }
+        return 0;
+    }
+
+    @Override
+    public int deleteById(Long descId) {
+        return labRiskPlanAbnormalDescMapper.deleteById(descId);
+    }
+
+    @Override
+    public LabRiskPlanAbnormalDesc selectById(Long descId) {
+        return labRiskPlanAbnormalDescMapper.selectById(descId);
+    }
+
+    @Override
+    public List<LabRiskPlanAbnormalDesc> selectByList(LabRiskPlanAbnormalDesc labRiskPlanAbnormalDesc) {
+        return labRiskPlanAbnormalDescMapper.selectByList(labRiskPlanAbnormalDesc);
+    }
+
+    @Override
+    public int addLabRiskPlanAbnormalDesc(long groupId, String riskReason, int riskLevel, String internalPerson) {
+        LabRiskPlanAbnormalDesc desc = new LabRiskPlanAbnormalDesc();
+        desc.setGroupId(groupId);
+        desc.setRiskReason(riskReason);
+        desc.setRiskLevel(riskLevel);
+        desc.setInternalPerson(internalPerson);
+        return insert(desc);
+    }
+
+    @Override
+    public int updateLabRiskPlanAbnormalDesc(long descId, String handledPerson, String recordVideo) {
+        LabRiskPlanAbnormalDesc desc = new LabRiskPlanAbnormalDesc();
+        desc.setDescId(descId);
+        desc.setHandledPerson(handledPerson);
+        desc.setRecordVideo(recordVideo);
+        return updateById(desc);
+    }
+}

+ 62 - 25
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanAbnormalGroupServiceImpl.java

@@ -9,14 +9,18 @@ import com.zd.laboratory.api.entity.SensorFunctionStatus;
 import com.zd.laboratory.api.vo.SubFunction;
 import com.zd.laboratory.config.HardwareFunctionStatusConfig;
 import com.zd.laboratory.domain.LabHardware;
+import com.zd.laboratory.domain.LabRiskPlanAbnormalDesc;
 import com.zd.laboratory.domain.LabRiskPlanAbnormalGroup;
 import com.zd.laboratory.domain.LabRiskPlanAbnormalLog;
 import com.zd.laboratory.domain.vo.LabRiskPlanAbnormalGroupVO;
 import com.zd.laboratory.mapper.LabHardwareMapper;
+import com.zd.laboratory.mapper.LabHardwareStateMapper;
 import com.zd.laboratory.mapper.LabRiskPlanAbnormalGroupMapper;
 import com.zd.laboratory.mapper.LabRiskPlanAbnormalLogMapper;
 import com.zd.laboratory.service.ILabExitLineService;
+import com.zd.laboratory.service.ILabRiskPlanAbnormalDescService;
 import com.zd.laboratory.service.ILabRiskPlanAbnormalGroupService;
+import com.zd.model.entity.SysUser;
 import com.zd.model.enums.HardwareTypeEnum;
 import org.apache.commons.collections4.CollectionUtils;
 import org.slf4j.Logger;
@@ -24,10 +28,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -44,19 +45,25 @@ public class LabRiskPlanAbnormalGroupServiceImpl implements ILabRiskPlanAbnormal
     private LabRiskPlanAbnormalGroupMapper labRiskPlanAbnormalGroupMapper;
 
     @Autowired
-    HardwareFunctionStatusConfig hardwareFunctionStatusConfig;
+    private HardwareFunctionStatusConfig hardwareFunctionStatusConfig;
     @Autowired
     private LabHardwareMapper labHardwareMapper;
     @Autowired
     private LabRiskPlanAbnormalLogMapper labRiskPlanAbnormalLogMapper;
 
     @Autowired
+    private LabHardwareStateMapper hardwareStateMapper;
+
+    @Autowired
     private ILabExitLineService labExitLineService;
 
     @Autowired
     private LabSubjectManagerService labSubjectManagerService;
 
     @Autowired
+    private ILabRiskPlanAbnormalDescService labRiskPlanAbnormalDescService;
+
+    @Autowired
     private RedisService redisService;
 
 
@@ -64,7 +71,6 @@ public class LabRiskPlanAbnormalGroupServiceImpl implements ILabRiskPlanAbnormal
 //    @DataScope(deptAlias = "t")
     public List <LabRiskPlanAbnormalGroupVO> selectLabRiskPlanAbnormalGroupList(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup) {
         List <LabRiskPlanAbnormalGroupVO> groupList = labRiskPlanAbnormalGroupMapper.selectLabRiskPlanAbnormalGroupListByDept(labRiskPlanAbnormalGroup);
-
         Optional.ofNullable(groupList).filter(a->a.size()>0).orElseGet(Collections::emptyList).stream().forEach(a->{
             LabRiskPlanAbnormalLog labRiskPlanAbnormalLog = new LabRiskPlanAbnormalLog();
             labRiskPlanAbnormalLog.setGroupId(a.getId());
@@ -83,7 +89,6 @@ public class LabRiskPlanAbnormalGroupServiceImpl implements ILabRiskPlanAbnormal
                 }
             });
             a.setSensorStr(sensorStr.toString());
-
             //根据实验室id和设备类型查询硬件列表
             LabHardware labHardware = new LabHardware();
             labHardware.setSubjectId(a.getSubjectId());
@@ -98,12 +103,10 @@ public class LabRiskPlanAbnormalGroupServiceImpl implements ILabRiskPlanAbnormal
             }catch (Exception e){
                 a.setWhetherRoute(false);
             }
-
         });
         return groupList;
     }
 
-
     /**
      * 查询实验室当前预警测点功能
      *
@@ -118,23 +121,9 @@ public class LabRiskPlanAbnormalGroupServiceImpl implements ILabRiskPlanAbnormal
             return new ArrayList<>();
         }
         logger.info("一体机预案异常类型:" + JSONUtil.toJsonStr(strings) + ", 实验室ID------" + subId);
-
-//        final Map<String, SensorFunctionStatus> mapFunNum = hardwareFunctionStatusConfig.getMapFunNum();
-
-        /*return Optional.ofNullable(strings)
-                .filter(a -> a.size() > 0)
-                .orElseGet(Collections::emptyList)
-                .stream()
-                .distinct()
-                .map(a -> mapFunNum.get(a))
-                .collect(Collectors.toList());*/
-
         List<SensorFunctionStatus> list = labSubjectManagerService.querySenseNewFunctionBySubId(subId);
         logger.info("一体机预案实验室数据:" + JSONUtil.toJsonStr(list));
-
         list = list.stream().filter( s -> strings.stream().filter(f -> f.equals(s.getFunNum())).findAny().isPresent()).collect(Collectors.toList());
-
-
         if(strings.stream().filter(m->m.equals("huoyan")).findAny().isPresent()){
 
             SubFunction subFunction = redisService.getCacheObject("subjectByHuoyan"+subId);
@@ -143,10 +132,58 @@ public class LabRiskPlanAbnormalGroupServiceImpl implements ILabRiskPlanAbnormal
                 list.addAll(subFunction.getFunctionStatuses());
             }
         }
-
         logger.info("一体机预案过滤结果:" + JSONUtil.toJsonStr(list));
-
         return list;
+    }
+
+    @Override
+    public List<LabRiskPlanAbnormalGroup> queryRiskExeRecordList(LabRiskPlanAbnormalGroup group) {
+        return labRiskPlanAbnormalGroupMapper.queryRiskExeRecordList(group);
+    }
 
+    @Override
+    public boolean addRiskExeRecord(String riskPlanName, long subjectId, String subjectName, Integer riskAttribute, String riskReason, int riskLevel) {
+        LabRiskPlanAbnormalGroup group = new LabRiskPlanAbnormalGroup();
+        group.setGroupName(riskPlanName);
+        group.setSubjectId(subjectId);
+        group.setSubjectName(subjectName);
+        group.setRiskAttribute(riskAttribute);
+        group.setStatus(1L);
+        Date now = new Date();
+        group.setCreateTime(now);
+        if(labRiskPlanAbnormalGroupMapper.insertLabRiskPlanAbnormalGroup(group) > 0) {
+            //获取实验室内人员
+            Map<String, Object> params = new HashMap<>();
+            params.put("subId",subjectId);
+            List<SysUser> users = hardwareStateMapper.querySubOnlineUserByOnepc(params);
+            String internalPerson = null;
+            if (users != null && users.size() > 0) {
+                internalPerson = users.stream().map(SysUser::getUserName).collect(Collectors.joining(","));
+            }
+            if(labRiskPlanAbnormalDescService.addLabRiskPlanAbnormalDesc(group.getId(), riskReason, riskLevel, internalPerson) > 0){
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public boolean doneRiskExeRecord(long groupId, String handledPerson, String recordVideo) {
+        LabRiskPlanAbnormalGroup group = new LabRiskPlanAbnormalGroup();
+        group.setId(groupId);
+        group.setStatus(0l);
+        group.setUpdateTime(new Date());
+        int result = labRiskPlanAbnormalGroupMapper.updateLabRiskPlanAbnormalGroup(group);
+        if (result > 0) {
+            LabRiskPlanAbnormalDesc desc = new LabRiskPlanAbnormalDesc();
+            desc.setGroupId(groupId);
+            List<LabRiskPlanAbnormalDesc> list = labRiskPlanAbnormalDescService.selectByList(desc);
+            if (list != null && list.size() >0
+                    && labRiskPlanAbnormalDescService.updateLabRiskPlanAbnormalDesc(list.get(0).getDescId(),handledPerson, recordVideo) > 0) {
+                return true;
+            }
+
+        }
+        return false;
     }
 }

+ 109 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanAbnormalDescMapper.xml

@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zd.laboratory.mapper.LabRiskPlanAbnormalDescMapper">
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResult" type="com.zd.laboratory.domain.LabRiskPlanAbnormalDesc">
+        <id column="desc_id" property="descId" />
+        <result column="group_id" property="groupId" />
+        <result column="risk_reason" property="riskReason" />
+        <result column="risk_level" property="riskLevel" />
+        <result column="start_date" property="startDate" />
+        <result column="end_date" property="endDate" />
+        <result column="risk_duration" property="riskDuration" />
+        <result column="handled_person" property="handledPerson" />
+        <result column="internal_person" property="internalPerson" />
+        <result column="record_video" property="recordVideo" />
+        <result column="create_time" property="createTime" />
+        <result column="create_by" property="createBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="update_by" property="updateBy" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="selectBaseColumn">
+        select desc_id, group_id, risk_reason, risk_level, start_date, end_date, risk_duration, internal_person, handled_person, record_video, create_time, create_by, update_time, update_by from lab_risk_plan_abnormal_desc
+    </sql>
+
+    <insert id="insert" parameterType="com.zd.laboratory.domain.LabRiskPlanAbnormalDesc">
+        insert into lab_risk_plan_abnormal_desc(
+        <if test="descId != null and descId != 0">desc_id,</if>
+        <if test="groupId != null and groupId != 0">group_id,</if>
+        <if test="riskReason != null and riskReason != ''">risk_reason,</if>
+        <if test="riskLevel != null">risk_level,</if>
+        <if test="startDate != null">start_date,</if>
+        <if test="endDate != null">end_date,</if>
+        <if test="riskDuration != null and riskDuration != ''">risk_duration,</if>
+        <if test="handledPerson != null and handledPerson != ''">handled_person,</if>
+        <if test="internalPerson != null and internalPerson != ''">internal_person,</if>
+        <if test="recordVideo != null and recordVideo != ''">record_video,</if>
+        <if test="createBy != null and createBy != ''">create_by,</if>
+        <if test="updateTime != null">update_time,</if>
+        <if test="updateBy !=null and updateBy != ''">update_by,</if>
+        create_time
+        )values(
+        <if test="descId != null and descId != 0">#{descId},</if>
+        <if test="groupId != null and groupId != 0">#{groupId},</if>
+        <if test="riskReason != null and riskReason != ''">#{riskReason},</if>
+        <if test="riskLevel != null">#{riskLevel},</if>
+        <if test="startDate != null">#{startDate},</if>
+        <if test="endDate != null">#{endDate},</if>
+        <if test="riskDuration != null and riskDuration != ''">#{riskDuration},</if>
+        <if test="handledPerson != null and handledPerson != ''">#{handledPerson},</if>
+        <if test="internalPerson != null and internalPerson != ''">#{internalPerson},</if>
+        <if test="recordVideo != null and recordVideo != ''">#{recordVideo},</if>
+        <if test="createBy != null and createBy != ''">#{createBy},</if>
+        <if test="updateTime != null">#{updateTime},</if>
+        <if test="updateBy !=null and updateBy != ''">#{updateBy},</if>
+        sysdate()
+        )
+    </insert>
+
+    <update id="updateById" parameterType="com.zd.laboratory.domain.LabRiskPlanAbnormalDesc">
+        update lab_risk_plan_abnormal_desc
+        <set>
+            <if test="groupId != null and groupId != 0">group_id = #{groupId},</if>
+            <if test="riskReason != null and riskReason != ''">risk_reason = #{riskReason},</if>
+            <if test="riskLevel != null">risk_level = #{riskLevel},</if>
+            <if test="startDate != null">start_date = #{startDate},</if>
+            <if test="endDate != null">end_date = #{endDate},</if>
+            <if test="riskDuration != null and riskDuration != ''">risk_duration = #{riskDuration},</if>
+            <if test="handledPerson != null and handledPerson != ''">handled_person = #{handledPerson},</if>
+            <if test="internalPerson != null and internalPerson != ''">internal_person = #{internalPerson},</if>
+            <if test="recordVideo != null and recordVideo != ''">record_video = #{recordVideo},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
+            <if test="updateBy !=null and updateBy != ''">update_by = #{updateBy},</if>
+            update_time = sysdate()
+        </set>
+        where desc_id = #{descId}
+    </update>
+
+    <delete id="deleteById" >
+        delete from lab_risk_plan_abnormal_desc where menu_id = #{descId}
+    </delete>
+
+    <select id="selectById" resultMap="BaseResult">
+        <include refid="selectBaseColumn"/>
+        where desc_id = #{descId}
+    </select>
+
+    <select id="selectByList" parameterType="com.zd.laboratory.domain.LabRiskPlanAbnormalDesc" resultMap="BaseResult">
+        <include refid="selectBaseColumn"/>
+        <where>
+            <if test="groupId != null and groupId != 0">AND group_id =#{groupId}</if>
+            <if test="riskReason != null and riskReason != ''">AND risk_reason = #{riskReason}</if>
+            <if test="riskLevel != null">AND risk_level = #{riskLevel}</if>
+            <if test="startDate != null">AND start_date = #{startDate}</if>
+            <if test="endDate != null">AND end_date = #{endDate}</if>
+            <if test="riskDuration != null and riskDuration != ''">AND risk_duration = #{riskDuration}</if>
+            <if test="handledPerson != null and handledPerson != ''">AND handled_person LIKE concat('%', #{handledPerson}, '%'),</if>
+            <if test="recordVideo != null and recordVideo != ''">AND record_video = #{recordVideo}</if>
+            <if test="createTime != null">AND create_time = #{createTime},</if>
+            <if test="createBy != null and createBy != ''">AND create_by = #{createBy}</if>
+            <if test="updateTime != null">AND update_time = #{updateTime}</if>
+            <if test="updateBy !=null and updateBy != ''">AND update_by = #{updateBy}</if>
+        </where>
+        ORDER BY desc_id desc
+    </select>
+
+</mapper>

+ 33 - 45
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanAbnormalGroupMapper.xml

@@ -8,6 +8,8 @@
         <result property="id" column="id"/>
         <result property="groupName" column="group_name"/>
         <result property="subjectId" column="subject_id"/>
+        <result property="subjectName" column="subject_name"/>
+        <result property="riskAttribute" column="risk_attribute"/>
         <result property="status" column="status"/>
         <result property="createTime" column="create_time"/>
         <result property="createBy" column="create_by"/>
@@ -19,7 +21,6 @@
         <result property="subjectName" column="subject_name"/>
     </resultMap>
 
-
     <sql id="selectLabRiskPlanAbnormalGroupVo">
         SELECT
           gp.id,
@@ -40,7 +41,6 @@
           lab_risk_plan_abnormal_group gp
     </sql>
 
-
     <select id="selectLabRiskPlanAbnormalGroupList" parameterType="com.zd.laboratory.domain.LabRiskPlanAbnormalGroup"
             resultMap="LabRiskPlanAbnormalGroupVOResult">
         <include refid="selectLabRiskPlanAbnormalGroupVo"/>
@@ -50,8 +50,6 @@
         </where>
     </select>
 
-
-
     <select id="selectLabRiskPlanAbnormalGroupListByDept" parameterType="com.zd.laboratory.domain.LabRiskPlanAbnormalGroup"
             resultMap="LabRiskPlanAbnormalGroupVOResult">
         SELECT
@@ -86,6 +84,8 @@
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="groupName != null">group_name,</if>
             <if test="subjectId != null">subject_id,</if>
+            <if test="subjectName != null">subject_name,</if>
+            <if test="riskAttribute != null">risk_attribute,</if>
             <if test="status != null">status,</if>
             <if test="createTime != null">create_time,</if>
             <if test="createBy != null">create_by,</if>
@@ -95,6 +95,8 @@
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="groupName != null">#{groupName},</if>
             <if test="subjectId != null">#{subjectId},</if>
+            <if test="subjectName != null">#{subjectName},</if>
+            <if test="riskAttribute != null">#{riskAttribute},</if>
             <if test="status != null">#{status},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="createBy != null">#{createBy},</if>
@@ -108,6 +110,8 @@
         <trim prefix="SET" suffixOverrides=",">
             <if test="groupName != null">group_name = #{groupName},</if>
             <if test="subjectId != null">subject_id = #{subjectId},</if>
+            <if test="subjectName != null">subject_name = #{subjectName},</if>
+            <if test="riskAttribute != null">risk_attribute = #{riskAttribute},</if>
             <if test="status != null">status = #{status},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="createBy != null">create_by = #{createBy},</if>
@@ -117,45 +121,16 @@
         where id = #{id}
     </update>
     <!--  根据实验室ID查询当前预警测试功能   -->
-  <select id="queryWranFunNumBySubId" resultType="java.lang.String" >
-    <!-- select lrpsr.fun_num  from
-        (
-            SELECT lrpal.risk_plan_id FROM `lab_risk_plan_abnormal_log` lrpal
-
-           left join  lab_risk_plan_abnormal_group lrpag
-                      on lrpag.id=lrpal.group_id
-
-            where
-
-                lrpag.`status` = 1
-
-              and lrpag.subject_id = #{id}
-
-            group by lrpal.risk_plan_id
-
-        )a
-            left join
-
-        lab_risk_plan_sensor_relation lrpsr on
-
-            lrpsr.risk_plan_id = a.risk_plan_id
-
-      SELECT psr.`fun_num` FROM lab_risk_plan rp INNER JOIN  lab_risk_plan_sensor_relation psr ON rp.id = psr.`risk_plan_id`
-      INNER JOIN lab_risk_planjoinsub rpb ON rp.id = rpb.`risk_plan_id`
-      WHERE rpb.`subject_id`= #{id}
--->
-
-      SELECT DISTINCT psr.`fun_num` FROM lab_risk_plan rp INNER JOIN  lab_risk_plan_sensor_relation psr ON rp.id = psr.`risk_plan_id`
-      INNER JOIN lab_risk_planjoinsub rpb ON rp.id = rpb.`risk_plan_id`
-      INNER JOIN lab_risk_plan_abnormal_log pal ON pal.`risk_plan_id` = rp.`id`
-      INNER JOIN lab_risk_plan_abnormal_group pag ON pal.`group_id` = pag.`id`
-      WHERE rpb.`subject_id`=#{id} AND pag.`status`=1
-
+      <select id="queryWranFunNumBySubId" resultType="java.lang.String" >
+          SELECT DISTINCT psr.`fun_num` FROM lab_risk_plan rp INNER JOIN  lab_risk_plan_sensor_relation psr ON rp.id = psr.`risk_plan_id`
+          INNER JOIN lab_risk_planjoinsub rpb ON rp.id = rpb.`risk_plan_id`
+          INNER JOIN lab_risk_plan_abnormal_log pal ON pal.`risk_plan_id` = rp.`id`
+          INNER JOIN lab_risk_plan_abnormal_group pag ON pal.`group_id` = pag.`id`
+          WHERE rpb.`subject_id`=#{id} AND pag.`status`=1
+    </select>
 
-</select>
-<!-- 批量查询实验室预警 -->
+    <!-- 批量查询实验室预警 -->
     <select id="queryWranFunNumBySubIds" resultType="com.zd.laboratory.domain.SubWarnFunctions">
-
         SELECT
             lrpsr.fun_num ,a.subject_id
         FROM
@@ -173,15 +148,28 @@
                     <foreach item="id" collection="array" open="(" separator="," close=")">
                         #{id}
                     </foreach>
-
-
                 GROUP BY
                     lrpal.risk_plan_id ,lrpal.subject_id
             ) a
                 LEFT JOIN lab_risk_plan_sensor_relation lrpsr ON lrpsr.risk_plan_id = a.risk_plan_id
-
     </select>
 
+    <!-- 批量查询实验室预警 -->
+    <select id="queryRiskExeRecordList" parameterType="com.zd.laboratory.domain.LabRiskPlanAbnormalGroup" resultType="com.zd.laboratory.domain.LabRiskPlanAbnormalGroup">
+        SELECT id, group_name, subject_id, subject_name, risk_attribute, status, create_time, create_by, update_time
+        FROM lab_risk_plan_abnormal_group
+        <where>
+            <if test="searchValue != null and searchValue!='' ">and (
+                group_name like concat('%', #{searchValue}, '%')
+                or subject_name like concat('%', #{searchValue}, '%')
+                )
+            </if>
+            <if test="riskAttribute != null ">and risk_attribute = #{riskAttribute}</if>
+        </where>
+        ORDER  BY create_time DESC
+    </select>
 
-
+    <select id="selectById" resultMap="LabRiskPlanAbnormalGroupResult">
+        SELECT id, group_name, subject_id, subject_name, risk_attribute, status, create_time FROM lab_risk_plan_abnormal_group WHERE id = #{id}
+    </select>
 </mapper>