Ver código fonte

预案提交3

hanzhiwei 3 anos atrás
pai
commit
3daea7c8d5
18 arquivos alterados com 267 adições e 16 exclusões
  1. 20 0
      zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/constant/RiskPlanConstants.java
  2. 33 0
      zd-model/src/main/java/com/zd/model/enums/RiskPlanLevelEnum.java
  3. 5 3
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabRiskPlanController.java
  4. 14 3
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabRiskPlanAbnormalGroup.java
  5. 44 2
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabRiskPlanAbnormalLog.java
  6. 6 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabRiskPlanLevel.java
  7. 35 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/dto/LabBuildFloorLayoutDTO.java
  8. 15 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/dto/RiskPlanTriggerInfo.java
  9. 2 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/event/LabMessageListener.java
  10. 7 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabHardwareMapper.java
  11. 3 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabRiskPlanAbnormalLogMapper.java
  12. 6 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabHardwareService.java
  13. 5 2
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabRiskPlanService.java
  14. 5 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabHardwareServiceImpl.java
  15. 35 5
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanServiceImpl.java
  16. 12 0
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabHardwareMapper.xml
  17. 1 0
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanAbnormalGroupMapper.xml
  18. 19 0
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanAbnormalLogMapper.xml

+ 20 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/constant/RiskPlanConstants.java

@@ -0,0 +1,20 @@
+package com.zd.laboratory.api.constant;
+
+/**
+ * @Description 预案常量类
+ * @Author hzw
+ * @Date 2022/12/13 10:12
+ * @Version 2.0
+ */
+public interface RiskPlanConstants {
+
+    /**
+     * 火灾预案
+     */
+    int RISK_ATTRIBUTE_FIRE = 1;
+
+    /**
+     * 非火灾预案
+     */
+    int RISK_ATTRIBUTE_NO_FIRE = 2;
+}

+ 33 - 0
zd-model/src/main/java/com/zd/model/enums/RiskPlanLevelEnum.java

@@ -0,0 +1,33 @@
+package com.zd.model.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @Description TODO
+ * @Author hzw
+ * @Date 2022/12/13 9:44
+ * @Version 2.0
+ */
+@AllArgsConstructor
+@Getter
+public enum RiskPlanLevelEnum {
+
+    RISKPLANLEVELONE(1,"低风险"),
+    RISKPLANLEVELTWO(2,"中风险"),
+    RISKPLANLEVELTHREE(3,"较高风险"),
+    RISKPLANLEVELFOUR(4,"高风险");
+
+    private Integer code;
+    private String name;
+
+    public static String getValue(Integer code) {
+        for (RiskPlanLevelEnum riskPlanLevelEnum : values()) {
+            if (riskPlanLevelEnum.getCode().equals(code)) {
+                return riskPlanLevelEnum.name();
+            }
+        }
+        return null;
+    }
+
+}

+ 5 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabRiskPlanController.java

@@ -10,6 +10,7 @@ import com.zd.common.core.redis.RedisService;
 import com.zd.common.core.utils.ExcelUtil;
 import com.zd.common.core.utils.StringUtils;
 import com.zd.common.core.web.controller.BaseController;
+import com.zd.laboratory.api.constant.RiskPlanConstants;
 import com.zd.laboratory.api.entity.BasicFunctionStatus;
 import com.zd.laboratory.api.entity.SensorFunctionStatus;
 import com.zd.laboratory.api.vo.SubFunction;
