diff --git a/glue-modbus-collector/src/main/java/com/xujie/devicecollector/dao/DeviceGatherDao.java b/glue-modbus-collector/src/main/java/com/xujie/devicecollector/dao/DeviceGatherDao.java index 0db9c71..29c42ed 100644 --- a/glue-modbus-collector/src/main/java/com/xujie/devicecollector/dao/DeviceGatherDao.java +++ b/glue-modbus-collector/src/main/java/com/xujie/devicecollector/dao/DeviceGatherDao.java @@ -53,13 +53,13 @@ public interface DeviceGatherDao extends BaseMapper { /** * 查询卷号是否已存在 */ - @Select("select count(1) from device_gather where roll_no = #{rollNo}") - int countByRollNo(@Param("rollNo") String rollNo); + @Select("select count(1) from device_gather where roll_no = #{rollNo} and seq_no = #{seqNo}") + int countByRollNo(@Param("rollNo") String rollNo, @Param("seqNo") String seqNo); /** * 查询是否存在active为N的数据 */ - @Select("select count(1) from device_gather where active = 'N' and status='扫描卷'") - int countActiveN(); + @Select("select count(1) from device_gather where active = 'N' and status='扫描卷'and seq_no = #{seqNo}") + int countActiveN(@Param("seqNo") String seqNo); } diff --git a/glue-modbus-collector/src/main/java/com/xujie/devicecollector/runner/DeviceRunner.java b/glue-modbus-collector/src/main/java/com/xujie/devicecollector/runner/DeviceRunner.java index 9852474..91586ad 100644 --- a/glue-modbus-collector/src/main/java/com/xujie/devicecollector/runner/DeviceRunner.java +++ b/glue-modbus-collector/src/main/java/com/xujie/devicecollector/runner/DeviceRunner.java @@ -147,7 +147,7 @@ public class DeviceRunner implements CommandLineRunner { // - 大卷B分切信号:0x502 int cuta = 500; int cutb = 502; - int cutab = 508; + int cutab = 506; int bit1 = collectUtil.readHoldingRegister(ip, port, cuta); logger.info("卷A分切信号:{}", bit1); // 卷B分切信号 @@ -190,6 +190,7 @@ public class DeviceRunner implements CommandLineRunner { String rollNo = (String) redisTemplate.opsForValue().get("device:" + ip); // 触发分切,执行方法扫描卷处理 deviceGatherService.scanRollNo(deviceInfo, rollNo, nextRollNo); + collectUtil.writeHoldingRegister(ip, port, cutab, 0); } } } diff --git a/glue-modbus-collector/src/main/java/com/xujie/devicecollector/service/impl/DeviceGatherServiceImpl.java b/glue-modbus-collector/src/main/java/com/xujie/devicecollector/service/impl/DeviceGatherServiceImpl.java index 29dd107..e0c965b 100644 --- a/glue-modbus-collector/src/main/java/com/xujie/devicecollector/service/impl/DeviceGatherServiceImpl.java +++ b/glue-modbus-collector/src/main/java/com/xujie/devicecollector/service/impl/DeviceGatherServiceImpl.java @@ -90,8 +90,8 @@ public class DeviceGatherServiceImpl implements DeviceGatherService { private void handleData(String seqNo, String site, String rollNo, String ip) { boolean rollNoNotZero = !"0".equals(rollNo); - boolean rollNoNotExists = deviceGatherDao.countByRollNo(rollNo) == 0; - boolean noActiveN = deviceGatherDao.countActiveN() == 0; + boolean rollNoNotExists = deviceGatherDao.countByRollNo(rollNo,seqNo) == 0; + boolean noActiveN = deviceGatherDao.countActiveN(seqNo) == 0; if (rollNoNotExists && rollNoNotZero && noActiveN) { updateDeviceGather(ip, rollNo);