From 7243e0b4bd9a267a633d2e481e17646509b6868d Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期四, 07 九月 2023 19:36:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteEsServiceImpl.java |   65 +++++++++++++++++++++++++++++++-
 1 files changed, 63 insertions(+), 2 deletions(-)

diff --git a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteEsServiceImpl.java b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteEsServiceImpl.java
index beee3fe..2c72b32 100644
--- a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteEsServiceImpl.java
+++ b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteEsServiceImpl.java
@@ -1,10 +1,24 @@
 package com.ld.igds.protocol.modbus.command;
 
+import com.ld.igds.common.CoreSerService;
+import com.ld.igds.constant.BizType;
 import com.ld.igds.io.RemoteEsService;
+import com.ld.igds.io.constant.OrderRespEnum;
+import com.ld.igds.io.constant.ProtocolEnum;
 import com.ld.igds.io.request.BaseRequest;
 import com.ld.igds.io.response.BaseResponse;
+import com.ld.igds.io.response.GasResponse;
+import com.ld.igds.modbus.service.HModbusService;
+import com.ld.igds.models.DeviceModbus;
+import com.ld.igds.models.DeviceSer;
+import com.ld.igds.protocol.modbus.ModbusUtil2;
+import com.ld.igds.protocol.modbus.ServerUtil;
+import com.ld.igds.protocol.modbus.data.ModbusTcp;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
+import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 褰撳墠鍗忚閽堝鏍囧噯Modbus-TCP鍗忚
@@ -19,13 +33,60 @@
 
     public static final String BEAN_ID = "modbus.remoteEsService";
 
+    @Resource
+    private HModbusService modbusService;
+    @Resource
+    private AnalysisService analysisService;
+    @Resource
+    private CoreSerService coreSerService;
+
     @Override
     public String getProtocol() {
-        return null;
+        return ProtocolEnum.TCP_MODBUS.getCode();
     }
 
     @Override
     public BaseResponse checkEs(BaseRequest request) {
-        return null;
+
+        String passCode = request.getDepotId();
+
+        try {
+            //鑾峰彇闇�瑕佹墽琛岀殑璁惧閰嶇疆
+            List<DeviceModbus> list = modbusService.getDataByBizType(BizType.ES.getCode(), request.getSerId());
+
+            if(null == list || list.isEmpty()){
+                return new GasResponse(OrderRespEnum.ORDER_ERROR.getCode(), "鏈幏鍙栧埌Modbus鑳借�楅厤缃俊鎭�");
+            }
+            ModbusTcp modbusTcp;
+            DeviceSer deviceSer;
+            for (DeviceModbus deviceModbus : list) {
+                modbusTcp = new ModbusTcp(deviceModbus);
+                modbusTcp.setIp(request.getIp());
+                modbusTcp.setPort(request.getPort());
+
+                //鑻odbus璁惧閰嶇疆鍒嗘満锛屽垯浣跨敤鎵�閰嶇疆鍒嗘満鐨処P銆佺鍙�
+                if(StringUtils.isNotEmpty(deviceModbus.getSerId())){
+                    deviceSer = coreSerService.getCacheSer(request.getCompanyId(), deviceModbus.getSerId());
+                    modbusTcp.setIp(deviceSer.getIp());
+                    modbusTcp.setPort(deviceSer.getPort());
+                }
+
+                modbusTcp.setBizCode(passCode);
+                modbusTcp.setSerId(request.getSerId());
+                modbusTcp.setCompanyId(request.getCompanyId());
+
+                modbusTcp.setAddrExe(ServerUtil.getAddrExe(deviceModbus.getOpen()));
+
+                log.debug("--------鍚姩鑳借�楁煡璇�---{}-{}", modbusTcp.getSerId(), modbusTcp.getBizCode());
+                Number check = ModbusUtil2.readHoldingRegister(modbusTcp.getIp(), modbusTcp.getPort(), modbusTcp.getAddrExe());
+
+                //瑙f瀽鑳借�楁暟鎹�
+                analysisService.analysisEs(request, check);
+            }
+        } catch (Exception e) {
+            return new GasResponse(OrderRespEnum.ORDER_ERROR.getCode(), "鍚庡彴鎵ц寮傚父锛�" + e.getLocalizedMessage());
+        }
+
+        return new GasResponse(OrderRespEnum.ORDER_SUCCESS);
     }
 }

--
Gitblit v1.9.3