From 5c1b7da4cecaf44871695d08595289f8def72021 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Mon, 21 Jun 2021 09:10:33 +0800
Subject: [PATCH] screen-manage        删除组织时,判断该组织是否还包含该型号,如果没有该型号,则维护型号组织关系表

---
 screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 46 insertions(+), 13 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
index 6a972f9..39190df 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -4,19 +4,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.moral.api.entity.Device;
-import com.moral.api.entity.ManageAccount;
-import com.moral.api.entity.MonitorPoint;
-import com.moral.api.entity.Organization;
-import com.moral.api.entity.SysDictData;
-import com.moral.api.entity.SysDictType;
-import com.moral.api.entity.Version;
-import com.moral.api.mapper.DeviceMapper;
-import com.moral.api.mapper.ManageAccountMapper;
-import com.moral.api.mapper.MonitorPointMapper;
-import com.moral.api.mapper.OrganizationMapper;
-import com.moral.api.mapper.SysDictDataMapper;
-import com.moral.api.mapper.SysDictTypeMapper;
+import com.moral.api.entity.*;
+import com.moral.api.mapper.*;
 import com.moral.api.pojo.vo.device.DeviceVO;
 import com.moral.api.service.DeviceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -31,6 +20,7 @@
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
@@ -80,6 +70,11 @@
     @Autowired
     private RedisTemplate redisTemplate;
 
+    @Autowired
+    private OrganizationUnitAlarmMapper organizationUnitAlarmMapper;
+
+    @Autowired
+    private VersionSensorUnitMapper versionSensorUnitMapper;
 
     /*
      * ���redis������������������
@@ -127,6 +122,28 @@
         device.setOrganizationId(orgId);
         deviceMapper.insert(device);
         Map<String, Object> deviceInfo = selectDeviceInfoById(device.getId());
+        //���������������������������
+        QueryWrapper<OrganizationUnitAlarm> queryOrganizationVersionWrapper = new QueryWrapper<>();
+        queryOrganizationVersionWrapper.eq("organization_id",orgId);
+        queryOrganizationVersionWrapper.eq("version_id",device.getDeviceVersionId());
+        queryOrganizationVersionWrapper.eq("is_delete",Constants.NOT_DELETE);
+        List<OrganizationUnitAlarm> organizationUnitAlarms = organizationUnitAlarmMapper.selectList(queryOrganizationVersionWrapper);
+        if(ObjectUtils.isEmpty(organizationUnitAlarms)){
+            QueryWrapper<VersionSensorUnit> queryVersionSensorUnitWrapper =new QueryWrapper<>();
+            queryVersionSensorUnitWrapper.eq("version_id",device.getDeviceVersionId());
+            queryVersionSensorUnitWrapper.eq("is_delete",Constants.NOT_DELETE);
+            List<VersionSensorUnit> versionSensorUnits = versionSensorUnitMapper.selectList(queryVersionSensorUnitWrapper);
+            if(!ObjectUtils.isEmpty(versionSensorUnits)){
+                for (VersionSensorUnit versionSensorUnit : versionSensorUnits) {
+                    OrganizationUnitAlarm organizationUnitAlarm = new OrganizationUnitAlarm();
+                    organizationUnitAlarm.setOrganizationId(orgId);
+                    organizationUnitAlarm.setVersionId(device.getDeviceVersionId());
+                    organizationUnitAlarm.setSensorCode(versionSensorUnit.getSensorCode());
+                    organizationUnitAlarm.setUnitKey(versionSensorUnit.getUnitKey());
+                    organizationUnitAlarmMapper.insert(organizationUnitAlarm);
+                }
+            }
+        }
         //������������������������redis
         String mac = device.getMac();
         //���redis���������������������
@@ -150,6 +167,22 @@
         String mac = device.getMac();
         //���redis���������������������
         delDeviceInfoFromRedis(mac);
+        //���������������������������
+        Integer versionId = device.getDeviceVersionId();
+        Integer organizationId = device.getOrganizationId();
+        QueryWrapper<Device> queryOrganizationVersionWrapper = new QueryWrapper<>();
+        queryOrganizationVersionWrapper.eq("organization_id",organizationId);
+        queryOrganizationVersionWrapper.eq("device_version_id",versionId);
+        queryOrganizationVersionWrapper.eq("is_delete",Constants.NOT_DELETE);
+        List<Device> devices = deviceMapper.selectList(queryOrganizationVersionWrapper);
+        if(ObjectUtils.isEmpty(devices)){//������������������������������������������������������
+            UpdateWrapper deleteWrapper = new UpdateWrapper();
+            deleteWrapper.eq("organization_id",organizationId);
+            deleteWrapper.eq("version_id",versionId);
+            deleteWrapper.eq("is_delete",Constants.NOT_DELETE);
+            deleteWrapper.set("is_delete",Constants.DELETE);
+            organizationUnitAlarmMapper.update(null,deleteWrapper);
+        }
         //������������������
         HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
         StringBuilder content = new StringBuilder();

--
Gitblit v1.8.0