From 69cd9f59a0fabf12f8c9147fcba7f69817a870b3 Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期一, 06 十一月 2023 23:40:59 +0800 Subject: [PATCH] 更新仓内抓拍2 --- igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/msg/AnalysisService.java | 108 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 89 insertions(+), 19 deletions(-) diff --git a/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/msg/AnalysisService.java b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/msg/AnalysisService.java index 41a7547..6a883f3 100644 --- a/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/msg/AnalysisService.java +++ b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/msg/AnalysisService.java @@ -5,13 +5,13 @@ import com.ld.igds.common.dto.THDto; import com.ld.igds.constant.BizType; import com.ld.igds.constant.Constant; +import com.ld.igds.constant.DepotType; +import com.ld.igds.constant.RedisConst; import com.ld.igds.grain.GrainUtil; +import com.ld.igds.grain.dto.GrainData; import com.ld.igds.grain.dto.GrainItemInfo; import com.ld.igds.io.notify.NotifyGrainInvoker; -import com.ld.igds.models.DepotConf; -import com.ld.igds.models.DeviceSer; -import com.ld.igds.models.DicSysConf; -import com.ld.igds.models.Grain; +import com.ld.igds.models.*; import com.ld.igds.order.ExeOrderService; import com.ld.igds.order.data.ExeRequest; import com.ld.igds.protocol.bhzn.grainv1.msg.builder.CommandBuild; @@ -21,6 +21,7 @@ import com.ld.igds.protocol.bhzn.grainv1.server.BhznGrainV1ServerUtils; import com.ld.igds.util.BytesUtil; import com.ld.igds.util.ContextUtil; +import com.ld.igds.util.RedisUtil; import com.ld.igds.warn.WarnUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -51,6 +52,8 @@ public static final String BEAN_ID = "bhznGrainv1.analysisService"; @Autowired + private RedisUtil redisUtil; + @Autowired private CoreSerService coreSerService; @Autowired private BhznGrainV1ServerEngine serverEngine; @@ -70,12 +73,19 @@ */ public void analysis(String sessionKey, IoMessage message) throws Exception { + String companyId = ContextUtil.getDefaultCompanyId(); + //FZZY浜戞湇鍔″櫒-璁告槍鍐涚伯 + if("1000".equals(companyId)){ + companyId = "5323"; + } + message.setCompanyId(companyId); //娉ㄥ唽 if (BhznGrainV1ServerUtils.FUNCTION_ID_F1.equals(message.getFunctionId())) { //DO NOTHING log.info("涓绘満------->>骞冲彴锛氭敞鍐屼俊鎭姤鏂�={}", message); - DeviceSer ser = coreSerService.getCacheSerBySn(ContextUtil.getDefaultCompanyId(),message.getAddr()); + + DeviceSer ser = coreSerService.getCacheSerBySn(message.getCompanyId(), message.getAddr()); if(ser!= null ){ ser.setIp(message.getIp()); ser.setPort(message.getPort()); @@ -113,7 +123,7 @@ //鏍规嵁鍒嗘満鍦板潃鑾峰彇鍒嗘満淇℃伅 - DeviceSer ser = coreSerService.getCacheSer(ContextUtil.getDefaultCompanyId(), message.getAddr()); + DeviceSer ser = coreSerService.getCacheSer(message.getCompanyId(), message.getAddr()); if (ser == null) { replayGrain(message); log.error("涓绘満-------->>骞冲彴锛岃В鏋愮伯鎯呭け璐ワ紝鏈幏鍙栧埌绯荤粺绮儏涓绘満閰嶇疆锛�" + message.getAddr()); @@ -145,15 +155,30 @@ log.error("鍒嗘満------>>>骞冲彴锛�" + info); return; } - + Depot depot = commonService.getDepotById(depotConf.getCompanyId(),depotConf.getDepotId()); + if (null == depot) { + String info = "绮儏瑙f瀽澶辫触:鍒嗘満=" + ser.getName() + "娌℃湁鑾峰彇鍒扮伯鎯呭弬鏁伴厤缃粨搴撱��"; + log.error("鍒嗘満------>>>骞冲彴锛�" + info); + return; + } // 绮儏鐨勬壒娆″彿閲嶆柊鏍规嵁棰戠巼璋冩暣 String batchId = ContextUtil.getBatchIdByFireq(depotConf.getGrainFreq()); // 鍒ゆ柇鏁版嵁鏈夋病鏈夋敹鍙栧畬鏁� String[] attCable = depotConf.getCableRule().split("-"); - int cableZ = Integer.valueOf(attCable[0]); - int cableY = Integer.valueOf(attCable[1]); - int cableX = Integer.valueOf(attCable[2]); + int cableZ = 1; + int cableY = 1; + int cableX = 1; + + if(DepotType.TYPE_01.getCode().equals(depot.getDepotType())){ + cableZ = Integer.valueOf(attCable[0]); + cableY = Integer.valueOf(attCable[1]); + cableX = Integer.valueOf(attCable[2]); + }else{ + cableZ = Integer.valueOf(depotConf.getCableCir()); + cableY = Integer.valueOf(attCable[0]); + cableX = 1; + } int sumPoint = cableZ * cableY * cableX; //鑾峰彇褰撳墠绮儏娓╁害鎶ユ枃 @@ -215,10 +240,26 @@ private void analysisGrain2(DeviceSer ser, IoMessage message, ExeRequest exeRequest, DepotConf depotConf, DicSysConf sysConf, String batchId, String grainStr) { // 鑾峰彇瀹屾暣鐨勭伯鎯呭寘淇℃伅 + Depot depot = commonService.getDepotById(depotConf.getCompanyId(),depotConf.getDepotId()); + if (null == depot) { + String info = "绮儏瑙f瀽澶辫触:鍒嗘満=" + ser.getName() + "娌℃湁鑾峰彇鍒扮伯鎯呭弬鏁伴厤缃粨搴撱��"; + log.error("鍒嗘満------>>>骞冲彴锛�" + info); + return; + } String[] attCable = depotConf.getCableRule().split("-"); - int cableZ = Integer.valueOf(attCable[0]); - int cableY = Integer.valueOf(attCable[1]); - int cableX = Integer.valueOf(attCable[2]); + int cableZ = 1; + int cableY = 1; + int cableX = 1; + + if(DepotType.TYPE_01.getCode().equals(depot.getDepotType())){ + cableZ = Integer.valueOf(attCable[0]); + cableY = Integer.valueOf(attCable[1]); + cableX = Integer.valueOf(attCable[2]); + }else{ + cableZ = Integer.valueOf(depotConf.getCableCir()); + cableY = Integer.valueOf(attCable[0]); + cableX = 1; + } // 鏍规嵁灞傝鍒楄幏鍙栨寚瀹氶暱搴� int start = 4 * (depotConf.getCableStart() - ser.getCableStart()) @@ -257,12 +298,13 @@ if (null != thDto) { log.debug("-------THDto--={}", thDto.toString()); } + + //娓呯┖ String key = "GRAIN_" + message.getAddr(); contextMapGrain.put(key, null); // 灏嗛泦鍚堣В鏋愭垚鍧愭爣鏁版嵁 addPoint1(temps, depotConf, ser, exeRequest, thDto, sysConf, batchId); - } @@ -275,7 +317,12 @@ private void addPoint1(List<Double> temps, DepotConf depotConf, DeviceSer ser, ExeRequest exeRequest, THDto thDto, DicSysConf sysConf, String batchId) { - + Depot depot = commonService.getDepotById(depotConf.getCompanyId(),depotConf.getDepotId()); + if (null == depot) { + String info = "绮儏瑙f瀽澶辫触:鍒嗘満=" + ser.getName() + "娌℃湁鑾峰彇鍒扮伯鎯呭弬鏁伴厤缃粨搴撱��"; + log.error("鍒嗘満------>>>骞冲彴锛�" + info); + return; + } //鏍规嵁鐢电紗璧峰鏂逛綅鍜屽竷绾挎柟鍚戯紝瀵圭伯鎯呮暟鎹繘琛岃皟鏁� if (null != depotConf.getStartOrientation()) { temps = reversalGrainPoint(temps, depotConf); @@ -288,17 +335,40 @@ } String[] attCable = depotConf.getCableRule().split("-"); - int cableZ = Integer.valueOf(attCable[0]); - int cableY = Integer.valueOf(attCable[1]); - int cableX = Integer.valueOf(attCable[2]); + int cableZ = 1; + int cableY = 1; + int cableX = 1; + + if(DepotType.TYPE_01.getCode().equals(depot.getDepotType())){ + cableZ = Integer.valueOf(attCable[0]); + cableY = Integer.valueOf(attCable[1]); + cableX = Integer.valueOf(attCable[2]); + }else{ + cableZ = Integer.valueOf(depotConf.getCableCir()); + cableY = Integer.valueOf(attCable[0]); + cableX = 1; + } + + + + Grain grain = new Grain(); grain.setDepotId(depotConf.getDepotId()); grain.setCompanyId(depotConf.getCompanyId()); grain.setCable(depotConf.getCableRule()); + grain.setCableCir(depotConf.getCableCir()); grain.setBatchId(batchId); grain.setTempIn(Constant.ERROR_TEMP); grain.setHumidityIn(Constant.ERROR_TEMP); + + //濡傛灉鏄补缃愪粨 + if(DepotType.TYPE_03.getCode().equals(depot.getDepotType())){ + GrainData tempData = (GrainData) redisUtil.get(RedisConst.buildKey(ser.getCompanyId(),RedisConst.KEY_DEPOT_HEIGHT,depot.getId())); + if(null != tempData){ + //TODO + } + } if (null != thDto) { log.debug("绮儏瑙f瀽涓幏鍙栧埌鐨勬俯婀垮害淇℃伅={}", thDto.toString()); @@ -430,7 +500,7 @@ private void analysisTh(IoMessage message) { try { THDto th = new THDto(); - th.setCompanyId(ContextUtil.getDefaultCompanyId()); + th.setCompanyId(message.getCompanyId()); String data = message.getContent(); String houseNo = data.substring(0, 2); String t = data.substring(4, 8); -- Gitblit v1.9.3