From 0fb0f17319ecf71d66b96a6acfd07f754be9443e Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 24 十月 2024 13:44:38 +0800
Subject: [PATCH] WCS添加穿梭车信息表,修改任务信息表

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |   74 ++++++++++++++++++++++++++++++++++--
 1 files changed, 69 insertions(+), 5 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 084be31..989566b 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"
@@ -26,9 +26,9 @@
 using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseServices;
-using WIDESEAWCS_Core.Enums;
 using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
@@ -120,6 +120,8 @@
             }
             return content;
         }
+
+
 
         /// <summary>
         /// 鏍规嵁鎵樼洏鍙枫�佽捣濮嬪湴鍧�鍚慦MS璇锋眰浠诲姟
@@ -213,9 +215,9 @@
         public Dt_Task QueryStackerCraneTask(string deviceNo, string currentAddress = "")
         {
             if (string.IsNullOrEmpty(currentAddress))
-                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
+                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.Car_OutFinish), TaskOrderBy);
             else
-                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
+                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.Car_OutFinish), TaskOrderBy);
         }
 
         /// <summary>
@@ -241,9 +243,9 @@
         public Dt_Task QueryStackerCraneOutTask(string deviceNo, string currentAddress = "")
         {
             if (string.IsNullOrEmpty(currentAddress))
-                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
+                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.Car_OutFinish, TaskOrderBy);
             else
-                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.CurrentAddress == currentAddress, TaskOrderBy);
+                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.Car_OutFinish && x.CurrentAddress == currentAddress, TaskOrderBy);
         }
 
         /// <summary>
@@ -593,5 +595,67 @@
             }
             return content;
         }
+
+        public Dt_Task GetTaskInfo(int taskNum)
+        {
+            return BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+        }
+
+        public Dt_Task GetTaskState(int TaskState, int TaskType)
+        {
+            Dt_Task task = null;
+            if (TaskState > 0 && TaskType > 0)
+                task = BaseDal.QueryFirst(x => x.TaskState == TaskState && x.TaskType == TaskType);
+            else if (TaskState > 0)
+                task = BaseDal.QueryFirst(x => x.TaskState == TaskState);
+            else if (TaskType > 0)
+                task = BaseDal.QueryFirst(x => x.TaskType == TaskType);
+            return task;
+        }
+
+        /// <summary>
+        /// 鏌ヨ绌挎杞﹀嚭鍏ュ簱浠诲姟
+        /// </summary>
+        /// <param name="deviceNo"></param>
+        /// <param name="currentAddress"></param>
+        /// <returns></returns>
+        public Dt_Task QueryShuttleCarTask(string deviceNo, string currentAddress = "")
+        {
+            if (string.IsNullOrEmpty(currentAddress))
+                return BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
+            else
+                return BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
+        }
+        /// <summary>
+        /// 娣诲姞绉昏溅浠诲姟
+        /// </summary>
+        /// <param name="SourceAddress">璧风偣</param>
+        /// <param name="TargetAddress">缁堢偣</param>
+        /// <param name="ShuttleCarCode">绌挎杞﹀彿</param>
+        /// <returns></returns>
+        /// <exception cref="NotImplementedException"></exception>
+        public WebResponseContent AddRelocationCarTask(string SourceAddress, string TargetAddress, string ShuttleCarCode = "", string remark = "")
+        {
+            #region 鍒涘缓鍫嗗灈鏈虹Щ杞︿换鍔�
+            Dt_Task dt_Task = new Dt_Task()
+            {
+                TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")),
+                Grade = 2,
+                Roadway = "SC01",
+                TaskType = (int)TaskOtherTypeEnum.RelocationCar,
+                SourceAddress = SourceAddress,
+                TargetAddress = TargetAddress,
+                CurrentAddress = "",
+                NextAddress = TargetAddress,
+                CreateDate = DateTime.Now,
+                Creater = "WCS",
+                TaskState = (int)TaskCarStatusEnum.CarNew,
+                ShuttleCarCode = ShuttleCarCode,
+                WMSId = 0,
+                Remark = remark
+            };
+            return AddData(dt_Task);
+            #endregion
+        }
     }
 }

--
Gitblit v1.9.3