From af819f7cecad3a63d7e7b6417a12f04f3fd6ed86 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Thu, 18 Aug 2022 15:16:24 +0800
Subject: [PATCH] 风场模型基准信息相关代码

---
 screen-manage/src/main/java/com/moral/api/service/impl/OrganizationLayoutServiceImpl.java |  116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 112 insertions(+), 4 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 2d9a0a2..6e6b891 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
@@ -1,15 +1,24 @@
 package com.moral.api.service.impl;
 
 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;
+import com.moral.api.util.LogUtils;
+import com.moral.constant.Constants;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -27,6 +36,9 @@
     @Autowired(required = false)
     private OrganizationLayoutMapper organizationLayoutMapper;
 
+    @Autowired(required = false)
+    private DeviceMapper deviceMapper;
+
     @Override
     public List<Map<String, Object>> getData(Map map) {
         int organization_id = Integer.parseInt(map.get("organization_id").toString());
@@ -34,6 +46,7 @@
         QueryWrapper<OrganizationLayout> wrapper_organizationLayout = new QueryWrapper<>();
         wrapper_organizationLayout.eq("organization_id",organization_id);
         wrapper_organizationLayout.eq("version_id",version_id);
+        wrapper_organizationLayout.eq("is_delete",Constants.NOT_DELETE);
         List<Map<String,Object>> organizationLayouts = new ArrayList<>();
         organizationLayouts = organizationLayoutMapper.selectMaps(wrapper_organizationLayout);
         return organizationLayouts;
@@ -41,18 +54,113 @@
 
     @Transactional
     @Override
-    public void delete(Map map) {
+    public void setUp(Map map, List<OrganizationLayout> list) {
         int organization_id = Integer.parseInt(map.get("organization_id").toString());
         int version_id = Integer.parseInt(map.get("version_id").toString());
         QueryWrapper<OrganizationLayout> wrapper_organizationLayout = new QueryWrapper<>();
         wrapper_organizationLayout.eq("organization_id",organization_id);
         wrapper_organizationLayout.eq("version_id",version_id);
-        organizationLayoutMapper.delete(wrapper_organizationLayout);
+        wrapper_organizationLayout.eq("is_delete",Constants.NOT_DELETE);
+        List<OrganizationLayout> organizationLayouts = organizationLayoutMapper.selectList(wrapper_organizationLayout);
+        //int delCount = organizationLayoutMapper.delete(wrapper_organizationLayout);
+        OrganizationLayout organizationLayout_update = new OrganizationLayout();
+        organizationLayout_update.setIsDelete(Constants.DELETE);
+        int delCount = organizationLayoutMapper.update(organizationLayout_update,wrapper_organizationLayout);
+        if (delCount>0){
+            //������������������
+            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+            String content = "������������������������������id���"+organization_id+"���������id���"+version_id+";"+"id:";
+            for (OrganizationLayout organizationLayout:organizationLayouts) {
+                content = content +organizationLayout.getId()+" ";
+            }
+            content = content+";";
+            LogUtils.saveOperationForManage(request,content,Constants.DELETE_OPERATE_TYPE);
+        }
+        if (!ObjectUtils.isEmpty(list) && list.size()>0){
+            organizationLayoutMapper.insertList(list);
+            QueryWrapper<OrganizationLayout> wrapper_organizationLayoutIns = new QueryWrapper<>();
+            wrapper_organizationLayoutIns.eq("organization_id",organization_id);
+            wrapper_organizationLayoutIns.eq("version_id",version_id);
+            List<OrganizationLayout> organizationLayoutList = organizationLayoutMapper.selectList(wrapper_organizationLayout);
+            //������������������
+            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+            String contentInsert = "������������������������������id���"+organization_id+"���������id���"+version_id+";"+"id:";
+            for (OrganizationLayout organizationLayout:organizationLayoutList) {
+                contentInsert = contentInsert + organizationLayout.getId()+" ";
+            }
+            contentInsert = contentInsert+";";
+            LogUtils.saveOperationForManage(request,contentInsert,Constants.INSERT_OPERATE_TYPE);
+        }
     }
 
     @Transactional
     @Override
-    public void insertList(List<OrganizationLayout> list) {
-        organizationLayoutMapper.insertList(list);
+    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