完整功能

This commit is contained in:
xiongyi
2025-11-12 16:49:40 +08:00
parent 9b56811021
commit ec51d2f786
3 changed files with 84 additions and 23 deletions

36
main.py
View File

@ -15,6 +15,12 @@ from config.settings import (
)
from utils.helpers import cleanup_old_timestamps
# 假设同事提供的函数
def save_to_custom_table(misid, flag, task_id, produce_mix_id, project_name, beton_grade, adjusted_volume, artifact_id):
"""保存到自定义数据表的函数"""
# 这里应该是同事提供的实际实现
print(f"保存到自定义数据表: MISID={misid}, Flag={flag}, TaskID={task_id}, 调整后方量={adjusted_volume}")
def start_api_service():
"""启动配比重量API服务"""
api = MixWeightAPI()
@ -83,26 +89,18 @@ def main():
# 步骤5连接SQL Server数据库并插入数据
sql_db = SQLServerDB()
try:
# 准备插入数据
insert_data = {
"ErpID": erp_id,
"Code": task_info["TaskID"],
"DatTim": datetime.now(),
"Recipe": task_info["ProduceMixID"],
"MorRec": "",
"ProdMete": task["beton_volume"],
"MorMete": 0.0,
"TotVehs": 0,
"TotMete": task_info["PlannedVolume"],
"Qualitor": "",
"Acceptor": "",
"Attamper": "",
"Flag": "1",
"Note": ""
}
# 检查 block_number 是否为 "补方"
if task["block_number"] == "补方":
print(f"任务 {task['artifact_id']} 的 block_number 为 '补方',跳过派单")
task_service.insert_into_produce_table(sql_db, task_info, task["beton_volume"], erp_id,
task["artifact_id"], 0)
continue
sql_db.insert_produce_data(insert_data)
print(f"数据已成功插入到Produce表中ERP ID: {erp_id}")
print(f"处理新任务: {task['artifact_id']}")
# 步骤3获取任务单信息
task_service.insert_into_produce_table(sql_db, task_info, task["beton_volume"], erp_id,
task["artifact_id"], 1)
finally:
sql_db.close()

View File

@ -114,7 +114,7 @@ class MonitoringService:
# 调用同事提供的状态更新函数
try:
print(1)
# update_custom_table_status(erp_id, "未进行生产")
update_custom_table_status(erp_id, "未进行生产")
except Exception as e:
print(f"更新状态时出错: {e}")
@ -134,7 +134,7 @@ class MonitoringService:
# 调用同事提供的状态更新函数
try:
print(2)
# update_custom_table_status(erp_id, "正在生产中")
update_custom_table_status(erp_id, "正在生产中")
except Exception as e:
print(f"更新状态时出错: {e}")
@ -158,7 +158,7 @@ class MonitoringService:
# 调用同事提供的状态更新函数
try:
print(3)
# update_custom_table_status(erp_id, "生产完毕")
update_custom_table_status(erp_id, "生产完毕")
except Exception as e:
print(f"更新状态时出错: {e}")
@ -182,7 +182,7 @@ class MonitoringService:
# 调用同事提供的状态更新函数
try:
print(4)
# update_custom_table_status(erp_id, "生产中断")
update_custom_table_status(erp_id, "生产中断")
except Exception as e:
print(f"更新状态时出错: {e}")

View File

@ -301,3 +301,66 @@ class TaskService:
for artifact_id in current_artifact_ids:
if artifact_id not in self.artifact_timestamps:
self.artifact_timestamps[artifact_id] = datetime.now()
def insert_into_produce_table(self, connection, task_info, beton_volume, erp_id, artifact_id, status):
"""插入数据到Produce表"""
sql_db = SQLServerDB()
if status == "1":
# 准备插入数据
insert_data = {
"ErpID": erp_id,
"Code": task_info["TaskID"],
"DatTim": datetime.now(),
"Recipe": task_info["ProduceMixID"],
"MorRec": "",
"ProdMete": beton_volume,
"MorMete": 0.0, # 砂浆方量,根据实际需求填写
"TotVehs": 0, # 累计车次,根据实际需求填写
"TotMete": task_info["PlannedVolume"], # 累计方量
"Qualitor": "", # 质检员,根据实际需求填写
"Acceptor": "", # 现场验收,根据实际需求填写
"Attamper": "", # 调度员,根据实际需求填写
"Flag": "1", # 标识,根据实际需求填写
"Note": "" # 备注,根据实际需求填写
}
sql_db.insert_produce_data(insert_data)
print(f"数据已成功插入到Produce表中ERP ID: {erp_id}")
# 调用同事提供的保存函数,将数据保存到自定义数据表
try:
# 假设同事提供的函数名为 save_to_custom_table
# 参数包括: MISID(即erp_id), Flag, TaskID, ProduceMixID, ProjectName, BetonGrade, 调整后的方量
save_to_custom_table(
misid=erp_id,
flag="1", # 初始Flag值
task_id=task_info["TaskID"],
produce_mix_id=task_info["ProduceMixID"],
project_name=task_info["ProjectName"],
beton_grade=task_info["BetonGrade"],
adjusted_volume=beton_volume,
artifact_id=artifact_id
# 已经调整后的方量
)
print(f"任务 {erp_id} 的数据已保存到自定义数据表")
except Exception as e:
print(f"调用保存函数时出错: {e}")
return erp_id
else:
try:
# 假设同事提供的函数名为 save_to_custom_table
# 参数包括: MISID(即erp_id), Flag, TaskID, ProduceMixID, ProjectName, BetonGrade, 调整后的方量
save_to_custom_table(
misid=erp_id,
flag="1", # 初始Flag值
task_id=task_info["TaskID"],
produce_mix_id=task_info["ProduceMixID"],
project_name=task_info["ProjectName"],
beton_grade=task_info["BetonGrade"],
adjusted_volume=beton_volume,
artifact_id=artifact_id
)
print(f"任务 {erp_id} 的数据已保存到自定义数据表")
except Exception as e:
print(f"调用保存函数时出错: {e}")