From 378bd90e53253245defb4c505e7550ad7e1521f2 Mon Sep 17 00:00:00 2001
From: Andy.jia <jiazx0107@163.com>
Date: 星期四, 17 八月 2023 19:40:03 +0800
Subject: [PATCH] 调整MODBUS实现类和数据配置

---
 igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java |   31 +++++++---
 igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/data/ModbusTcp.java                   |   35 +++++++++--
 igds-web/src/main/java/com/ld/igds/web/LoginController.java                                          |    1 
 igds-web/src/main/resources/application-pro5325.yml                                                  |   80 ++++++++++++++++++++++++++
 igds-web/src/main/resources/verb-conf.properties                                                     |    7 ++
 5 files changed, 136 insertions(+), 18 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 601e72a..0af4436 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
@@ -2,6 +2,7 @@
 
 import com.ld.igds.common.CoreDeviceService;
 import com.ld.igds.constant.Constant;
+import com.ld.igds.constant.DeviceStatus;
 import com.ld.igds.io.RemoteControlService;
 import com.ld.igds.io.constant.OrderRespEnum;
 import com.ld.igds.io.constant.ProtocolEnum;
@@ -58,6 +59,7 @@
             ModbusTcp modbusTcp;
             String[] addr;
             String temp;
+            int addrExe = 65535;
             for (ExeDevice exeDevice : deviceList) {
                 device = deviceService.getCacheDeviceById(exeDevice.getCompanyId(), exeDevice.getId());
 
@@ -74,24 +76,35 @@
                 //modbus瑙勫垯锛氬紑鍦板潃-鍏冲湴鍧�-鍋滃湴鍧�-寮�鍒颁綅-鍏冲埌浣�-寮�鏁呴殰-鍏虫晠闅滐紝鏃犲湴鍧�鐢∟浠f浛
                 addr = device.getModbus().split("-");
                 temp = addr[0];
-                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpen(Integer.valueOf(temp));
+                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpen(temp);
                 temp = addr[1];
-                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrClose(Integer.valueOf(temp));
+                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrClose(temp);
                 temp = addr[2];
-                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrStop(Integer.valueOf(temp));
+                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrStop(temp);
                 temp = addr[3];
-                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpenEnd(Integer.valueOf(temp));
+                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpenEnd(temp);
                 temp = addr[4];
-                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrCloseEnd(Integer.valueOf(temp));
+                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrCloseEnd(temp);
                 temp = addr[5];
-                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpenError(Integer.valueOf(temp));
+                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpenError(temp);
                 temp = addr[6];
-                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrCloseError(Integer.valueOf(temp));
+                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrCloseError(temp);
 
+
+                //鏍规嵁璁惧鐩爣鐩爣鐘舵�侊紝閫夋嫨闇�瑕佹墽琛岀殑閫氶亾
+                if (DeviceStatus.CLOSE.getCode().equals(device.getTargetStatus())) {
+                    addrExe = Integer.valueOf(modbusTcp.getAddrClose());
+                }
+
+                if(DeviceStatus.OPEN.getCode().equals(device.getTargetStatus())){
+                    addrExe = Integer.valueOf(modbusTcp.getAddrOpen());
+                }
+
+
+                //TODO 鍏朵粬鐘舵�佸緟瀹�
 
                 //鏍规嵁璁惧鐩爣鐘舵�侊紝璋冪敤MODBUS鎵ц
-                modbusUtil.writeCoil(modbusTcp.getIp(), modbusTcp.getPort(), modbusTcp.getAddrOpen(), true);
-
+                modbusUtil.writeCoil(modbusTcp.getIp(), modbusTcp.getPort(),addrExe, true);
 
             }
         } catch (Exception e) {
diff --git a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/data/ModbusTcp.java b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/data/ModbusTcp.java
index 6b1ddb0..49d1ebc 100644
--- a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/data/ModbusTcp.java
+++ b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/data/ModbusTcp.java
@@ -18,18 +18,39 @@
 
     private int port;
 
-    private int addrOpen;
+    /**
+     * 寮�鍦板潃
+     **/
+    private String addrOpen = "65535";
 
-    private int addrClose;
+    /**
+     * 鍏冲湴鍧�
+     **/
+    private String addrClose = "65535";
 
-    private int addrStop;
+    /**
+     * 鍋滃湴鍧�
+     **/
+    private String addrStop = "65535";
 
-    private int addrOpenEnd;
+    /**
+     * 寮�鍒颁綅鍦板潃
+     **/
+    private String addrOpenEnd = "65535";
 
-    private int addrCloseEnd;
+    /**
+     * 鍏冲埌浣嶅湴鍧�
+     **/
+    private String addrCloseEnd = "65535";
 
-    private int addrOpenError;
+    /**
+     * 寮�鏁呴殰鍦板潃
+     **/
+    private String addrOpenError = "65535";
 
-    private int addrCloseError;
+    /**
+     * 鍏虫晠闅滃湴鍧�
+     **/
+    private String addrCloseError = "65535";
 
 }
