From 6105a2d7b44ad0bf0d73d19df34158e9acff75af Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期四, 06 七月 2023 09:00:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/lpr/AlarmLpr.java                   |    2 
 igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/verb/analysis/AnalysisGas.java   |   14 +++
 igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/HkApiInoutService.java              |    5 
 igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/common/LPRCallBask_V31.java         |    8 +
 igds-core/src/main/java/com/ld/igds/common/manager/CommonManager.java                       |    5 
 igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java            |   40 ++++++---
 igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BHZNWeightServiceImpl.java |  101 +++++++++++++++++-------
 igds-web/pom.xml                                                                            |   16 +++
 8 files changed, 138 insertions(+), 53 deletions(-)

diff --git a/igds-core/src/main/java/com/ld/igds/common/manager/CommonManager.java b/igds-core/src/main/java/com/ld/igds/common/manager/CommonManager.java
index 2f36ca3..68dee3b 100644
--- a/igds-core/src/main/java/com/ld/igds/common/manager/CommonManager.java
+++ b/igds-core/src/main/java/com/ld/igds/common/manager/CommonManager.java
@@ -562,8 +562,9 @@
         log.debug("----------------鏍规嵁鐢ㄦ埛IP鑾峰彇閫夋嫨-鍦扮----{}", userIp);
 
         String key = "INOUT:WEIGHT:" + userIp;
