wanshenmean
6 小时以前 bd40cc9e7dd6352915568ce49baa4accd1d9645b
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RobotJob/Workflow/RobotSimpleCommandHandler.cs
@@ -119,6 +119,11 @@
                    state.CurrentAction = "Putting";
                    return true;
                // 手臂无物料(手臂空闲)
                case "batteryarrived":
                    state.BatteryArrived = true;
                    return true;
                // ==================== 全部完成命令 ====================
                // 全部取货完成
@@ -143,6 +148,14 @@
                        {
                            if (state.ChangePalletPhase == 0)
                            {
                                // 调用批量拆盘确认接口(换盘取完阶段)
                                var sourcePallet = state.CurrentTask.RobotSourceAddressPalletCode;
                                var confirmResult = _taskProcessor.PostSplitPalletConfirmAsync(sourcePallet);
                                if (!confirmResult.IsSuccess)
                                {
                                    QuartzLogger.Error($"批量拆盘确认失败: {confirmResult.ErrorMessage}", state.RobotCrane?.DeviceName ?? "Unknown");
                                }
                                // 所有阶段完成,处理入库
                                if (await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: true))
                                {
@@ -165,6 +178,14 @@
                        // 拆盘任务:直接处理入库
                        if (robotTaskType == RobotTaskTypeEnum.SplitPallet)
                        {
                            // 调用批量拆盘确认接口
                            var sourcePallet = state.CurrentTask.RobotSourceAddressPalletCode;
                            var confirmResult = _taskProcessor.PostSplitPalletConfirmAsync(sourcePallet);
                            if (!confirmResult.IsSuccess)
                            {
                                QuartzLogger.Error($"批量拆盘确认失败: {confirmResult.ErrorMessage}", state.RobotCrane?.DeviceName ?? "Unknown");
                            }
                            if (await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: true))
                            {
                                // 入库成功,删除任务记录
@@ -198,6 +219,14 @@
                        {
                            if (state.ChangePalletPhase == 0)
                            {
                                // 调用批量组盘确认接口(换盘放完阶段)
                                var targetPallet = state.CurrentTask.RobotTargetAddressPalletCode;
                                var confirmResult = _taskProcessor.PostGroupPalletConfirmAsync(targetPallet);
                                if (!confirmResult.IsSuccess)
                                {
                                    QuartzLogger.Error($"批量组盘确认失败: {confirmResult.ErrorMessage}", state.RobotCrane?.DeviceName ?? "Unknown");
                                }
                                // 所有阶段完成,处理入库
                                if (await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: false))
                                {
@@ -226,6 +255,14 @@
                        // 组盘任务:直接处理入库
                        if (robotTaskType == RobotTaskTypeEnum.GroupPallet)
                        {
                            // 调用批量组盘确认接口
                            //var targetPallet = state.CurrentTask.RobotTargetAddressPalletCode;
                            //var confirmResult = _taskProcessor.PostGroupPalletConfirmAsync(targetPallet);
                            //if (!confirmResult.IsSuccess)
                            //{
                            //    QuartzLogger.Error($"批量组盘确认失败: {confirmResult.ErrorMessage}", state.RobotCrane?.DeviceName ?? "Unknown");
                            //}
                            // 处理入库任务回传
                            // useSourceAddress: false 表示使用目标地址(组盘场景)
                            if (await _taskProcessor.HandleInboundTaskAsync(state, useSourceAddress: false))