wanshenmean
8 小时以前 f423e1277f91427f0a767bd1224c1260dcb73086
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RobotJob/Workflow/RobotSimpleCommandHandler.cs
@@ -1,5 +1,6 @@
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core.LogHelper;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_Tasks.Workflow.Abstractions;
namespace WIDESEAWCS_Tasks.Workflow
@@ -124,6 +125,11 @@
                    state.BatteryArrived = true;
                    return true;
                // 是否电芯到位
                case "batteryarrivedno":
                    state.BatteryArrived = false;
                    return true;
                // ==================== 全部完成命令 ====================
                // 全部取货完成
@@ -158,7 +164,7 @@
                            if (state.ChangePalletPhase == 5)
                            {
                                // FlowB 最终阶段:假电芯取完,源空托盘回库 HCSC1
                                if (!await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: true))
                                if (!await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: true, isRoadway: "HCSC1"))
                                {
                                    return false;
                                }
@@ -184,15 +190,16 @@
                            {
                                // FlowA 中间阶段:正常电芯取完,源空托盘回库 GWSC1
                                // 不删除任务,不重置状态,继续 Phase 3-4 假电芯流程
                                if (!await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: true))
                                if (!await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: true, isRoadway: "GWSC1"))
                                {
                                    return false;
                                }
                                return true;
                            }
                            List<string> str = new List<string>() { "11001", "11010" };
                            // Phase == 0: 非批次模式(目标总数==48)
                            if (!await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: true))
                            if (!await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: true, isRoadway: str.Contains(currentTask.RobotSourceAddressLineCode) ? "GWSC1" : "HCSC1"))
                            {
                                return false;
                            }
@@ -274,7 +281,7 @@
                            if (state.ChangePalletPhase == 5)
                            {
                                // FlowA 最终阶段:假电芯放完,目标托盘满48入库 HCSC1
                                if (!await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: false))
                                if (!await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: false, isRoadway: "HCSC1"))
                                {
                                    return false;
                                }
@@ -301,15 +308,16 @@
                            {
                                // FlowB 中间阶段:正常电芯放完,有货托盘组盘入库 GWSC1
                                // 不删除任务,不重置状态,继续 Phase 3-4 假电芯流程
                                if (!await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: false))
                                if (!await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: false, isRoadway: "GWSC1"))
                                {
                                    return false;
                                }
                                return true;
                            }
                            List<string> str = new List<string>() { "11001", "11010" };
                            // Phase == 0: 非批次模式(目标总数==48)
                            if (!await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: false))
                            if (!await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: false, str.Contains(currentTask.RobotTargetAddressLineCode) ? "GWSC1" : "HCSC1"))
                            {
                                return false;
                            }