From f3419b47ff0b253a9ed1e0dbff4d27fd31876f3f Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Tue, 22 Jun 2021 10:30:05 +0800
Subject: [PATCH] screen-manage 插入组织型号关系的时候,原始单位默认作为显示单位插入
---
screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java | 84 +++++++++++++++++++++++++++++++-----------
1 files changed, 62 insertions(+), 22 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 63f5415..9e06f36 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
@@ -76,6 +76,8 @@
@Autowired
private VersionSensorUnitMapper versionSensorUnitMapper;
+
+
/*
* ���redis������������������
* */
@@ -123,27 +125,7 @@
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);
- }
- }
- }
+ insertOrganizationUnitAlarm(orgId,device.getDeviceVersionId());
//������������������������redis
String mac = device.getMac();
//���redis���������������������
@@ -167,6 +149,10 @@
String mac = device.getMac();
//���redis���������������������
delDeviceInfoFromRedis(mac);
+ //���������������������������
+ Integer versionId = device.getDeviceVersionId();
+ Integer orgId = device.getOrganizationId();
+ deleteOrganizationUnitAlarm(orgId,versionId);
//������������������
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
StringBuilder content = new StringBuilder();
@@ -179,8 +165,23 @@
public void update(Device device) {
Integer deviceId = device.getId();
Device oldDevice = deviceMapper.selectById(deviceId);
+ //���������������������������������������������������������������������������������id������������
+ if(!ObjectUtils.isEmpty(device.getMonitorPointId())){
+ MonitorPoint monitorPoint = monitorPointMapper.selectById(device.getMonitorPointId());
+ device.setOrganizationId(monitorPoint.getOrganizationId());
+ }
deviceMapper.updateById(device);
- String mac = deviceMapper.selectById(deviceId).getMac();
+ Device updateDevice = deviceMapper.selectById(deviceId);
+ String mac = updateDevice.getMac();
+ //���������������������������
+ Integer oldOrgId = oldDevice.getOrganizationId();
+ Integer newOrgId = updateDevice.getOrganizationId();
+ Integer oldVersionId = oldDevice.getDeviceVersionId();
+ Integer newVersionId = updateDevice.getDeviceVersionId();
+ if(!oldOrgId.equals(newOrgId)||!oldVersionId.equals(newVersionId)){
+ deleteOrganizationUnitAlarm(oldOrgId,oldVersionId);
+ insertOrganizationUnitAlarm(newOrgId,newVersionId);
+ }
//���redis���������������������
delDeviceInfoFromRedis(mac);
Map<String, Object> deviceInfo = selectDeviceInfoById(deviceId);
@@ -426,5 +427,44 @@
return null;
}
+ private void insertOrganizationUnitAlarm(Integer orgId,Integer versionId){
+ QueryWrapper<OrganizationUnitAlarm> queryOrganizationVersionWrapper = new QueryWrapper<>();
+ queryOrganizationVersionWrapper.eq("organization_id",orgId);
+ queryOrganizationVersionWrapper.eq("version_id",versionId);
+ 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",versionId);
+ 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(versionId);
+ organizationUnitAlarm.setSensorCode(versionSensorUnit.getSensorCode());
+ organizationUnitAlarm.setUnitKey(versionSensorUnit.getUnitKey());
+ organizationUnitAlarm.setShowUnitKey(versionSensorUnit.getUnitKey());
+ organizationUnitAlarmMapper.insert(organizationUnitAlarm);
+ }
+ }
+ }
+ }
+ private void deleteOrganizationUnitAlarm(Integer orgId,Integer versionId){
+ QueryWrapper<Device> queryOrganizationVersionWrapper = new QueryWrapper<>();
+ queryOrganizationVersionWrapper.eq("organization_id",orgId);
+ 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",orgId);
+ deleteWrapper.eq("version_id",versionId);
+ deleteWrapper.eq("is_delete",Constants.NOT_DELETE);
+ deleteWrapper.set("is_delete",Constants.DELETE);
+ organizationUnitAlarmMapper.update(null,deleteWrapper);
+ }
+ }
}
--
Gitblit v1.8.0