更新 app.py

This commit is contained in:
ChenRui 2026-07-07 10:18:54 +08:00
parent 572d8f1491
commit a79b29fb30

218
app.py
View File

@ -690,7 +690,7 @@ async def fault_type_statistics(ship_number: Optional[str] = None):
"""
print("故障类型统计街路口")
from tools.fault_statistics import statistics_fault_types
"""
result = await statistics_fault_types(
ship_number_filter=ship_number
)
@ -700,18 +700,18 @@ async def fault_type_statistics(ship_number: Optional[str] = None):
status_code=500,
detail=result.get("error", "统计失败")
)
"""
result = {
"success": True,
"faultTypeData": [
{ "value": 35, "name": "作战系统", "itemStyle": { "color": "#00C2FF" } },
{ "value": 25, "name": "电力系统", "itemStyle": { "color": "#FF4500" } },
{ "value": 20, "name": "推进系统", "itemStyle": { "color": "#9400D3" } },
{ "value": 10, "name": "航空保障系统", "itemStyle": { "color": "#228B22" } },
{ "value": 5, "name": "船舶保障系统", "itemStyle": { "color": "#FF1493" } },
{ "value": 5, "name": "其他", "itemStyle": { "color": "#2C2C2C" } }
]
}
# result = {
# "success": True,
# "faultTypeData": [
# { "value": 35, "name": "作战系统", "itemStyle": { "color": "#00C2FF" } },
# { "value": 25, "name": "电力系统", "itemStyle": { "color": "#FF4500" } },
# { "value": 20, "name": "推进系统", "itemStyle": { "color": "#9400D3" } },
# { "value": 10, "name": "航空保障系统", "itemStyle": { "color": "#228B22" } },
# { "value": 5, "name": "船舶保障系统", "itemStyle": { "color": "#FF1493" } },
# { "value": 5, "name": "其他", "itemStyle": { "color": "#2C2C2C" } }
# ]
# }
return result
@ -743,65 +743,64 @@ async def fault_frequency_statistics(
start_date = None
end_date = None
result = {
"success": True,
"highFreqFaults": [
{ "rank": 1, "name": "燃气轮机燃油增压泵组泵体旋塞处泄漏", "system": "推进系统", "count": 135 },
{ "rank": 2, "name": "气动蝶阀控制箱无法上电工作", "system": "推进系统", "count": 103 },
{ "rank": 3, "name": "组合报警灯柱不能正常工作", "system": "船舶保障系统", "count": 86 },
{ "rank": 4, "name": "岸电联接箱指示灯不亮", "system": "电力系统", "count": 77 },
{ "rank": 5, "name": "主机冷却水泵密封泄漏", "system": "航空保障系统", "count": 76 },
{ "rank": 6, "name": "加电后屏幕和故障指示灯没显示", "system": "作战系统", "count": 65 }
]
}
# result = {
# "success": True,
# "highFreqFaults": [
# { "rank": 1, "name": "燃气轮机燃油增压泵组泵体旋塞处泄漏", "system": "推进系统", "count": 135 },
# { "rank": 2, "name": "气动蝶阀控制箱无法上电工作", "system": "推进系统", "count": 103 },
# { "rank": 3, "name": "组合报警灯柱不能正常工作", "system": "船舶保障系统", "count": 86 },
# { "rank": 4, "name": "岸电联接箱指示灯不亮", "system": "电力系统", "count": 77 },
# { "rank": 5, "name": "主机冷却水泵密封泄漏", "system": "航空保障系统", "count": 76 },
# { "rank": 6, "name": "加电后屏幕和故障指示灯没显示", "system": "作战系统", "count": 65 }
# ]
# }
if time_range == "近七天":
end_date = datetime.now().strftime("%Y-%m-%d")
start_date = (datetime.now() - timedelta(days=7)).strftime("%Y-%m-%d")
result = {
"success": True,
"highFreqFaults": [
{ "rank": 1, "name": "气动蝶阀控制箱无法上电工作", "system": "推进系统", "count": 10 },
{ "rank": 2, "name": "组合报警灯柱不能正常工作", "system": "船舶保障系统", "count": 6 },
{ "rank": 3, "name": "岸电联接箱指示灯不亮", "system": "电力系统", "count": 3 },
{ "rank": 4, "name": "主机冷却水泵密封泄漏", "system": "航空保障系统", "count": 3 },
{ "rank": 5, "name": "加电后屏幕和故障指示灯没显示", "system": "作战系统", "count": 1 }
]
}
# if time_range == "近七天":
# end_date = datetime.now().strftime("%Y-%m-%d")
# start_date = (datetime.now() - timedelta(days=7)).strftime("%Y-%m-%d")
# result = {
# "success": True,
# "highFreqFaults": [
# { "rank": 1, "name": "气动蝶阀控制箱无法上电工作", "system": "推进系统", "count": 10 },
# { "rank": 2, "name": "组合报警灯柱不能正常工作", "system": "船舶保障系统", "count": 6 },
# { "rank": 3, "name": "岸电联接箱指示灯不亮", "system": "电力系统", "count": 3 },
# { "rank": 4, "name": "主机冷却水泵密封泄漏", "system": "航空保障系统", "count": 3 },
# { "rank": 5, "name": "加电后屏幕和故障指示灯没显示", "system": "作战系统", "count": 1 }
# ]
# }
elif time_range == "近一个月":
end_date = datetime.now().strftime("%Y-%m-%d")
start_date = (datetime.now() - timedelta(days=30)).strftime("%Y-%m-%d")
# elif time_range == "近一个月":
# end_date = datetime.now().strftime("%Y-%m-%d")
# start_date = (datetime.now() - timedelta(days=30)).strftime("%Y-%m-%d")
result = {
"success": True,
"highFreqFaults": [
{ "rank": 1, "name": "燃气轮机燃油增压泵组泵体旋塞处泄漏", "system": "推进系统", "count": 38 },
{ "rank": 2, "name": "气动蝶阀控制箱无法上电工作", "system": "推进系统", "count": 20 },
{ "rank": 3, "name": "组合报警灯柱不能正常工作", "system": "船舶保障系统", "count": 14 },
{ "rank": 4, "name": "岸电联接箱指示灯不亮", "system": "电力系统", "count": 13 },
{ "rank": 5, "name": "主机冷却水泵密封泄漏", "system": "航空保障系统", "count": 10 },
{ "rank": 6, "name": "加电后屏幕和故障指示灯没显示", "system": "作战系统", "count": 8 }
]
}
# result = {
# "success": True,
# "highFreqFaults": [
# { "rank": 1, "name": "燃气轮机燃油增压泵组泵体旋塞处泄漏", "system": "推进系统", "count": 38 },
# { "rank": 2, "name": "气动蝶阀控制箱无法上电工作", "system": "推进系统", "count": 20 },
# { "rank": 3, "name": "组合报警灯柱不能正常工作", "system": "船舶保障系统", "count": 14 },
# { "rank": 4, "name": "岸电联接箱指示灯不亮", "system": "电力系统", "count": 13 },
# { "rank": 5, "name": "主机冷却水泵密封泄漏", "system": "航空保障系统", "count": 10 },
# { "rank": 6, "name": "加电后屏幕和故障指示灯没显示", "system": "作战系统", "count": 8 }
# ]
# }
elif time_range == "近一年":
end_date = datetime.now().strftime("%Y-%m-%d")
start_date = (datetime.now() - timedelta(days=365)).strftime("%Y-%m-%d")
result = {
"success": True,
"highFreqFaults": [
{ "rank": 1, "name": "燃气轮机燃油增压泵组泵体旋塞处泄漏", "system": "推进系统", "count": 68 },
{ "rank": 2, "name": "气动蝶阀控制箱无法上电工作", "system": "推进系统", "count": 74 },
{ "rank": 3, "name": "组合报警灯柱不能正常工作", "system": "船舶保障系统", "count": 73 },
{ "rank": 4, "name": "岸电联接箱指示灯不亮", "system": "电力系统", "count": 63 },
{ "rank": 5, "name": "主机冷却水泵密封泄漏", "system": "航空保障系统", "count": 56 },
{ "rank": 6, "name": "加电后屏幕和故障指示灯没显示", "system": "作战系统", "count": 46 }
]
}
# elif time_range == "近一年":
# end_date = datetime.now().strftime("%Y-%m-%d")
# start_date = (datetime.now() - timedelta(days=365)).strftime("%Y-%m-%d")
# result = {
# "success": True,
# "highFreqFaults": [
# { "rank": 1, "name": "燃气轮机燃油增压泵组泵体旋塞处泄漏", "system": "推进系统", "count": 68 },
# { "rank": 2, "name": "气动蝶阀控制箱无法上电工作", "system": "推进系统", "count": 74 },
# { "rank": 3, "name": "组合报警灯柱不能正常工作", "system": "船舶保障系统", "count": 73 },
# { "rank": 4, "name": "岸电联接箱指示灯不亮", "system": "电力系统", "count": 63 },
# { "rank": 5, "name": "主机冷却水泵密封泄漏", "system": "航空保障系统", "count": 56 },
# { "rank": 6, "name": "加电后屏幕和故障指示灯没显示", "system": "作战系统", "count": 46 }
# ]
# }
"""
if time_range == "近七天":
end_date = datetime.now().strftime("%Y-%m-%d")
start_date = (datetime.now() - timedelta(days=7)).strftime("%Y-%m-%d")
@ -825,7 +824,7 @@ async def fault_frequency_statistics(
status_code=500,
detail=result.get("error", "统计失败")
)
"""
return result
@ -857,55 +856,54 @@ async def spare_parts_statistics(
start_date = None
end_date = None
result = {
"success": True,
"sparePartData": {
"categories": ["螺旋式熔断体", "断路器", "机械密封", "门铰链固定端", "减振器"],
"system": ["电力系统", "船舶保障系统", "推进系统", "作战系统", "推进系统"],
"counter": [86, 76, 43, 42, 33]
}
}
# result = {
# "success": True,
# "sparePartData": {
# "categories": ["螺旋式熔断体", "断路器", "机械密封", "门铰链固定端", "减振器"],
# "system": ["电力系统", "船舶保障系统", "推进系统", "作战系统", "推进系统"],
# "counter": [86, 76, 43, 42, 33]
# }
# }
if time_range == "近七天":
end_date = datetime.now().strftime("%Y-%m-%d")
start_date = (datetime.now() - timedelta(days=7)).strftime("%Y-%m-%d")
result = {
"success": True,
"sparePartData": {
"categories": ["螺旋式熔断体", "断路器", "机械密封", "门铰链固定端"],
"system": ["电力系统", "船舶保障系统", "推进系统", "作战系统"],
"counter": [13, 9, 8, 5]
}
}
elif time_range == "近一个月":
end_date = datetime.now().strftime("%Y-%m-%d")
start_date = (datetime.now() - timedelta(days=30)).strftime("%Y-%m-%d")
# if time_range == "近七天":
# end_date = datetime.now().strftime("%Y-%m-%d")
# start_date = (datetime.now() - timedelta(days=7)).strftime("%Y-%m-%d")
# result = {
# "success": True,
# "sparePartData": {
# "categories": ["螺旋式熔断体", "断路器", "机械密封", "门铰链固定端"],
# "system": ["电力系统", "船舶保障系统", "推进系统", "作战系统"],
# "counter": [13, 9, 8, 5]
# }
# }
# elif time_range == "近一个月":
# end_date = datetime.now().strftime("%Y-%m-%d")
# start_date = (datetime.now() - timedelta(days=30)).strftime("%Y-%m-%d")
result = {
"success": True,
"sparePartData": {
"categories": ["螺旋式熔断体", "断路器", "机械密封", "门铰链固定端", "减振器"],
"system": ["电力系统", "船舶保障系统", "推进系统", "作战系统", "推进系统"],
"counter": [32, 26, 20, 14, 10]
}
}
elif time_range == "近一年":
end_date = datetime.now().strftime("%Y-%m-%d")
start_date = (datetime.now() - timedelta(days=365)).strftime("%Y-%m-%d")
# result = {
# "success": True,
# "sparePartData": {
# "categories": ["螺旋式熔断体", "断路器", "机械密封", "门铰链固定端", "减振器"],
# "system": ["电力系统", "船舶保障系统", "推进系统", "作战系统", "推进系统"],
# "counter": [32, 26, 20, 14, 10]
# }
# }
# elif time_range == "近一年":
# end_date = datetime.now().strftime("%Y-%m-%d")
# start_date = (datetime.now() - timedelta(days=365)).strftime("%Y-%m-%d")
result = {
"success": True,
"sparePartData": {
"categories": ["螺旋式熔断体", "断路器", "机械密封", "门铰链固定端", "减振器"],
"system": ["电力系统", "船舶保障系统", "推进系统", "作战系统", "推进系统"],
"counter": [64, 63, 23, 20, 19]
}
}
# result = {
# "success": True,
# "sparePartData": {
# "categories": ["螺旋式熔断体", "断路器", "机械密封", "门铰链固定端", "减振器"],
# "system": ["电力系统", "船舶保障系统", "推进系统", "作战系统", "推进系统"],
# "counter": [64, 63, 23, 20, 19]
# }
# }
"""
if time_range == "近七天":
end_date = datetime.now().strftime("%Y-%m-%d")
start_date = (datetime.now() - timedelta(days=7)).strftime("%Y-%m-%d")
@ -930,7 +928,7 @@ async def spare_parts_statistics(
status_code=500,
detail=result.get("error", "统计失败")
)
"""
return result