1
xiazhengtongxue
3 天以前 5b34a1458e74f8902d01ebd844c2954f554c9e74
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RobotTaskService.cs
@@ -17,7 +17,9 @@
#endregion << 版 本 注 释 >>
using Autofac.Core;
using MapsterMapper;
using Masuit.Tools;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json;
using Serilog;
@@ -448,5 +450,82 @@
                .Where(x => !string.IsNullOrWhiteSpace(x.Key) && !string.IsNullOrWhiteSpace(x.Value))
                .ToDictionary(x => x.Key.Trim(), x => x.Value!.Trim());
        }
        public WebResponseContent CreateRobotTaskManually(ManualRobotTaskDto request)
        {
            try
            {
                Dt_RobotTask robotTask = new Dt_RobotTask();
                robotTask.RobotTaskNum = Random.Shared.StrictNext();
                robotTask.RobotRoadway = request.RobotRoadway;
                if (request.RobotRoadway == RobotTaskTypeEnum.GroupPallet.ToString())
                {
                    robotTask.RobotTaskType = (int)RobotTaskTypeEnum.GroupPallet;
                    robotTask.RobotTaskState = (int)TaskRobotStatusEnum.RobotNew;
                    robotTask.RobotTaskTotalNum = request.RobotTaskTotalNum;
                    robotTask.RobotDispatchertime = DateTime.Now;
                    robotTask.RobotRemark = "人工手动创建";
                    robotTask.RobotTargetAddressPalletCode = request.RobotTargetAddressPalletCode;
                    robotTask.RobotTargetAddressLineCode = "11068";
                }
                else if (request.RobotRoadway == RobotTaskTypeEnum.ChangePallet.ToString())
                {
                    switch (request.Forward)
                    {
                        case 1:
                            robotTask.RobotSourceAddress = "1";
                            robotTask.RobotSourceAddressLineCode = "11010";
                            robotTask.RobotTargetAddress = "3";
                            robotTask.RobotTargetAddressLineCode = "2103";
                            break;
                        case 2:
                            robotTask.RobotSourceAddress = "2";
                            robotTask.RobotSourceAddressLineCode = "11001";
                            robotTask.RobotTargetAddress = "4";
                            robotTask.RobotTargetAddressLineCode = "2101";
                            break;
                        case 3:
                            robotTask.RobotSourceAddress = "3";
                            robotTask.RobotSourceAddressLineCode = "2103";
                            robotTask.RobotTargetAddress = "1";
                            robotTask.RobotTargetAddressLineCode = "11010";
                            break;
                        case 4:
                            robotTask.RobotSourceAddress = "4";
                            robotTask.RobotSourceAddressLineCode = "2101";
                            robotTask.RobotTargetAddress = "2";
                            robotTask.RobotTargetAddressLineCode = "11001";
                            break;
                        default:
                            return WebResponseContent.Instance.Error($"添加机器人任务失败,方向不对");
                    }
                    robotTask.RobotTaskType = (int)RobotTaskTypeEnum.ChangePallet;
                    robotTask.RobotTaskState = (int)TaskRobotStatusEnum.RobotNew;
                    robotTask.RobotTaskTotalNum = request.RobotTaskTotalNum;
                    robotTask.RobotDispatchertime = DateTime.Now;
                    robotTask.RobotRemark = "人工手动创建";
                    robotTask.RobotSourceAddressPalletCode = request.RobotSourceAddressPalletCode;
                    robotTask.RobotTargetAddressPalletCode = request.RobotTargetAddressPalletCode;
                }
                else if (request.RobotRoadway == RobotTaskTypeEnum.SplitPallet.ToString())
                {
                    robotTask.RobotTaskType = (int)RobotTaskTypeEnum.SplitPallet;
                    robotTask.RobotTaskState = (int)TaskRobotStatusEnum.RobotNew;
                    robotTask.RobotTaskTotalNum = request.RobotTaskTotalNum;
                    robotTask.RobotDispatchertime = DateTime.Now;
                    robotTask.RobotRemark = "人工手动创建";
                    robotTask.RobotSourceAddressPalletCode = request.RobotSourceAddressPalletCode;
                }
                else
                {
                    return WebResponseContent.Instance.Error($"添加机器人任务失败,机器人名称错误{request.RobotRoadway}");
                }
                return base.AddData(robotTask);
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error($"添加机器人任务失败: {ex.Message}");
            }
        }
    }
}