Преглед изворни кода

【新增】 预案执行记录

linfutong пре 3 година
родитељ
комит
4a257eaf20
12 измењених фајлова са 626 додато и 42 уклоњено
  1. 67 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabRiskPlanAbnormalDescController.java
  2. 31 2
      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. 31 2
      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. 26 0
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanAbnormalDescMapper.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();
+    }
+
+}

+ 31 - 2
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.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);
+}

+ 31 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabRiskPlanAbnormalGroupService.java

@@ -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;
     }
 }

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

@@ -0,0 +1,26 @@
+<?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.alg.mapper.LabRiskPlanAbnormalDescMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.zd.alg.entity.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="record_video" property="recordVideo" />
+        <result column="create_time" property="createTime" />
+        <result column="create_by" property="createBy" />
+        <result column="modify_time" property="modifyTime" />
+        <result column="modify_by" property="modifyBy" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        desc_id, group_id, risk_reason, risk_level, start_date, end_date, risk_duration, record_video, create_time, create_by, modify_time, modify_by
+    </sql>
+
+</mapper>