CacheGlassModule/MES-Module.iml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
CacheGlassModule/src/main/java/com/mes/MesApplication.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
CacheGlassModule/src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
CacheGlassModule/target/classes/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/vite.config.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UnLoadGlassModule/src/main/java/com/mes/entity/OrderTest.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
CacheGlassModule/MES-Module.iml
New file @@ -0,0 +1,133 @@ <?xml version="1.0" encoding="UTF-8"?> <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> <component name="FacetManager"> <facet type="web" name="Web"> <configuration> <webroots /> <sourceRoots> <root url="file://$MODULE_DIR$/src/main/java" /> <root url="file://$MODULE_DIR$/src/main/resources" /> </sourceRoots> </configuration> </facet> <facet type="Spring" name="Spring"> <configuration /> </facet> </component> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <output url="file://$MODULE_DIR$/target/classes" /> <output-test url="file://$MODULE_DIR$/target/test-classes" /> <content url="file://$MODULE_DIR$"> <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> <excludeFolder url="file://$MODULE_DIR$/target" /> </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.5.9" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.5.9" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.5.9" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.5.9" level="project" /> <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.10" level="project" /> <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.10" level="project" /> <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.17.1" level="project" /> <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.17.1" level="project" /> <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.33" level="project" /> <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" /> <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.28" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.5.9" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.12.6" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.6" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.12.6" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.5.9" level="project" /> <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.56" level="project" /> <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.56" level="project" /> <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.56" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.15" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.15" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.15" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.15" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.15" level="project" /> <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.3.1" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.5.9" level="project" /> <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:4.0.3" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.15" level="project" /> <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.3.1" level="project" /> <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.13" level="project" /> <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.1.1" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.70" level="project" /> <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.3.1.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.15" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.15" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.15" level="project" /> <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.33" level="project" /> <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:8.0.20" level="project" /> <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.22" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.5.9" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.5.9" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.5.9" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.5.0" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.4.7" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:2.4.7" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:9.1" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.7.2" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.2" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.7.2" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.2" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.2" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.7.2" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.9.0" level="project" /> <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.22" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.22" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:3.2" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.9.0" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.3.15" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.8.4" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter-test:2.3.1" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-test-autoconfigure:2.3.1" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.15" level="project" /> <orderEntry type="library" name="Maven: com.auth0:java-jwt:3.10.3" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.12.6" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.12.6" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.12.6" level="project" /> <orderEntry type="library" scope="RUNTIME" name="Maven: commons-codec:commons-codec:1.15" level="project" /> <orderEntry type="library" name="Maven: org.assertj:assertj-core:3.19.0" level="project" /> <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.4.0" level="project" /> <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.5.1" level="project" /> <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.5.1" level="project" /> <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.5.1" level="project" /> <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.5.1" level="project" /> <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.5.1" level="project" /> <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.3" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.5.9" level="project" /> <orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.5.1" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.5.9" level="project" /> <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.20" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" /> <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" /> <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" /> <orderEntry type="library" name="Maven: com.github.xingshuangs:iot-communication:1.4.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.5.9" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.3.15" level="project" /> <orderEntry type="library" name="Maven: io.netty:netty-all:4.1.36.Final" level="project" /> </component> </module> CacheGlassModule/src/main/java/com/mes/MesApplication.java
@@ -16,6 +16,7 @@ public static void main(String[] args) { SpringApplication.run(MesApplication.class, args); try { // System.out.println(" [x] Sent 3"); //new NettyServer(12345).start(); } catch (Exception e) { throw new RuntimeException(e); CacheGlassModule/src/main/resources/application.yml
@@ -1,6 +1,6 @@ server: port: 8080 port: 8081 servlet: context-path: /mesModuleTools CacheGlassModule/target/classes/application.yml
New file @@ -0,0 +1,32 @@ server: port: 8081 servlet: context-path: /mesModuleTools spring: datasource: dynamic: primary: user_info #设置默认的数据源或者数据源组,默认值即为master strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. datasource: user_info: url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver sd: url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver mm: url: jdbc:mysql://10.153.19.150:3306/mm?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver pp: url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver UI-Project/vite.config.js
@@ -29,7 +29,12 @@ // '^/api': '' // } // rewrite: (path) => path.replace(/^\/api/, "/mesModuleTools"), //重写真实路径,替换/api } }, '/api2': { target: 'localhost:8081/mesModuleTools', changeOrigin: true, rewrite: (path) => path.replace(/^\/api2/, ""), }, } } }) UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
New file @@ -0,0 +1,464 @@ package com.mes.common.PlcTools; import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType; import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite; import com.github.xingshuangs.iot.protocol.s7.service.S7PLC; import com.google.common.primitives.Bytes; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; public class S7control { S7PLC s7PLC; // PLC通讯类实例 private EPlcType plcType = EPlcType.S1500; // 西门子PLC类型 private String ip = "192.168.10.1"; // plc ip地址 private int port = 102; // plc 端口号 private static volatile S7control instance = null; private S7control() { if (s7PLC == null) s7PLC = new S7PLC(plcType, ip, port,0,0); } // 单例模式 获取类的唯一实例 public static S7control getinstance() { if (instance == null) { synchronized (S7control.class) { if (instance == null) instance = new S7control(); } } return instance; } /** * 关闭西门子s7通讯连接 */ public void CloseS7client() { if (s7PLC == null) s7PLC.close(); s7PLC.checkConnected(); } /** * s7通讯连接状态 */ public boolean CheckConnected() { return s7PLC.checkConnected(); } /** * 按指定的地址 写入一个word * * @param address 地址 * @param data word的值 */ public void WriteWord(String address, short data) { if (s7PLC==null) { return; } s7PLC.writeInt16(address, data); } /** * 从某地址连续 写入多个word * * @param address 地址 * @param datas word的值 */ public void WriteWord(String address, List<Short> datas) { if (s7PLC==null) return; // s7PLC.write(address, data); List<String> addresslist = GetAddressList(address, datas.size(), 16); MultiAddressWrite addressWrite = new MultiAddressWrite(); for (int i = 0; i < datas.size(); i++) { addressWrite.addInt16(addresslist.get(i), datas.get(i)); } s7PLC.writeMultiData(addressWrite); } /** * 按指定的地址 写入多个word * * @param address 地址 * @param datas word的值 */ /** * 按指定的地址 写入一个Bit * * @param address 地址 * @param data Bit的值 */ public void WriteBit(String address, Boolean data) { if (s7PLC==null) return; s7PLC.writeBoolean(address, data); } /** * 按指定的地址 写入多个bit * * @param address 地址 * @param datas bit的值 */ public void WriteBit(List<String> address, List<Boolean> datas) { if (s7PLC==null) return; // s7PLC.write(address, data); MultiAddressWrite addressWrite = new MultiAddressWrite(); for (int i = 0; i < address.size(); i++) { addressWrite.addBoolean(address.get(i), datas.get(i)); } s7PLC.writeMultiData(addressWrite); } /** * 从某地址连续 写入多个bit * * @param address 地址 * @param datas word的值 */ public void WriteBit(String address, List<Boolean> datas) { if (s7PLC==null) return; // s7PLC.write(address, data); List<String> addresslist = GetAddressList(address, datas.size(), 1); MultiAddressWrite addressWrite = new MultiAddressWrite(); for (int i = 0; i < datas.size(); i++) { addressWrite.addBoolean(addresslist.get(i), datas.get(i)); } s7PLC.writeMultiData(addressWrite); } /** * 按指定的地址 写入多个byte * * @param address 地址 * @param datas byte的值 */ public void WriteByte(String address, byte[] datas) { if (s7PLC==null) return; // s7PLC.write(address, data); s7PLC.writeByte(address, datas); } /** * 按指定的地址 读取word结果集 * * @param address 地址 * @return 结果 */ public List<Short> ReadWord(List<String> address) { if (s7PLC == null) return null; try { return s7PLC.readInt16(address); } catch (Exception e) { System.out.println("读取 " + address + " 失败:" + e.getMessage()); return null; } } private int getIndexFromAddress(String address) { // 可以解析出地址中的数字部分,并转换为整数 return 0; } private String getAddressFromIndex(int index) { // 整数转换为地址格式的字符串 return ""; } /** * 按指定的地址 读取word结果集 * * @param address 地址 * @param count 连续读多少个word * @return 结果 */ public List<Short> ReadWord(String address, int count) { if (s7PLC == null) return null; List<String> addresslist = GetAddressList(address, count, 16); try { return s7PLC.readInt16(addresslist); } catch (Exception e) { System.out.println("读取 " + address + " 失败:" + e.getMessage()); return null; } } /** * 按指定的地址 读取byte结果集 * * @param address 地址 * @param count 连续读多少个byte * @return 结果 */ public byte[] ReadByte(String address, int count) { if (s7PLC==null) return null; // List<String> addresslist = GetAddressList(address, count, 16); try { return s7PLC.readByte(address, count); }catch (Exception e) { // 处理异常 System.out.println("读取 " + address + " 失败:" + e.getMessage()); return null; } } /** * 按指定的地址 按bit位 0 flase 1 true 读取结果 * * @param addresslist 地址集 * @return Boolean结果 */ public List<Boolean> ReadBits(List<String> addresslist) { if (s7PLC==null) return null; return s7PLC.readBoolean(addresslist); } //读取不连续地址bit public List<Boolean> readBits(List<String> addressList) { if (s7PLC == null || addressList.isEmpty()) { return null; } List<Boolean> values = new ArrayList<>(); for (String address : addressList) { try { boolean value = s7PLC.readBoolean(address); values.add(value); } catch (Exception e) { // 处理异常 System.out.println("读取 " + address + " 失败:" + e.getMessage()); } } return values; } //读取String public List<String> readStrings(List<String> addressList) { if (s7PLC == null) { return null; } List<String> result = new ArrayList<>(); for (String address : addressList) { try { byte[] bytes = s7PLC.readByte(address, 14); if (bytes != null) { String str = new String(bytes, StandardCharsets.UTF_8); result.add(str); } } catch (Exception e) { System.out.println("读取 " + address + " 失败:" + e.getMessage()); result.add(null); } } return result; } public List<String> readStringsandword(List<String> addressList) { if (s7PLC == null) { return null; } List<String> result = new ArrayList<>(); for (String address : addressList) { try { if (address.contains("-")) { address = address.substring(0, address.indexOf("-")); byte[] bytes = s7PLC.readByte(address, 14); if (bytes != null) { String str = new String(bytes, StandardCharsets.UTF_8); result.add(str); } } else { Short value = s7PLC.readInt16(address); result.add(value.toString()); } } catch (Exception e) { System.out.println("读取 " + address + " 失败:" + e.getMessage()); result.add(null); } } return result; } //不连续地址写入Word public void WriteWord(List<String> address, List<Short> datas) { if (s7PLC == null) return; for (int i = 0; i < address.size(); i++) { String addr = address.get(i); short data = datas.get(i); if (addr.contains("-")) { outmesid(String.valueOf(data),addr); // 单独处理带破折号的地址 } else { s7PLC.writeInt16(addr, data); // 将数据写入单个地址 } } } //字符串写入 public void outmesid(String data, String addr) { // System.out.println("outmesid: " + data); List<Byte> glassidlist = new ArrayList<>(); String[] parts = addr.split("-"); if (parts.length == 2) { addr = parts[0]; // 只保留 "-" 前面的部分 } for (char iditem : data.toCharArray()) { glassidlist.add(Byte.valueOf(String.valueOf(iditem))); } byte[] bytes = Bytes.toArray(glassidlist); S7control.getinstance().WriteByte(addr, bytes); } //读取不连续word public List<Short> readWords(List<String> addresses) { if (s7PLC == null) { return null; } List<Short> data = new ArrayList<>(); for (String address : addresses) { try { // 单个地址 Short value = s7PLC.readInt16(address); data.add(value); } catch (Exception e) { System.out.println("读取 " + address + " 失败:" + e.getMessage()); } } return data; } //读取时间 public Long readtime(String address) { if (s7PLC == null) return null; try { return s7PLC.readTime(address); } catch (Exception e) { System.out.println("读取 " + address + " 失败:" + e.getMessage()); return null; } } public void writetime(String address, long datas) { if (s7PLC == null) return; s7PLC.writeTime(address, datas); // 将数据写入单个地址 } private int extractAddressNumber(String address) { String numberStr = address.replaceAll("\\D+", ""); // 使用正则表达式提取数字部分 return Integer.parseInt(numberStr); } /** * 从指定的地址开始 连续按bit位读取 * * @param address 地址 * @param count 长度 * @return Boolean结果 */ public List<Boolean> ReadBits(String address, int count) { if (s7PLC == null) return null; List<String> addresslist = GetAddressList(address, count, 1); try { return s7PLC.readBoolean(addresslist); } catch (Exception e) { System.out.println("读取 " + address + " 失败:" + e.getMessage()); return null; } }; private List<String> GetAddressList(String address, int count, int addedbit) { List<String> addresslist = new ArrayList<String>(); String[] stringdatas = address.trim().split("\\."); if (stringdatas.length < 2 || !address.startsWith("DB")) return null; int dbwindex = 0; int bitindex = 0; if (stringdatas.length == 2) { dbwindex = Integer.parseInt(stringdatas[1]); } else if (stringdatas.length == 3) { dbwindex = Integer.parseInt(stringdatas[1]); bitindex = Integer.parseInt(stringdatas[2]); } else return null; addresslist.add(address); for (int i = 0; i < count-1; i++) { int bitcurrent = bitindex + addedbit; if (bitcurrent > 7) { dbwindex += bitcurrent / 8; bitindex = 0; } else bitindex = bitcurrent; String endstr=stringdatas.length==3?"." + bitindex:""; addresslist.add(stringdatas[0] + "." + dbwindex + endstr); } return addresslist; } } UnLoadGlassModule/src/main/java/com/mes/entity/OrderTest.java
New file @@ -0,0 +1,26 @@ package com.mes.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @Data //lombok 简写java代码 实体类的get与set @TableName("`order`") public class OrderTest { @TableId(type = IdType.AUTO) private Integer id; private String orderId; private String recipeNo; private String largeglassNo; private String largeglassCompleted; private String smallglassNo; private String smallglassCompleted; private String smallglassProcessing; private String smallglassWorn; private String orderStatus; private String orderMaker; private String makeTime; private String updateTime; }