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);
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());
list.add(collectRecord);
updateCollectCurrentValue(collectRecord);
save(collectRecord);
}
}
saveBatch(list);
}
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.setCollectId(c1.get(0).getCollectId());
collectRecord.setItemValue(i);
collectRecord.setMaxValue(c1.get(0).getMaxValue());
collectRecord.setMinValue(c1.get(0).getMinValue());
collectRecord.setSite(device.getSite());
collectRecord.setCreateTime(new Date());
if (c1.get(0).getMaxValue().compareTo(i) < 0){
collectRecord.setWarnFlag("Y");
}

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

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

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

@ -62,15 +62,15 @@ public class CollectUtils {
* @param defaultValue 未读取到数据时的默认值
* @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);
OperateResult connect = siemensS7Net.ConnectServer();
List<DeviceVo> deviceVoList = new ArrayList<>();
if (connect.IsSuccess) {
log.info("IP:{} 连接成功!!!", IP);
for (Device device : deviceList) {
for (DeviceVo device : deviceList) {
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);
}
siemensS7Net.ConnectClose();
@ -78,7 +78,7 @@ public class CollectUtils {
log.info("IP:{} 连接失败!!!", IP);
log.info("设置默认值:{}",defaultValue);
deviceList.forEach(device -> {
deviceVoList.add(new DeviceVo(device, new BigDecimal(0)));
deviceVoList.add(new DeviceVo(device, new BigDecimal(0),device.getCollectId()));
});
}
return deviceVoList;
@ -92,15 +92,15 @@ public class CollectUtils {
* @param defaultValue 未读取到数据时的默认值
* @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);
OperateResult connect = melsecMcNet.ConnectServer();
List<DeviceVo> deviceVoList = new ArrayList<>();
if (connect.IsSuccess) {
log.info("IP:{} 连接成功!!!", IP);
for (Device device : deviceList) {
for (DeviceVo device : deviceList) {
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);
}
melsecMcNet.ConnectClose();
@ -108,7 +108,7 @@ public class CollectUtils {
log.info("IP:{} 连接失败!!!", IP);
log.info("设置默认值:{}",defaultValue);
deviceList.forEach(device -> {
deviceVoList.add(new DeviceVo(device, new BigDecimal(0)));
deviceVoList.add(new DeviceVo(device, new BigDecimal(0),device.getCollectId()));
});
}
return deviceVoList;
@ -122,11 +122,11 @@ public class CollectUtils {
* @param defaultValue
* @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<>();
deviceList.forEach(device -> {
deviceVoList.add(new DeviceVo(device, new BigDecimal(0)));
deviceVoList.add(new DeviceVo(device, new BigDecimal(0),device.getCollectId()));
});
return deviceVoList;
}

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

@ -4,10 +4,11 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.spring.modules.cdc.mapper.CollectRecordMapper">
<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 id="CollectRecordVo">
select
cr.id,
cr.device_no,
di.device_desc,
di.device_type,

Loading…
Cancel
Save