|
@@ -169,7 +169,46 @@ public class IOServerServiceImpl implements IOServerService {
|
|
|
log.info("IOServer获取指定变量列表实时值,返回参数{}", s);
|
|
|
IOServerResultVo ioServerResultVo = JSONObject.parseObject(s, IOServerResultVo.class);
|
|
|
if (null != ioServerResultVo && 0 == ioServerResultVo.getCode()) {
|
|
|
- return JSONObject.parseArray(ioServerResultVo.getData().toString(), IOServerDataInfoVo.class);
|
|
|
+ List<IOServerDataInfoVo> list = JSONObject.parseArray(ioServerResultVo.getData().toString(), IOServerDataInfoVo.class);
|
|
|
+ List<String> codes = new ArrayList<>();
|
|
|
+ codes.add("PosFeedback_FV2_1");
|
|
|
+ codes.add("State_FV2_1");
|
|
|
+ Map<String, Long> collect = monitorService.list(new QueryWrapper<ScadaMonitor>().lambda()
|
|
|
+ .in(ScadaMonitor::getCode, codes).select(ScadaMonitor::getId, ScadaMonitor::getCode)).stream().collect(Collectors.toMap(ScadaMonitor::getCode, ScadaMonitor::getId, ((k, v) -> v)));
|
|
|
+ list.forEach(i -> {
|
|
|
+ String n = i.getN();
|
|
|
+ String v = i.getV();
|
|
|
+ if("false".equals(v)){
|
|
|
+ v = "0";
|
|
|
+ }else if("true".equals(v)){
|
|
|
+ v = "1";
|
|
|
+ }
|
|
|
+ Date t = new Date();
|
|
|
+ Scada scada = new Scada();
|
|
|
+ scada.setCode(n);
|
|
|
+ scada.setValue(v);
|
|
|
+ scada.setScadaTime(t);
|
|
|
+ scada.setUpdateTime(t);
|
|
|
+ ScadaMonitor scadaMonitor = new ScadaMonitor();
|
|
|
+ scadaMonitor.setCode(n);
|
|
|
+ scadaMonitor.setValue(v);
|
|
|
+ scadaMonitor.setScadaTime(t);
|
|
|
+ scadaMonitor.setUpdateTime(t);
|
|
|
+ ScadaIoserverHis his = new ScadaIoserverHis();
|
|
|
+ his.setCode(n);
|
|
|
+ his.setValue(v);
|
|
|
+ his.setOperationTime(t);
|
|
|
+ his.setOperationUser(SecurityUtils.getUserId());
|
|
|
+ scadaMapper.insert(scada);
|
|
|
+ if (collect.containsKey(n)) {
|
|
|
+ scadaMonitor.setId(collect.get(n));
|
|
|
+ monitorService.updateById(scadaMonitor);
|
|
|
+ } else {
|
|
|
+ monitorService.save(scadaMonitor);
|
|
|
+ }
|
|
|
+ ioserverHisService.save(his);
|
|
|
+ });
|
|
|
+ return list;
|
|
|
}
|
|
|
|
|
|
return null;
|