From e241acb82959328535d8f903902863bd420df139 Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期一, 04 九月 2023 10:28:32 +0800
Subject: [PATCH] 增加zldz协议

---
 igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/msg/AnalysisService.java |   82 ++++++++++++++++++++++++++++++++---------
 1 files changed, 64 insertions(+), 18 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..7772715 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,11 @@
 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.grain.GrainUtil;
 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;
@@ -75,7 +73,7 @@
             //DO NOTHING
 
             log.info("涓绘満------->>骞冲彴锛氭敞鍐屼俊鎭姤鏂�={}", message);
-            DeviceSer ser = coreSerService.getCacheSerBySn(ContextUtil.getDefaultCompanyId(),message.getAddr());
+            DeviceSer ser = coreSerService.getCacheSerBySn("5323",message.getAddr());
             if(ser!= null ){
                 ser.setIp(message.getIp());
                 ser.setPort(message.getPort());
@@ -113,7 +111,7 @@
 
             //鏍规嵁鍒嗘満鍦板潃鑾峰彇鍒嗘満淇℃伅
 
-            DeviceSer ser = coreSerService.getCacheSer(ContextUtil.getDefaultCompanyId(), message.getAddr());
+            DeviceSer ser = coreSerService.getCacheSer("5323", message.getAddr());
             if (ser == null) {
                 replayGrain(message);
                 log.error("涓绘満-------->>骞冲彴锛岃В鏋愮伯鎯呭け璐ワ紝鏈幏鍙栧埌绯荤粺绮儏涓绘満閰嶇疆锛�" + message.getAddr());
@@ -145,15 +143,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.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 +228,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.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())
@@ -275,7 +304,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,14 +322,26 @@
         }
 
         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.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);
@@ -430,7 +476,7 @@
     private void analysisTh(IoMessage message) {
         try {
             THDto th = new THDto();
-            th.setCompanyId(ContextUtil.getDefaultCompanyId());
+            th.setCompanyId("5323");
             String data = message.getContent();
             String houseNo = data.substring(0, 2);
             String t = data.substring(4, 8);

--
Gitblit v1.9.3