@@ -68,6 +69,7 @@ public class LabRiskPlanController extends BaseController {
     @Autowired
     private LabRiskPlanjoinsubMapper LabRiskPlanjoinsubMapper;
 
+
     /**
      * 查询风险预案列表
      */
@@ -286,15 +288,15 @@ public class LabRiskPlanController extends BaseController {
                                 //没有火焰预警的缓存信息,则执行智能预警方法,否则不执行, 需要手动关闭火焰预警
                                 if(redisService.getCacheObject("subjectByHuoyan"+subFunction.getSubId())==null){
 //                                    redisService.setCacheObject("subjectByHuoyan"+subFunction.getSubId(), subFunction.getSubId());
-                                    labRiskPlanService.triggerRiskPlan(subFunction);
+                                    labRiskPlanService.triggerRiskPlan(subFunction, RiskPlanConstants.RISK_ATTRIBUTE_FIRE);
                                 }
                                 //如果是温度,烟感 则走正常逻辑
-                                labRiskPlanService.triggerRiskPlan(subFunction);
+                                labRiskPlanService.triggerRiskPlan(subFunction,RiskPlanConstants.RISK_ATTRIBUTE_FIRE);
                             });
                 }
             }
             if(redisService.getCacheObject("subjectByHuoyan"+subFunction.getSubId())==null){
-                labRiskPlanService.triggerRiskPlan(subFunction);
+                labRiskPlanService.triggerRiskPlan(subFunction,RiskPlanConstants.RISK_ATTRIBUTE_FIRE);
             }
             return ResultData.success(flag);
         }catch (Exception e){

+ 14 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabRiskPlanAbnormalGroup.java

@@ -1,13 +1,10 @@
 package com.zd.laboratory.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.zd.model.annotation.Excel;
 import com.zd.model.entity.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
-import java.util.Date;
-
 /**
  * 风险异常组级表对象 lab_risk_plan_abnormal_group
  *
@@ -51,6 +48,12 @@ public class LabRiskPlanAbnormalGroup extends BaseEntity {
     private Integer riskAttribute;
 
     /**
+     * 预案级别(1低风险 2中风险 3较高风险 4高风险)
+     */
+    @ApiModelProperty(value = "预案级别(1低风险 2中风险 3较高风险 4高风险)")
+    private Integer riskPlanLevel;
+
+    /**
      * 组级状态,(1组开始,0是组关闭)
      */
     @ApiModelProperty(value = "组级状态,(1组开始,0是组关闭)")
@@ -105,4 +108,12 @@ public class LabRiskPlanAbnormalGroup extends BaseEntity {
     public void setRiskAttribute(Integer riskAttribute) {
         this.riskAttribute = riskAttribute;
     }
+
+    public Integer getRiskPlanLevel() {
+        return riskPlanLevel;
+    }
+
+    public void setRiskPlanLevel(Integer riskPlanLevel) {
+        this.riskPlanLevel = riskPlanLevel;
+    }
 }

+ 44 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabRiskPlanAbnormalLog.java

@@ -5,8 +5,6 @@ import com.zd.model.annotation.Excel;
 import com.zd.model.entity.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
 
 import java.util.Date;
 
@@ -120,6 +118,18 @@ public class LabRiskPlanAbnormalLog extends BaseEntity {
      */
     private Integer chartType;
 
+    @ApiModelProperty("预案级别id")
+    private Long riskPlanLevelId;
+
+    @ApiModelProperty("预案级别名称")
+    private String riskPlanLevelName;
+
+    @ApiModelProperty("预案级别")
+    private Integer riskPlanLevel;
+
+    @ApiModelProperty("预案属性:1-火灾预案、2-非火灾预案")
+    private Integer riskAttribute;
+
     public void setId(Long id) {
         this.id = id;
     }
@@ -240,4 +250,36 @@ public class LabRiskPlanAbnormalLog extends BaseEntity {
     public void setOpreateAct(String opreateAct) {
         this.opreateAct = opreateAct;
     }
+
+    public Long getRiskPlanLevelId() {
+        return riskPlanLevelId;
+    }
+
+    public void setRiskPlanLevelId(Long riskPlanLevelId) {
+        this.riskPlanLevelId = riskPlanLevelId;
+    }
+
+    public String getRiskPlanLevelName() {
+        return riskPlanLevelName;
+    }
+
+    public void setRiskPlanLevelName(String riskPlanLevelName) {
+        this.riskPlanLevelName = riskPlanLevelName;
+    }
+
+    public Integer getRiskAttribute() {
+        return riskAttribute;
+    }
+
+    public void setRiskAttribute(Integer riskAttribute) {
+        this.riskAttribute = riskAttribute;
+    }
+
+    public Integer getRiskPlanLevel() {
+        return riskPlanLevel;
+    }
+
+    public void setRiskPlanLevel(Integer riskPlanLevel) {
+        this.riskPlanLevel = riskPlanLevel;
+    }
 }

+ 6 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabRiskPlanLevel.java

@@ -163,6 +163,12 @@ public class LabRiskPlanLevel implements Serializable {
     @TableField(exist = false)
     private String information;
 
+    /**
+     * 预案属性(1火灾预案 2非火灾预案)
+     */
+    @TableField(exist = false)
+    private Integer riskAttribute;
+
 
     private static final long serialVersionUID = 5240521020283577787L;
 

+ 35 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/dto/LabBuildFloorLayoutDTO.java

@@ -30,4 +30,39 @@ public class LabBuildFloorLayoutDTO {
     @ApiModelProperty(value = "实验室id")
     private Long subId;
 
+    /**
+     * 是否进入过预案
+     */
+    @ApiModelProperty(value = "是否进入过预案")
+    private Integer ifcheck;
+
+    /**
+     * 预案发生时间
+     */
+    @ApiModelProperty(value = "预案发生时间")
+    private String riskPlanTriggerTime;
+
+    /**
+     * 预案风险等级名称
+     */
+    @ApiModelProperty(value = "预案风险等级名称")
+    private String riskPlanLevelName;
+
+    /**
+     * 预案风险等级
+     */
+    @ApiModelProperty(value = "预案风险等级")
+    private Integer riskPlanLevel;
+
+    /**
+     * 预案属性:1-火灾预案、2-非火灾预案
+     */
+    @ApiModelProperty(value = "预案属性:1-火灾预案、2-非火灾预案")
+    private String riskAttribute;
+
+    /**
+     * 预案名称
+     */
+    @ApiModelProperty(value = "预案名称")
+    private String name;
 }

+ 15 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/dto/RiskPlanTriggerInfo.java

@@ -0,0 +1,15 @@
+package com.zd.laboratory.domain.dto;
+
+import lombok.Data;
+
+/**
+ * @Description TODO
+ * @Author hzw
+ * @Date 2022/12/12 18:24
+ * @Version 2.0
+ */
+@Data
+public class RiskPlanTriggerInfo {
+
+
+}

+ 2 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/event/LabMessageListener.java

@@ -1,6 +1,7 @@
 package com.zd.laboratory.event;
 
 import com.alibaba.fastjson.TypeReference;
+import com.zd.laboratory.api.constant.RiskPlanConstants;
 import com.zd.laboratory.api.entity.SensorFunctionStatus;
 import com.zd.laboratory.api.vo.SubFunction;
 import com.zd.laboratory.service.ILabRiskPlanService;
@@ -42,7 +43,7 @@ public class LabMessageListener implements ApplicationListener <SensorLabMessage
             if(message.getSubId()==null) {
                 return;
             }
-            riskPlanService.triggerRiskPlan(message);
+            riskPlanService.triggerRiskPlan(message, RiskPlanConstants.RISK_ATTRIBUTE_NO_FIRE);
 //        }catch(Exception e){
 //            e.printStackTrace();
 //            log.error("LabMessageListener: " + e.getMessage());

+ 7 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabHardwareMapper.java

@@ -142,4 +142,11 @@ public interface LabHardwareMapper {
      * @return 硬件集合
      */
     public List<LabHardwareVO> selectLabHardwareByCabinetList(LabHardware labHardware);
+
+    /**
+     * 根据实验室id查询硬件信息
+     * @Param [subId]
+     * @Return com.zd.laboratory.domain.LabHardware
+     **/
+    LabHardware selectLabHardwareCameraBySub(Long subId);
 }

+ 3 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabRiskPlanAbnormalLogMapper.java

@@ -2,7 +2,9 @@ package com.zd.laboratory.mapper;
 
 import com.zd.algorithm.api.alarm.entity.AlarmLog;
 import com.zd.laboratory.domain.LabRiskPlanAbnormalLog;
+import com.zd.laboratory.domain.dto.LabBuildFloorLayoutDTO;
 import com.zd.laboratory.domain.vo.LabRiskPlanAbnormalLogVO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -128,4 +130,5 @@ public interface LabRiskPlanAbnormalLogMapper {
 
     List<AlarmLog> selectNoBackAlarmLogList(Map<String, Object> params);
 
+    LabBuildFloorLayoutDTO selectRiskPlanTriggerInfo(@Param("riskPlanId") Long riskPlanId, @Param("groupId") Long groupId);
 }

+ 6 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabHardwareService.java

@@ -153,4 +153,10 @@ public interface ILabHardwareService {
      */
     public List<LabHardwareVO> selectLabHardwareByCabinetList(LabHardware labHardware);
 
+    /**
+     * 根据实验室id查询硬件信息
+     * @param subId
+     * @return
+     */
+    LabHardware selectLabHardwareCameraBySub(Long subId);
 }

+ 5 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabRiskPlanService.java

@@ -8,7 +8,10 @@ import com.zd.laboratory.domain.LabRiskPlan;
 import com.zd.laboratory.domain.LabRiskPlanjoinsub;
 import com.zd.laboratory.domain.dto.LabBuildFloorLayoutDTO;
 import com.zd.laboratory.domain.dto.LabRiskPlanDTO;
-import com.zd.laboratory.domain.vo.*;
+import com.zd.laboratory.domain.vo.LabRiskPlanSubVo;
+import com.zd.laboratory.domain.vo.LabRiskPlanSubVoInfo;
+import com.zd.laboratory.domain.vo.LabSubjectVO;
+import com.zd.laboratory.domain.vo.RiskPlanVo;
 import com.zd.model.domain.ResultData;
 
 import java.util.List;
@@ -111,7 +114,7 @@ public interface ILabRiskPlanService  extends IService<LabRiskPlan> {
      * @param subFunction 传感器类型列表
      * @return 结果
      */
-    public int triggerRiskPlan(SubFunction<SensorFunctionStatus> subFunction);
+    public int triggerRiskPlan(SubFunction<SensorFunctionStatus> subFunction,Integer riskAttribute);
 
     /**
      * 执行传感器对应的风险预案

+ 5 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabHardwareServiceImpl.java

@@ -795,4 +795,9 @@ public class LabHardwareServiceImpl implements ILabHardwareService {
         List<LabHardwareVO> list = labHardwareMapper.selectLabHardwareByCabinetList(labHardware);
         return list;
     }
+
+    @Override
+    public LabHardware selectLabHardwareCameraBySub(Long subId) {
+        return labHardwareMapper.selectLabHardwareCameraBySub(subId);
+    }
 }

+ 35 - 5
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanServiceImpl.java

@@ -31,10 +31,12 @@ import com.zd.laboratory.mqtt.service.impl.SubMessageSendManager;
 import com.zd.laboratory.service.*;
 import com.zd.laboratory.socket.command.Symbol;
 import com.zd.model.constant.BaseConstants;
+import com.zd.model.constant.HttpStatus;
 import com.zd.model.domain.R;
 import com.zd.model.domain.ResultData;
 import com.zd.model.entity.SysUser;
 import com.zd.model.enums.HardwareTypeEnum;
+import com.zd.model.enums.RiskPlanLevelEnum;
 import com.zd.model.enums.SenseType;
 import com.zd.model.enums.WarnMessageTypeEnum;
 import org.apache.commons.collections4.CollectionUtils;
@@ -132,6 +134,9 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
     @Autowired
     private RemoteCameraService remoteCameraService;
 
+    @Autowired
+    private ILabHardwareService labHardwareService;
+
     private static final Logger log = LoggerFactory.getLogger(LabRiskPlanServiceImpl.class);
 
 
@@ -1004,7 +1009,7 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
      * @return 结果
      */
     @Override
-    public synchronized int triggerRiskPlan(SubFunction<SensorFunctionStatus> subFunction) {
+    public synchronized int triggerRiskPlan(SubFunction<SensorFunctionStatus> subFunction,Integer riskAttribute) {
         log.info("****************进入triggerRiskPlan****************");
         int flag = 200;
 
@@ -1074,8 +1079,12 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
             Long groupId = insertPlanAbnormalLog(labRiskPlanLevel, riskPlanJson, groupList, 1L, subFunction);
             log.info("####################groupId:" + groupId);
             if (groupId != null) {
-                //开始录制视频
-//                remoteCameraService.startRecord("192.168.1.14");
+                LabHardware labHardware = labHardwareService.selectLabHardwareCameraBySub(subFunction.getSubId());
+                if (labHardware != null) {
+                    //开始录制视频
+//                    remoteCameraService.startRecord("192.168.1.14");
+                    remoteCameraService.startRecord(labHardware.getIpAddress());
+                }
 
                 //向前端发送mqtt预案触发提示
                 messageSendService.riskPlanTriggerNotice();
@@ -1214,6 +1223,16 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
                     log.error("关闭喇叭失败!!!!!:" + e);
                 }
 
+                //关闭视频录像
+                LabHardware labHardware = labHardwareService.selectLabHardwareCameraBySub(subFunction.getSubId());
+                if (labHardware != null){
+                    //开始录制视频
+//                    remoteCameraService.startRecord("192.168.1.14");
+                    R r = remoteCameraService.stopRecord(labHardware.getIpAddress());
+                    if (r.getCode() == HttpStatus.SUCCESS) {
+
+                    }
+                }
 
                 //查询风险日志下,根据预案ID查询风险日志
                 LabRiskPlanAbnormalLog labRiskPlanAbnormalLogByGroupId = new LabRiskPlanAbnormalLog();
@@ -1387,6 +1406,7 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
         labRiskPlanAbnormalGroup.setCreateTime(new Date());
         labRiskPlanAbnormalGroup.setCreateBy("自动");
         labRiskPlanAbnormalGroup.setSubjectId(subjectId);
+        labRiskPlanAbnormalGroup.setRiskAttribute(newRiskPlan.getRiskAttribute());
         labRiskPlanAbnormalGroupMapper.insertLabRiskPlanAbnormalGroup(labRiskPlanAbnormalGroup);
         return labRiskPlanAbnormalGroup;
     }
@@ -1403,6 +1423,13 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
         labRiskPlanAbnormalLog.setSensorJson(riskPlanJson.toString());
         labRiskPlanAbnormalLog.setRiskStatus(riskStatus);
         labRiskPlanAbnormalLog.setSubjectId(subFunction.getSubId());
+
+        //是否火灾 带个flag
+        labRiskPlanAbnormalLog.setRiskAttribute(1);
+        labRiskPlanAbnormalLog.setRiskPlanLevelId(labRiskPlanLevel.getId());
+        labRiskPlanAbnormalLog.setRiskPlanLevelName(RiskPlanLevelEnum.getValue(labRiskPlanLevel.getRiskPlanLevel()));
+        labRiskPlanAbnormalLog.setRiskPlanLevel(labRiskPlanLevel.getRiskPlanLevel());
+
         if (groupList == null || groupList.size() == 0) {
             // todo
             labRiskPlanAbnormalGroup = insertPlanAbnormalGroup(labRiskPlanLevel, subFunction.getSubId());
@@ -2078,8 +2105,11 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
         for (LabRiskPlanAbnormalGroupVO labRiskPlanAbnormalGroupVO : groupList) {
             LabBuildFloorLayoutDTO labBuildFloorLayoutDTO = labBuildFloorLayoutMapper.selectBuildInfoBySubIdAndUser(labRiskPlanAbnormalGroupVO.getSubjectId(), tokenService.getLoginUser().getUserid());
             if (!Objects.isNull(labBuildFloorLayoutDTO)){
-                labBuildFloorLayoutDTO.setRiskPlanId(labRiskPlanAbnormalGroupVO.getRiskPlanId());
-                labBuilder.add(labBuildFloorLayoutDTO);
+                LabBuildFloorLayoutDTO labBuildFloorLayoutDTO1 = labRiskPlanAbnormalLogMapper.selectRiskPlanTriggerInfo(labRiskPlanAbnormalGroupVO.getRiskPlanId(),labRiskPlanAbnormalGroupVO.getId());
+                labBuildFloorLayoutDTO1.setBuildId(labBuildFloorLayoutDTO.getBuildId());
+                labBuildFloorLayoutDTO1.setFloorId(labBuildFloorLayoutDTO.getFloorId());
+                labBuildFloorLayoutDTO1.setSubId(labBuildFloorLayoutDTO.getSubId());
+                labBuilder.add(labBuildFloorLayoutDTO1);
             }
         }
         return labBuilder;

+ 12 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabHardwareMapper.xml

@@ -507,4 +507,16 @@
             join_cabinet_time = #{joinCabinetTime}
         where id = #{id}
     </update>
+
+
+    <select id="selectLabHardwareCameraBySub" parameterType="java.lang.Long"
+            resultMap="LabHardwareResult">
+        SELECT lh.*
+        FROM lab_hardware lh
+        where lh.ip_address is not null
+        and lh.subject_id = #{subId}
+        and lh.type = 4
+        ORDER BY lh.create_time DESC
+        LIMIT 1
+    </select>
 </mapper>

+ 1 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanAbnormalGroupMapper.xml

@@ -10,6 +10,7 @@
         <result property="subjectId" column="subject_id"/>
         <result property="subjectName" column="subject_name"/>
         <result property="riskAttribute" column="risk_attribute"/>
+        <result property="riskPlanLevel" column="risk_plan_level"/>
         <result property="status" column="status"/>
         <result property="createTime" column="create_time"/>
         <result property="createBy" column="create_by"/>

+ 19 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanAbnormalLogMapper.xml

@@ -7,7 +7,10 @@
     <resultMap type="com.zd.laboratory.domain.LabRiskPlanAbnormalLog" id="LabRiskPlanAbnormalLogResult">
         <result property="id" column="id"/>
         <result property="riskPlanId" column="risk_plan_id"/>
+        <result property="riskPlanLevelId" column="risk_plan_level_id"/>
+        <result property="riskPlanLevelName" column="risk_plan_name"/>
         <result property="riskPlanName" column="risk_plan_name"/>
+        <result property="riskAttribute" column="risk_attribute"/>
         <result property="subjectId" column="subject_id"/>
         <result property="deptId" column="dept_id"/>
         <result property="deptName" column="dept_name"/>
@@ -407,4 +410,20 @@
             #{id}
         </foreach>
     </delete>
+    <select id="selectRiskPlanTriggerInfo" resultType="com.zd.laboratory.domain.dto.LabBuildFloorLayoutDTO">
+        SELECT
+        lrpal.risk_plan_id,
+        lrpal.risk_plan_level_name,
+        lrpal.risk_plan_level,
+        lrpal.create_time riskPlanTriggerTime,
+        lrpal.risk_attribute ,
+        lrp.name,
+        lrp.if_check
+        FROM lab_risk_plan_abnormal_log  lrpal
+        LEFT JOIN lab_risk_plan lrp ON lrpal.risk_plan_id = lrp.id
+        WHERE lrpal.group_id = #{groupId}
+        and lrpal.risk_plan_id = #{riskPlanId}
+        ORDER BY lrpal.id DESC
+        LIMIT 1
+    </select>
 </mapper>