|
@@ -24,7 +24,6 @@ import datetime
|
|
|
import time
|
|
import time
|
|
|
import hashlib
|
|
import hashlib
|
|
|
from skimage import filters
|
|
from skimage import filters
|
|
|
-from openpyxl.utils import get_column_letter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
save_filename = ""
|
|
save_filename = ""
|
|
@@ -736,18 +735,18 @@ class CBDThread(QtCore.QThread):
|
|
|
print(a, "电流不足", alarm_time)
|
|
print(a, "电流不足", alarm_time)
|
|
|
if "电流不足" in a.get("status"):
|
|
if "电流不足" in a.get("status"):
|
|
|
camera_jg_ct += 1
|
|
camera_jg_ct += 1
|
|
|
- if current_jg_ct:
|
|
|
|
|
- current_jg = [1,""]
|
|
|
|
|
- if up_jg_ct:
|
|
|
|
|
- up_jg = [0,f"有电流不足信息{str(up_jg_ct)}条"]
|
|
|
|
|
- if down_jg_ct:
|
|
|
|
|
- down_jg = [0,f"有电流不足信息{str(down_jg_ct)}条"]
|
|
|
|
|
- if lig_jg_ct:
|
|
|
|
|
- lig_jg = [0,f"有电流不足信息{str(lig_jg_ct)}条"]
|
|
|
|
|
- if camera_jg_ct:
|
|
|
|
|
- camera_jg = [0,f"有电流不足信息{str(camera_jg_ct)}条"]
|
|
|
|
|
- if machine_ct:
|
|
|
|
|
- machine_jg = [0,f"有电流不足信息{str(machine_ct)}条"]
|
|
|
|
|
|
|
+ # if current_jg_ct:
|
|
|
|
|
+ # current_jg = [1,""]
|
|
|
|
|
+ # if up_jg_ct:
|
|
|
|
|
+ # up_jg = [0,f"有电流不足信息{str(up_jg_ct)}条"]
|
|
|
|
|
+ # if down_jg_ct:
|
|
|
|
|
+ # down_jg = [0,f"有电流不足信息{str(down_jg_ct)}条"]
|
|
|
|
|
+ # if lig_jg_ct:
|
|
|
|
|
+ # lig_jg = [0,f"有电流不足信息{str(lig_jg_ct)}条"]
|
|
|
|
|
+ # if camera_jg_ct:
|
|
|
|
|
+ # camera_jg = [0,f"有电流不足信息{str(camera_jg_ct)}条"]
|
|
|
|
|
+ # if machine_ct:
|
|
|
|
|
+ # machine_jg = [0,f"有电流不足信息{str(machine_ct)}条"]
|
|
|
|
|
|
|
|
iccid = ""
|
|
iccid = ""
|
|
|
lng_lst = []
|
|
lng_lst = []
|
|
@@ -879,21 +878,24 @@ class CBDThread(QtCore.QThread):
|
|
|
temp = [float(k.get("ah", 0)) for k in temp_hum]
|
|
temp = [float(k.get("ah", 0)) for k in temp_hum]
|
|
|
en_hum = [1,f"{str(min(temp))}~{str(max(temp))}"]
|
|
en_hum = [1,f"{str(min(temp))}~{str(max(temp))}"]
|
|
|
# 图片质量
|
|
# 图片质量
|
|
|
- sorted_dict = sorted(image_score.items(), key=lambda x: x[1], reverse=True)
|
|
|
|
|
- sorted_dict = sorted_dict[:3]
|
|
|
|
|
- lte = []
|
|
|
|
|
- score = []
|
|
|
|
|
- for v in sorted_dict:
|
|
|
|
|
- if v[1] < 68:
|
|
|
|
|
- lte.append(str(v[1]))
|
|
|
|
|
- score.append(str(round(v[1], 3)))
|
|
|
|
|
- if sorted_dict:
|
|
|
|
|
- if lte:
|
|
|
|
|
- img_jg = [0, ",".join(score)]
|
|
|
|
|
|
|
+ if self.set_product == "4.0测报灯":
|
|
|
|
|
+ sorted_dict = sorted(image_score.items(), key=lambda x: x[1], reverse=True)
|
|
|
|
|
+ sorted_dict = sorted_dict[:3]
|
|
|
|
|
+ lte = []
|
|
|
|
|
+ score = []
|
|
|
|
|
+ for v in sorted_dict:
|
|
|
|
|
+ if v[1] < 68:
|
|
|
|
|
+ lte.append(str(v[1]))
|
|
|
|
|
+ score.append(str(round(v[1], 3)))
|
|
|
|
|
+ if sorted_dict:
|
|
|
|
|
+ if lte:
|
|
|
|
|
+ img_jg = [0, ",".join(score)]
|
|
|
|
|
+ else:
|
|
|
|
|
+ img_jg = [1, ",".join(score)]
|
|
|
else:
|
|
else:
|
|
|
- img_jg = [1, ",".join(score)]
|
|
|
|
|
|
|
+ img_jg = [0, "输入开始时间前24h内无图片"]
|
|
|
else:
|
|
else:
|
|
|
- img_jg = [0, "输入开始时间前24h内无图片"]
|
|
|
|
|
|
|
+ img_jg = [1, ""]
|
|
|
# 上报信息条数
|
|
# 上报信息条数
|
|
|
print("上报信息条数", infor_lamp, information_count)
|
|
print("上报信息条数", infor_lamp, information_count)
|
|
|
interval = [abs(information_count[i+1] - information_count[i]) for i in range(len(information_count) - 1)]
|
|
interval = [abs(information_count[i+1] - information_count[i]) for i in range(len(information_count) - 1)]
|
|
@@ -969,12 +971,12 @@ class CBDThread(QtCore.QThread):
|
|
|
en_temp,
|
|
en_temp,
|
|
|
en_hum,
|
|
en_hum,
|
|
|
img_jg,
|
|
img_jg,
|
|
|
- current_jg,
|
|
|
|
|
- up_jg,
|
|
|
|
|
- down_jg,
|
|
|
|
|
- lig_jg,
|
|
|
|
|
- machine_jg,
|
|
|
|
|
- camera_jg,
|
|
|
|
|
|
|
+ # current_jg,
|
|
|
|
|
+ # up_jg,
|
|
|
|
|
+ # down_jg,
|
|
|
|
|
+ # lig_jg,
|
|
|
|
|
+ # machine_jg,
|
|
|
|
|
+ # camera_jg,
|
|
|
time_jg
|
|
time_jg
|
|
|
]
|
|
]
|
|
|
|
|
|
|
@@ -1263,11 +1265,12 @@ class CBDThread(QtCore.QThread):
|
|
|
merge_title_style = workbook.add_format(merge_title_format)
|
|
merge_title_style = workbook.add_format(merge_title_format)
|
|
|
|
|
|
|
|
worksheet.merge_range('A1:Y1',"物联网测报灯在线检验原始表格",merge_title_style)
|
|
worksheet.merge_range('A1:Y1',"物联网测报灯在线检验原始表格",merge_title_style)
|
|
|
|
|
+ # "振动电机工作状态下\n电流匹配度",
|
|
|
|
|
+ # "上仓门电机电机工作状态下 \n 电流匹配度","下仓门电机工作状态下 \n电流匹配度","灯管工作状态下 \n电流匹配度","清扫电机/转盘电机工作状态下的 \n 最大电流","相机工作状态下 \n电流匹配度",
|
|
|
title_data = [
|
|
title_data = [
|
|
|
"文档ID","设备ID", "任务单号", "卡号及有效期","经度","纬度","工作状态切换", "电路板固件版本号","RTU固件版本号",
|
|
"文档ID","设备ID", "任务单号", "卡号及有效期","经度","纬度","工作状态切换", "电路板固件版本号","RTU固件版本号",
|
|
|
- "电路板输入电压","温控","雨控","上报信息条数","加热仓温度","环境温度","环境湿度","振动电机工作状态下\n电流匹配度",
|
|
|
|
|
- "上仓门电机电机工作状态下 \n 电流匹配度","下仓门电机工作状态下 \n电流匹配度","灯管工作状态下 \n电流匹配度","图片质量",
|
|
|
|
|
- "清扫电机/转盘电机工作状态下的 \n 最大电流","相机工作状态下 \n电流匹配度", "工作时长", "综合判定"
|
|
|
|
|
|
|
+ "电路板输入电压","温控","雨控","上报信息条数","加热仓温度","环境温度","环境湿度","图片质量",
|
|
|
|
|
+ "工作时长", "综合判定"
|
|
|
]
|
|
]
|
|
|
worksheet.write_row(row = 2 ,col = 0, data = title_data,cell_format=title_style)
|
|
worksheet.write_row(row = 2 ,col = 0, data = title_data,cell_format=title_style)
|
|
|
explain_data = [
|
|
explain_data = [
|
|
@@ -1288,14 +1291,14 @@ class CBDThread(QtCore.QThread):
|
|
|
"合格条件(绿色):\n等于35且环境温度等于25的前提下为不合格,其余显示的任何值为合格",
|
|
"合格条件(绿色):\n等于35且环境温度等于25的前提下为不合格,其余显示的任何值为合格",
|
|
|
"合格条件(绿色):\n等于25度且环境湿度等于35的前提下为不合格,其余显示的任何值为合格",
|
|
"合格条件(绿色):\n等于25度且环境湿度等于35的前提下为不合格,其余显示的任何值为合格",
|
|
|
"合格条件(绿色):\n对自动检查前上传的图片质量进行打分,取前三个图片分数,如果有一个小于68为不合格,否则合格",
|
|
"合格条件(绿色):\n对自动检查前上传的图片质量进行打分,取前三个图片分数,如果有一个小于68为不合格,否则合格",
|
|
|
- "合格条件(绿色):\n在工作时间段内没有接收到“电流不足”的信息为合格,否则不合格",
|
|
|
|
|
- "合格条件(绿色):\n在工作时间段内没有接收到“电流不足”的信息为合格,否则不合格",
|
|
|
|
|
- "合格条件(绿色):\n在工作时间段内没有接收到“电流不足”的信息为合格,否则不合格",
|
|
|
|
|
- "合格条件(绿色):\n在工作时间段内没有接收到“电流不足”的信息为合格,否则不合格",
|
|
|
|
|
- "合格条件(绿色):\n在工作时间段内没有接收到“电流不足”的信息为合格,否则不合格",
|
|
|
|
|
- "合格条件(绿色):\n在工作时间段内没有接收到“电流不足”的信息为合格,否则不合格",
|
|
|
|
|
|
|
+ # "合格条件(绿色):\n在工作时间段内没有接收到“电流不足”的信息为合格,否则不合格",
|
|
|
|
|
+ # "合格条件(绿色):\n在工作时间段内没有接收到“电流不足”的信息为合格,否则不合格",
|
|
|
|
|
+ # "合格条件(绿色):\n在工作时间段内没有接收到“电流不足”的信息为合格,否则不合格",
|
|
|
|
|
+ # "合格条件(绿色):\n在工作时间段内没有接收到“电流不足”的信息为合格,否则不合格",
|
|
|
|
|
+ # "合格条件(绿色):\n在工作时间段内没有接收到“电流不足”的信息为合格,否则不合格",
|
|
|
|
|
+ # "合格条件(绿色):\n在工作时间段内没有接收到“电流不足”的信息为合格,否则不合格",
|
|
|
"合格条件(绿色):\n与供电选择输入对照,(DC为4h,AC为9h)一致判定为合格,否则为不合格",
|
|
"合格条件(绿色):\n与供电选择输入对照,(DC为4h,AC为9h)一致判定为合格,否则为不合格",
|
|
|
- "合格条件(绿色):\nd:y列全部合格为合格,否则为不合格"
|
|
|
|
|
|
|
+ "合格条件(绿色):\nd:r列全部合格为合格,否则为不合格"
|
|
|
]
|
|
]
|
|
|
worksheet.write_row(row = 3 ,col = 0, data = explain_data,cell_format=explain_style)
|
|
worksheet.write_row(row = 3 ,col = 0, data = explain_data,cell_format=explain_style)
|
|
|
formal_counts = 0
|
|
formal_counts = 0
|
|
@@ -1340,10 +1343,10 @@ class CBDThread(QtCore.QThread):
|
|
|
else:
|
|
else:
|
|
|
worksheet.write(index+4,clo_index+1,verify_[1],common_style)
|
|
worksheet.write(index+4,clo_index+1,verify_[1],common_style)
|
|
|
if 0 in danji_verify:
|
|
if 0 in danji_verify:
|
|
|
- worksheet.write(index+4,24,"不合格",error_style)
|
|
|
|
|
|
|
+ worksheet.write(index+4,18,"不合格",error_style)
|
|
|
else:
|
|
else:
|
|
|
formal_counts += 1
|
|
formal_counts += 1
|
|
|
- worksheet.write(index+4,24,"合格",formal_style)
|
|
|
|
|
|
|
+ worksheet.write(index+4,18,"合格",formal_style)
|
|
|
verify_list.append(danji_verify)
|
|
verify_list.append(danji_verify)
|
|
|
except Exception as e:
|
|
except Exception as e:
|
|
|
print(e)
|
|
print(e)
|
|
@@ -1411,9 +1414,6 @@ class CBDThread(QtCore.QThread):
|
|
|
"报告日期",now_time.strftime("%y-%m-%d %H:%M:%S")
|
|
"报告日期",now_time.strftime("%y-%m-%d %H:%M:%S")
|
|
|
]
|
|
]
|
|
|
worksheet.write_row(row = 1 ,col = 0, data = toji_data,cell_format=toji_style)
|
|
worksheet.write_row(row = 1 ,col = 0, data = toji_data,cell_format=toji_style)
|
|
|
- for col in range(18, 23 + 1):
|
|
|
|
|
- column_letter = get_column_letter(col)
|
|
|
|
|
- worksheet.column_dimensions[column_letter].outline_level = 1
|
|
|
|
|
worksheet.protect(pwd_str) # 保护视图,不允许修改
|
|
worksheet.protect(pwd_str) # 保护视图,不允许修改
|
|
|
workbook.close()
|
|
workbook.close()
|
|
|
self.cursor.close()
|
|
self.cursor.close()
|