From 85d0d18318f460d4b1581a828eb481fee6c6ccc7 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Tue, 31 Aug 2021 09:14:50 +0800
Subject: [PATCH] 通过mac获取页面布局

---
 screen-manage/src/main/java/com/moral/api/service/impl/OrganizationLayoutServiceImpl.java |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+), 1 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationLayoutServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationLayoutServiceImpl.java
index 85dd6ed..a345e1c 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationLayoutServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationLayoutServiceImpl.java
@@ -2,7 +2,9 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.moral.api.entity.Device;
 import com.moral.api.entity.OrganizationLayout;
+import com.moral.api.mapper.DeviceMapper;
 import com.moral.api.mapper.OrganizationLayoutMapper;
 import com.moral.api.service.OrganizationLayoutService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -16,6 +18,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -32,6 +35,9 @@
 
     @Autowired(required = false)
     private OrganizationLayoutMapper organizationLayoutMapper;
+
+    @Autowired(required = false)
+    private DeviceMapper deviceMapper;
 
     @Autowired
     private LogUtils logUtils;
@@ -71,7 +77,7 @@
                 content = content +organizationLayout.getId()+" ";
             }
             content = content+";";
-            logUtils.saveOperationForManage(request,content,Constants.INSERT_OPERATE_TYPE);
+            logUtils.saveOperationForManage(request,content,Constants.DELETE_OPERATE_TYPE);
         }
         if (!ObjectUtils.isEmpty(list) && list.size()>0){
             organizationLayoutMapper.insertList(list);
@@ -89,4 +95,75 @@
             logUtils.saveOperationForManage(request,contentInsert,Constants.INSERT_OPERATE_TYPE);
         }
     }
+
+    @Transactional
+    @Override
+    public Map<String, Object> getLayoutByMac(String mac) {
+        QueryWrapper<Device> wrapper_device = new QueryWrapper<>();
+        wrapper_device.eq("is_delete",Constants.NOT_DELETE);
+        wrapper_device.eq("mac",mac);
+        Device device = deviceMapper.selectOne(wrapper_device);
+        if (ObjectUtils.isEmpty(device)){
+            return null;
+        }
+        int organizationId = device.getOrganizationId();
+        int versionId = device.getDeviceVersionId();
+        QueryWrapper<OrganizationLayout> wrapper_organizationLayout = new QueryWrapper<>();
+        wrapper_organizationLayout.eq("organization_id",organizationId);
+        wrapper_organizationLayout.eq("version_id",versionId);
+        wrapper_organizationLayout.eq("is_delete",Constants.NOT_DELETE);
+        List<OrganizationLayout> organizationLayouts = organizationLayoutMapper.selectList(wrapper_organizationLayout);
+        if (ObjectUtils.isEmpty(organizationLayouts) || organizationLayouts.size()==0){
+            return null;
+        }
+        Map<String, Object> resultMap = new HashMap<>();
+        List<OrganizationLayout> chartSensorKeyList = new ArrayList<>();
+        List<OrganizationLayout> coreMonitorItemsList = new ArrayList<>();
+        List<OrganizationLayout> defaultMonitorItemsList = new ArrayList<>();
+        List<OrganizationLayout> fixedMonitorItemsList = new ArrayList<>();
+        for (OrganizationLayout organizationgLayout:organizationLayouts) {
+            if (organizationgLayout.getPosition().equals("chartSensorKey")){
+                chartSensorKeyList.add(organizationgLayout);
+            }
+            if (organizationgLayout.getPosition().equals("coreMonitorItems")){
+                coreMonitorItemsList.add(organizationgLayout);
+            }
+            if (organizationgLayout.getPosition().equals("defaultMonitorItems")){
+                defaultMonitorItemsList.add(organizationgLayout);
+            }
+            if (organizationgLayout.getPosition().equals("fixedMonitorItems")){
+                fixedMonitorItemsList.add(organizationgLayout);
+            }
+        }
+        chartSensorKeyList = sort(chartSensorKeyList);
+        coreMonitorItemsList = sort(coreMonitorItemsList);
+        defaultMonitorItemsList = sort(defaultMonitorItemsList);
+        fixedMonitorItemsList = sort(fixedMonitorItemsList);
+        resultMap.put("chartSensorKey",chartSensorKeyList);
+        resultMap.put("coreMonitorItems",coreMonitorItemsList);
+        resultMap.put("defaultMonitorItems",defaultMonitorItemsList);
+        resultMap.put("fixedMonitorItems",fixedMonitorItemsList);
+        return resultMap;
+    }
+
+    private List<OrganizationLayout> sort(List<OrganizationLayout> list){
+        if (list.size() < 0){
+            return list;
+        }
+        OrganizationLayout temp = null;
+        int j;
+        for (int i = 1; i<list.size(); i++){
+            temp = list.get(i);
+            for (j=i-1; j>=0; j--){
+                if (list.get(j).getPositionIndex()>temp.getPositionIndex()){
+                    list.set(j+1,list.get(j));
+                }else {
+                    break;
+                }
+            }
+            System.out.println(list.get(0));
+            list.set(j+1,temp);
+        }
+        return list;
+    }
 }

--
Gitblit v1.8.0