Эх сурвалжийг харах

增加公司关联序列号

chenshibin 4 жил өмнө
parent
commit
fb7d10c546

+ 4 - 3
Controller/FileController.py

@@ -18,7 +18,7 @@ from django.db import transaction
 
 
 from AnsjerUIDManage.config import BASE_DIR
 from AnsjerUIDManage.config import BASE_DIR
 from Model.models import UIDModel, UserUIDModel, UserModel, LogModel, MacModel, OrderTaskModel, OrderUIDModel, \
 from Model.models import UIDModel, UserUIDModel, UserModel, LogModel, MacModel, OrderTaskModel, OrderUIDModel, \
-    SerialNumberModel, OrderSerialNumberModel, UserSerialNumberModel
+    SerialNumberModel, OrderSerialNumberModel, UserSerialNumberModel, CompanySerialModel
 from Object.RedisObject import RedisObject
 from Object.RedisObject import RedisObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
@@ -676,9 +676,10 @@ class DownloadSerialNumberFileView(View):
 
 
 
 
             us_qs = UserSerialNumberModel.objects.filter(user__id=user.id, serial_number__p2p=area,
             us_qs = UserSerialNumberModel.objects.filter(user__id=user.id, serial_number__p2p=area,
-                                                          serial_number__use_status=1).values('serial_number')
+                                                          serial_number__use_status=1).values('serial_number__serial_number')
 
 
-            sn_qs = SerialNumberModel.objects.filter(id__in=us_qs)
+            cs_qs = CompanySerialModel.objects.filter(serial_number__in=us_qs, status=1).values('serial_number')
+            sn_qs = SerialNumberModel.objects.filter(serial_number__in=cs_qs)
             count = result['num']
             count = result['num']
             if count < quantity:
             if count < quantity:
                 return response.json(444, '序列号不足')
                 return response.json(444, '序列号不足')

+ 9 - 7
Controller/SerialNumberController.py

@@ -9,7 +9,7 @@ from django.db import transaction
 from django.db.models import Count
 from django.db.models import Count
 from django.views import View
 from django.views import View
 
 
-from Model.models import SerialNumberModel, UserModel, UserSerialNumberModel, UserUIDModel
+from Model.models import SerialNumberModel, UserModel, UserSerialNumberModel, UserUIDModel, CompanySerialModel
 from Object.RedisObject import RedisObject
 from Object.RedisObject import RedisObject
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
@@ -56,17 +56,16 @@ class SerialNumberView(View):
             return response.json(9)
             return response.json(9)
 
 
         user = user_qs[0]
         user = user_qs[0]
-
-        chenyunsuper = SerialNumberModel.objects.filter(p2p=1).count()
-        tutksuper = SerialNumberModel.objects.filter(p2p=2).count()
+        chenyunsuper = CompanySerialModel.objects.filter(serial_number__in=SerialNumberModel.objects.filter(p2p=1), status=1).count()
+        tutksuper = CompanySerialModel.objects.filter(serial_number__in=SerialNumberModel.objects.filter(p2p=2), status=1).count()
 
 
         result = UserSerialNumberModel.objects.filter(user__id=user.id, serial_number__p2p= 1, serial_number__use_status=1).aggregate(num=Count('serial_number__use_status'))
         result = UserSerialNumberModel.objects.filter(user__id=user.id, serial_number__p2p= 1, serial_number__use_status=1).aggregate(num=Count('serial_number__use_status'))
         chenyundev = result['num']
         chenyundev = result['num']
         result2 = UserSerialNumberModel.objects.filter(user__id=user.id, serial_number__p2p=2,serial_number__use_status=1).aggregate(num=Count('serial_number__use_status'))
         result2 = UserSerialNumberModel.objects.filter(user__id=user.id, serial_number__p2p=2,serial_number__use_status=1).aggregate(num=Count('serial_number__use_status'))
         tutkdev  = result2['num']
         tutkdev  = result2['num']
 
 
-        chenyun = SerialNumberModel.objects.filter(use_status=1 , p2p=1).count()
-        tutk = SerialNumberModel.objects.filter(use_status=1, p2p=2).count()
+        chenyun = CompanySerialModel.objects.filter(serial_number__in=SerialNumberModel.objects.filter(use_status=1 , p2p=1), status=1).count()
+        tutk = CompanySerialModel.objects.filter(serial_number__in=SerialNumberModel.objects.filter(use_status=1 , p2p=2), status=1).count()
         res_data = {'code': 0, 'chenyun': chenyun, 'tutk': tutk, 'chenyunsuper': chenyunsuper, 'tutksuper': tutksuper, 'chenyundev': chenyundev, 'tutkdev': tutkdev}
         res_data = {'code': 0, 'chenyun': chenyun, 'tutk': tutk, 'chenyunsuper': chenyunsuper, 'tutksuper': tutksuper, 'chenyundev': chenyundev, 'tutkdev': tutkdev}
         return response.json(0, {'data': res_data})
         return response.json(0, {'data': res_data})
 
 
@@ -121,7 +120,10 @@ class SerialNumberView(View):
             return response.json(444, 'username')
             return response.json(444, 'username')
 
 
         # 取出对应区域可用的UID分配给allot_user
         # 取出对应区域可用的UID分配给allot_user
-        sn_qs = SerialNumberModel.objects.filter(p2p=area, use_status=0)
+        sn_qs = SerialNumberModel.objects.filter(p2p=area, use_status=0)[0:quantity]
+        cs_qs = CompanySerialModel.objects.filter(serial_number__in=sn_qs).values('serial_number')
+
+        sn_qs = SerialNumberModel.objects.filter(serial_number__in=cs_qs)
         count = sn_qs.count()
         count = sn_qs.count()
         if count < quantity:
         if count < quantity:
             return response.json(444, '序列号不足')
             return response.json(444, '序列号不足')