From 61aec4135b9f6c4cea3424f309c8bcaa124e1f6b Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 17 四月 2026 17:17:39 +0800
Subject: [PATCH] 优化成品库整托出口进行回库任务逻辑
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RGVTaskExtend.cs | 60 ++++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 46 insertions(+), 14 deletions(-)
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 a695aa8..cdd43c3 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"
@@ -164,7 +164,7 @@
WebResponseContent content = new WebResponseContent();
try
{
- List<Dt_Task> dt_Tasks = new List<Dt_Task>();
+ //List<Dt_Task> dt_Tasks = new List<Dt_Task>();
var PalletCodes = tasks.Select(x => x.PalletCode).ToList();
var request = new GetBlockPodContentListDto
{
@@ -221,34 +221,59 @@
_taskService.UpdateData(tasks);
return;
}
- foreach (var Result in getBlockPod.Result)
+ #region 鍒ゆ柇鏄惁闇�瑕佺Щ搴�
+ foreach (var task in tasks)
{
- foreach (var item in Result.outPods)
+ var item = getBlockPod.Result[0].outPods.FirstOrDefault(x => x.outPod == task.PalletCode);
+ if (item != null)
{
- var task = tasks.First(x => x.PalletCode == item.outPod);
if (item.blockPods != null && item.blockPods.Count > 0)
item.blockPods = item.blockPods.Except(PalletCodes).ToList();
if (item.blockPods != null && item.blockPods.Count > 0)
{
- #region 鍒ゆ柇闃荤鎵樻槸鍚︿负鍑哄簱浠诲姟
- //var except = item.blockPods.Except(PalletCodes).ToList();
- #endregion
var responseContent = AddMoveTask(item.blockPods, task);//娣诲姞绉诲簱浠诲姟
if (!responseContent.Status) task.ExceptionMessage = responseContent.Message;
- else
- {
- task.TaskState = (int)TaskStatusEnum.RGV_WaitMoveToExecute;
- }
- dt_Tasks.Add(task);
+ else task.TaskState = (int)TaskStatusEnum.RGV_WaitMoveToExecute;
}
else
{
task.TaskState = (int)TaskStatusEnum.RGV_WaitSend;
- dt_Tasks.Add(task);
}
}
+ else task.ExceptionMessage = $"RCS鏈弽棣堛�恵task.PalletCode}銆戝彲鍑哄簱鎵樼洏淇℃伅,璇︽儏璇锋煡鐪嬫壒閲忚幏鍙栭樆纰嶆墭鐩樺叧绯绘帴鍙f棩蹇楋紒";
}
- _taskService.UpdateData(dt_Tasks);
+ _taskService.Repository.UpdateData(tasks);
+ #endregion
+ #region MyRegion
+ //foreach (var Result in getBlockPod.Result)
+ //{
+ // foreach (var item in Result.outPods)
+ // {
+ // var task = tasks.First(x => x.PalletCode == item.outPod);
+ // if (item.blockPods != null && item.blockPods.Count > 0)
+ // item.blockPods = item.blockPods.Except(PalletCodes).ToList();
+ // if (item.blockPods != null && item.blockPods.Count > 0)
+ // {
+ // #region 鍒ゆ柇闃荤鎵樻槸鍚︿负鍑哄簱浠诲姟
+ // //var except = item.blockPods.Except(PalletCodes).ToList();
+ // #endregion
+ // var responseContent = AddMoveTask(item.blockPods, task);//娣诲姞绉诲簱浠诲姟
+ // if (!responseContent.Status) task.ExceptionMessage = responseContent.Message;
+ // else
+ // {
+ // task.TaskState = (int)TaskStatusEnum.RGV_WaitMoveToExecute;
+ // }
+ // dt_Tasks.Add(task);
+ // }
+ // else
+ // {
+ // task.TaskState = (int)TaskStatusEnum.RGV_WaitSend;
+ // dt_Tasks.Add(task);
+ // }
+ // }
+ //}
+ //_taskService.UpdateData(dt_Tasks);
+ #endregion
content.OK();
}
}
@@ -528,6 +553,13 @@
try
{
List<Dt_RGVLocationInfo> rGVLocationInfos = _rGVLocationInfoService.Repository.QueryData(x => blockPods.Contains(x.PalletCode));
+ var palletCodes = rGVLocationInfos.Select(x => x.PalletCode).ToList();
+ // 鑾峰彇 blockPods 涓瓨鍦ㄤ絾 palletCodes 涓笉瀛樺湪鐨勬墭鐩樼爜
+ var missingPalletCodes = blockPods.Except(palletCodes).ToList();
+ if (missingPalletCodes.Any())
+ {
+ throw new Exception($"鏈壘鍒颁互涓嬮樆纰嶆墭璐т綅淇℃伅锛歿string.Join(",", missingPalletCodes)}");
+ }
var Items = _rGVLocationInfoService.GetMoveFreeLocationInfo(rGVLocationInfos);
List<Dt_Task> tasks = Items.Item1;
--
Gitblit v1.9.3