Browse Source

2024-06-21

master
zelian_wu 2 years ago
parent
commit
a1d248405f
  1. 2
      src/main/java/com/spring/modules/cdc/mapper/CollectRecordMapper.java
  2. 5
      src/main/java/com/spring/modules/cdc/service/impl/CollectRecordServiceImpl.java
  3. 5
      src/main/java/com/spring/modules/cdc/task/GatherDataTask.java
  4. 20
      src/main/java/com/spring/modules/cdc/utils/CollectUtils.java
  5. 3
      src/main/resources/mapper/cdc/collectRecordMapper.xml

2
src/main/java/com/spring/modules/cdc/mapper/CollectRecordMapper.java

@ -14,6 +14,4 @@ public interface CollectRecordMapper extends BaseMapper<CollectRecord> {
List<CollectRecord> selectCollectRecordListByItemNo(CollectRecord collectRecord); List<CollectRecord> selectCollectRecordListByItemNo(CollectRecord collectRecord);
void updateCollectCurrentValue(CollectRecord collectRecord); void updateCollectCurrentValue(CollectRecord collectRecord);
Long selectMaxItemNo(CollectRecord collectRecord);
} }

5
src/main/java/com/spring/modules/cdc/service/impl/CollectRecordServiceImpl.java

@ -86,9 +86,9 @@ public class CollectRecordServiceImpl extends ServiceImpl<CollectRecordMapper,Co
CollectRecord collectRecord = getCollectRecord(deviceVo, collects, deviceVo.getValue()); CollectRecord collectRecord = getCollectRecord(deviceVo, collects, deviceVo.getValue());
list.add(collectRecord); list.add(collectRecord);
updateCollectCurrentValue(collectRecord); updateCollectCurrentValue(collectRecord);
save(collectRecord);
} }
} }
saveBatch(list);
} }
private static CollectRecord getCollectRecord(DeviceVo device, List<Collect> c1, BigDecimal i) { private static CollectRecord getCollectRecord(DeviceVo device, List<Collect> c1, BigDecimal i) {
@ -96,7 +96,10 @@ public class CollectRecordServiceImpl extends ServiceImpl<CollectRecordMapper,Co
collectRecord.setDeviceNo(device.getDeviceNo()); collectRecord.setDeviceNo(device.getDeviceNo());
collectRecord.setCollectId(c1.get(0).getCollectId()); collectRecord.setCollectId(c1.get(0).getCollectId());
collectRecord.setItemValue(i); collectRecord.setItemValue(i);
collectRecord.setMaxValue(c1.get(0).getMaxValue());
collectRecord.setMinValue(c1.get(0).getMinValue());
collectRecord.setSite(device.getSite()); collectRecord.setSite(device.getSite());
collectRecord.setCreateTime(new Date());
if (c1.get(0).getMaxValue().compareTo(i) < 0){ if (c1.get(0).getMaxValue().compareTo(i) < 0){
collectRecord.setWarnFlag("Y"); collectRecord.setWarnFlag("Y");
} }

5
src/main/java/com/spring/modules/cdc/task/GatherDataTask.java

@ -85,10 +85,10 @@ public class GatherDataTask {
// 1涂布设备-大线 // 1涂布设备-大线
// 2涂布设备-小线 // 2涂布设备-小线
// 3配妆间设备 // 3配妆间设备
Map<String, List<Device>> map = list.stream().collect(Collectors.groupingBy(Device::getDeviceAddress));
Map<String, List<DeviceVo>> map = list.stream().collect(Collectors.groupingBy(Device::getDeviceAddress));
List<DeviceVo> deviceVos = new ArrayList<>(); List<DeviceVo> deviceVos = new ArrayList<>();
for (String ip : map.keySet()) { for (String ip : map.keySet()) {
List<Device> deviceList = map.get(ip);
List<DeviceVo> deviceList = map.get(ip);
if (ip.equals(line1IP)){ if (ip.equals(line1IP)){
deviceVos.addAll(CollectUtils.getReadXMZValueList(deviceList,ip,new BigDecimal(line1Value))); deviceVos.addAll(CollectUtils.getReadXMZValueList(deviceList,ip,new BigDecimal(line1Value)));
}else if (ip.equals(line2IP)){ }else if (ip.equals(line2IP)){
@ -99,6 +99,7 @@ public class GatherDataTask {
log.info("数据有误!!!"); log.info("数据有误!!!");
} }
} }
log.info("数据采集完成:总条数{}",deviceVos.size());
collectRecordService.batchUpdateCollectRecord(deviceVos); collectRecordService.batchUpdateCollectRecord(deviceVos);
} }

20
src/main/java/com/spring/modules/cdc/utils/CollectUtils.java

@ -62,15 +62,15 @@ public class CollectUtils {
* @param defaultValue 未读取到数据时的默认值 * @param defaultValue 未读取到数据时的默认值
* @return * @return
*/ */
public static List<DeviceVo> getReadXMZValueList(List<Device> deviceList,String IP,BigDecimal defaultValue){
public static List<DeviceVo> getReadXMZValueList(List<DeviceVo> deviceList,String IP,BigDecimal defaultValue){
SiemensS7Net siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200,IP); SiemensS7Net siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200,IP);
OperateResult connect = siemensS7Net.ConnectServer(); OperateResult connect = siemensS7Net.ConnectServer();
List<DeviceVo> deviceVoList = new ArrayList<>(); List<DeviceVo> deviceVoList = new ArrayList<>();
if (connect.IsSuccess) { if (connect.IsSuccess) {
log.info("IP:{} 连接成功!!!", IP); log.info("IP:{} 连接成功!!!", IP);
for (Device device : deviceList) {
for (DeviceVo device : deviceList) {
int i = readXMZValue(siemensS7Net, device.getDeviceIp()); int i = readXMZValue(siemensS7Net, device.getDeviceIp());
deviceVoList.add(new DeviceVo(device, new BigDecimal(i)));
deviceVoList.add(new DeviceVo(device, new BigDecimal(i),device.getCollectId()));
log.info("设备:{} 读取值:{}", device.getDeviceDesc(), i); log.info("设备:{} 读取值:{}", device.getDeviceDesc(), i);
} }
siemensS7Net.ConnectClose(); siemensS7Net.ConnectClose();
@ -78,7 +78,7 @@ public class CollectUtils {
log.info("IP:{} 连接失败!!!", IP); log.info("IP:{} 连接失败!!!", IP);
log.info("设置默认值:{}",defaultValue); log.info("设置默认值:{}",defaultValue);
deviceList.forEach(device -> { deviceList.forEach(device -> {
deviceVoList.add(new DeviceVo(device, new BigDecimal(0)));
deviceVoList.add(new DeviceVo(device, new BigDecimal(0),device.getCollectId()));
}); });
} }
return deviceVoList; return deviceVoList;
@ -92,15 +92,15 @@ public class CollectUtils {
* @param defaultValue 未读取到数据时的默认值 * @param defaultValue 未读取到数据时的默认值
* @return * @return
*/ */
public static List<DeviceVo> getReadSLValueList(List<Device> deviceList,String IP,int port,BigDecimal defaultValue){
public static List<DeviceVo> getReadSLValueList(List<DeviceVo> deviceList,String IP,int port,BigDecimal defaultValue){
MelsecMcNet melsecMcNet = new MelsecMcNet(IP, port); MelsecMcNet melsecMcNet = new MelsecMcNet(IP, port);
OperateResult connect = melsecMcNet.ConnectServer(); OperateResult connect = melsecMcNet.ConnectServer();
List<DeviceVo> deviceVoList = new ArrayList<>(); List<DeviceVo> deviceVoList = new ArrayList<>();
if (connect.IsSuccess) { if (connect.IsSuccess) {
log.info("IP:{} 连接成功!!!", IP); log.info("IP:{} 连接成功!!!", IP);
for (Device device : deviceList) {
for (DeviceVo device : deviceList) {
int i = readSLValue(melsecMcNet, device.getDeviceIp()); int i = readSLValue(melsecMcNet, device.getDeviceIp());
deviceVoList.add(new DeviceVo(device, new BigDecimal(i)));
deviceVoList.add(new DeviceVo(device, new BigDecimal(i),device.getCollectId()));
log.info("设备:{} 读取值:{}", device.getDeviceDesc(), i); log.info("设备:{} 读取值:{}", device.getDeviceDesc(), i);
} }
melsecMcNet.ConnectClose(); melsecMcNet.ConnectClose();
@ -108,7 +108,7 @@ public class CollectUtils {
log.info("IP:{} 连接失败!!!", IP); log.info("IP:{} 连接失败!!!", IP);
log.info("设置默认值:{}",defaultValue); log.info("设置默认值:{}",defaultValue);
deviceList.forEach(device -> { deviceList.forEach(device -> {
deviceVoList.add(new DeviceVo(device, new BigDecimal(0)));
deviceVoList.add(new DeviceVo(device, new BigDecimal(0),device.getCollectId()));
}); });
} }
return deviceVoList; return deviceVoList;
@ -122,11 +122,11 @@ public class CollectUtils {
* @param defaultValue * @param defaultValue
* @return * @return
*/ */
public static List<DeviceVo> getReadValueList(List<Device> deviceList,String IP,BigDecimal defaultValue){
public static List<DeviceVo> getReadValueList(List<DeviceVo> deviceList,String IP,BigDecimal defaultValue){
// 目前未出现逻辑 // 目前未出现逻辑
List<DeviceVo> deviceVoList = new ArrayList<>(); List<DeviceVo> deviceVoList = new ArrayList<>();
deviceList.forEach(device -> { deviceList.forEach(device -> {
deviceVoList.add(new DeviceVo(device, new BigDecimal(0)));
deviceVoList.add(new DeviceVo(device, new BigDecimal(0),device.getCollectId()));
}); });
return deviceVoList; return deviceVoList;
} }

3
src/main/resources/mapper/cdc/collectRecordMapper.xml

@ -4,10 +4,11 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.spring.modules.cdc.mapper.CollectRecordMapper"> <mapper namespace="com.spring.modules.cdc.mapper.CollectRecordMapper">
<sql id="CollectRecord"> <sql id="CollectRecord">
select device_no,collect_id,item_value,create_time,site,warn_flag from cdc_collect_record
select id,device_no,collect_id,item_value,create_time,site,warn_flag from cdc_collect_record
</sql> </sql>
<sql id="CollectRecordVo"> <sql id="CollectRecordVo">
select select
cr.id,
cr.device_no, cr.device_no,
di.device_desc, di.device_desc,
di.device_type, di.device_type,

Loading…
Cancel
Save