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