-
-        return (String) redisUtil.get(key);
+        String sort =  (String)redisUtil.get(key);
+        if(StringUtils.isEmpty(sort))sort="1";
+        return sort;
     }
 
     /**
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java
index 3c7ba24..780d073 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java
@@ -6,6 +6,7 @@
 import com.ld.igds.camera.data.ApiCameraResp;
 import com.ld.igds.camera.data.ApiSnapReq;
 import com.ld.igds.constant.BizType;
+import com.ld.igds.constant.DeviceType;
 import com.ld.igds.data.SnapImgDto;
 import com.ld.igds.file.CoreFileService;
 import com.ld.igds.inout.ApiInoutManager;
@@ -420,30 +421,41 @@
     public void onReceivePlateNum(ApiInoutData data) {
 
         InoutConf conf = this.getInoutConfBySn(data.getCompanyId(), data.getDeptId(), data.getSn());
-
-        if (null == conf) return;
-
+        if (null == conf) {
+            log.error("娌℃湁鑾峰彇鍒板嚭鍏ュ簱閰嶇疆CONF锛�"+data.toString());
+            return;
+        }
+        log.info(conf.toString());
         if (0 == conf.getInOrder()) return;
 
         data = new ApiInoutData(conf);
-
-        ApiInoutService inoutApiService = apiInoutManager.getApiService(conf.getProtocol());
-
+        log.info(data.toString());
+        ApiInoutService inoutApiService = null;
+        InoutConf gateconf = null;
         //鑾峰彇杞︾墝淇℃伅锛屽紑闂告満
         if (InoutApiConstant.DEVICE_CODE_1002 == data.getDeviceCode()) {
+            gateconf = this.getWeightGateway(data.getCompanyId(), data.getDeptId(), null);
+            if (null == gateconf) {
+                log.info("----------娌℃湁鑾峰彇鍒扮О閲嶆帶鍒跺櫒--------------");
+            }
+            data = new ApiInoutData(gateconf);
             //寮�鍏ュ彛澶勯亾闂�
+            inoutApiService = apiInoutManager.getApiService(gateconf.getProtocol());
             data.setDeviceCode(InoutApiConstant.DEVICE_CODE_2002);
             data.setActionCode(InoutApiConstant.ACTION_CODE_1);
-
             inoutApiService.gateControl(data);
         }
 
-
         if (InoutApiConstant.DEVICE_CODE_1003 == data.getDeviceCode()) {
+            gateconf = this.getWeightGateway(data.getCompanyId(), data.getDeptId(), null);
+            if (null == gateconf) {
+                log.info("----------娌℃湁鑾峰彇鍒扮О閲嶆帶鍒跺櫒--------------");
+            }
             //寮�鍏ュ彛澶勯亾闂�
+            data = new ApiInoutData(gateconf);
+            inoutApiService = apiInoutManager.getApiService(gateconf.getProtocol());
             data.setDeviceCode(InoutApiConstant.DEVICE_CODE_2003);
             data.setActionCode(InoutApiConstant.ACTION_CODE_1);
-
             inoutApiService.gateControl(data);
         }
 
@@ -464,7 +476,7 @@
         ApiInoutData apiInoutData;
         ApiInoutService inoutApiService;
         for (InoutConf conf : listInoutConf) {
-            if (InoutConstant.CONF_TYPE_10.equals(conf.getType()) && sort.equals(conf.getSort())) {
+            if (InoutConstant.PROGRESS_WEIGHT_TAG.equals(conf.getInoutProgress())&&InoutConstant.CONF_TYPE_10.equals(conf.getType()) && sort.equals(conf.getSort())) {
                 apiInoutData = new ApiInoutData(conf);
                 inoutApiService = apiInoutManager.getApiService(conf.getProtocol());
                 inoutApiService.initLpr(apiInoutData);
@@ -515,9 +527,9 @@
         if (InoutConstant.TYPE_IN.equals(data.getType())) {
             //缁撶畻閲嶉噺澶т簬0琛ㄧず浜屾绉伴噸
             if (data.getNetWeight() > 0) {
-                apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_1002);
+                apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_2002);
             } else {
-                apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_1003);
+                apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_2003);
             }
             apiData.setActionCode(InoutApiConstant.ACTION_CODE_1);
 
@@ -525,9 +537,9 @@
         } else {
             //缁撶畻閲嶉噺澶т簬0琛ㄧず浜屾绉伴噸
             if (data.getNetWeight() > 0) {
-                apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_1003);
+                apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_2002);
             } else {
-                apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_1002);
+                apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_2003);
             }
             apiData.setActionCode(InoutApiConstant.ACTION_CODE_1);
             inoutApiService.gateControl(apiData);
diff --git a/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BHZNWeightServiceImpl.java b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BHZNWeightServiceImpl.java
index b198afc..6ed27b6 100644
--- a/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BHZNWeightServiceImpl.java
+++ b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BHZNWeightServiceImpl.java
@@ -1,16 +1,23 @@
 package com.ld.igds.protocol.bhzn.inout;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.ld.igds.inout.ApiInoutService;
+import com.ld.igds.inout.InoutApiConstant;
+import com.ld.igds.inout.InoutConstant;
 import com.ld.igds.inout.dto.ApiInoutData;
 import com.ld.igds.inout.dto.InoutData;
 import com.ld.igds.io.constant.ProtocolEnum;
 import com.ld.igds.protocol.bhzn.inout.client.BHZNClientEngine;
 import com.ld.igds.protocol.bhzn.utils.CRC16;
 import com.ld.igds.util.BytesUtil;
+import com.ld.io.api.InvokeResult;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
 import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * @Desc: 鍦扮涓绘帶鍗忚瀹炵幇锛屽嚭鍏ュ簱鐩稿叧鎺ュ彛
@@ -57,18 +64,41 @@
     @Override
     public String gateControl(ApiInoutData param) {
         try{
-//           ReqGate reqGate = new ReqGate();
+            log.info("BHZN鍑哄叆搴撴帶鍒跺櫒鎺у埗閬撻椄寮�濮�");
+            String actionCode = param.getActionCode();
             BHZNClientEngine test = new BHZNClientEngine(
                     param.getIp(), param.getPort());
             test.start();
-            String msg = "<BHZN>{\"cmd\":226,\"content\":{" +
-                    "\"value\":[1,1]," +
-                    "\"LEDValue\":[1,1]" +
-                    "},\"orderId\":\"5009\",\"result\":\"\",\"sign\":\"0000\",\"stNum\":1,\"version\":\"V1.0000000\"}<END>";
+            Integer[] value = new Integer[]{0,0};
+            Map<String,Object> message = new HashMap<>();
+            message.put("Cmd",226);
+            message.put("orderId","5009");
+            message.put("result","0");
+            message.put("sign","0000");
+            message.put("stNum",100);
+            message.put("version","V1.0000000");
+            message.put("sn","1000000001");
+            Map<String,Object> content = new HashMap<>();
+//            String msg = "<BHZN>{\"cmd\":226,\"content\":{" ;
+            if(InoutApiConstant.DEVICE_CODE_2002 == param.getDeviceCode()){
+                content.put("value",new Integer[]{1,0});
+                content.put("LEDValue",new Integer[]{1,0});
+//                msg +=  "\"value\":[1,0]," ;
+//                msg+= "\"LEDValue\":[1,0]" ;
+            }
+            if(InoutApiConstant.DEVICE_CODE_2003 == param.getDeviceCode()){
+                content.put("value",new Integer[]{0,1});
+                content.put("LEDValue",new Integer[]{0,1});
+            }
+            message.put("content", content);
+//            msg+=      "},\"orderId\":\"5009\",\"result\":\"\",\"sign\":\"0000\",\"stNum\":100,\"version\":\"V1.0000000\"}<END>";
 
-            // Thread.sleep(3000L);
+             Thread.sleep(3000L);
+                        String msg = "<BHZN>" + JSON.toJSONString(message) + "<END>" ;
+            InvokeResult result = test.send(msg.getBytes());
+            log.info("BHZN鍑哄叆搴撴帶鍒跺櫒鎺у埗閬撻椄缁撴潫,MSG=" +msg);
+            log.info("result=" +result.getMessage());
 
-            test.send(BytesUtil.hexStrToBytes(msg));
         }catch (Exception e){
             log.error(e.getMessage(),e);
             return "ERROR";
@@ -129,30 +159,41 @@
 
 
     public static void main(String[] args) {
-        try{
-            String str1 = "璁稿浆",str2="绮123456",str3 = "3鍙蜂粨" ,str4 = "灏忛害",str5="286000",str6 = "30000",str7 ="鍚堟牸";
-            String test = "鎴戠埍涓埅杞欢";
-            //78340100290000000000000000 1400 0B00 01 02 00 01 0C 00
+//        try{
+//            String str1 = "璁稿浆",str2="绮123456",str3 = "3鍙蜂粨" ,str4 = "灏忛害",str5="286000",str6 = "30000",str7 ="鍚堟牸";
+//            String test = "鎴戠埍涓埅杞欢";
+//            //78340100290000000000000000 1400 0B00 01 02 00 01 0C 00
+//            String start = "FFFFFFFFFF00000000";
+//            String lengh = BytesUtil.tran_LH(BytesUtil.intToHexStr(8+(test.length() * 2)));
+//            String msg = "78340100290000000000000000" + lengh+ "0B00010201010C00";
+//            msg = msg + convertStr(test);
+//            msg = msg.toUpperCase();
+//
+////        String t = "78 34 01 00 29 BC FD 00 00 00 00 00 00 14 00 01 00 01 02 06 01 0C 00 CE D2 B0 AE D6 D0 BA BD C8 ED BC FE";
+////         t =   t.replaceAll(" ","");
+//            String check = BytesUtil.tran_LH(BytesUtil.intToHexStr(CRC16.calcCrc16(BytesUtil.hexStrToBytes(msg))));
+//            System.out.println(check);
+//
+//            msg+=check;
+//            msg += "A5";
+//            msg = start +msg;
+//            System.out.println(msg);
+//        }catch (Exception e){
+//            e.printStackTrace();
+//        }
 
-            String lengh = BytesUtil.tran_LH(BytesUtil.intToHexStr(8+test.length()));
-            String msg = "78340100290000000000000000 " + lengh+ "0B00010200010C00";
-            msg = msg + convertStr(test);
-            msg = msg.toUpperCase();
-
-//        String t = "78 34 01 00 29 BC FD 00 00 00 00 00 00 14 00 01 00 01 02 06 01 0C 00 CE D2 B0 AE D6 D0 BA BD C8 ED BC FE";
-//         t =   t.replaceAll(" ","");
-            String check = BytesUtil.tran_LH(BytesUtil.intToHexStr(CRC16.calcCrc16(BytesUtil.hexStrToBytes(msg))));
-            System.out.println(check);
-
-            msg+=check;
-            msg += "A5";
-
-            System.out.println(msg);
-        }catch (Exception e){
-            e.printStackTrace();
-        }
-
-
+        Map<String,Object> message = new HashMap<>();
+        message.put("cmd",226);
+        message.put("orderId","5009");
+        message.put("result","0");
+        message.put("sign","0000");
+        message.put("stNum",100);
+        message.put("version","V1.0000000");
+        Map<String,Object> content = new HashMap<>();
+            content.put("value",new Integer[]{0,1});
+            content.put("LEDValue",new Integer[]{0,1});
+        message.put("content", content);
+        System.out.println(JSON.toJSONString(message));
     }
 
 
diff --git a/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/verb/analysis/AnalysisGas.java b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/verb/analysis/AnalysisGas.java
index efb1855..d787fa3 100644
--- a/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/verb/analysis/AnalysisGas.java
+++ b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/verb/analysis/AnalysisGas.java
@@ -18,6 +18,7 @@
 import com.ld.igds.temp.dto.TempParam;
 import com.ld.igds.util.BytesUtil;
 import com.ld.igds.util.ContextUtil;
+import com.ld.igds.util.NumberUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -79,6 +80,7 @@
         Integer[] n2ValArray = res209.getN2ValArray();
         Integer[] pH3ValArray = res209.getPH3ValArray();
         Integer[] cO2ValArray = res209.getCO2ValArray();
+        double sumO2 = 0.0, sumCo2 = 0.0, sumPh3 = 0.0, sumN2 = 0.0;
         for (int i=0;i<res209.getCO2ValArray().length;i++){
             info = new GasInfo();
             info.setId(ContextUtil.buildInfoId(gas.getCompanyId(), gas.getDepotId(), gas.getBatchId()));
@@ -130,7 +132,10 @@
             if (info.getPerN2() < gas.getPerN2Min()) {
                 gas.setPerN2Min(info.getPerN2());
             }
-
+            sumO2 += info.getPerO2();
+            sumCo2 += info.getPerCo2();
+            sumPh3 += info.getPerPh3();
+            sumN2 += info.getPerN2();
             //鍥哄畾涓猴細passCode,co2,o2,ph3,n2;passCode,co2,o2,ph3,n2;"
             sb.append(info.getPassCode());
             sb.append(",");
@@ -143,6 +148,13 @@
             sb.append(info.getPerN2());
             sb.append(";");
         }
+
+        if(res209.getCO2ValArray().length>1){
+            gas.setPerCo2(NumberUtil.keepPrecision(sumCo2/res209.getCO2ValArray().length, 2));
+            gas.setPerO2(NumberUtil.keepPrecision(sumO2/res209.getCO2ValArray().length, 2));
+            gas.setPerN2(NumberUtil.keepPrecision(sumN2/res209.getCO2ValArray().length, 2));
+            gas.setPerPh3(NumberUtil.keepPrecision(sumPh3/res209.getCO2ValArray().length, 2));
+        }
         gas.setPoints(sb.toString());
         gasService.saveInfoGas(items);
 
diff --git a/igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/HkApiInoutService.java b/igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/HkApiInoutService.java
index 3f75554..70cf15b 100644
--- a/igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/HkApiInoutService.java
+++ b/igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/HkApiInoutService.java
@@ -77,7 +77,7 @@
             }
 
             // 鐧婚檰
-            msg = alarmLpr.login(param.getDeviceCode(), param.getIp(), param.getPort(), param.getLoginId(), param.getPwd());
+            msg = alarmLpr.login(param.getChanNum(), param.getIp(), param.getPort(), param.getLoginId(), param.getPwd());
 
             if (HKConstant.RESULT_SUCCESS.equals(msg)) {
                 param.setStatus(Constant.YN_Y);
@@ -90,7 +90,8 @@
             return msg;
 
         } catch (Exception e) {
-            log.error("----------------鍒濆鍖栬溅鐗岃瘑鍒墽琛岃瘑鍒�----------------------");
+            log.error("----------------鍒濆鍖栬溅鐗岃瘑鍒墽琛岃瘑鍒け璐�----------------------");
+            log.error(e.getMessage(),e);
         }
 
         return null;
diff --git a/igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/common/LPRCallBask_V31.java b/igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/common/LPRCallBask_V31.java
index a199faa..d8d3c80 100644
--- a/igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/common/LPRCallBask_V31.java
+++ b/igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/common/LPRCallBask_V31.java
@@ -65,7 +65,9 @@
                     log.info("杞︾墝鍙凤細" + sLicense + ":杞﹁締绫诲瀷锛�" + VehicleType + ":鐩戞帶鐐圭紪鍙凤細" + MonitoringSiteID + "-璁惧IP=" + deviceIp + "-SN=" + deviceSn);
 
                     ApiInoutData data = HKConstant.getDataBySn(deviceSn);
+
                     if (null != data) {
+                        log.info(data.toString());
                         data.setPlateNum(sLicense.substring(1));
                         data.setErrorMsg(HKConstant.RESULT_SUCCESS);
                         data.setTime(new Date());
@@ -73,9 +75,11 @@
 
                         if (inoutEventControlManager == null) {
                             inoutEventControlManager = SpringUtil.getBean(InoutEventControlManager.class);
-                            inoutEventControlManager.onReceivePlateNum(data);
-                        }
 
+                        }
+                        inoutEventControlManager.onReceivePlateNum(data);
+                    }else{
+                        log.error("娌℃湁鑾峰彇鍒拌溅鐗岃瘑鍒殑閰嶇疆锛�");
                     }
 
                 } catch (IOException e) {
diff --git a/igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/lpr/AlarmLpr.java b/igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/lpr/AlarmLpr.java
index 5d9f2c6..2889d00 100644
--- a/igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/lpr/AlarmLpr.java
+++ b/igds-protocol-sdk/src/main/java/com/ld/igds/protocol/hk/lpr/AlarmLpr.java
@@ -164,7 +164,7 @@
 
         }
 
-        log.debug(ip + ":璁惧鐧诲綍鎴愬姛锛�");
+        log.info(ip + ":杞︾墝璇嗗埆璁惧鐧诲綍鎴愬姛锛�");
         return HKConstant.RESULT_SUCCESS;
     }
 
diff --git a/igds-web/pom.xml b/igds-web/pom.xml
index ed614ca..a09eb36 100644
--- a/igds-web/pom.xml
+++ b/igds-web/pom.xml
@@ -183,7 +183,21 @@
                 </exclusion>
             </exclusions>
         </dependency>
-
+        <dependency>
+            <groupId>com.ld.igds</groupId>
+            <artifactId>igds-protocol-sdk</artifactId>
+            <version>${igds.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>slf4j-log4j12</artifactId>
+                    <groupId>org.slf4j</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>log4j</artifactId>
+                    <groupId>log4j</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
     </dependencies>
 
     <dependencyManagement>

--
Gitblit v1.9.3