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