diff --git a/src/main/java/com/casic/missiles/config/ReadWriterConfig.java b/src/main/java/com/casic/missiles/config/ReadWriterConfig.java new file mode 100644 index 0000000..5e45c58 --- /dev/null +++ b/src/main/java/com/casic/missiles/config/ReadWriterConfig.java @@ -0,0 +1,22 @@ +package com.casic.missiles.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/7/4 9:09 + */ +@Data +@Component +@ConfigurationProperties(prefix = "casic.readwriter") +public class ReadWriterConfig { + //开启大读写器天线个数,0x0001一个,0x0F全开,四个天线都开需要4个天线都连上才行 + private int antenna; + //大读写器读取时长(秒) + private int readDuration; + //有线扫码枪监听器接收数据时长(秒) + private int receiveDuration; +} diff --git a/src/main/java/com/casic/missiles/config/ReadWriterConfig.java b/src/main/java/com/casic/missiles/config/ReadWriterConfig.java new file mode 100644 index 0000000..5e45c58 --- /dev/null +++ b/src/main/java/com/casic/missiles/config/ReadWriterConfig.java @@ -0,0 +1,22 @@ +package com.casic.missiles.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/7/4 9:09 + */ +@Data +@Component +@ConfigurationProperties(prefix = "casic.readwriter") +public class ReadWriterConfig { + //开启大读写器天线个数,0x0001一个,0x0F全开,四个天线都开需要4个天线都连上才行 + private int antenna; + //大读写器读取时长(秒) + private int readDuration; + //有线扫码枪监听器接收数据时长(秒) + private int receiveDuration; +} diff --git a/src/main/java/com/casic/missiles/service/impl/BusinessReadWriterServiceImpl.java b/src/main/java/com/casic/missiles/service/impl/BusinessReadWriterServiceImpl.java index 1f3a09e..4bc7444 100644 --- a/src/main/java/com/casic/missiles/service/impl/BusinessReadWriterServiceImpl.java +++ b/src/main/java/com/casic/missiles/service/impl/BusinessReadWriterServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.service.impl; import com.casic.missiles.common.BusinessExceptionEnum; +import com.casic.missiles.config.ReadWriterConfig; import com.casic.missiles.listeners.CodeGunDataListener; import com.casic.missiles.model.ReturnDTO; import com.casic.missiles.model.ReturnUtil; @@ -40,11 +41,14 @@ public class BusinessReadWriterServiceImpl implements IBusinessReadWriterService { @Autowired private ForkJoinPool forkJoinPool; + @Autowired + private ReadWriterConfig readWriterConfig; public static SerialPort serialPort = null; @Override public ReturnDTO> tIdNewReadList() { + // TODO: 2023/3/21 实际场景若有多个读写器连接需要设计读取实现方案,将ip入库或配置文件 CommonReader reader = new CommonReader("Reader1", GlobalData.ConnectType.TcpClient.name(), "192.168.1.201:9090"); try { // CommonReader reader = new CommonReader("Reader1", "RS232", "COM20:115200"); @@ -121,7 +125,7 @@ serialPortUtil.addListener(serialPort, new CodeGunDataListener()); } //监听器接收指定时间的数据 - TimeUnit.SECONDS.sleep(10); + TimeUnit.SECONDS.sleep(readWriterConfig.getReceiveDuration()); resultSet.addAll(CodeGunDataListener.dataSet); CodeGunDataListener.dataSet = new HashSet<>(); } catch (Exception e) { @@ -189,7 +193,7 @@ // param.isLoop = true;//持续盘点 // boolean b = reader.reader_Inventory(param, (byte) 0x0001); //四个天线都开填0x0F,需要4个天线都连上才行 - boolean b1 = reader.ScanTID(0x0001, true, 1111); + boolean b1 = reader.ScanTID(readWriterConfig.getAntenna(), true, 1111); log.info("大读写器开始盘点:" + b1); reader.OnTagDataReceivedHandle = (gateName, tagData) -> { if (tagData != null && tagData.getTID() != null) { @@ -199,7 +203,7 @@ } }; //连续读取3s - TimeUnit.SECONDS.sleep(3); + TimeUnit.SECONDS.sleep(readWriterConfig.getReadDuration()); // reader.disconnect(); boolean stop = reader.reader_StopInventory(); return tIds; diff --git a/src/main/java/com/casic/missiles/config/ReadWriterConfig.java b/src/main/java/com/casic/missiles/config/ReadWriterConfig.java new file mode 100644 index 0000000..5e45c58 --- /dev/null +++ b/src/main/java/com/casic/missiles/config/ReadWriterConfig.java @@ -0,0 +1,22 @@ +package com.casic.missiles.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/7/4 9:09 + */ +@Data +@Component +@ConfigurationProperties(prefix = "casic.readwriter") +public class ReadWriterConfig { + //开启大读写器天线个数,0x0001一个,0x0F全开,四个天线都开需要4个天线都连上才行 + private int antenna; + //大读写器读取时长(秒) + private int readDuration; + //有线扫码枪监听器接收数据时长(秒) + private int receiveDuration; +} diff --git a/src/main/java/com/casic/missiles/service/impl/BusinessReadWriterServiceImpl.java b/src/main/java/com/casic/missiles/service/impl/BusinessReadWriterServiceImpl.java index 1f3a09e..4bc7444 100644 --- a/src/main/java/com/casic/missiles/service/impl/BusinessReadWriterServiceImpl.java +++ b/src/main/java/com/casic/missiles/service/impl/BusinessReadWriterServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.service.impl; import com.casic.missiles.common.BusinessExceptionEnum; +import com.casic.missiles.config.ReadWriterConfig; import com.casic.missiles.listeners.CodeGunDataListener; import com.casic.missiles.model.ReturnDTO; import com.casic.missiles.model.ReturnUtil; @@ -40,11 +41,14 @@ public class BusinessReadWriterServiceImpl implements IBusinessReadWriterService { @Autowired private ForkJoinPool forkJoinPool; + @Autowired + private ReadWriterConfig readWriterConfig; public static SerialPort serialPort = null; @Override public ReturnDTO> tIdNewReadList() { + // TODO: 2023/3/21 实际场景若有多个读写器连接需要设计读取实现方案,将ip入库或配置文件 CommonReader reader = new CommonReader("Reader1", GlobalData.ConnectType.TcpClient.name(), "192.168.1.201:9090"); try { // CommonReader reader = new CommonReader("Reader1", "RS232", "COM20:115200"); @@ -121,7 +125,7 @@ serialPortUtil.addListener(serialPort, new CodeGunDataListener()); } //监听器接收指定时间的数据 - TimeUnit.SECONDS.sleep(10); + TimeUnit.SECONDS.sleep(readWriterConfig.getReceiveDuration()); resultSet.addAll(CodeGunDataListener.dataSet); CodeGunDataListener.dataSet = new HashSet<>(); } catch (Exception e) { @@ -189,7 +193,7 @@ // param.isLoop = true;//持续盘点 // boolean b = reader.reader_Inventory(param, (byte) 0x0001); //四个天线都开填0x0F,需要4个天线都连上才行 - boolean b1 = reader.ScanTID(0x0001, true, 1111); + boolean b1 = reader.ScanTID(readWriterConfig.getAntenna(), true, 1111); log.info("大读写器开始盘点:" + b1); reader.OnTagDataReceivedHandle = (gateName, tagData) -> { if (tagData != null && tagData.getTID() != null) { @@ -199,7 +203,7 @@ } }; //连续读取3s - TimeUnit.SECONDS.sleep(3); + TimeUnit.SECONDS.sleep(readWriterConfig.getReadDuration()); // reader.disconnect(); boolean stop = reader.reader_StopInventory(); return tIds; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index e48d589..f7c3e5d 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -7,4 +7,10 @@ level.com.casic: debug level.org.springframework.web: info log: - path: D:\metering\casic-metering-readwriter-1.0-SNAPSHOT \ No newline at end of file + path: D:\metering\casic-metering-readwriter-1.0-SNAPSHOT + +casic: + readwriter: + antenna: 0x0001 + readDuration: 3 + receiveDuration: 10 \ No newline at end of file