From f49fa4b5027cfdc27b429985d023e8002abcca2e Mon Sep 17 00:00:00 2001
From: huanghongfeng <huanghongfeng@hnkhzn.com>
Date: 星期三, 05 十一月 2025 23:54:12 +0800
Subject: [PATCH] 1
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs | 26 +++++++++++++++++++-------
1 files changed, 19 insertions(+), 7 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
index 454b90c..316fe56 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
@@ -388,7 +388,7 @@
else
{
//鍒ゆ柇鏄惁闇�瑕佺Щ搴�
- string[] targetCodes = SourceAddress.Split("-");
+ string[] targetCodes = SourceAddress.Split("-"); // R02 - 002 - 001 - 011 - 01
if (targetCodes[1] == "001")
{
targetCodes[1] = "002";
@@ -404,7 +404,7 @@
}
targetCodes[4] = "01";
string LocationCode = string.Join("-", targetCodes); //缁勮娴呭簱浣嶅湴鍧�
- Dt_LocationInfo locationInfos = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == LocationCode && (x.LocationStatus == (int)LocationStatusEnum.Free || x.LocationStatus == (int)LocationStatusEnum.InStock));
+ Dt_LocationInfo locationInfos = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == LocationCode && (x.LocationStatus == (int)LocationStatusEnum.Free || x.LocationStatus == (int)LocationStatusEnum.InStock || x.LocationStatus == (int)LocationStatusEnum.Pallet));
if (locationInfos == null)
{
return content = WebResponseContent.Instance.Error($"鏈壘鍒拌璐т綅淇℃伅,璐т綅缂栧彿:{locationInfos}");
@@ -442,20 +442,32 @@
Dt_InboundOrder dt_Inbound = _inboundService.InbounOrderService.Repository.QueryFirst(x => x.OrderName == targetCodesst[0]);
if (dt_Inbound.Startingcolumn != 0 || dt_Inbound.Terminationcolumn != 0)
{
- newLocation = _basicService.LocationInfoService.GetLocation2(locationInfos.RoadwayNo, Locationtype, dt_Inbound.Startingcolumn, dt_Inbound.Terminationcolumn);
+ newLocation = _basicService.LocationInfoService.GetLocation4(locationInfos.RoadwayNo, Locationtype, dt_Inbound.Startingcolumn, dt_Inbound.Terminationcolumn);
}
else
{
- newLocation = _basicService.LocationInfoService.GetLocation(locationInfos.RoadwayNo, Locationtype);
+ newLocation = _basicService.LocationInfoService.GetLocation3(locationInfos.RoadwayNo, Locationtype);
}
}
else
{
- newLocation = _basicService.LocationInfoService.GetLocation(locationInfos.RoadwayNo, Locationtype);
+ newLocation = _basicService.LocationInfoService.GetLocation3(locationInfos.RoadwayNo, Locationtype);
}
+ //鐩爣璐т綅鏌ユ壘搴撲綅鏄惁鏈夎揣
+ Dt_StockInfo dt_StockCurren = _stockService.StockInfoService.Repository.QueryFirst(x => x.LocationCode == newLocation.LocationCode);
+ if (dt_StockCurren != null) return content = WebResponseContent.Instance.Error($"鍏ュ簱澶辫触锛屾墭鐩樻潯鐮侊細{dt_StockInfo.PalletCode}锛屾煡鎵惧嚭鐨勮揣浣嶄俊鎭搴斿凡鏈夊簱瀛�");
+
+ Dt_Task taskcurren = BaseDal.QueryFirst(x => x.TargetAddress == newLocation.LocationCode);
+ if (taskcurren != null) return content = WebResponseContent.Instance.Error($"鍏ュ簱澶辫触锛屾墭鐩樻潯鐮侊細{dt_StockInfo.PalletCode}锛屾煡鎵惧嚭鐨勮揣浣嶄俊鎭凡鏈夊叆搴撲换鍔�");
+
+ bool crutaskthy = _taskHtyService.CrueeTaskHty(newLocation.LocationCode);
+ if (crutaskthy) return content = WebResponseContent.Instance.Error($"鍏ュ簱澶辫触锛屾墭鐩樻潯鐮侊細{dt_StockInfo.PalletCode}锛屾煡鎵惧嚭鐨勮揣浣嶅湪浠诲姟鍘嗗彶淇℃伅涓紝鏈夊叆搴撴垨绉诲簱淇℃伅");
+
+
+ //鎵剧殑娣卞簱鍖猴紝鍒欏垽鏂祬搴撲綅鏄惁鏈�
if (newLocation != null)
{
Dt_Task dt_Task = new()
@@ -528,7 +540,7 @@
if (task == null)
{
string RoadwayNo = "1";
- if (generate.SourceAddress != "R01-002-041-001-01")
+ if (generate.SourceAddress != "R01-002-041-001-01" && generate.SourceAddress != "R01-002-043-001-01")
{
RoadwayNo = "2";
}
@@ -808,7 +820,7 @@
Dt_StockInfo stockt = stocktData.FirstOrDefault(x => x.PalletCode == palletCode);
if (stockt !=null)
{
- if (stockt.StockStatus == (int)StockStatusEmun.宸插叆搴� && (stockt.Wlstatus == (int)InventoryMaterialStatus.鍚堟牸 || stockt.Wlstatus == (int)InventoryMaterialStatus.閫�璐� || stockt.Wlstatus == (int)InventoryMaterialStatus.鐗归噰))
+ if (stockt.StockStatus == (int)StockStatusEmun.宸插叆搴� && (stockt.Wlstatus == (int)InventoryMaterialStatus.鍚堟牸 || stockt.Wlstatus == (int)InventoryMaterialStatus.閫�璐� || stockt.Wlstatus == (int)InventoryMaterialStatus.鐗归噰 || stockt.Wlstatus == (int)InventoryMaterialStatus.绌烘墭))
{
Dt_StockInfoDetail stocktdetail = StockInfoDetailData.FirstOrDefault(x => x.StockId == stockt.Id);
if(stocktdetail != null)
--
Gitblit v1.9.3