From 5b34a1458e74f8902d01ebd844c2954f554c9e74 Mon Sep 17 00:00:00 2001
From: xiazhengtongxue <133085197+xiazhengtongxue@users.noreply.github.com>
Date: 星期四, 30 四月 2026 11:05:37 +0800
Subject: [PATCH] 1

---
 Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RobotTaskService.cs |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 79 insertions(+), 0 deletions(-)

diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RobotTaskService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RobotTaskService.cs
index 3502c79..48c1bc2 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RobotTaskService.cs
+++ b/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}");
+            }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3