|
@@ -12,7 +12,7 @@ from django.db.models import Q, Count, F
|
|
|
from django.views.generic.base import View
|
|
|
|
|
|
from Controller.SensorGateway.EquipmentFamilyController import EquipmentFamilyView
|
|
|
-from Model.models import FamilyRoomDevice, FamilyRoom, GatewaySubDevice
|
|
|
+from Model.models import FamilyRoomDevice, FamilyRoom, GatewaySubDevice, Device_Info
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
|
|
@@ -85,12 +85,17 @@ class GatewayFamilyRoomView(View):
|
|
|
if qs.exists():
|
|
|
qs.update(room_id=0, sort=0)
|
|
|
if device_ids:
|
|
|
- device_ids = device_ids.split(',')
|
|
|
+ device_ids = eval(device_ids)
|
|
|
for i, item in enumerate(device_ids):
|
|
|
- device_id = int(item)
|
|
|
- device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
|
|
|
+ device_id = item['id']
|
|
|
+ device_type = item['type']
|
|
|
+ device_qs = Device_Info.objects.filter(id=device_id, Type=device_type)
|
|
|
if device_qs.exists():
|
|
|
- device_qs.update(room_id=room_id, sort=i)
|
|
|
+ room_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
|
|
|
+ else:
|
|
|
+ room_device_qs = FamilyRoomDevice.objects.filter(sub_device=device_id)
|
|
|
+ if room_device_qs.exists():
|
|
|
+ room_device_qs.update(room_id=room_id, sort=i)
|
|
|
return response.json(0)
|
|
|
except Exception as e:
|
|
|
print(e)
|
|
@@ -288,11 +293,16 @@ class GatewayFamilyRoomView(View):
|
|
|
if not device_ids:
|
|
|
return response.json(444)
|
|
|
try:
|
|
|
- device_ids = device_ids.split(',')
|
|
|
+ device_ids = eval(device_ids)
|
|
|
with transaction.atomic():
|
|
|
for i, item in enumerate(device_ids):
|
|
|
- device_id = int(item)
|
|
|
- FamilyRoomDevice.objects.filter(device_id=device_id).update(sort=i)
|
|
|
+ device_id = item['id']
|
|
|
+ device_type = item['type']
|
|
|
+ device_qs = Device_Info.objects.filter(id=device_id, Type=device_type)
|
|
|
+ if device_qs.exists(): # 更新主设备排序
|
|
|
+ FamilyRoomDevice.objects.filter(device_id=device_id).update(sort=i)
|
|
|
+ else: # 更新子设备排序
|
|
|
+ FamilyRoomDevice.objects.filter(sub_device=device_id).update(sort=i)
|
|
|
return response.json(0)
|
|
|
except Exception as e:
|
|
|
return response.json(500, repr(e))
|