From adde1ed1a99622c80a95dea83e294711d295c55c Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Tue, 08 Sep 2020 14:46:43 +0800 Subject: [PATCH] 微型站5分钟与半小时数据 --- src/main/java/com/moral/service/impl/OrganizationLayoutServiceImpl.java | 159 ++++++++++++++++++++++++++-------------------------- 1 files changed, 79 insertions(+), 80 deletions(-) diff --git a/src/main/java/com/moral/service/impl/OrganizationLayoutServiceImpl.java b/src/main/java/com/moral/service/impl/OrganizationLayoutServiceImpl.java index 067caf3..d4814ad 100644 --- a/src/main/java/com/moral/service/impl/OrganizationLayoutServiceImpl.java +++ b/src/main/java/com/moral/service/impl/OrganizationLayoutServiceImpl.java @@ -1,8 +1,19 @@ package com.moral.service.impl; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +import javax.annotation.Resource; + import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; -import com.moral.entity.*; +import com.moral.entity.DictionaryData; +import com.moral.entity.OrganizationLayout; +import com.moral.entity.OrganizationSensorUnit; +import com.moral.entity.Sensor; +import com.moral.entity.SensorUnit; import com.moral.entity.layout.RealTimeDeviceLayout; import com.moral.entity.layout.RtdLayoutUpload; import com.moral.entity.layout.SensorComb; @@ -11,15 +22,10 @@ import com.moral.mapper.OrganizationSensorUnitMapper; import com.moral.mapper.SensorMapper; import com.moral.service.OrganizationLayoutService; + import org.springframework.data.annotation.Transient; import org.springframework.stereotype.Service; import tk.mybatis.mapper.entity.Example; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; @Service public class OrganizationLayoutServiceImpl implements OrganizationLayoutService{ @@ -89,9 +95,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 +108,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 +121,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 +148,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()); } } } @@ -220,7 +221,8 @@ public RealTimeDeviceLayout queryRtdLayoutWithUnit(Integer orgId, Integer versionNo) { String pageType = getPageType(versionNo); if(queryPageConfigCountByOrgId(orgId,pageType) == 0 ){ - orgId = dataMapper.selectSupperOrgId(); + // orgId = dataMapper.selectSupperOrgId(); + orgId = 0; } RealTimeDeviceLayout rtdLayout = queryRealTimeDeviceLayout(orgId,versionNo); loadUnitToComb(orgId,rtdLayout); @@ -236,70 +238,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 +312,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()); } } } -- Gitblit v1.8.0