From d06e44eb1c8818c8d19709602631eb7888d4f0e9 Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期二, 06 五月 2025 08:53:01 +0800
Subject: [PATCH] 修改程序,AGV交互

---
 Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs b/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs
index 96f193c..fe3a3f2 100644
--- a/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs
+++ b/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs
@@ -10,6 +10,7 @@
 using NewLife;
 using WCS.Application.Entity;
 using WCS.Application.Service.WcsTask.Dto;
+using WCS.Application.Util;
 
 namespace WCS.Application;
 
@@ -86,6 +87,13 @@
         {
             //鐢熸垚浠诲姟鍙�
             entity.TaskNo = GetTaskCode();
+            // 鍒ゆ柇鏄惁绌挎杞︿换鍔�
+            if (entity.Type != PLCTypeEnum.AGV) 
+            {
+                entity.TaskId = FourWayCarUtil.GetTaskId();
+            }
+
+
             if (string.IsNullOrEmpty(entity.TaskNo))
             {
                 throw Oops.Bah("浠诲姟鍙风敓鎴愬け璐�");
@@ -230,6 +238,16 @@
                     modTask.IsSuccess = TaskSuccessEnum.Fail;
                     modTask.CancelDate = DateTime.Now;//鍙栨秷鏃堕棿
                 }
+                //濡傛灉鏄洓鍚戣溅浠诲姟
+                if (modTask.Type == PLCTypeEnum.ShuttleCar) 
+                {
+                    var carTaskList = _db.Queryable<WcsCarTasks>().Where(m => m.Status <= TaskStatusEnum.Doing && m.IsDelete == false).ToList();
+                    foreach (var carTask in carTaskList)
+                    {
+                        carTask.Status = input.Status;
+                    }
+                    await _wcsTaskRep.Context.Updateable(carTaskList).ExecuteCommandAsync();
+                }
                 modTask.Status = input.Status;
                 modTask.Levels = 999;
                 await _wcsTaskRep.Context.Updateable(modTask).UpdateColumns(s => new { s.Status, s.IsSuccess, s.FinishDate, s.CancelDate, s.UpdateTime, s.UpdateUserId, s.UpdateUserName }).ExecuteCommandAsync();

--
Gitblit v1.8.0