From eaf097eeef67ebaaf46777269128e65f820e31fc Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期四, 22 一月 2026 15:42:46 +0800
Subject: [PATCH] 1
---
WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs | 73 ++++++++++++++++++++++++++----------
1 files changed, 52 insertions(+), 21 deletions(-)
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
index 798eb01..4612cc1 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
@@ -213,6 +213,7 @@
Wlstatus = (int)InventoryMaterialStatus.鍚堟牸,
Mgeneratetime = DateTime.Now,
WarehouseId = warehouse.WarehouseId,
+ System = inboundOrder.System,
Details = new List<Dt_StockInfoDetail>()
};
}
@@ -442,7 +443,7 @@
{
stockInfo = new Dt_StockInfo()
{
- BatchNo ="",
+ BatchNo = "",
PalletCode = palletCode,
PalletType = GetPalletType(warehouse, palletCode),//GetPalletType(warehouse, palletCode)
IsFull = true,
@@ -454,6 +455,7 @@
Wlstatus = (int)InventoryMaterialStatus.鍚堟牸,
Mgeneratetime = DateTime.Now,
WarehouseId = warehouse.WarehouseId,
+ System = inboundOrder.System,
Details = new List<Dt_StockInfoDetail>()
};
}
@@ -722,6 +724,7 @@
Wlstatus = (int)InventoryMaterialStatus.鍚堟牸,
Mgeneratetime = DateTime.Now,
WarehouseId = warehouse.WarehouseId,
+ System = inboundOrder.System,
Details = new List<Dt_StockInfoDetail>()
};
}
@@ -869,10 +872,46 @@
{
throw new Exception("搴撳瓨鏈壘鍒版墭鐩樺彿");
}
+
+ var sameItems = from sourceItem in stockInfo.Details
+ join targetItem in targetstockInfo.Details
+ on new
+ {
+ sourceItem.BatchNo,
+ sourceItem.MaterielName,
+ sourceItem.MaterielCode
+ }
+ equals new
+ {
+ targetItem.BatchNo,
+ targetItem.MaterielName,
+ targetItem.MaterielCode
+ }
+ select new
+ {
+ SourceItem = sourceItem,
+ TargetItem = targetItem,
+ BatchNo = sourceItem.BatchNo,
+ MaterialCode = sourceItem.MaterielCode,
+ MaterialType = sourceItem.MaterielName
+ };
+
+ var matchedSourceItemIds = sameItems.Select(x => x.SourceItem.Id).ToList();
+
foreach (var item in stockInfo.Details)
{
- item.StockId = targetstockInfo.Id;
+ if (!matchedSourceItemIds.Contains(item.Id))
+ {
+ item.StockId = targetstockInfo.Id;
+ }
}
+ var differentItems = stockInfo.Details
+ .Where(x => !matchedSourceItemIds.Contains(x.Id))
+ .ToList();
+ targetstockInfo.Details = targetstockInfo.Details
+ .Where(x => !matchedSourceItemIds.Contains(x.Id))
+ .Concat(differentItems)
+ .ToList();
if (warehouse.WarehouseCode == "SC02_CP")
{
warehouse.WarehouseCode = "SC01_CP";
@@ -905,21 +944,6 @@
}).ToList()
}
}
- // Parameters = stockInfo.Details.Select(g => new HouseSyncretism.data
- // {
- // Lpn = stockInfo.PalletCode,
- // MoveType = 0,
- // WareHouseCode = warehouse.WarehouseCode,
- // ItemCode = g.MaterielCode,
- // MoveNumber = g.StockQuantity,
- // //LotNo = g.,
- // WipBatch = g.BatchNo,
- // LocationName = stockInfo.PalletCode,
- // TargetLocName = targetstockInfo.PalletCode,
- // TargetLpn = targetstockInfo.PalletCode,
-
- // }).ToList()
- //};
};
var authResult = AuthenticateWithWMS();
if (authResult.IsSuccess)
@@ -932,7 +956,6 @@
};
var response = HttpHelper.Post<MomRequestContent>(ReceiveWMSTaskin, houseSyncretism, "绔嬪簱鍏ュ簱鏁伴噺鍥炰紶WMS");
- // 鍒ゆ柇Success鐨勫��
if (!response.Success)
{
throw new Exception($"鎿嶄綔澶辫触: {response.Message ?? "鏈彁渚涢敊璇俊鎭�"}");
@@ -940,10 +963,16 @@
}
_unitOfWorkManage.BeginTran();
- targetstockInfo.Details.AddRange(stockInfo.Details);
+ foreach (var sameItem in sameItems)
+ {
+ sameItem.TargetItem.StockQuantity += sameItem.SourceItem.StockQuantity;
+ _stockRepository.StockInfoDetailRepository.UpdateData(sameItem.TargetItem);
+ _stockRepository.StockInfoDetailRepository.DeleteData(sameItem.SourceItem);
+ }
_stockRepository.StockInfoRepository.UpdateData(targetstockInfo);
- _stockRepository.StockInfoDetailRepository.UpdateData(stockInfo.Details);
+ _stockRepository.StockInfoDetailRepository.UpdateData(targetstockInfo.Details);
_stockRepository.StockInfoRepository.DeleteData(stockInfo);
+
_unitOfWorkManage.CommitTran();
webResponseContent = WebResponseContent.Instance.OK("鍚堟墭鎴愬姛");
}
@@ -982,7 +1011,7 @@
public int GetPalletType(Dt_Warehouse warehouse, string palletCode)
{
- if (warehouse.WarehouseCode == WarehouseEnum.SC01_BC.ObjToString())
+ if (warehouse.WarehouseCode == WarehouseEnum.SC01_DW.ObjToString())
{
Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.CodeStartStr == palletCode.Substring(0, 3));
if (palletTypeInfo == null)
@@ -991,6 +1020,8 @@
}
return palletTypeInfo.PalletType;
}
+
+
//else if (warehouse.WarehouseCode == WarehouseEnum.HA152.ObjToString())
//{
// Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.CodeStartStr == palletCode.Substring(0, 2));
--
Gitblit v1.9.3