Переглянути джерело

Merge branch 'dev' of http://192.168.1.43:3000/v2/zd-parents into dev

chaiyunlong 3 роки тому
батько
коміт
6d39da94ae

+ 12 - 12
zd-model/src/main/java/com/zd/model/enums/SenseType.java

@@ -16,10 +16,10 @@ public enum SenseType implements BaseEnum<Integer>, HardwareType {
 
     TEMPERATURE(0, "温度", "温度", "icon_16", "℃"),
     HUMIDITY(1, "湿度", "湿度", "icon_17", "%"),
-    VOC(2, "VOC", "VOC", "icon_23", ""),
+    VOC(2, "VOC", "VOC", "icon_23", "ppb"),
 
-    METHANE(3, "甲烷", "甲烷浓度", "icon_19", "%"),
-    CO(4, "一氧化碳", "一氧化碳浓度", "icon_18", "%"),
+    METHANE(3, "甲烷", "甲烷浓度", "icon_19", "ppm"),
+    CO(4, "一氧化碳", "一氧化碳浓度", "icon_18", "ppm"),
     SMOKE(5, "烟感", "烟感", "icon_22", ""),
     COAL_DUST(6, "煤尘", "煤尘浓度", "icon_22", "%"),
     O2(7, "氧气", "氧气浓度", "icon_21", "%"),
@@ -28,15 +28,15 @@ public enum SenseType implements BaseEnum<Integer>, HardwareType {
      * 温湿度传感器
      */
     TEMPERATURE_AND_HUMIDITY(8, "温湿度", "温湿度", "icon_16", "℃"),
-    ATMOSPHERIC_PRESSURE(9, "大气压", "大气压", "", ""),
-    NITRIC_OXIDE(11, "一氧化氮", "一氧化氮", "", ""),
-    SO2(12, "二氧化硫", "二氧化硫", "", ""),
-    TVOC(13, "TVOC", "TVOC", "icon_23", ""),
-    H2(14, "氢气", "氢气", "icon_23", ""),
-    FLAME(15, "火焰", "火焰", "icon_22", ""),
-    COCl2(16, "光气", "光气", "icon_22", "ppm"),
-    Cl2(17, "氯气", "氯气", "icon_22", "ppm"),
-    HCHO(18, "甲醛", "甲醛", "icon_22", "ppm"),
+    ATMOSPHERIC_PRESSURE(9, "大气压", "大气压", "", "mbar"),
+    NITRIC_OXIDE(10, "一氧化氮", "一氧化氮", "", "ppm"),
+    SO2(11, "二氧化硫", "二氧化硫", "", "ppm"),
+    TVOC(12, "TVOC", "TVOC", "icon_23", "ppb"),
+    H2(13, "氢气", "氢气", "icon_23", "ppm"),
+    FLAME(14, "火焰", "火焰", "icon_22", ""),
+    COCl2(15, "光气", "光气", "icon_22", "ppm"),
+    Cl2(16, "氯气", "氯气", "icon_22", "ppm"),
+    HCHO(17, "甲醛", "甲醛", "icon_22", "ppm"),
     ;
     private Integer code;
     private String name;

+ 1 - 1
zd-modules/zd-algorithm/src/main/java/com/zd/alg/speaker/controller/SpeakerController.java

@@ -211,7 +211,7 @@ public class SpeakerController {
             return AjaxResult.error("参数有误,请检查参数!");
         }
         text=text.replace("https","http");
-        text=text.replace("https://lab.sxitdlc.com/jdlabSystem/","http://192.168.8.101/jdlabSystem/");
+        text=text.replace("http://lab.sxitdlc.com/sudalabSystem/","http://10.20.10.7/labSystem/");
         iSpeakerService.textParseVoiceAppIps(text,playVo);
         Map<String,Object> map=new HashMap<>();
         map.put("text",text);

+ 1 - 1
zd-modules/zd-base/src/main/java/com/zd/base/files/file/controller/SysFileController.java

@@ -28,7 +28,7 @@ public class SysFileController {
     /**
      * 文件上传请求
      */
-    @PostMapping("upload")
+    @PostMapping("/upload")
     public R<SysFile> upload(MultipartFile file) {
         try {
             String fileSuffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));

+ 2 - 10
zd-modules/zd-base/src/main/resources/ueditor/config.json

@@ -155,8 +155,6 @@
     ".zip",
     ".tar",
     ".gz",
-    ".7z",
-    ".bz2",
     ".cab",
     ".iso",
     ".doc",
@@ -166,9 +164,7 @@
     ".ppt",
     ".pptx",
     ".pdf",
-    ".txt",
-    ".md",
-    ".xml"
+    ".txt"
   ],
   /* 上传文件格式显示 */
 
@@ -228,8 +224,6 @@
     ".zip",
     ".tar",
     ".gz",
-    ".7z",
-    ".bz2",
     ".cab",
     ".iso",
     ".doc",
@@ -239,8 +233,6 @@
     ".ppt",
     ".pptx",
     ".pdf",
-    ".txt",
-    ".md",
-    ".xml"
+    ".txt"
   ]
 }

