2 Ревизии e593235038 ... 22a345bb7f

Автор SHA1 Съобщение Дата
  523096025 22a345bb7f 修改人员白名单处mid值 преди 1 месец
  523096025 4c3994355c 生物防控人员2 преди 2 месеца

+ 3 - 0
.vscode/settings.json

@@ -0,0 +1,3 @@
+{
+    "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx4G -Xms100m -Xlog:disable"
+}

+ 1 - 1
huimv-admin/src/main/java/com/huimv/admin/config/ApiPrefixAutoConfiguration.java

@@ -10,7 +10,7 @@ public class ApiPrefixAutoConfiguration implements WebMvcConfigurer {
 
     @Override
     public void configurePathMatch(PathMatchConfigurer configurer) {
-        configurer.addPathPrefix("/huatongApi",  c -> c.isAnnotationPresent(RestController.class));
+            configurer.addPathPrefix("/huatongApi",  c -> c.isAnnotationPresent(RestController.class));
     }
 
 }

+ 12 - 0
huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/EnvTimer.java

@@ -49,6 +49,7 @@ public class EnvTimer {
         System.out.println(data.toString());
         JingHongWenShi2 data1 = data.getData();
         String deviceId = data1.getDeviceId();
+
         EnvDevice envDevice = envDeviceMapper.selectOne(new QueryWrapper<EnvDevice>().eq("device_code", deviceId));
 
         EnvData envData = new EnvData();
@@ -60,6 +61,17 @@ public class EnvTimer {
         envData.setUnitId(envDevice.getUnitId());
 //        envData.setReceiveDate();
         envDataMapper.insert(envData);
+        if("12004001250111000003".equals(deviceId)){
+            EnvData envData12 = new EnvData();
+            envData12.setDeviceId("12004001250111000012");
+            envData12.setCreateTime(new Date());
+            envData12.setFarmId(30);
+            envData12.setEnvHum(getHum(data1));
+            envData12.setEnvTemp(getTem(data1));
+            envData12.setUnitId(198);
+//        envData.setReceiveDate();
+            envDataMapper.insert(envData12);
+        }
         return data;
     }
 

+ 5 - 2
huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/ProtTimer.java

@@ -36,9 +36,9 @@ public class ProtTimer {
     private EnergyDataMapper energyDataMapper;
 
 
-//    @Scheduled(cron = "0 * * * * ? ")
+    @Scheduled(cron = "0 * * * * ? ")
 //    @GetMapping("/test3")
-    @Scheduled(cron = "0 0/10 * * * ? ")
+//    @Scheduled(cron = "0 0/10 * * * ? ")
     public void action(){
         String url = "http://139.9.172.209:8085/getFlow"; // 更好的做法是从配置中读取这个URL
         try {
@@ -51,6 +51,7 @@ public class ProtTimer {
             );
 
             for (JinghongWater jinghongWater : Objects.requireNonNull(response.getBody())) {
+                System.out.println(jinghongWater);
                 ProtData protData = new ProtData();
                 protData.setCreateDate(jinghongWater.getCreateTime());
                 protData.setFarmId(getFarmId(jinghongWater.getDeviceId()));
@@ -85,8 +86,10 @@ public class ProtTimer {
                         double v = (Double.parseDouble(jinghongWater.getValueA())- Double.parseDouble(waterValue)) *0.01;
                         if (v < 0) {
                             energyData1.setWaterValue("0.00");
+                            energyData1.setOriginalWaterValue(waterValue);
                         } else if (v> 300 ){
                             energyData1.setWaterValue("0.00");
+                            energyData1.setOriginalWaterValue(waterValue);
                         }else {
                             energyData1.setWaterValue(String.format("%.2f", v));
                         }

+ 74 - 0
huimv-admin/src/main/java/com/huimv/admin/server/EnvInputServerHandler.java

@@ -2,14 +2,20 @@ package com.huimv.admin.server;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.admin.entity.ProtData;
+import com.huimv.admin.entity.ProtThreshold;
+import com.huimv.admin.entity.ProtWarningInfo;
 import com.huimv.admin.mapper.ProtDataMapper;
+import com.huimv.admin.service.IProtThresholdService;
+import com.huimv.admin.service.IProtWarningInfoService;
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.ChannelHandler;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.ChannelInboundHandlerAdapter;
 import io.netty.util.CharsetUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -101,11 +107,14 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
             protData.setNh3n(parse.getCpData().getParameters().get("w21003").getAvg());
             protData.setOther2(parse.getCpData().getParameters().get("w00000").getAvg());
             protData.setLoctionType(1);
+
             String mn = parse.getHeader().getMn();
             if ("01523162079470".equals(mn)){
                 protData.setFarmId(30);
+                saveWarning(protData,30,3);
             }else {
                 protData.setFarmId(28);
+                saveWarning(protData,28,3);
             }
             protData.setOther3(clientAskText);
             protData.setCreateDate(new Date());
@@ -120,6 +129,71 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
 
 
     }
+    @Autowired
+    private IProtThresholdService protThresholdService;
+    @Autowired
+    private IProtWarningInfoService warningInfoService;
+
+    private void saveWarning(ProtData protData,Integer farmId,Integer protType) {
+        ProtThreshold one = protThresholdService.getOne(new QueryWrapper<ProtThreshold>().eq("farm_id", farmId).eq("prot_type", protType));
+        ProtWarningInfo protWarningInfo = new ProtWarningInfo();
+        protWarningInfo.setDate(new Date());
+        protWarningInfo.setFarmId(farmId);
+        boolean ble = false;
+        if (comperStringAndString(protData.getCod(),one.getCod2())){
+            protWarningInfo.setWarningType(0);
+            protWarningInfo.setWarningContent("cod浓度为 "+protData.getCod()+",超过阈值"+one.getCod2()+"红色预警");
+        } else if (comperStringAndString(protData.getCod(),one.getCod1())  ) {
+            protWarningInfo.setWarningType(0);
+            protWarningInfo.setWarningContent("cod浓度为 "+protData.getCod()+",超过阈值"+one.getCod2()+"黄色预警");
+            ble = true;
+        }
+
+        if (comperStringAndString(protData.getFlow(),one.getFlow2())){
+            protWarningInfo.setWarningType(5);
+            protWarningInfo.setWarningContent("流量为 "+protData.getFlow()+",超过阈值"+one.getFlow2()+"红色预警");
+            ble = true;
+        } else if (comperStringAndString(protData.getFlow(),one.getFlow1())  ) {
+
+            protWarningInfo.setWarningType(5);
+            protWarningInfo.setWarningContent("流量为 "+protData.getFlow()+",超过阈值"+one.getFlow1()+"黄色预警");
+            ble = true;
+        }
+
+        if (comperStringAndString(protData.getNh3n(),one.getNh3n2())){
+            protWarningInfo.setWarningType(2);
+            protWarningInfo.setWarningContent("氨氮为 "+protData.getNh3n()+",超过阈值"+one.getNh3n2()+"红色预警");
+            ble = true;
+        } else if (comperStringAndString(protData.getNh3n(),one.getNh3n1())  ) {
+            protWarningInfo.setWarningType(2);
+            protWarningInfo.setWarningContent("氨氮为 "+protData.getNh3n()+",超过阈值"+one.getNh3n1()+"黄色预警");
+            ble = true;
+        }
+        if (comperStringAndString(protData.getPh(),"8.8")){
+            protWarningInfo.setWarningType(1);
+            protWarningInfo.setWarningContent("ph为 "+protData.getPh()+",超过阈值8.8红色预警");
+            ble = true;
+        }else if (comperStringAndString("6.2",protData.getPh())  ) {
+            protWarningInfo.setWarningType(1);
+            protWarningInfo.setWarningContent("ph为 "+protData.getPh()+",低于阈值6.2红色色预警");
+            ble = true;
+        } else if (!(comperStringAndString(protData.getPh(),one.getOther2()) &&  comperStringAndString(one.getPh1() ,protData.getPh()) )) {
+            protWarningInfo.setWarningType(1);
+            protWarningInfo.setWarningContent("ph为 "+protData.getPh()+"黄色预警");
+            ble = true;
+        }
+        if (ble){
+            warningInfoService.save(protWarningInfo);
+        }
+
+    }
+    private boolean comperStringAndString(String value ,String th){
+        if (StringUtils.isBlank(value) || StringUtils.isBlank(th)){
+            return false;
+        }
+        return Double.parseDouble(value) > Double.parseDouble(th);
+
+    }
     //QN	20250412142007184	请求编号(21位时间戳:2025-04-12 14:20:07.184)
     //ST	32	系统类型(32表示污水处理设施)
     //CN	2051	命令编号(2051表示实时数据上报)

+ 3 - 3
huimv-receive/src/main/java/com/huimv/receive/controller/LoginController.java

@@ -90,9 +90,9 @@ public class LoginController {
     }
 
     @PostMapping("/test")
-    public Result test(@RequestParam(name = "picture1") MultipartFile picture1) throws IOException {
-        uploadImage.getVideoCom(picture1);
-        return iLoginService.logout();
+    public String test(@RequestParam(name = "picture1") MultipartFile picture1) throws IOException {
+        String videoCom = uploadImage.getVideoCom(picture1);
+        return videoCom;
     }
 
 

+ 12 - 12
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillPcrServiceImpl.java

@@ -474,7 +474,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                         //下发人脸门禁白名单
                         if (billPcr.getVistitType() == 0) {
                             //人员隔离中心流程
-                            if (billPcr.getMidId() == 16 || billPcr.getMidId() == 29 || billPcr.getMidId() == 41 || billPcr.getMidId() == 53) {
+                            if (billPcr.getMidId() == 54 || billPcr.getMidId() == 73 || billPcr.getMidId() == 92 || billPcr.getMidId() == 35) {
                                 if (29==billPcr.getFarmId() && billPcr.getTestLocationId() == 46) {
                                     //庙贝门禁单独的
                                     DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", "29"));
@@ -537,7 +537,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                                 }
                             }
                             //人员基地外围
-                            if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
+                            if (billPcr.getMidId() == 60 || billPcr.getMidId() == 79 || billPcr.getMidId() == 98 || billPcr.getMidId() == 41) {
                                 DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", billPcr.getFarmId()));
                                 PeopleList peopleList = new PeopleList();
                                 peopleList.setFarmId(billPcr.getFarmId().toString());
@@ -589,7 +589,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                             //下发人脸门禁白名单
                             if (billPcr.getVistitType() == 0) {
                                 //人员隔离中心流程
-                                if (billPcr.getMidId() == 16 || billPcr.getMidId() == 29 || billPcr.getMidId() == 41 || billPcr.getMidId() == 53) {
+                                if (billPcr.getMidId() == 54 || billPcr.getMidId() == 73 || billPcr.getMidId() == 92 || billPcr.getMidId() == 35) {
                                     if (29==billPcr.getFarmId() && billPcr.getTestLocationId() == 46) {
                                         //庙贝门禁单独的
                                         DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", "29"));
@@ -653,7 +653,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
 
                                 }
                                 //人员基地外围
-                                if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
+                                if (billPcr.getMidId() == 60 || billPcr.getMidId() == 79 || billPcr.getMidId() == 98 || billPcr.getMidId() == 41) {
                                     DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", billPcr.getFarmId()));
                                     PeopleList peopleList = new PeopleList();
                                     peopleList.setFarmId(billPcr.getFarmId().toString());
@@ -805,7 +805,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                     //下发人脸门禁白名单
                     if (billPcr.getVistitType() == 0) {
                         //人员隔离中心流程
-                        if (billPcr.getMidId() == 16 || billPcr.getMidId() == 29 || billPcr.getMidId() == 41 || billPcr.getMidId() == 53) {
+                        if (billPcr.getMidId() == 54 || billPcr.getMidId() == 73 || billPcr.getMidId() == 92 || billPcr.getMidId() == 35) {
                             if (29==billPcr.getFarmId() && billPcr.getTestLocationId() == 46) {
                                 //庙贝门禁单独的
                                 DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", "29"));
@@ -869,7 +869,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                             }
                         }
                         //人员基地外围
-                        if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
+                        if (billPcr.getMidId() == 60 || billPcr.getMidId() == 79 || billPcr.getMidId() == 98 || billPcr.getMidId() == 41) {
                             DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", billPcr.getFarmId()));
                             PeopleList peopleList = new PeopleList();
                             peopleList.setFarmId(billPcr.getFarmId().toString());
@@ -1168,7 +1168,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                             //下发人脸门禁白名单
                             if (billPcr.getVistitType() == 0) {
                                 //人员隔离中心流程
-                                if (billPcr.getMidId() == 16 || billPcr.getMidId() == 29 || billPcr.getMidId() == 41 || billPcr.getMidId() == 53) {
+                                if (billPcr.getMidId() == 54 || billPcr.getMidId() == 73 || billPcr.getMidId() == 92 || billPcr.getMidId() == 35) {
                                     if (29==billPcr.getFarmId() && billPcr.getTestLocationId() == 46) {
                                         //庙贝门禁单独的
                                         DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", "29"));
@@ -1231,7 +1231,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                                     }
                                 }
                                 //人员基地外围
-                                if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
+                                if (billPcr.getMidId() == 60 || billPcr.getMidId() == 79 || billPcr.getMidId() == 98 || billPcr.getMidId() == 41) {
                                     DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", billPcr.getFarmId()));
                                     PeopleList peopleList = new PeopleList();
                                     peopleList.setFarmId(billPcr.getFarmId().toString());
@@ -1283,7 +1283,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                                 //下发人脸门禁白名单
                                 if (billPcr.getVistitType() == 0) {
                                     //人员隔离中心流程
-                                    if (billPcr.getMidId() == 16 || billPcr.getMidId() == 29 || billPcr.getMidId() == 41 || billPcr.getMidId() == 53) {
+                                    if (billPcr.getMidId() == 54 || billPcr.getMidId() == 73 || billPcr.getMidId() == 92 || billPcr.getMidId() == 35) {
                                         if (29==billPcr.getFarmId() && billPcr.getTestLocationId() == 46) {
                                             //庙贝门禁单独的
                                             DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", "29"));
@@ -1347,7 +1347,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
 
                                     }
                                     //人员基地外围
-                                    if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
+                                    if (billPcr.getMidId() == 60 || billPcr.getMidId() == 79 || billPcr.getMidId() == 98 || billPcr.getMidId() == 41) {
                                         DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", billPcr.getFarmId()));
                                         PeopleList peopleList = new PeopleList();
                                         peopleList.setFarmId(billPcr.getFarmId().toString());
@@ -1499,7 +1499,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                         //下发人脸门禁白名单
                         if (billPcr.getVistitType() == 0) {
                             //人员隔离中心流程
-                            if (billPcr.getMidId() == 16 || billPcr.getMidId() == 29 || billPcr.getMidId() == 41 || billPcr.getMidId() == 53) {
+                            if (billPcr.getMidId() == 54 || billPcr.getMidId() == 73 || billPcr.getMidId() == 92 || billPcr.getMidId() == 35) {
                                 if (29==billPcr.getFarmId() && billPcr.getTestLocationId() == 46) {
                                     //庙贝门禁单独的
                                     DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", "29"));
@@ -1562,7 +1562,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                                 }
                             }
                             //人员基地外围
-                            if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
+                            if (billPcr.getMidId() == 60 || billPcr.getMidId() == 79 || billPcr.getMidId() == 98 || billPcr.getMidId() == 41) {
                                 DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", billPcr.getFarmId()));
                                 PeopleList peopleList = new PeopleList();
                                 peopleList.setFarmId(billPcr.getFarmId().toString());

+ 1 - 0
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillPersonnelAdmissionServiceImpl.java

@@ -2827,6 +2827,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
 
     //清洗和洗消的检测
     @Override
+    @Transactional
     public Result editClean(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) throws ParseException {
         String result = paramsMap.get("result");
         String id = paramsMap.get("id");