diff --git a/igds-web/src/main/java/com/ld/igds/web/LoginController.java b/igds-web/src/main/java/com/ld/igds/web/LoginController.java
index d465ebb..2e030fd 100644
--- a/igds-web/src/main/java/com/ld/igds/web/LoginController.java
+++ b/igds-web/src/main/java/com/ld/igds/web/LoginController.java
@@ -8,7 +8,6 @@
 import com.ld.igds.io.constant.OrderRespEnum;
 import com.ld.igds.io.notify.NotifyWebInvoker;
 import com.ld.igds.log.service.HLogLoginService;
-import com.ld.igds.models.LogLogin;
 import com.ld.igds.sys.service.SysUserService;
 import com.ld.igds.util.ContextUtil;
 import com.ld.igds.util.FilesUtil;
diff --git a/igds-web/src/main/resources/application-pro5325.yml b/igds-web/src/main/resources/application-pro5325.yml
new file mode 100644
index 0000000..701c756
--- /dev/null
+++ b/igds-web/src/main/resources/application-pro5325.yml
@@ -0,0 +1,80 @@
+##########################  姹熻タ璧e窞椤圭洰   ##########################
+server:
+  port: 8888
+  context-path: /
+  connection-timeout: 5000
+  tomcat:
+    uri-encoding: UTF-8
+
+##########################  datasourcec   ##########################
+spring:
+  datasource:
+    db-base:
+      name: db-base
+      type: com.alibaba.druid.pool.DruidDataSource
+      url: jdbc:mysql://127.0.0.1:3306/igds_master?useUnicode=true&characterEncoding=utf-8
+      driver-class-name: com.mysql.jdbc.Driver
+      username: root
+      password: ukJp12Qf+elyBvGHkJ5MQMa95pfVm0oFBHefdEgDFKoFSjbgYa9PYfv5vlem5nvoXjQsP9tIIo53DvSbsl160Q==
+      public-key:
+      config-decrypt: true
+      initial-size:  5
+      min-idle:  5
+      max-active:  50
+      max-wait: 60000
+      time-between-eviction-runs-millis: 60000
+      min-evictable-idle-time-millis: 300000
+      validation-query: select 1 from dual
+      test-whileIdle: true
+      test-on-borrow: false
+      test-on-return: false
+      pool-prepared-statements: true
+      max-pool-prepared-statement-per-connection-size: 20
+      filters: stat
+      connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
+      use-global-data-source-stat: true
+      removeAbandoned: true
+      removeAbandonedTimeout: 90
+      logAbandoned: true
+      poolPreparedStatements: true
+      maxPoolPreparedStatementPerConnectionSize: 20
+    db-sqlite:
+      name: db-sqlite
+      url: jdbc:sqlite:D:/app/igds/db/iot_cfg.db
+      driver-class-name: org.sqlite.JDBC
+      type: com.alibaba.druid.pool.DruidDataSource
+      username:
+      password:
+
+  # Redis鐩稿叧閰嶇疆
+  redis:
+    database: 0
+    host: 127.0.0.1
+    port: 6379
+    password: Abc123..
+    # 杩炴帴姹犳渶澶ц繛鎺ユ暟锛堜娇鐢ㄨ礋鍊艰〃绀烘病鏈夐檺鍒讹級
+    pool:
+      max-active: 200
+      max-wait: -1
+      max-idle: 10
+      min-idle: 0
+      timeout: 6000
+
+license:
+  subject: ld_license
+  publicAlias: publicCert
+  storePass: PUBLICFZZYXXJSGFYXGS888888
+  licensePath: D:/IGDS/license/license.lic
+  publicKeysStorePath: D:/IGDS/license/publicCerts.keystore
+
+##########################  IGDS   ##########################
+## 绯荤粺鎺ュ彛璺敱閰嶇疆 娉ㄦ剰鏁板瓧濡傛灉浠�0寮�澶寸殑璇濓紝鍚庡彴浼氬嚭鐜拌浆涔夛紝璇锋坊鍔�""
+igds:
+  default:
+    companyId: 5328
+    sys-name: 鏅烘収绮簱绠$悊绯荤粺
+    logo: logo-default.png
+    logo-title: logo-title-default.png
+    support: 椋庢鑷磋繙淇℃伅鎶�鏈偂浠芥湁闄愬叕鍙�
+    grian-add-point: N
+  file-path: D:/IGDS/FILE/
\ No newline at end of file
diff --git a/igds-web/src/main/resources/verb-conf.properties b/igds-web/src/main/resources/verb-conf.properties
index 2bc21bb..87648fa 100644
--- a/igds-web/src/main/resources/verb-conf.properties
+++ b/igds-web/src/main/resources/verb-conf.properties
@@ -173,4 +173,9 @@
 verb.mapImg.5324_10.a=pfc_a.png
 verb.mapImg.5324_10.b=pfc_b.png
 verb.mapImg.5324_11.a=pfc_a.png
-verb.mapImg.5324_11.b=pfc_b.png
\ No newline at end of file
+verb.mapImg.5324_11.b=pfc_b.png
+
+
+## 5325_001
+verb.mapImg.5325_001.a=default_pfc_a.png
+verb.mapImg.5325_001.b=default_pfc_b.png
\ No newline at end of file

--
Gitblit v1.9.3