+ 13 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSensorController.java

@@ -105,7 +105,19 @@ public class LabSensorController extends BaseController {
     @Log(title = "传感器", businessType = BusinessType.INSERT)
     @PostMapping
     public ResultData add(@RequestBody @Validated(ValidGroup.Crud.Create.class) LabSensor labSensor) {
-        return ResultData.success(labSensorService.insertLabSensor(labSensor));
+        //添加校验
+        if (labSensor != null && labSensor.getGatewayId() != null) {
+            int num = labSensor.getRouteNum() == null ? -1:labSensor.getRouteNum();
+            LabSensor sensor = new LabSensor();
+            sensor.setGatewayId(labSensor.getGatewayId());
+            sensor.setRouteNum(num);
+            List<LabSensorVO> list = labSensorService.selectLabSensorList(sensor);
+            if (list != null && list.size() > 0) {
+                return ResultData.fail("此网关编号+路由信息已存在,不可重复添加");
+            }
+            return ResultData.success(labSensorService.insertLabSensor(labSensor));
+        }
+        return ResultData.fail("缺少必须的参数");
     }
 
     /**

+ 1 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabRiskPlanMapper.java

@@ -71,7 +71,7 @@ public interface LabRiskPlanMapper extends BaseMapper<LabRiskPlan> {
 
     List<LabRiskPlan> selectLabRiskPlanBySubjectList(LabRiskPlanVO labRiskPlanVo);
 
-    LabRiskPlan selectLabRiskPlanByRiskPlanId(@Param("riskPlanId") Long riskPlanId);
+    LabRiskPlan selectLabRiskPlanByRiskPlanId(@Param("subId") Long subId);
     /**
      * 查询实验室详情预案统计
      * @param subId 实验室ID

+ 32 - 21
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanServiceImpl.java

@@ -1033,24 +1033,27 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
 
         //如果预案里面配置传感器都达标,需要执行预案对应的硬件操作
         if (labRiskPlanLevel.getRiskPlanId() != null) {
-            log.info("触发预案信息:{}",labRiskPlanLevel.toString());
+            log.error("触发预案信息:{}",labRiskPlanLevel.toString());
             //获取通知配置信息
             List<LabNoticeconfig> noticeconfigList = labNoticeconfigMapper.selectLabNoticeconfigList(new LabNoticeconfig());
-            LabNoticeconfig labNoticeconfig = noticeconfigList.get(0);
-            StringBuffer radioStr = new StringBuffer();
-            radioStr.append(noticeconfigList.get(0).getRiskRadio());
-            labRiskPlanLevel.setMessage(labNoticeconfig.getRiskMessage());
-            labRiskPlanLevel.setVoicebroadcast(labNoticeconfig.getRiskVoice());
-            labRiskPlanLevel.setInformation(labNoticeconfig.getRiskPhone());
+            if (!noticeconfigList.isEmpty()) {
+                LabNoticeconfig labNoticeconfig = noticeconfigList.get(0);
+                StringBuffer radioStr = new StringBuffer();
+                radioStr.append(noticeconfigList.get(0).getRiskRadio());
+                labRiskPlanLevel.setMessage(labNoticeconfig.getRiskMessage());
+                labRiskPlanLevel.setVoicebroadcast(labNoticeconfig.getRiskVoice());
+                labRiskPlanLevel.setInformation(labNoticeconfig.getRiskPhone());
+            }
 
+            log.error("触发预案1");
             //记录是否为火灾预案
             labRiskPlanLevel.setRiskAttribute(riskAttribute);
 
-            LabRiskPlan labRiskPlan = labRiskPlanMapper.selectLabRiskPlanByRiskPlanId(labRiskPlanLevel.getRiskPlanId());
+            LabRiskPlan labRiskPlan = labRiskPlanMapper.selectLabRiskPlanByRiskPlanId(subFunction.getSubId());
             labRiskPlanLevel.setFloorId(labRiskPlan.getFloorId());
             labRiskPlanLevel.setTopName(labRiskPlan.getTopName());
 
-
+            log.error("触发预案2");
             //这里处理,如果是火焰预案,需要redis额外缓存
             Optional.ofNullable(subFunction.getFunctionStatuses()).orElseGet(Collections::emptyList).stream().filter(a -> "huoyan".equals(a.getFunNum())).forEach(a -> {
                 if (redisService.getCacheObject("subjectByHuoyan" + subFunction.getSubId()) == null) {
@@ -1081,19 +1084,12 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
             if(StringUtils.isNotBlank(sb)){
                 labRiskPlanLevel.setDescribe(sb.substring(0,sb.length() - 1)+"异常");
             }
-
+            log.error("触发预案3");
             //插入风险日志
             Long groupId = insertPlanAbnormalLog(labRiskPlanLevel, riskPlanJson, groupList, 1L, subFunction, riskAttribute);
             log.info("####################groupId:" + groupId);
             if (groupId != null) {
-                LabHardware labHardware = labHardwareService.selectLabHardwareCameraBySub(subFunction.getSubId());
-                if (labHardware != null) {
-                    //开始录制视频
-//                    remoteCameraService.startRecord("192.168.1.14");
-                    remoteCameraService.startRecord(labHardware.getIpAddress());
-                }
-
-
+                log.error("触发预案4");
                 log.error("这里记录预警消息记录开始=======================================================");
                 insertWarnPushMessageByOnePc(labRiskPlanLevel, subFunction.getSubId(), groupId);
                 log.error("这里记录预警消息记录结束=======================================================");
@@ -1190,7 +1186,16 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
                     redisService.setCacheObject("subjectByExit" + subFunction.getSubId(), subFunction.getSubId(), 30L, TimeUnit.SECONDS);
                     messageSendService.SendBigViewUpdate(BigViewDataType.SUB_RISKPLAN_EXIT);
                 }
-
+                try {
+                    LabHardware labHardware = labHardwareService.selectLabHardwareCameraBySub(subFunction.getSubId());
+                    if (labHardware != null) {
+                        //开始录制视频
+    //                    remoteCameraService.startRecord("192.168.1.14");
+                        remoteCameraService.startRecord(labHardware.getIpAddress());
+                    }
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
                 //向前端发送mqtt预案触发提示
                 messageSendService.riskPlanTriggerNotice();
 
@@ -1466,9 +1471,10 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
         labRiskPlanAbnormalLog.setRiskPlanLevelId(labRiskPlanLevel.getId());
         labRiskPlanAbnormalLog.setRiskPlanLevelName(RiskPlanLevelEnum.getValue(labRiskPlanLevel.getRiskPlanLevel()));
         labRiskPlanAbnormalLog.setRiskPlanLevel(labRiskPlanLevel.getRiskPlanLevel());
-
+        log.error("预案触发5");
         if (groupList == null || groupList.size() == 0) {
             // todo
+            log.error("预案触发6");
             labRiskPlanAbnormalGroup = insertPlanAbnormalGroup(labRiskPlanLevel, subFunction.getSubId(),riskAttribute,labRiskPlanLevel.getRiskPlanLevel());
 //            labRiskPlanAbnormalGroupService.addRiskExeRecord(riskPlanName, subjectId, subjectName, riskAttribute, riskReason, riskLevel);
             groupId = labRiskPlanAbnormalGroup.getId();
@@ -1489,9 +1495,11 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
                 }
             }
             //插入风险日志
+            log.error("预案触发8");
             labRiskPlanAbnormalLogMapper.insertLabRiskPlanAbnormalLog(labRiskPlanAbnormalLog);
             //todo 后面放入老柴的事件中 或者订阅老柴的事件处理
             //增加预警缓存
+            log.error("预案触发9");
             Optional.ofNullable(labRiskPlanLevel.getRiskPlanSensorList()).ifPresent(f -> {
                 Set<String> funSet = labRiskPlanLevel.getRiskPlanSensorList().stream().map(d -> d.getFunNum()).collect(Collectors.toSet());
                 redisService.setCacheSetV2(BaseConstants.WRAN_KEY + subFunction.getSubId(), funSet);
@@ -1499,12 +1507,14 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
             try {
                 //插入风险硬件日志
                 operateHardWareInfo(labRiskPlanLevel, labRiskPlanAbnormalGroup.getSubjectId(), labRiskPlanAbnormalLog.getGroupId(), riskPlanJson.toString());
+                log.error("预案触发10");
             } catch (Exception e) {
                 log.error("操作硬件设备异常::::" + e);
             } finally {
                 return groupId;
             }
         } else {
+            log.error("预案触发7");
             labRiskPlanAbnormalGroup = groupList.get(0);
             //如果查询到是当前组,那么就给日志表插入的时候,补上组id
             labRiskPlanAbnormalLog.setGroupId(labRiskPlanAbnormalGroup.getId());
@@ -1521,6 +1531,7 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
                     groupId = labRiskPlanAbnormalGroup.getId();
                     //插入风险日志
                     labRiskPlanAbnormalLogMapper.insertLabRiskPlanAbnormalLog(labRiskPlanAbnormalLog);
+                    log.error("预案触发11");
                     try {
                         //插入风险硬件日志
                         operateHardWareInfo(labRiskPlanLevel, labRiskPlanAbnormalGroup.getSubjectId(), groupList.get(0).getId(), riskPlanJson.toString());
@@ -1787,7 +1798,7 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
                 }
             }
             if (value.size() == count) {
-                log.info("预案级别下={}下,{}传感器数值发生异常",key,funNumStr.toString());
+                log.error("预案级别下={}下,{}传感器数值发生异常",key,funNumStr.toString());
                 list.add(key);
             }
         });

+ 0 - 35
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSensorServiceImpl.java

@@ -75,42 +75,7 @@ public class LabSensorServiceImpl implements ILabSensorService {
     @Override
     @DataScope(deptAlias = "xx", userAlias = "xx", permi = PerPrefix.LABORATORY_SENSOR)
     public List<LabSensorVO> selectLabSensorList(LabSensor labSensor) {
-//        Long subjectId=null;
-//        Collection<String> a = redisService.keys(CacheConstants.SENSOR_KEY + "*");
-//        Collection<String> sensorData = redisService.keys(CacheConstants.SENSOR_DATA_KEY_ISONLINE + "*");;
-//        List<String> gatewayIds = new ArrayList<>();
-//        List<String> senorIdList = new ArrayList<>();
-//        for (String s : a) {
-//            gatewayIds.add(s.replace(CacheConstants.SENSOR_KEY, ""));
-//        }
-//        for (String s : sensorData) {
-//            String key=s.replace(CacheConstants.SENSOR_DATA_KEY_ISONLINE, "");
-//            String[] keys=key.split(",");
-//            if(null==subjectId){
-//                subjectId=Long.parseLong(keys[1]);
-//            }
-//            senorIdList.add(keys[0]);
-//        }
-//        int countNum=labSensorMapper.selectSensorCountBySubIds(subjectId);
-//        if(gatewayIds.size() > 0){
-//            labSensorMapper.updateStateByGatewayIds(gatewayIds, SenseStateEnum.TURN_ON.getCode());
-//        }else{
-//            labSensorMapper.updateStateOther(gatewayIds, SenseStateEnum.OFFLINE.getCode());
-//        }
-//        if(senorIdList.size()>0){
-//            labSensorMapper.updateStateBySenorIds(senorIdList,SenseStateEnum.TURN_ON.getCode());
-//        }
-//        if(countNum!=senorIdList.size()){
-//            labSensorMapper.updateStateBySenorNotIds(senorIdList,subjectId,SenseStateEnum.OFFLINE.getCode());
-//        }
         List<LabSensorVO> data = labSensorMapper.selectLabSensorList(labSensor);
-        /*data.stream().forEach(d -> {
-            if(d.getGatewayId()!= null && redisService.hasKey(CacheConstants.SENSOR_KEY + d.getGatewayId())){
-                d.setSenseState(SenseStateEnum.TURN_ON);
-            }else {
-                d.setSenseState(SenseStateEnum.OFFLINE);
-            }
-        });*/
         return data;
     }
 

