From ce1292c9cf37195b6abd2699dfc5d6cb3e143c9b Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期日, 12 四月 2026 23:38:19 +0800
Subject: [PATCH] feat(MES): 添加MES接口相关实体和DTO JS扩展文件至JSX格式并更新配置
---
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ManualInbound/ManualInboundTaskHandler.cs | 73 ++++++++++++++++++++++++++++++++++++
1 files changed, 73 insertions(+), 0 deletions(-)
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ManualInbound/ManualInboundTaskHandler.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ManualInbound/ManualInboundTaskHandler.cs
new file mode 100644
index 0000000..8c8886f
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ManualInbound/ManualInboundTaskHandler.cs
@@ -0,0 +1,73 @@
+using WIDESEAWCS_Core.LogHelper;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.ConveyorLine;
+
+namespace WIDESEAWCS_Tasks.ConveyorLineNewJob.ManualInbound
+{
+ /// <summary>
+ /// 鎵嬪姩鍏ュ簱浠诲姟澶勭悊鍣�
+ /// </summary>
+ /// <remarks>
+ /// 璐熻矗澶勭悊鎵嬪姩鍒涘缓鐨勫叆搴撲换鍔★紝褰揚LC璇锋眰鍏ュ簱鏃讹紝鏍规嵁childDeviceCode鏌ユ壘浠诲姟骞跺啓鍏LC銆�
+ /// </remarks>
+ public class ManualInboundTaskHandler
+ {
+ /// <summary>
+ /// 浠诲姟鏈嶅姟
+ /// </summary>
+ private readonly ITaskService _taskService;
+
+ /// <summary>
+ /// 鏋勯�犲嚱鏁�
+ /// </summary>
+ /// <param name="taskService">浠诲姟鏈嶅姟</param>
+ public ManualInboundTaskHandler(ITaskService taskService)
+ {
+ _taskService = taskService;
+ }
+
+ /// <summary>
+ /// 鍐欏叆鎵嬪姩鍏ュ簱浠诲姟鍒癙LC
+ /// </summary>
+ /// <param name="conveyorLine">杈撻�佺嚎璁惧瀵硅薄</param>
+ /// <param name="childDeviceCode">瀛愯澶囩紪鐮�</param>
+ /// <param name="task">浠诲姟瀹炰綋</param>
+ public void WriteTaskToPlc(CommonConveyorLine conveyorLine, string childDeviceCode, Dt_Task task)
+ {
+ if (conveyorLine == null || string.IsNullOrEmpty(childDeviceCode) || task == null)
+ {
+ QuartzLogger.Error("ManualInboundTaskHandler.WriteTaskToPlc: 鍙傛暟涓虹┖", "ManualInbound");
+ return;
+ }
+
+ try
+ {
+ // 鍐欏叆浠诲姟鍙�
+ conveyorLine.SetValue(ConveyorLineDBNameNew.TaskNo, (short)task.TaskNum, childDeviceCode);
+ // 鍐欏叆璧峰鍦板潃
+ conveyorLine.SetValue(ConveyorLineDBNameNew.Source, short.Parse(task.SourceAddress ?? "0"), childDeviceCode);
+ // 鍐欏叆鐩爣鍦板潃
+ conveyorLine.SetValue(ConveyorLineDBNameNew.Target, short.Parse(task.NextAddress ?? "0"), childDeviceCode);
+
+ // 鏇存柊浠诲姟鐘舵�佸埌涓嬩竴闃舵
+ var updateResult = _taskService.UpdateTaskStatusToNext(task);
+ if (!updateResult.Status)
+ {
+ QuartzLogger.Error($"ManualInboundTaskHandler: 鏇存柊浠诲姟鐘舵�佸け璐ワ紝浠诲姟鍙枫�恵task.TaskNum}銆戯紝閿欒淇℃伅:{updateResult.Message}", conveyorLine.DeviceCode);
+ return;
+ }
+
+ // 鍐欏叆ACK鏍囧織
+ conveyorLine.SetValue(ConveyorLineDBNameNew.WCS_ACK, (short)1, childDeviceCode);
+
+ QuartzLogger.Info($"ManualInboundTaskHandler: 鎵嬪姩浠诲姟鍐欏叆PLC鎴愬姛锛屼换鍔″彿銆恵task.TaskNum}銆戯紝婧愬湴鍧�銆恵task.SourceAddress}銆�", conveyorLine.DeviceCode);
+ }
+ catch (Exception ex)
+ {
+ QuartzLogger.Error($"ManualInboundTaskHandler: 鍐欏叆杈撻�佺嚎浠诲姟寮傚父锛岄敊璇俊鎭�:{ex.Message}", "ManualInbound");
+ }
+ }
+ }
+}
--
Gitblit v1.9.3