From a31816bd82fcf2c10df0cef7f078645676149e78 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Wed, 27 Jun 2018 13:56:32 +0800
Subject: [PATCH] 大屏布局监控点 返回配置数据 完善
---
src/main/java/com/moral/service/impl/OrganizationLayoutServiceImpl.java | 136 +++++++++++++++++++++------------------------
src/main/java/com/moral/entity/layout/RealTimeDeviceLayout.java | 6 ++
src/main/resources/mapper/SensorMapper.xml | 3
src/main/java/com/moral/entity/layout/SensorComb.java | 29 +++++++++
4 files changed, 101 insertions(+), 73 deletions(-)
diff --git a/src/main/java/com/moral/entity/layout/RealTimeDeviceLayout.java b/src/main/java/com/moral/entity/layout/RealTimeDeviceLayout.java
index 9b9b96c..690afdb 100644
--- a/src/main/java/com/moral/entity/layout/RealTimeDeviceLayout.java
+++ b/src/main/java/com/moral/entity/layout/RealTimeDeviceLayout.java
@@ -2,6 +2,7 @@
import lombok.Data;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -16,6 +17,11 @@
Integer id;
String name;
String chartSensorKey;
+ public RealTimeDeviceLayout () {
+ fixedMonitorItems = new ArrayList<>();
+ defaultMonitorItems = new ArrayList<>();
+ coreMonitorItems = new ArrayList<>();
+ }
List<SensorComb> fixedMonitorItems;
List<SensorComb> defaultMonitorItems;
List<SensorComb> coreMonitorItems;
diff --git a/src/main/java/com/moral/entity/layout/SensorComb.java b/src/main/java/com/moral/entity/layout/SensorComb.java
index 7c4e7ae..c8e86d1 100644
--- a/src/main/java/com/moral/entity/layout/SensorComb.java
+++ b/src/main/java/com/moral/entity/layout/SensorComb.java
@@ -1,5 +1,8 @@
package com.moral.entity.layout;
+import com.moral.entity.OrganizationLayout;
+import com.moral.entity.Sensor;
+import com.moral.entity.SensorUnit;
import lombok.Data;
/**
@@ -15,4 +18,30 @@
String sourceUnit;
String targetUnit;
String evaluator;
+ public static SensorComb generate(Sensor sensor) {
+ SensorComb sensorComb = new SensorComb();
+ sensorComb.setSensorId(sensor.getId());
+ sensorComb.setSensorKey(sensor.getSensorKey());
+ sensorComb.setName(sensor.getDescription());
+ sensorComb.setSourceUnit(sensor.getUnit());
+ sensorComb.setTargetUnit(sensor.getUnit());
+ return sensorComb;
+ }
+ public static SensorComb generate(OrganizationLayout orgLayout) {
+ SensorComb sensorComb = new SensorComb();
+ sensorComb.setIndex(orgLayout.getPagePositionIndex());
+ sensorComb.setSensorKey(orgLayout.getPagePositionValue());
+ return sensorComb;
+ }
+ public void setSensor(Sensor sensor) {
+ this.setSensorId(sensor.getId());
+ this.setSensorKey(sensor.getSensorKey());
+ this.setName(sensor.getDescription());
+ this.setSourceUnit(sensor.getUnit());
+ this.setTargetUnit(sensor.getUnit());
+ }
+ public void setUnit(SensorUnit unit) {
+ this.setTargetUnit(unit.getName());
+ this.setEvaluator(unit.getRules());
+ }
}
diff --git a/src/main/java/com/moral/service/impl/OrganizationLayoutServiceImpl.java b/src/main/java/com/moral/service/impl/OrganizationLayoutServiceImpl.java
index 067caf3..dea8ca8 100644
--- a/src/main/java/com/moral/service/impl/OrganizationLayoutServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/OrganizationLayoutServiceImpl.java
@@ -89,9 +89,7 @@
List<OrganizationLayout> defaultMonitorItems = orgLayoutMapper.selectByExample(example);
List<SensorComb> defaultSensorCombList = defaultMonitorItems.stream().map(
item-> {
- SensorComb sensorComb = new SensorComb();
- sensorComb.setSensorKey(item.getPagePositionValue());
- sensorComb.setIndex(item.getPagePositionIndex());
+ SensorComb sensorComb = SensorComb.generate(item);
return sensorComb;
}
).collect(Collectors.toList());
@@ -104,9 +102,7 @@
List<OrganizationLayout> coreMonitorItems = orgLayoutMapper.selectByExample(example);
List<SensorComb> coreSensorCombList = coreMonitorItems.stream().map(
item-> {
- SensorComb sensorComb = new SensorComb();
- sensorComb.setSensorKey(item.getPagePositionValue());
- sensorComb.setIndex(item.getPagePositionIndex());
+ SensorComb sensorComb = SensorComb.generate(item);
return sensorComb;
}
).collect(Collectors.toList());
@@ -119,9 +115,7 @@
List<OrganizationLayout> fixedMonitorItems = orgLayoutMapper.selectByExample(example);
List<SensorComb> fixedSensorCombList = fixedMonitorItems.stream().map(
item-> {
- SensorComb sensorComb = new SensorComb();
- sensorComb.setSensorKey(item.getPagePositionValue());
- sensorComb.setIndex(item.getPagePositionIndex());
+ SensorComb sensorComb = SensorComb.generate(item);
return sensorComb;
}
).collect(Collectors.toList());
@@ -148,10 +142,11 @@
for (Sensor sensor :sensorList) {
if(sensor.getSensorKey()!=null
&&sensor.getSensorKey().equals(sensorComb.getSensorKey())){
- sensorComb.setName(sensor.getDescription());
- sensorComb.setSensorId(sensor.getId());
- sensorComb.setSourceUnit(sensor.getUnit());
- sensorComb.setTargetUnit(sensor.getUnit());
+ sensorComb.setSensor(sensor);
+// sensorComb.setName(sensor.getDescription());
+// sensorComb.setSensorId(sensor.getId());
+// sensorComb.setSourceUnit(sensor.getUnit());
+// sensorComb.setTargetUnit(sensor.getUnit());
}
}
}
@@ -236,70 +231,66 @@
}
@Override
public RealTimeDeviceLayout queryRtdLayoutWithUnit(Integer orgId, List<Integer> versionNos) {
-
- List<Integer> versionNosSort = getVersionNosSort();
- Integer resultVersion = null;
- for( int num =0 ; num < versionNosSort.size(); num++ ) {
- Integer version =versionNosSort.get(num);
- for (Integer ver:versionNos) {
- if(ver == version) {
- resultVersion = ver;
- versionNos.remove(ver);
+ RealTimeDeviceLayout rtdLayout = null;
+ if(versionNos.size() == 1) {
+ Integer versionNo = versionNos.get(0);
+ rtdLayout = queryRtdLayoutWithUnit(orgId,versionNo);
+ } else {
+ List<Integer> versionNosSort = getVersionNosSort();
+ Integer resultVersion = null;
+ for( int num =0 ; num < versionNosSort.size(); num++ ) {
+ Integer version =versionNosSort.get(num);
+ for (Integer ver:versionNos) {
+ if(ver == version) {
+ resultVersion = ver;
+ versionNos.remove(ver);
+ break;
+ }
+ }
+ if(resultVersion!=null) {
break;
}
}
- if(resultVersion!=null) {
- break;
- }
- }
- if(resultVersion != null ) {
- String pageType = getPageType(resultVersion);
- if(queryPageConfigCountByOrgId(orgId,pageType) == 0 ){
- orgId = dataMapper.selectSupperOrgId();
- }
- RealTimeDeviceLayout rtdLayout = queryRealTimeDeviceLayout(orgId,resultVersion);
- if (rtdLayout !=null) {
- List<Sensor> sensorList = sensorMapper.selectByVersionNos(versionNos);
- List<SensorComb> sensorCombList = sensorList.stream().map(
- item -> {
- SensorComb sensorComb = new SensorComb();
- sensorComb.setSensorId(item.getId());
- sensorComb.setSensorKey(item.getSensorKey());
- sensorComb.setName(item.getDescription());
- sensorComb.setSourceUnit(item.getUnit());
- sensorComb.setTargetUnit(item.getUnit());
- return sensorComb;
+ if(resultVersion != null ) {
+ rtdLayout = queryRtdLayoutWithUnit(orgId,resultVersion);
+ if (rtdLayout !=null) {
+ List<Sensor> sensorList = sensorMapper.selectByVersionNos(versionNos);
+ List<SensorComb> allMonitorItems = new ArrayList<>();
+ allMonitorItems.addAll(rtdLayout.getDefaultMonitorItems());
+ allMonitorItems.addAll(rtdLayout.getCoreMonitorItems());
+ if(allMonitorItems.size()>0 && sensorList!=null) {
+ List<SensorComb> sensrCombPatchs = new ArrayList<>();
+ List<String> fixedItems = getFixedItemKeys();
+ sensorList
+ // ���������������
+ .stream().filter(
+ item -> {
+ return !fixedItems.stream().anyMatch(
+ key-> key.equals(item.getSensorKey())
+ );
+ }
+ ).collect(Collectors.toList()).forEach(sensor -> {
+ boolean isPath = !allMonitorItems.stream().anyMatch(
+ sensorComb -> sensorComb.getSensorId() ==sensor.getId()
+ );
+ if(isPath) {
+ SensorComb sensorComb = SensorComb.generate(sensor);
+ sensrCombPatchs.add(sensorComb);
+ }
+ });
+ if( sensrCombPatchs.size() > 0 ) {
+ RealTimeDeviceLayout rtdLayoutTemp = new RealTimeDeviceLayout();
+ rtdLayoutTemp.setDefaultMonitorItems(sensrCombPatchs);
+ loadUnitToComb(orgId,rtdLayoutTemp);
+ rtdLayout.getDefaultMonitorItems()
+ .addAll(rtdLayoutTemp.getDefaultMonitorItems());
}
- ).collect(Collectors.toList());
- List<SensorComb> allMonitorItems = new ArrayList<>();
- allMonitorItems.addAll(rtdLayout.getDefaultMonitorItems());
- allMonitorItems.addAll(rtdLayout.getCoreMonitorItems());
- if(allMonitorItems.size()>0 && sensorCombList!=null) {
- List<SensorComb> sensrCombPatchs = new ArrayList<>();
- sensorCombList
- // ���������������
- .stream().filter(
- item -> {
- List<String> fixedItems = getFixedItemKeys();
- return !fixedItems.stream().anyMatch(
- key-> key.equals(item.getSensorKey())
- );
- }
- ).collect(Collectors.toList()).forEach(item -> {
- boolean isPath = !allMonitorItems.stream().anyMatch(
- sensorComb -> sensorComb.getSensorId() == item.getSensorId()
- );
- if(isPath) {
- sensrCombPatchs.add(item);
- }
- });
- rtdLayout.getDefaultMonitorItems().addAll(sensrCombPatchs);
- loadUnitToComb(orgId,rtdLayout);
- return rtdLayout;
+ }
}
}
}
- return null;
+
+ return rtdLayout;
}
// ���������������������������������
@@ -314,8 +305,9 @@
SensorUnit sensorUnit = orgUnit.getSensorUnit();
if( sensorUnit!=null && sensorUnit.getSensorId() !=null) {
if(sensorUnit.getSensorId() == item.getSensorId()) {
- item.setTargetUnit(sensorUnit.getName());
- item.setEvaluator(sensorUnit.getRules());
+ item.setUnit(sensorUnit);
+// item.setTargetUnit(sensorUnit.getName());
+// item.setEvaluator(sensorUnit.getRules());
}
}
}
diff --git a/src/main/resources/mapper/SensorMapper.xml b/src/main/resources/mapper/SensorMapper.xml
index 5eddf7b..054e376 100644
--- a/src/main/resources/mapper/SensorMapper.xml
+++ b/src/main/resources/mapper/SensorMapper.xml
@@ -50,8 +50,9 @@
(
select dev.id from device_version dev
<where>
+ 1 > 1
<if test="versionNos!=null and versionNos.size() > 0">
- dev.version in
+ or dev.version in
<foreach collection="versionNos" item="versionNo" open="(" close=")" separator=",">
#{versionNo,jdbcType=INTEGER}
</foreach>
--
Gitblit v1.8.0