+ 7 - 29
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanMapper.xml

@@ -535,34 +535,12 @@
         </where>
     </select>
     <select id="selectLabRiskPlanByRiskPlanId" resultType="com.zd.laboratory.domain.LabRiskPlan">
-            SELECT DISTINCT p.id,
-                        p.name,
-                        p.hazard_id,
-                        p.container_id,
-                        p.dept_id,
-                        p.create_time,
-                        p.dept_name,
-                        p.user_id,
-                        p.create_by,
-                        p.update_time,
-                        p.update_by,
-                        p.remark,
-                        p.message,
-                        p.voicebroadcast,
-                        p.information,
-                        p.level,
-                        p.evacuation,
-                        p.if_check,
-                        (CONCAT(d.dept_class_name, d.`dept_name`, s.`name`)) topName,
-                        s.`floor_id`                                         floorId
-        FROM lab_risk_plan p
-                     INNER JOIN lab_risk_planjoinsub rp ON p.`id` = rp.`risk_plan_id`
-                     INNER JOIN lab_subject s ON s.`id` = rp.`subject_id`
-                     INNER JOIN sys_dept d ON d.dept_id = s.build_id
-        <where>
-            <if test="riskPlanId != null">
-                and p.`id` = #{riskPlanId}
-            </if>
-        </where>
+            SELECT DISTINCT
+                (CONCAT( d.dept_class_name, d.`dept_name`, s.`name` )) topName,
+                s.`floor_id` floorId
+            FROM lab_subject s
+                INNER JOIN sys_dept d ON d.dept_id = s.build_id
+            WHERE
+	            s.`id` = #{subId}
      </select>
 </mapper>

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

@@ -93,6 +93,7 @@
             </if>
             <if test="deptName != null  and deptName != ''">and xx.dept_name like concat('%', #{deptName}, '%')</if>
             <if test="userId != null ">and xx.user_id = #{userId}</if>
+            <if test="routeNum != null ">AND xx.route_num = #{routeNum}</if>
             <!-- 数据范围过滤 -->
             ${params.dataScope}
         </where>