From 4bdc37291d784008cea7fb9d105077b65a12beb9 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期二, 24 三月 2026 09:31:52 +0800
Subject: [PATCH] job优化
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/ScheduledTaskJob.cs | 171 ++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 126 insertions(+), 45 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 885f017..56833dd 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() { "0348840CC0315655", "0349350CC0315655" };
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,10 +79,10 @@
{
if (device.GetValue<HoistEnum, short>(HoistEnum.SOutboundmaterialbox, "TSJC3F") == 1)
{
- Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC3F");
+ Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC3F" /*&& x.TaskState < TaskStatusEnum.TakeFinish.ObjToInt()*/);
if (dt_Task == null)
{
- station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free);
+ station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free && x.IsOccupied == 0);
if (station != null)
{
var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
@@ -118,8 +118,89 @@
#endregion
+ #region 4F
+ List<string> stationCodes = new() { "0319882DD0312730", "0319882DD0313240" };
+ 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)
+ {
+ 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);
+ }
+ }
+ }
+ }
+ }
+ #endregion
+
+ #endregion
+
#region 鍥涙ゼ鑷姩浠诲姟
- List<string> LocationCodes = new() { "RGD0303A04041","RG0302A05041","RG0304A05041","RG0205A05031" };
+ //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);
@@ -154,46 +235,46 @@
#endregion
#region 鍑烘彁鍗囨満浠诲姟
- 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);
- }
- }
- }
-
- }
- }
+ //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