From b6a82cb656a6cd045d772274ae927c8ca2c22b06 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 27 二月 2026 14:26:03 +0800
Subject: [PATCH] 优化四向车入库任务
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs | 59 ++++++-----
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs | 2
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IStationMangerService.cs | 6 +
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs | 20 +++
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs | 6 +
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RGVTaskExtend.cs | 136 +++++++++++++++++++++++++++
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/StationMangerService.cs | 4
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RGVTaskMethods.cs | 24 ++++
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/KLSTaskMethods.cs | 5
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskJob.cs | 5
10 files changed, 232 insertions(+), 35 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/StationMangerService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/StationMangerService.cs"
index cf89f02..23d4b39 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/StationMangerService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/StationMangerService.cs"
@@ -24,5 +24,9 @@
{
return BaseDal.QueryFirst(x => x.StationCode == fromLocationCode && x.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt());
}
+ public Dt_StationManger GetOutStationInfo(string stationCode)
+ {
+ return BaseDal.QueryFirst(x => x.StationCode == stationCode && x.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt());
+ }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
index 6cffc29..3870a69 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
@@ -41,32 +41,8 @@
/// </summary>
[Description("瀹屾垚")]
Finish,
- /// <summary>
- /// 澶栧舰妫�娴嬩腑
- /// </summary>
- [Description("澶栧舰妫�娴嬩腑")]
- CheckShapeing,
- /// <summary>
- /// 澶栧舰妫�娴嬫垚鍔�
- /// </summary>
- [Description("澶栧舰妫�娴嬫垚鍔�")]
- CheckShapeingOk,
- /// <summary>
- /// 澶栧舰妫�娴嬪け璐�
- /// </summary>
- [Description("澶栧舰妫�娴嬪け璐�")]
- CheckShapeingNG,
- /// <summary>
- /// 鎵樼洏鍙风‘璁や腑
- /// </summary>
- [Description("鎵樼洏鍙风‘璁や腑")]
- CheckPalletCodeing,
-
- /// <summary>
- /// AGV寰呯户缁墽琛�
- /// </summary>
- [Description("AGV寰呯户缁墽琛�")]
- AGV_WaitToExecute,
+
+
#region 鍑箰澹獳GV鍏朵粬浠诲姟鐘舵��
@@ -120,11 +96,40 @@
#endregion
#region 娴峰悍AGV鍏朵粬浠诲姟鐘舵��
+ /// <summary>
+ /// 鎵樼洏鍙风‘璁や腑
+ /// </summary>
+ [Description("鎵樼洏鍙风‘璁や腑")]
+ CheckPalletCodeing,
+ /// <summary>
+ /// AGV寰呯户缁墽琛�
+ /// </summary>
+ [Description("AGV寰呯户缁墽琛�")]
+ AGV_WaitToExecute,
#endregion
#region 鍥涘悜杞﹀叾浠栦换鍔$姸鎬�
-
+ /// <summary>
+ /// 澶栧舰妫�娴嬩腑
+ /// </summary>
+ [Description("澶栧舰妫�娴嬩腑")]
+ CheckShapeing,
+ /// <summary>
+ /// 澶栧舰妫�娴嬫垚鍔�
+ /// </summary>
+ [Description("澶栧舰妫�娴嬫垚鍔�")]
+ CheckShapeingOk,
+ /// <summary>
+ /// 澶栧舰妫�娴嬪け璐�
+ /// </summary>
+ [Description("澶栧舰妫�娴嬪け璐�")]
+ CheckShapeingNG,
+ /// <summary>
+ /// 寰呯Щ搴撳悗鎵ц
+ /// </summary>
+ [Description("寰呯Щ搴撳悗鎵ц")]
+ RGV_WaitMoveToExecute,
#endregion
}
public enum TaskInStatusEnum
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
index 2bd0913..77692b4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
@@ -49,6 +49,12 @@
/// </summary>
[Description("瑁佸壀鍑哄簱")]
CJOutbound,
+
+ /// <summary>
+ /// 鎴愬搧绉诲簱
+ /// </summary>
+ [Description("鎴愬搧绉诲簱")]
+ CPMoveInventory,
}
public enum TaskInboundTypeEnum
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IStationMangerService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IStationMangerService.cs"
index c1d0dc1..e279a5c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IStationMangerService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IStationMangerService.cs"
@@ -18,5 +18,11 @@
/// <param name="fromLocationCode"></param>
/// <returns></returns>
Dt_StationManger GetInStationInfo(string fromLocationCode);
+ /// <summary>
+ /// 鑾峰彇鍑哄簱绔欏彴
+ /// </summary>
+ /// <param name="fromLocationCode"></param>
+ /// <returns></returns>
+ Dt_StationManger GetOutStationInfo(string fromLocationCode);
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs"
index b02b728..0c0c3f3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs"
@@ -123,7 +123,7 @@
[ImporterHeader(Name = "寮傚父淇℃伅")]
[ExporterHeader(DisplayName = "寮傚父淇℃伅")]
[SugarColumn(IsNullable = true, Length = 500, ColumnDescription = "寮傚父淇℃伅")]
- public string? ExceptionMessage { get; set; }
+ public string ExceptionMessage { get; set; }
/// <summary>
/// 浼樺厛绾�
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/KLSTaskMethods.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/KLSTaskMethods.cs"
index 5253d68..b799926 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/KLSTaskMethods.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/KLSTaskMethods.cs"
@@ -67,10 +67,9 @@
{
try
{
- Dt_KLSLocationInfo? kLSLocationInfo = _kLSLocationInfoService.Repository.QueryFirst(x => x.LocationCode == taskDTO.fromLocationCode);
- if (kLSLocationInfo == null) throw new Exception($"鏈壘鍒拌捣鐐瑰簱浣嶃�恵taskDTO.fromLocationCode}銆戯紒");
+ Dt_KLSLocationInfo? kLSLocationInfo = _kLSLocationInfoService.Repository.QueryFirst(x => x.LocationCode == taskDTO.fromLocationCode) ?? throw new Exception($"鏈壘鍒拌捣鐐瑰簱浣嶃�恵taskDTO.fromLocationCode}銆戯紒");
if (kLSLocationInfo.LocationStatus != LocationStatusEnum.InStock.ObjToInt()) throw new Exception($"璧风偣搴撲綅銆恵taskDTO.fromLocationCode}銆戝綋鍓嶅簱浣嶇姸鎬佷笉鍙嚭搴擄紒");
- Dt_Task dt_Task = new Dt_Task()
+ Dt_Task dt_Task = new()
{
TaskNum = GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
WMSTaskNum = taskDTO.taskCode,
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RGVTaskMethods.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RGVTaskMethods.cs"
index f7f99f9..6fcb806 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RGVTaskMethods.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RGVTaskMethods.cs"
@@ -72,8 +72,30 @@
{
try
{
+ //Dt_Task dt_Task = BaseDal.QueryFirst(x => x.PalletCode == taskDTO.containerCode);
+ //if (dt_Task != null) throw new Exception($"鎵樼洏鍙枫�恵taskDTO.containerCode}銆戝凡瀛樺湪浠诲姟");
+ Dt_RGVLocationInfo rGVLocationInfo = _rGVLocationInfoService.Repository.QueryFirst(x => x.LocationCode == taskDTO.fromLocationCode) ?? throw new Exception($"鏈壘鍒拌捣鐐瑰簱浣嶃�恵taskDTO.fromLocationCode}銆戯紒");
+ if (rGVLocationInfo.LocationStatus != LocationStatusEnum.InStock.ObjToInt()) throw new Exception($"璧风偣搴撲綅銆恵taskDTO.fromLocationCode}銆戝綋鍓嶅簱浣嶇姸鎬佷笉鍙嚭搴擄紒");
+ Dt_Task dt_Task = new()
+ {
+ TaskNum = GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
+ WMSTaskNum = taskDTO.taskCode,
+ //WMSId = GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
+ Grade = taskDTO.taskPriority,
+ PalletCode = taskDTO.containerCode,
+ Roadway = rGVLocationInfo.RoadwayNo,
+ TaskState = TaskStatusEnum.New.ObjToInt(),
+ TaskType = taskType,
+ SourceAddress = taskDTO.fromLocationCode,
+ CurrentAddress = taskDTO.fromLocationCode,
+ NextAddress = taskDTO.toLocationCode,
+ TargetAddress = taskDTO.toLocationCode,
+ Creater = "WMS",
+ };
+ rGVLocationInfo.LocationStatus = LocationStatusEnum.OutLock.ObjToInt();
Db.Ado.BeginTran();
-
+ BaseDal.AddData(dt_Task);
+ _rGVLocationInfoService.Repository.UpdateData(rGVLocationInfo);
Db.Ado.CommitTran();
return WebResponseContent.Instance.OK();
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RGVTaskExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RGVTaskExtend.cs"
index f057da7..81a498f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RGVTaskExtend.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RGVTaskExtend.cs"
@@ -50,8 +50,33 @@
var outtasks = tasks.Where(x => x.TaskType == (int)TaskTypeEnum.CPOutbound).ToList();
foreach (var item in outtasks)
{
- ///鍒ゆ柇鏄惁闇�瑕佺Щ搴�
+ ///鍒ゆ柇鏄惁闇�瑕佺Щ搴�,鍑哄簱绔欏彴鏄惁绌洪棽
+ if (IsNoMoveTask(item) && StationIsFree(item.TargetAddress))
+ {
+ #region 涓嬪彂鍑哄簱浠诲姟
+ fOURBOTnewMovePodTask.priority = item.Grade;
+ fOURBOTnewMovePodTask.podID = item.PalletCode;
+ fOURBOTnewMovePodTask.destination = item.NextAddress;
+ fOURBOTnewMovePodTask.desExt = new
+ {
+ unload = 1//鏄惁鏀句笅瀹瑰櫒,0鍚�1鏄�
+ };
+ fOURBOTnewMovePodTask.desType = 2;
+ string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize());
+ FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>();
+ if (fOURBOTReturn.returnCode == 0)
+ {
+ item.RGVTaskId = fOURBOTReturn.data.taskID;
+ item.TaskState = (int)TaskStatusEnum.Execut;
+ }
+ #endregion
+ }
+ else
+ {
+ item.TaskState = (int)TaskStatusEnum.RGV_WaitMoveToExecute;
+ }
}
+ _taskService.UpdateData(outtasks);
#endregion
}
catch (Exception ex)
@@ -60,6 +85,8 @@
}
}
#endregion
+
+ #region 涓嬪彂澶栧舰妫�娴嬫垚鍔熶换鍔�
/// <summary>
/// 涓嬪彂澶栧舰妫�娴嬫垚鍔熶换鍔�
/// </summary>
@@ -71,6 +98,7 @@
{
Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(FOURBOTnewMovePodTask)) ?? throw new Exception("鏈壘鍒板洓鍚戣溅浠诲姟涓嬪彂鎺ュ彛閰嶇疆淇℃伅锛佽妫�鏌ユ帴鍙i厤缃�");
List<Dt_RGVLocationInfo> rGVLocationInfos = new List<Dt_RGVLocationInfo>();
+ List<Dt_StationManger> stationMangers = new List<Dt_StationManger>();
foreach (var item in tasks)
{
#region 鑾峰彇璐т綅
@@ -100,12 +128,18 @@
item.TaskState = (int)TaskStatusEnum.Puting;
rGVLocationInfo.LocationStatus = LocationStatusEnum.InLock.ObjToInt();
rGVLocationInfos.Add(rGVLocationInfo);
+ #region 閲婃斁鍏ュ簱绔欏彴
+ Dt_StationManger stationManger = _stationMangerService.GetInStationInfo(item.SourceAddress);
+ stationManger.IsOccupied = LocationStatusEnum.Free.ObjToInt();
+ stationMangers.Add(stationManger);
+ #endregion
}
}
}
_taskService.Db.Ado.BeginTran();
_taskService.UpdateData(tasks);
_rGVLocationInfoService.UpdateData(rGVLocationInfos);
+ _stationMangerService.UpdateData(stationMangers);
_taskService.Db.Ado.CommitTran();
}
catch (Exception ex)
@@ -113,5 +147,105 @@
WriteError(nameof(TaskJob), ex.Message, ex);
}
}
+ #endregion
+
+ #region 涓嬪彂澶栧舰妫�娴嬪け璐ヤ换鍔�
+ public void SendCheckShapeingNGTask(List<Dt_Task> tasks)
+ {
+ FOURBOTnewMovePodTask fOURBOTnewMovePodTask = new();
+ try
+ {
+ Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(FOURBOTnewMovePodTask)) ?? throw new Exception("鏈壘鍒板洓鍚戣溅浠诲姟涓嬪彂鎺ュ彛閰嶇疆淇℃伅锛佽妫�鏌ユ帴鍙i厤缃�");
+ foreach (var item in tasks)
+ {
+ Dt_StationManger stationManger = _stationMangerService.GetInStationInfo(item.SourceAddress);
+ item.CurrentAddress = item.NextAddress;
+ item.NextAddress = stationManger.RGVStationCode;
+ fOURBOTnewMovePodTask.priority = item.Grade;
+ fOURBOTnewMovePodTask.podID = item.PalletCode;
+ fOURBOTnewMovePodTask.destination = item.NextAddress;
+ fOURBOTnewMovePodTask.desExt = new
+ {
+ unload = 1//鏄惁鏀句笅瀹瑰櫒,0鍚�1鏄�
+ };
+ fOURBOTnewMovePodTask.desType = 2;
+ string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize());
+ FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>();
+ if (fOURBOTReturn.returnCode == 0)
+ {
+ item.RGVTaskId = fOURBOTReturn.data.taskID;
+ item.TaskState = (int)TaskStatusEnum.Puting;
+ }
+ }
+ _taskService.UpdateData(tasks);
+ }
+ catch (Exception ex)
+ {
+ WriteError(nameof(TaskJob), ex.Message, ex);
+ }
+ }
+ #endregion
+
+ #region 鍒ゆ柇鏄惁闇�瑕佺Щ搴�
+ public static bool IsNoMoveTask(Dt_Task task)
+ {
+ var isNoMove = true;
+ try
+ {
+
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ return isNoMove;
+ }
+ #endregion
+
+ #region 鍒ゆ柇鍑哄簱鍙f槸鍚︾┖闂�
+ public bool StationIsFree(string StationCode)
+ {
+ Dt_StationManger stationManger = _stationMangerService.GetOutStationInfo(StationCode);
+ return stationManger.IsOccupied == LocationStatusEnum.Free.ObjToInt();
+ }
+ #endregion
+
+ #region 绉诲簱鍚庝笅鍙戝嚭搴撲换鍔�
+ public void SendMoveToExecuteTask(List<Dt_Task> tasks)
+ {
+ try
+ {
+ FOURBOTnewMovePodTask fOURBOTnewMovePodTask = new();
+ Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(FOURBOTnewMovePodTask)) ?? throw new Exception("鏈壘鍒板洓鍚戣溅浠诲姟涓嬪彂鎺ュ彛閰嶇疆淇℃伅锛佽妫�鏌ユ帴鍙i厤缃�");
+ foreach (var item in tasks)
+ {
+ if (_taskService.Repository.QueryData(x => x.Roadway == item.Roadway && x.TaskType == (int)TaskTypeEnum.CPMoveInventory).Any()) continue;
+ if (!StationIsFree(item.TargetAddress)) continue;
+ #region 涓嬪彂鍑哄簱浠诲姟
+ fOURBOTnewMovePodTask.priority = item.Grade;
+ fOURBOTnewMovePodTask.podID = item.PalletCode;
+ fOURBOTnewMovePodTask.destination = item.NextAddress;
+ fOURBOTnewMovePodTask.desExt = new
+ {
+ unload = 0//鏄惁鏀句笅瀹瑰櫒,0鍚�1鏄�
+ };
+ fOURBOTnewMovePodTask.desType = 2;
+ string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize());
+ FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>();
+ if (fOURBOTReturn.returnCode == 0)
+ {
+ item.RGVTaskId = fOURBOTReturn.data.taskID;
+ item.TaskState = (int)TaskStatusEnum.Execut;
+ }
+ #endregion
+ }
+ _taskService.UpdateData(tasks);
+ }
+ catch (Exception ex)
+ {
+ WriteError(nameof(TaskJob), ex.Message, ex);
+ }
+ }
+ #endregion
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs"
index 6b4a81c..6241caf 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs"
@@ -56,8 +56,26 @@
{
try
{
+ #region 涓嬪彂澶栧舰妫�娴嬮�氳繃鐨勫洓鍚戣溅浠诲姟
var Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.CheckShapeingOk).ToList();
- SendCheckShapeingOkTask(Tasks);
+ if (Tasks.Count > 0) SendCheckShapeingOkTask(Tasks);
+ #endregion
+
+ #region 涓嬪彂澶栧舰妫�娴嬪け璐ョ殑鍥涘悜杞︿换鍔�
+ Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.CheckShapeingNG).ToList();
+ if (Tasks.Count > 0) SendCheckShapeingNGTask(Tasks);
+ Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.CheckShapeingOk && x.ExceptionMessage.Contains("鏈壘鍒扮粓鐐瑰簱鍖�")).ToList();
+ if (Tasks.Count > 0) SendCheckShapeingNGTask(Tasks);
+ #endregion
+
+ #region 涓嬪彂寰呯Щ搴撳悗鍥涘悜杞﹀嚭搴撲换鍔�
+ Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.RGV_WaitMoveToExecute).ToList();
+ if (Tasks.Count > 0) SendMoveToExecuteTask(Tasks);
+ #endregion
+
+ #region 涓嬪彂鎵樼洏纭鐨勬捣搴稟GV浠诲姟
+
+ #endregion
}
catch (Exception ex)
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskJob.cs"
index 21b41a2..956f8d2 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskJob.cs"
@@ -29,11 +29,14 @@
private readonly ITaskService _taskService;
private readonly IApiInfoService _apiInfoService;
private readonly IRGVLocationInfoService _rGVLocationInfoService;
- public TaskJob(ITaskService taskService, IApiInfoService apiInfoService, IRGVLocationInfoService rGVLocationInfoService)
+ private readonly IStationMangerService _stationMangerService;
+
+ public TaskJob(ITaskService taskService, IApiInfoService apiInfoService, IRGVLocationInfoService rGVLocationInfoService, IStationMangerService stationMangerService)
{
_taskService = taskService;//娉ㄥ叆
_apiInfoService = apiInfoService;
_rGVLocationInfoService = rGVLocationInfoService;
+ _stationMangerService = stationMangerService;
}
public Task Execute(IJobExecutionContext context)
--
Gitblit v1.9.3