From 09b408441d12085063dce721410e566938d26df1 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期三, 25 三月 2026 16:07:34 +0800
Subject: [PATCH] 1

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/ScheduledTaskJob.cs |  214 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 152 insertions(+), 62 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/ScheduledTaskJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/ScheduledTaskJob.cs"
index b83c5ec..c599f57 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/ScheduledTaskJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/ScheduledTaskJob.cs"
@@ -39,10 +39,10 @@
             try
             {
                 #region 涓夋ゼ鑷姩浠诲姟
-                List<string> StationCodes = new() { "0321935CC0329515", "0321935CC0329015", "0321935CC0328485", "0321935CC0328005" };
+                List<string> StationCodes = new() { "0348840CC0315690", "0349350CC0315686" };
                 var stations = _StationInfoService.Repository.QueryData(x => StationCodes.Contains(x.StationCode));
                 #region 鍏ユ彁鍗囨満浠诲姟
-                var station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.InStock);
+                var station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.InStock && x.IsOccupied == 0);
                 if (station != null)
                 {
                     var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
@@ -79,33 +79,117 @@
                 {
                     if (device.GetValue<HoistEnum, short>(HoistEnum.SOutboundmaterialbox, "TSJC3F") == 1)
                     {
-                        station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free);
-                        if (station != null)
+                        Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC3F" /*&& x.TaskState < TaskStatusEnum.TakeFinish.ObjToInt()*/);
+                        if (dt_Task == null)
                         {
-                            var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
-                            Dt_Task dt_Task = new Dt_Task()
+                            station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free && x.IsOccupied == 0);
+                            if (station != null)
                             {
-                                TaskNum = tasknum,
-                                WMSTaskNum = "GP" + tasknum,
-                                Grade = 60,
-                                PalletCode = station.PalletCode,
-                                Roadway = "",
-                                TaskState = (int)TaskStatusEnum.New,
-                                TaskType = TaskTypeEnum.CK3F.ObjToInt(),
-                                SourceAddress = "TSJC3F",
-                                CurrentAddress = "TSJC3F",
-                                NextAddress = station.StationCode,
-                                TargetAddress = station.StationCode,
-                                Creater = "WCS",
-                            };
-                            var content = _taskService.SendHIKROBOTTask(dt_Task);
-                            if (content.Status)
+                                var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
+                                dt_Task = new Dt_Task()
+                                {
+                                    TaskNum = tasknum,
+                                    WMSTaskNum = "GP" + tasknum,
+                                    Grade = 60,
+                                    PalletCode = "LXM" + tasknum,
+                                    Roadway = "",
+                                    TaskState = (int)TaskStatusEnum.New,
+                                    TaskType = TaskTypeEnum.CK3F.ObjToInt(),
+                                    SourceAddress = "TSJC3F",
+                                    CurrentAddress = "TSJC3F",
+                                    NextAddress = station.StationCode,
+                                    TargetAddress = station.StationCode,
+                                    Creater = "WCS",
+                                };
+                                var content = _taskService.SendHIKROBOTTask(dt_Task);
+                                if (content.Status)
+                                {
+                                    dt_Task.TaskState = (int)TaskStatusEnum.Execut;
+                                    dt_Task.Dispatchertime = DateTime.Now;
+                                    station.StationStatus = (int)LocationStatusEnum.InLock;
+                                    _taskService.AddData(dt_Task);
+                                    _StationInfoService.UpdateData(station);
+                                }
+                            }
+                        }
+                    }
+                }
+                #endregion
+
+                #endregion
+
+                #region 4F
+                List<string> stationCodes = new() { "0319882DD0313240", "0319882DD0313750"};
+                var Stations = _StationInfoService.Repository.QueryData(x => stationCodes.Contains(x.StationCode));
+                #region 鍏ユ彁鍗囨満浠诲姟
+                var Station = Stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.InStock && x.IsOccupied == 0);
+                if (Station != null)
+                {
+                    var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
+                    Dt_Task dt_Task = new Dt_Task()
+                    {
+                        TaskNum = tasknum,
+                        WMSTaskNum = "GP" + tasknum,
+                        Grade = 60,
+                        PalletCode = Station.PalletCode,
+                        Roadway = "",
+                        TaskState = (int)TaskStatusEnum.New,
+                        TaskType = TaskTypeEnum.F04.ObjToInt(),
+                        SourceAddress = Station.StationCode,
+                        CurrentAddress = Station.StationCode,
+                        NextAddress = "TSJR4F",
+                        TargetAddress = "TSJR4F",
+                        Creater = "WCS",
+                    };
+                    var content = _taskService.SendHIKROBOTTask(dt_Task);
+                    if (content.Status)
+                    {
+                        dt_Task.TaskState = (int)TaskStatusEnum.Execut;
+                        dt_Task.Dispatchertime = DateTime.Now;
+                        Station.StationStatus = (int)LocationStatusEnum.OutLock;
+                        _taskService.AddData(dt_Task);
+                        _StationInfoService.UpdateData(Station);
+                    }
+                }
+                #endregion
+
+                #region 鍑烘彁鍗囨満浠诲姟
+                device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
+                if (device != null && device.IsConnected)
+                {
+                    if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC4F") == 1)
+                    {
+                        Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC4F" /*&& x.TaskState < TaskStatusEnum.TakeFinish.ObjToInt()*/);
+                        if (dt_Task == null)
+                        {
+                            Station = Stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free && x.IsOccupied == 0);
+                            if (Station != null)
                             {
-                                dt_Task.TaskState = (int)TaskStatusEnum.Execut;
-                                dt_Task.Dispatchertime = DateTime.Now;
-                                station.StationStatus = (int)LocationStatusEnum.InLock;
-                                _taskService.AddData(dt_Task);
-                                _StationInfoService.UpdateData(station);
+                                var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
+                                dt_Task = new Dt_Task()
+                                {
+                                    TaskNum = tasknum,
+                                    WMSTaskNum = "GP" + tasknum,
+                                    Grade = 60,
+                                    PalletCode = "LXM" + tasknum,
+                                    Roadway = "",
+                                    TaskState = (int)TaskStatusEnum.New,
+                                    TaskType = TaskTypeEnum.F03.ObjToInt(),
+                                    SourceAddress = "TSJC4F",
+                                    CurrentAddress = "TSJC4F",
+                                    NextAddress = Station.StationCode,
+                                    TargetAddress = Station.StationCode,
+                                    Creater = "WCS",
+                                };
+                                var content = _taskService.SendHIKROBOTTask(dt_Task);
+                                if (content.Status)
+                                {
+                                    dt_Task.TaskState = (int)TaskStatusEnum.Execut;
+                                    dt_Task.Dispatchertime = DateTime.Now;
+                                    Station.StationStatus = (int)LocationStatusEnum.InLock;
+                                    _taskService.AddData(dt_Task);
+                                    _StationInfoService.UpdateData(Station);
+                                }
                             }
                         }
                     }
