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

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

@ -2,11 +2,9 @@
"""监控服务"""
import time
import threading
from datetime import datetime
from database.access_db import AccessDB
from database.sql_server import SQLServerDB
from config.settings import ACCESS_DB_PATH, ACCESS_DB_PASSWORD, MONITOR_INTERVAL
from tcp.server import TCPServer
from services.task_service import TaskService
class MonitoringService:
@ -103,7 +101,7 @@ class MonitoringService:
self._handle_status_n(erp_id,artifact_id)
elif current_flag.endswith('p'):
self._handle_status_p(erp_id,artifact_id)
elif current_flag.endswith('x'):
elif current_flag.endswith('y'):
self._handle_status_x(erp_id,artifact_id)
def _handle_status_d(self,erp_id, artifact_id):
@ -191,7 +189,7 @@ class MonitoringService:
print(f"发送状态数据给TCP客户端时出错: {e}")
def _handle_status_x(self, erp_id,artifact_id):
"""处理状态'x' - 数据已接收"""
"""处理状态'y' - 数据已接收"""
print(f"派发任务 ErpID {artifact_id}: 已插入")
try:
print(5)

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}")