Explorar el Código

2022-10-31 1.处理传感器上报describe的bug。
2.预案插入风险日志,记录一下传感器数值。
3.风险统计,修改sql查询的部门名称。

chaiyunlong hace 3 años
padre
commit
4f75481726

+ 12 - 4
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mqtt/service/impl/SubMessageSendManager.java

@@ -6,6 +6,7 @@ import com.zd.algorithm.api.speaker.feign.RemoteSpeakService;
 import com.zd.common.core.exception.ServiceException;
 import com.zd.common.core.exception.ServiceException;
 import com.zd.common.core.utils.Assert;
 import com.zd.common.core.utils.Assert;
 import com.zd.common.core.utils.SpringUtils;
 import com.zd.common.core.utils.SpringUtils;
+import com.zd.laboratory.api.entity.SensorFunctionStatus;
 import com.zd.laboratory.api.vo.SubFunction;
 import com.zd.laboratory.api.vo.SubFunction;
 import com.zd.laboratory.domain.LabHardware;
 import com.zd.laboratory.domain.LabHardware;
 import com.zd.laboratory.event.LabMessageEvent;
 import com.zd.laboratory.event.LabMessageEvent;
@@ -22,10 +23,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
 
 
 /**
 /**
  * 实验室消息发送管理 -- 对外使用该类进行操作
  * 实验室消息发送管理 -- 对外使用该类进行操作
@@ -185,6 +183,16 @@ public class SubMessageSendManager {
         if (subFunction == null) {
         if (subFunction == null) {
             return;
             return;
         }
         }
+        //todo 这里是零时处理一下甲烷传感器没有上报describe 数据,这里先用funName代替describe,后期修复好了,在删除这块代码
+        List<SensorFunctionStatus> functionStatuses = subFunction.getFunctionStatuses();
+        List<SensorFunctionStatus> newFunctionStatuses = new ArrayList <>();
+        for(SensorFunctionStatus sensor:functionStatuses){
+            sensor.setDescribe(sensor.getFuncName());
+            newFunctionStatuses.add(sensor);
+        }
+        subFunction.setFunctionStatuses(newFunctionStatuses);
+        //todo 到这里结束
+
         String json = JSONObject.toJSONString(subFunction);
         String json = JSONObject.toJSONString(subFunction);
         logger.error("@@@@@@@@" + json);
         logger.error("@@@@@@@@" + json);
         //发送事件
         //发送事件

+ 20 - 6
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanServiceImpl.java

@@ -1091,7 +1091,7 @@ public class LabRiskPlanServiceImpl implements ILabRiskPlanService {
             }
             }
 
 
             //插入风险日志
             //插入风险日志
-            Long groupId = insertPlanAbnormalLog(newRiskPlan,riskPlanJson,groupList,1L,subFunction.getSubId());
+            Long groupId = insertPlanAbnormalLog(newRiskPlan,riskPlanJson,groupList,1L,subFunction);
             log.info("####################groupId:"+groupId);
             log.info("####################groupId:"+groupId);
             if(groupId!=null){
             if(groupId!=null){
                 log.error("这里记录预警消息记录开始=======================================================");
                 log.error("这里记录预警消息记录开始=======================================================");
@@ -1399,7 +1399,7 @@ public class LabRiskPlanServiceImpl implements ILabRiskPlanService {
     }
     }
 
 
 
 
-    public Long insertPlanAbnormalLog(LabRiskPlan newRiskPlan,JSONArray riskPlanJson,List <LabRiskPlanAbnormalGroupVO> groupList,Long riskStatus,Long subjectId){
+    public Long insertPlanAbnormalLog(LabRiskPlan newRiskPlan,JSONArray riskPlanJson,List <LabRiskPlanAbnormalGroupVO> groupList,Long riskStatus,SubFunction<SensorFunctionStatus> subFunction){
         LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup;
         LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup;
         Long groupId;
         Long groupId;
         //将风险预案写入日志表
         //将风险预案写入日志表
@@ -1409,12 +1409,26 @@ public class LabRiskPlanServiceImpl implements ILabRiskPlanService {
         labRiskPlanAbnormalLog.setCreateTime(new Date());
         labRiskPlanAbnormalLog.setCreateTime(new Date());
         labRiskPlanAbnormalLog.setSensorJson(riskPlanJson.toString());
         labRiskPlanAbnormalLog.setSensorJson(riskPlanJson.toString());
         labRiskPlanAbnormalLog.setRiskStatus(riskStatus);
         labRiskPlanAbnormalLog.setRiskStatus(riskStatus);
-        labRiskPlanAbnormalLog.setSubjectId(subjectId);
+        labRiskPlanAbnormalLog.setSubjectId(subFunction.getSubId());
         if(groupList==null || groupList.size()==0){
         if(groupList==null || groupList.size()==0){
-            labRiskPlanAbnormalGroup = insertPlanAbnormalGroup(newRiskPlan,subjectId);
+            labRiskPlanAbnormalGroup = insertPlanAbnormalGroup(newRiskPlan,subFunction.getSubId());
             groupId = labRiskPlanAbnormalGroup.getId();
             groupId = labRiskPlanAbnormalGroup.getId();
             //给风险日志表关联组
             //给风险日志表关联组
             labRiskPlanAbnormalLog.setGroupId(labRiskPlanAbnormalGroup.getId());
             labRiskPlanAbnormalLog.setGroupId(labRiskPlanAbnormalGroup.getId());
+
+            //处理预案下的传感器翻译
+            for(LabRiskPlanSensorRelation rps:newRiskPlan.getRiskPlanSensorList()){
+                //硬件社保统一传入的传感器设备列表
+                for(SensorFunctionStatus sensorFunc:subFunction.getFunctionStatuses()){
+                    if(rps.getFunNum().equals(sensorFunc.getFunNum())){
+                        if(StringUtils.isNotNull(labRiskPlanAbnormalLog.getRemark())){
+                            labRiskPlanAbnormalLog.setRemark(labRiskPlanAbnormalLog.getRemark()+" "+sensorFunc.getDescribe()+":"+sensorFunc.getVal());
+                        }else{
+                            labRiskPlanAbnormalLog.setRemark(sensorFunc.getDescribe()+":"+sensorFunc.getVal());
+                        }
+                    }
+                }
+            }
             //插入风险日志
             //插入风险日志
             labRiskPlanAbnormalLogMapper.insertLabRiskPlanAbnormalLog(labRiskPlanAbnormalLog);
             labRiskPlanAbnormalLogMapper.insertLabRiskPlanAbnormalLog(labRiskPlanAbnormalLog);
             //todo 后面放入老柴的事件中 或者订阅老柴的事件处理
             //todo 后面放入老柴的事件中 或者订阅老柴的事件处理
@@ -1422,7 +1436,7 @@ public class LabRiskPlanServiceImpl implements ILabRiskPlanService {
             Optional.ofNullable(newRiskPlan.getRiskPlanSensorList())
             Optional.ofNullable(newRiskPlan.getRiskPlanSensorList())
                     .ifPresent(f->{
                     .ifPresent(f->{
                         Set<String> funSet = newRiskPlan.getRiskPlanSensorList().stream().map(d -> d.getFunNum()).collect(Collectors.toSet());
                         Set<String> funSet = newRiskPlan.getRiskPlanSensorList().stream().map(d -> d.getFunNum()).collect(Collectors.toSet());
-                        redisService.setCacheSetV2(BaseConstants.WRAN_KEY+subjectId,funSet);
+                        redisService.setCacheSetV2(BaseConstants.WRAN_KEY+subFunction.getSubId(),funSet);
                     });
                     });
             try{
             try{
                 //插入风险硬件日志
                 //插入风险硬件日志
@@ -1457,7 +1471,7 @@ public class LabRiskPlanServiceImpl implements ILabRiskPlanService {
                         Optional.ofNullable(newRiskPlan.getRiskPlanSensorList())
                         Optional.ofNullable(newRiskPlan.getRiskPlanSensorList())
                                 .ifPresent(f->{
                                 .ifPresent(f->{
                                     Set<String> funSet = newRiskPlan.getRiskPlanSensorList().stream().map(d -> d.getFunNum()).collect(Collectors.toSet());
                                     Set<String> funSet = newRiskPlan.getRiskPlanSensorList().stream().map(d -> d.getFunNum()).collect(Collectors.toSet());
-                                    redisService.setCacheSetV2(BaseConstants.WRAN_KEY+subjectId,funSet);
+                                    redisService.setCacheSetV2(BaseConstants.WRAN_KEY+subFunction.getSubId(),funSet);
                                 });
                                 });
                     }catch (Exception e){
                     }catch (Exception e){
                         log.error("操作硬件设备异常::::"+e);
                         log.error("操作硬件设备异常::::"+e);

+ 3 - 1
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanAbnormalLogMapper.xml

@@ -54,9 +54,11 @@
         pl.id, pl.risk_plan_id, pl.risk_plan_name, pl.subject_id,
         pl.id, pl.risk_plan_id, pl.risk_plan_name, pl.subject_id,
         pl.remark, pl.create_time, pl.user_id,
         pl.remark, pl.create_time, pl.user_id,
         pl.create_by, pl.update_time, pl.update_by,
         pl.create_by, pl.update_time, pl.update_by,
-        s.dept_id, s.dept_name,
+        dt.dept_id,
+        dt.dept_name,
         s.name as subjectName
         s.name as subjectName
         from lab_risk_plan_abnormal_log pl left join lab_subject s on pl.subject_id = s.id
         from lab_risk_plan_abnormal_log pl left join lab_subject s on pl.subject_id = s.id
+        LEFT JOIN sys_dept dt ON s.`dept_id` = dt.`dept_id`
         <where>
         <where>
             pl.risk_status = 1
             pl.risk_status = 1
             <if test="riskPlanId != null ">and pl.risk_plan_id = #{riskPlanId}</if>
             <if test="riskPlanId != null ">and pl.risk_plan_id = #{riskPlanId}</if>