@@ -115,7 +199,8 @@
                 #endregion
 
                 #region 鍥涙ゼ鑷姩浠诲姟
-                List<string> LocationCodes = new() { "RGD0304A04011", "RG0105A04031", "RG0202A05021" };
+                //List<string> LocationCodes = new() { "RGD0303A04041", "RG0302A05041", "RG0304A05041", "RG0205A05031" };
+                List<string> LocationCodes = new() { "RGD0302A05041", "RGD0304A05041", "R3CG0106A04031", "RGD0307A05012" };
                 var hKLocationInfos = _HKLocationInfoService.Repository.QueryData(x => LocationCodes.Contains(x.LocationCode));
                 #region 鍏ユ彁鍗囨満浠诲姟
                 var hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.InStock);
@@ -150,41 +235,46 @@
                 #endregion
 
                 #region 鍑烘彁鍗囨満浠诲姟
-                if (device != null && device.IsConnected)
-                {
-                    if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC3F") == 1)
-                    {
-                        hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.Free);
-                        if (hKLocation != null)
-                        {
-                            var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
-                            Dt_Task dt_Task = new Dt_Task()
-                            {
-                                TaskNum = tasknum,
-                                WMSTaskNum = "GP" + tasknum,
-                                Grade = 60,
-                                PalletCode = hKLocation.PalletCode,
-                                Roadway = "",
-                                TaskState = (int)TaskStatusEnum.New,
-                                TaskType = TaskTypeEnum.Q1TSJ4.ObjToInt(),
-                                SourceAddress = "TSJC4F",
-                                CurrentAddress = "TSJC4F",
-                                NextAddress = hKLocation.LocationCode,
-                                TargetAddress = hKLocation.LocationCode,
-                                Creater = "WCS",
-                            };
-                            var content = _taskService.SendHIKROBOTTask(dt_Task);
-                            if (content.Status)
-                            {
-                                dt_Task.TaskState = (int)TaskStatusEnum.Execut;
-                                dt_Task.Dispatchertime = DateTime.Now;
-                                hKLocation.LocationStatus = (int)LocationStatusEnum.InLock;
-                                _taskService.AddData(dt_Task);
-                                _HKLocationInfoService.UpdateData(hKLocation);
-                            }
-                        }
-                    }
-                }
+                //if (device != null && device.IsConnected)
+                //{
+                //    if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC4F") == 1)
+                //    {
+                //        Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC4F");
+                //        if (dt_Task == null)
+                //        {
+                //            hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.Free);
+                //            if (hKLocation != null)
+                //            {
+                //                var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
+                //                dt_Task = new Dt_Task()
+                //                {
+                //                    TaskNum = tasknum,
+                //                    WMSTaskNum = "GP" + tasknum,
+                //                    Grade = 60,
+                //                    PalletCode = "LXM" + tasknum,
+                //                    Roadway = "",
+                //                    TaskState = (int)TaskStatusEnum.New,
+                //                    TaskType = TaskTypeEnum.Q1TSJ4.ObjToInt(),
+                //                    SourceAddress = "TSJC4F",
+                //                    CurrentAddress = "TSJC4F",
+                //                    NextAddress = hKLocation.LocationCode,
+                //                    TargetAddress = hKLocation.LocationCode,
+                //                    Creater = "WCS",
+                //                };
+                //                var content = _taskService.SendHIKROBOTTask(dt_Task);
+                //                if (content.Status)
+                //                {
+                //                    dt_Task.TaskState = (int)TaskStatusEnum.Execut;
+                //                    dt_Task.Dispatchertime = DateTime.Now;
+                //                    hKLocation.LocationStatus = (int)LocationStatusEnum.InLock;
+                //                    _taskService.AddData(dt_Task);
+                //                    _HKLocationInfoService.UpdateData(hKLocation);
+                //                }
+                //            }
+                //        }
+
+                //    }
+                //}
                 #endregion
 
                 #endregion

--
Gitblit v1.9.3