变频器集成以及增加点动控制(0209)

This commit is contained in:
2026-02-09 11:36:37 +08:00
parent 88dfc53b9d
commit d6ad01274a
45 changed files with 7161 additions and 1578 deletions

93
tests/api_service_test.py Normal file
View File

@ -0,0 +1,93 @@
"""
API接口
"""
import sys
import os
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
import time
from busisness.blls import ArtifactBll,PDRecordBll
from busisness.models import ArtifactInfoModel,PDRecordModel
from service.mould_service import app_web_service
_model_task=None
artifact_bll=ArtifactBll()
pdrecord_bll=PDRecordBll()
if __name__ == "__main__":
try:
# 初始化三个列表用于跟踪ArtifactActionID
processed_artifact_actions = [] # 已处理的ArtifactActionID列表
processed_pd_records = [] # 已插入PDRecord表的ArtifactActionID列表
# db = SQLiteHandler.get_instance("db/three.db", max_readers=50, busy_timeout=4000)
while True:
# 测试获取未浇筑管片信息
try:
not_poured = app_web_service.get_not_pour_artifacts()
if not_poured:
for item in reversed(not_poured):
# 检查MouldCode是否已处理
if item.MouldCode in processed_artifact_actions:
print(f"待浇筑:MouldCode {item.MouldCode} 已处理,跳过")
continue
_model_data = ArtifactInfoModel(**item.__dict__)
artifact_bll.insert_artifact_task(_model_data)
# 标记为已处理
processed_artifact_actions.append(item.MouldCode)
# 限制最多保存3条记录删除最旧的
if len(processed_artifact_actions) > 3:
processed_artifact_actions.pop(0)
print(f"待浇筑:已处理MouldCode {item.MouldCode}")
if item.MouldCode in processed_pd_records:
print(f"派单:MouldCode {item.MouldCode} 已处理,跳过")
continue
if item.BetonTaskID is not None and item.BetonTaskID != '':
#获取taskid
if _model_task is None or item.BetonTaskID != _model_task.TaskID:
_model_task = app_web_service.get_task_info(item.BetonTaskID)
if _model_task is None:
print(f"异常:BetonTaskID {item.BetonTaskID} 不存在,跳过")
continue
_pd_record_data = PDRecordModel(
ArtifactID=item.ArtifactID,
TaskID=_model_task.TaskID,
ProjectName=_model_task.ProjectName,
ProduceMixID=_model_task.ProduceMixID,
BetonGrade=_model_task.BetonGrade,
BetonVolume=item.BetonVolume,
MouldCode=item.MouldCode,
SkeletonID=item.SkeletonID,
RingTypeCode=item.RingTypeCode,
SizeSpecification=item.SizeSpecification,
BuriedDepth=item.BuriedDepth,
BlockNumber=item.BlockNumber
)
pdrecord_bll.insert_PD_record(_pd_record_data)
# 标记为已处理
processed_pd_records.append(item.MouldCode)
# 限制最多保存3条记录删除最旧的
if len(processed_pd_records) > 3:
processed_pd_records.pop(0)
print(f"派单:已处理MouldCode {item.MouldCode}")
else:
print(f"异常:MouldCode {item.MouldCode} 无BetonTaskID跳过")
except Exception as e:
print(f"处理MouldCode {item.MouldCode} 时发生错误: {e}")
time.sleep(5)
except KeyboardInterrupt:
print("\n测试被用户中断")
except Exception as e:
print(f"测试过程中发生错误: {e}")