完整功能
This commit is contained in:
36
main.py
36
main.py
@ -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()
|
||||
|
||||
|
||||
@ -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}")
|
||||
|
||||
|
||||
@ -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}")
|
||||
|
||||
Reference in New Issue
Block a user