将程序修改为在搅拌楼端运行

This commit is contained in:
xiongyi
2025-11-17 21:56:11 +08:00
parent 88625f4782
commit 3a746eddb7
7 changed files with 184 additions and 46 deletions

View File

@ -5,6 +5,7 @@ from database.access_db import AccessDB
from database.sql_server import SQLServerDB
from config.settings import ACCESS_DB_PATH, ACCESS_DB_PASSWORD
from utils.helpers import get_f_block_positions
from tcp.client import TCPClient
import threading
import time
@ -16,6 +17,9 @@ class TaskService:
self.task_before = {"block_number":None, "beton_volume":None, "artifact_id":None}
self.artifact_timestamps = {}
self.tcp_server = tcp_server
from config.settings import TCP_CLIENT_HOST, TCP_CLIENT_PORT
self.data_client = TCPClient(host=TCP_CLIENT_HOST, port=TCP_CLIENT_PORT)
self.data_client.start()
def process_not_pour_info(self):
"""处理未浇筑信息"""
@ -394,8 +398,37 @@ class TaskService:
return erp_id
def save_to_custom_table(self,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 save_to_custom_table(self, misid, flag, task_id, produce_mix_id, project_name, beton_grade, adjusted_volume, artifact_id):
try:
task_data = {
"erp_id": misid,
"task_id": task_id,
"artifact_id": artifact_id,
"produce_mix_id": produce_mix_id,
"project_name": project_name,
"beton_grade": beton_grade,
"adjusted_volume": adjusted_volume,
"flag": flag,
"timestamp": datetime.now().strftime("%Y-%m-%d %H:%M:%S")
}
self.data_client.send_data(task_data)
print(f"任务 {artifact_id} 的数据已发送到另一台电脑")
except Exception as e:
print(f"发送数据到另一台电脑时出错: {e}")
print(f"原计划保存到自定义数据表: MISID={misid}, Flag={flag}, TaskID={task_id}, 调整后方量={adjusted_volume}")
def update_custom_table_status(self, erp_id, status):
print(f"更新自定义数据表状态: ERP ID={erp_id}, 状态={status}")
# 通过专用TCP客户端发送状态更新到另一台电脑
try:
status_data = {
"cmd": "update_status",
"erp_id": erp_id,
"status": status,
"timestamp": datetime.now().strftime("%Y-%m-%d %H:%M:%S")
}
self.data_client.send_data(status_data)
print(f"任务状态更新已发送到另一台电脑: ERP ID={erp_id}, 状态={status}")
except Exception as e:
print(f"发送状态更新到另一台电脑时出错: {e}")
print(f"原计划更新自定义数据表状态: ERP ID={erp_id}, 状态={status}")