From 7fbb3a0cec59554367b527f55d81e3997eacf4c9 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期三, 16 八月 2023 15:57:12 +0800
Subject: [PATCH] 增加根据损益信息定时更新库存
---
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java | 78 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 76 insertions(+), 2 deletions(-)
diff --git a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java
index c00c5cc..601e72a 100644
--- a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java
+++ b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java
@@ -1,12 +1,23 @@
package com.ld.igds.protocol.modbus.command;
+import com.ld.igds.common.CoreDeviceService;
+import com.ld.igds.constant.Constant;
import com.ld.igds.io.RemoteControlService;
+import com.ld.igds.io.constant.OrderRespEnum;
+import com.ld.igds.io.constant.ProtocolEnum;
import com.ld.igds.io.request.DeviceAutoControlRequest;
import com.ld.igds.io.request.DeviceControlRequest;
+import com.ld.igds.io.request.ExeDevice;
import com.ld.igds.io.request.TempControlRequest;
import com.ld.igds.io.response.DeviceControlResponse;
+import com.ld.igds.models.Device;
+import com.ld.igds.protocol.modbus.ModbusUtil;
+import com.ld.igds.protocol.modbus.data.ModbusTcp;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.List;
/**
* 褰撳墠鍗忚閽堝鏍囧噯Modbus-TCP鍗忚
@@ -21,15 +32,75 @@
public static final String BEAN_ID = "modbus.remoteControlService";
+ @Resource
+ private CoreDeviceService deviceService;
+ @Resource
+ private ModbusUtil modbusUtil;
+
@Override
public String getProtocol() {
- return null;
+ return ProtocolEnum.MODBUS_TCP.getCode();
}
@Override
public DeviceControlResponse deviceControl(DeviceControlRequest request) {
- return null;
+ List<ExeDevice> deviceList = request.getDeviceList();
+
+ if (null == deviceList || deviceList.isEmpty()) {
+ return new DeviceControlResponse(OrderRespEnum.ORDER_ERROR.getCode(), "娌℃湁闇�瑕佹墽琛岀殑璁惧");
+ }
+
+
+ try {
+
+
+ Device device;
+ ModbusTcp modbusTcp;
+ String[] addr;
+ String temp;
+ for (ExeDevice exeDevice : deviceList) {
+ device = deviceService.getCacheDeviceById(exeDevice.getCompanyId(), exeDevice.getId());
+
+ if (null == device) continue;
+
+ if (null == device.getModbus()) continue;
+
+ modbusTcp = new ModbusTcp();
+ modbusTcp.setIp(request.getIp());
+ modbusTcp.setPort(request.getPort());
+ modbusTcp.setDeviceId(device.getId());
+ modbusTcp.setSerId(request.getSerId());
+
+ //modbus瑙勫垯锛氬紑鍦板潃-鍏冲湴鍧�-鍋滃湴鍧�-寮�鍒颁綅-鍏冲埌浣�-寮�鏁呴殰-鍏虫晠闅滐紝鏃犲湴鍧�鐢∟浠f浛
+ addr = device.getModbus().split("-");
+ temp = addr[0];
+ if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpen(Integer.valueOf(temp));
+ temp = addr[1];
+ if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrClose(Integer.valueOf(temp));
+ temp = addr[2];
+ if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrStop(Integer.valueOf(temp));
+ temp = addr[3];
+ if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpenEnd(Integer.valueOf(temp));
+ temp = addr[4];
+ if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrCloseEnd(Integer.valueOf(temp));
+ temp = addr[5];
+ if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpenError(Integer.valueOf(temp));
+ temp = addr[6];
+ if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrCloseError(Integer.valueOf(temp));
+
+
+ //鏍规嵁璁惧鐩爣鐘舵�侊紝璋冪敤MODBUS鎵ц
+ modbusUtil.writeCoil(modbusTcp.getIp(), modbusTcp.getPort(), modbusTcp.getAddrOpen(), true);
+
+
+ }
+ } catch (Exception e) {
+
+ }
+
+ return new DeviceControlResponse(OrderRespEnum.ORDER_SUCCESS);
}
+
@Override
public DeviceControlResponse closeAll(DeviceControlRequest request) {
@@ -48,11 +119,14 @@
@Override
public DeviceControlResponse airAutoControl(DeviceAutoControlRequest request) {
+
+
return null;
}
@Override
public DeviceControlResponse n2AutoControl(DeviceAutoControlRequest request) {
+
return null;
}
}
--
Gitblit v1.9.3