From 1fb400ef4e1169146296681e58185097d479e48f Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期五, 10 四月 2026 22:10:50 +0800
Subject: [PATCH] feat(任务服务): 根据库存Remark确定目标地址并移除MES出站调用
---
Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_WCS.cs | 97 ++++++++++++++++++++++++++++++++----------------
1 files changed, 64 insertions(+), 33 deletions(-)
diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_WCS.cs b/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_WCS.cs
index 5c80729..e4ed527 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_WCS.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_WCS.cs
@@ -193,12 +193,42 @@
WebResponseContent content = new WebResponseContent();
stockInfo.LocationCode = location.LocationCode;
stockInfo.LocationId = location.Id;
- stockInfo.OutboundDate = task.Roadway switch
+
+ var now = DateTime.Now;
+ if (task.Roadway.Contains("GW"))
{
- var r when r.Contains("GW") => DateTime.Now.AddHours(2),
- var r when r.Contains("CW") => DateTime.Now.AddHours(1),
- _ => DateTime.Now
- };
+ if (stockInfo.Remark.IsNullOrEmpty())
+ {
+ stockInfo.OutboundDate = now.AddHours(16);
+ stockInfo.Remark = "GW_1";
+ }
+ else if (stockInfo.Remark == "GW_1")
+ {
+ stockInfo.OutboundDate = now.AddHours(24);
+ stockInfo.Remark = "GW_2";
+ }
+ else
+ {
+ stockInfo.OutboundDate = now.AddHours(16);
+ }
+ }
+ else if (task.Roadway.Contains("CW"))
+ {
+ if (stockInfo.Remark == "GW_2")
+ {
+ stockInfo.OutboundDate = now.AddHours(12);
+ stockInfo.Remark = "CW_1";
+ }
+ else
+ {
+ stockInfo.OutboundDate = now.AddHours(12);
+ }
+ }
+ else
+ {
+ stockInfo.OutboundDate = now;
+ }
+
stockInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.GetHashCode();
location.LocationStatus = LocationStatusEnum.InStock.GetHashCode();
@@ -208,18 +238,18 @@
if (!updateLocationResult || !updateStockResult)
return WebResponseContent.Instance.Error("浠诲姟瀹屾垚澶辫触");
// 璋冪敤MES鎵樼洏杩涚珯
- var inboundRequest = new InboundInContainerRequest
- {
- EquipmentCode = "STK-GROUP-001",
- ResourceCode = "STK-GROUP-001",
- LocalTime = DateTime.Now,
- ContainerCode = taskDto.PalletCode
- };
- var inboundResult = _mesService.InboundInContainer(inboundRequest);
- if (inboundResult == null || inboundResult.Data == null || !inboundResult.Data.IsSuccess)
- {
- return content.Error($"浠诲姟瀹屾垚澶辫触锛歁ES杩涚珯澶辫触: {inboundResult?.Data?.Msg ?? inboundResult?.ErrorMessage ?? "鏈煡閿欒"}");
- }
+ //var inboundRequest = new InboundInContainerRequest
+ //{
+ // EquipmentCode = "STK-GROUP-001",
+ // ResourceCode = "STK-GROUP-001",
+ // LocalTime = DateTime.Now,
+ // ContainerCode = taskDto.PalletCode
+ //};
+ //var inboundResult = _mesService.InboundInContainer(inboundRequest);
+ //if (inboundResult == null || inboundResult.Data == null || !inboundResult.Data.IsSuccess)
+ //{
+ // return content.Error($"浠诲姟瀹屾垚澶辫触锛歁ES杩涚珯澶辫触: {inboundResult?.Data?.Msg ?? inboundResult?.ErrorMessage ?? "鏈煡閿欒"}");
+ //}
return await CompleteTaskAsync(task, "鍏ュ簱瀹屾垚");
});
}
@@ -272,19 +302,19 @@
return WebResponseContent.Instance.Error("浠诲姟瀹屾垚澶辫触");
// 璋冪敤MES鎵樼洏鍑虹珯
- var outboundRequest = new OutboundInContainerRequest
- {
- EquipmentCode = "STK-GROUP-001",
- ResourceCode = "STK-GROUP-001",
- LocalTime = DateTime.Now,
- ContainerCode = taskDto.PalletCode,
- ParamList = new List<ParamItem>()
- };
- var outboundResult = _mesService.OutboundInContainer(outboundRequest);
- if (outboundResult == null || outboundResult.Data == null || !outboundResult.Data.IsSuccess)
- {
- return content.Error($"浠诲姟瀹屾垚澶辫触锛歁ES鍑虹珯澶辫触: {outboundResult?.Data?.Msg ?? outboundResult?.ErrorMessage ?? "鏈煡閿欒"}");
- }
+ //var outboundRequest = new OutboundInContainerRequest
+ //{
+ // EquipmentCode = "STK-GROUP-001",
+ // ResourceCode = "STK-GROUP-001",
+ // LocalTime = DateTime.Now,
+ // ContainerCode = taskDto.PalletCode,
+ // ParamList = new List<ParamItem>()
+ //};
+ //var outboundResult = _mesService.OutboundInContainer(outboundRequest);
+ //if (outboundResult == null || outboundResult.Data == null || !outboundResult.Data.IsSuccess)
+ //{
+ // return content.Error($"浠诲姟瀹屾垚澶辫触锛歁ES鍑虹珯澶辫触: {outboundResult?.Data?.Msg ?? outboundResult?.ErrorMessage ?? "鏈煡閿欒"}");
+ //}
return await CompleteTaskAsync(task, "鍑哄簱瀹屾垚");
});
@@ -607,8 +637,9 @@
var taskList = new List<Dt_Task>();
foreach (var stock in stocksToProcess)
{
- // 鏍规嵁宸烽亾纭畾鐩爣鍦板潃
- var targetAddress = DetermineTargetAddress(
+ // 鏍规嵁宸烽亾纭畾鐩爣鍦板潃锛堜紭鍏堟牴鎹� Remark 纭畾锛孯emark 涓虹┖鍒欐牴鎹贩閬撻厤缃級
+ var targetAddress = DetermineTargetAddressByRemark(
+ stock.Remark ?? "",
stock.LocationDetails?.RoadwayNo ?? "",
targetAddressMap);
@@ -793,7 +824,7 @@
if (stockInfo.LocationId > 0 || !string.IsNullOrWhiteSpace(stockInfo.LocationCode))
return WebResponseContent.Instance.Error($"鎵樼洏[{stockPalletCode}]搴撳瓨宸茬粦瀹氳揣浣嶏紝涓嶈兘鍒涘缓鏈烘鎵媨taskName}浠诲姟");
}
- var section = App.Configuration.GetSection("RobotTaskAddressRules").GetSection(targetLineNo).GetChildren().Select(c => c.Value).ToArray();
+ var section = App.Configuration.GetSection("RobotTaskAddressRules").GetSection(targetLineNo).GetChildren().Select(c => c.Value).ToArray();
var task = new Dt_Task
{
--
Gitblit v1.9.3