|
@@ -5,7 +5,7 @@ from django.db import transaction
|
|
|
from django.views import View
|
|
|
|
|
|
from Ansjer.test.util.email_log import response
|
|
|
-from Model.models import Device_Info, DeviceScheme, ProductTroubleshoot, AbnormalEventCode
|
|
|
+from Model.models import DeviceScheme, ProductTroubleshoot, AbnormalEventCode, ProductsScheme
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
|
|
|
|
|
@@ -29,6 +29,8 @@ class ProblemEntryView(View):
|
|
|
return self.add_product_problem(request_dict, response)
|
|
|
elif operation == 'queryEventSubcategory':
|
|
|
return self.query_event_subcategory(request_dict, response)
|
|
|
+ elif operation == 'queryDeviceScheme':
|
|
|
+ return self.query_device_scheme(request_dict, response)
|
|
|
|
|
|
@staticmethod
|
|
|
def add_product_problem(request_dict, response):
|
|
@@ -37,6 +39,7 @@ class ProblemEntryView(View):
|
|
|
date_times = json.loads(request_dict.get('dateTimes', '[]'))
|
|
|
deivce_ids = json.loads(request_dict.get('deviceIds', '[]'))
|
|
|
device_types = json.loads(request_dict.get('deviceTypes', '[]'))
|
|
|
+ storage_codes = json.loads(request_dict.get('storageCodes', '[]'))
|
|
|
event_codes = json.loads(request_dict.get('eventCodes', '[]'))
|
|
|
remarks = json.loads(request_dict.get('remarks', '[]'))
|
|
|
|
|
@@ -45,6 +48,7 @@ class ProblemEntryView(View):
|
|
|
"dateTimes": len(date_times),
|
|
|
"serialNumbers": len(deivce_ids),
|
|
|
"deviceTypes": len(device_types),
|
|
|
+ "storageCodes": len(storage_codes),
|
|
|
"eventCodes": len(event_codes),
|
|
|
"remarks": len(remarks)
|
|
|
}
|
|
@@ -62,6 +66,7 @@ class ProblemEntryView(View):
|
|
|
date_time = date_times[idx]
|
|
|
deivce_id = deivce_ids[idx].strip() # 去除前后空格
|
|
|
device_type = device_types[idx]
|
|
|
+ storage_code = storage_codes[idx]
|
|
|
event_code = event_codes[idx].strip()
|
|
|
remark = remarks[idx].strip()
|
|
|
|
|
@@ -72,6 +77,7 @@ class ProblemEntryView(View):
|
|
|
device_id=deivce_id,
|
|
|
device_type=device_type,
|
|
|
event_code=event_code,
|
|
|
+ storage_code=storage_code,
|
|
|
status=0,
|
|
|
remark=remark,
|
|
|
created_time=current_time,
|
|
@@ -114,3 +120,53 @@ class ProblemEntryView(View):
|
|
|
)
|
|
|
|
|
|
return response.json(0, data)
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def query_device_scheme(request_dict, response):
|
|
|
+ device_id = request_dict.get('deviceId', None)
|
|
|
+ if not device_id:
|
|
|
+ return response.json(0, msg="设备ID不能为空")
|
|
|
+
|
|
|
+ try:
|
|
|
+ # 获取设备信息
|
|
|
+ device_scheme = DeviceScheme.objects.filter(serial_number=device_id).values("device_type",
|
|
|
+ "storage_code").first()
|
|
|
+ if not device_scheme:
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+ # 获取产品方案信息
|
|
|
+ product_scheme = ProductsScheme.objects.filter(
|
|
|
+ storage_code=device_scheme["storage_code"]
|
|
|
+ ).values(
|
|
|
+ "order_quantity", "created_time", "storage_code", "flash",
|
|
|
+ "ddr", "main_controller", "wifi", "four_g", "ad", "sensor", "phy"
|
|
|
+ ).first()
|
|
|
+
|
|
|
+ if not product_scheme:
|
|
|
+ return response.json(0, {"deviceType": device_scheme["device_type"]})
|
|
|
+
|
|
|
+ # 拼接方案字符串,过滤空值
|
|
|
+ scheme_parts = [
|
|
|
+ product_scheme["flash"],
|
|
|
+ product_scheme["ddr"],
|
|
|
+ product_scheme["main_controller"],
|
|
|
+ product_scheme["wifi"],
|
|
|
+ product_scheme["four_g"],
|
|
|
+ product_scheme["ad"],
|
|
|
+ product_scheme["sensor"],
|
|
|
+ product_scheme["phy"]
|
|
|
+ ]
|
|
|
+ scheme = " + ".join(part for part in scheme_parts if part)
|
|
|
+
|
|
|
+ return response.json(0, {
|
|
|
+ "deviceType": device_scheme["device_type"],
|
|
|
+ "quantity": product_scheme["order_quantity"],
|
|
|
+ "createdTime": product_scheme["created_time"],
|
|
|
+ "storageCode": product_scheme["storage_code"],
|
|
|
+ "scheme": scheme,
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|