From 4ac3f08f416685db0e218df55750d94556030330 Mon Sep 17 00:00:00 2001
From: HuBingJie <3146306518@qq.com>
Date: 星期四, 06 十一月 2025 20:25:17 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |   65 ++++++++++++++++++--------------
 1 files changed, 37 insertions(+), 28 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index ef564b2..538d160 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -16,6 +16,7 @@
 #endregion << 鐗� 鏈� 娉� 閲� >>
 
 using AutoMapper;
+using HslCommunication.Enthernet;
 using Newtonsoft.Json;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
 using SqlSugar;
@@ -397,34 +398,36 @@
             try
             {
                 int oldState = task.TaskState;
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
                 {
                     if (task.TaskState >= (int)TaskOutStatusEnum.OutFinish)
                     {
                         return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
                     }
 
-                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
+                    //int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
 
-                    task.TaskState = nextStatus;
+                    task.TaskState = (int)TaskOutStatusEnum.SC_OutExecuting;
+                    task.Dispatchertime = DateTime.Now;
                 }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
+                else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound)
                 {
                     if (task.TaskState >= (int)TaskInStatusEnum.InFinish)
                     {
                         return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
                     }
 
-                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
-                    task.TaskState = nextStatus;
-
-                    if (task.TaskState == (int)TaskInStatusEnum.Line_InFinish)
+                    //int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
+                    task.TaskState = (int)TaskInStatusEnum.SC_InExecuting;
+                    task.Dispatchertime = DateTime.Now;
+                }
+                else if (task.TaskType == (int)TaskRelocationTypeEnum.Relocation)
+                {
+                    if (task.TaskState != (int)TaskRelocationStatusEnum.RelocationNew)
                     {
-                        Random random = new Random();
-                        task.CurrentAddress = task.NextAddress;
-                        task.NextAddress = $"{random.Next(1, 100).ToString().PadLeft(3, '0')}-{random.Next(1, 100).ToString().PadLeft(3, '0')}-{random.Next(1, 100).ToString().PadLeft(3, '0')}";
-                        task.TargetAddress = task.NextAddress;
+                        return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
                     }
+                    task.TaskState = (int)TaskRelocationStatusEnum.SC_RelocationExecuting;    //涓嬪彂绉诲簱浠诲姟
                 }
                 else
                 {
@@ -435,6 +438,7 @@
                 {
                     return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
                 }
+
 
                 task.ModifyDate = DateTime.Now;
                 task.Modifier = "System";
@@ -503,28 +507,22 @@
 
                 if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                 {
-                    /*List<Dt_Router> routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
-                    if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�");*/
-                    task.TaskState = (int)TaskOutStatusEnum.OutFinish;
-                    BaseDal.UpdateData(task);
-
-
-                    content = HttpHelperh.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}&HowWorks=2");
-
+                    task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish;
                     task.ModifyDate = DateTime.Now;
-                    BaseDal.DeleteData(task);
+                    BaseDal.UpdateData(task);
+                    content = HttpHelperh.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}");
+                    Console.WriteLine("浠诲姟瀹屾垚锛寃ms鍙嶉淇℃伅锛�"+content.Message);
+                    //BaseDal.DeleteData(task);
                     // _task_HtyService.AddTaskHty(task); 闇�瑕佹坊鍔犵Щ鍏ュ巻鍙�
-                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍑哄簱瀹屾垚");
-                    //todo 鍚屾鍒癢MS
+                    //_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍑哄簱瀹屾垚");
 
-                    //鏆備笉鑰冭檻澶氫釜鍑哄簱鍙�
                 }
                 else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
                 {
                     task.TaskState = (int)TaskInStatusEnum.InFinish;
                     BaseDal.UpdateData(task);
 
-                    content = HttpHelperh.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}&HowWorks=2");
+                    content = HttpHelperh.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}");
 
                     task.ModifyDate = DateTime.Now;
                     task.Modifier = "System";
@@ -538,7 +536,7 @@
                     task.TaskState = (int)TaskRelocationStatusEnum.SC_RelocationFinish;
                     BaseDal.UpdateData(task);
 
-                    content = HttpHelperh.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}&HowWorks=2");
+                    content = HttpHelperh.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}");
 
                   
                     task.ModifyDate = DateTime.Now;
@@ -655,11 +653,11 @@
             return BaseDal.QueryFirst(x => x.PalletCode == Pallat);
         }
 
-        public WebResponseContent UpdateTaskIninfo(string Pallat, int TaskNo)
+        public WebResponseContent UpdateTaskIninfo(string Pallat, string StationCode)
         {
             try
             {
-                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == TaskNo && x.PalletCode == Pallat);
+                Dt_Task task = BaseDal.QueryFirst(x => x.PalletCode == Pallat && x.SourceAddress== StationCode);
                 if (task != null)
                 {
                     task.TaskState = (int)TaskInStatusEnum.Line_InFinish;
@@ -714,5 +712,16 @@
             return null;
 
         }
+
+
+        public Dt_Task GetOutTaskInfo(string PLCaddress)
+        {
+            return BaseDal.QueryFirst(x => x.TargetAddress== PLCaddress && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish, TaskOrderBy);
+        }
+
+        public Dt_Task GetOutTaskInfo2(string PalletCode)
+        {
+            return BaseDal.QueryFirst(x => x.PalletCode == PalletCode && x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting, TaskOrderBy);
+        }
     }
 }

--
Gitblit v1.9.3