From ca2d4d7efb253c651b7eb6dc070ec8fae4d39a27 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期二, 03 二月 2026 19:11:06 +0800
Subject: [PATCH] 1
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs | 39 +++++++++++--------
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_AllocateService/AllocateService.cs | 11 +++++
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs | 12 ++++--
3 files changed, 42 insertions(+), 20 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_AllocateService/AllocateService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_AllocateService/AllocateService.cs"
index 5e198a5..35bbece 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_AllocateService/AllocateService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_AllocateService/AllocateService.cs"
@@ -143,6 +143,7 @@
try
{
var allocateOrder = Db.Queryable<Dt_AllocateOrder>().Where(x => x.UpperOrderNo == model.UpperOrderNo).Includes(x => x.Details).First();
+ var outOrder = Db.Queryable<Dt_OutboundOrder>().Where(x => x.UpperOrderNo == model.UpperOrderNo).Includes(x => x.Details).First();
if (allocateOrder == null)
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌皟鎷ㄥ崟淇℃伅");
@@ -150,6 +151,10 @@
if (allocateOrder.Details == null || allocateOrder.Details.Count == 0)
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌皟鎷ㄥ崟鏄庣粏淇℃伅");
+ }
+ if (outOrder.OrderStatus != (int)OutOrderStatusEnum.鏈紑濮�)
+ {
+ return WebResponseContent.Instance.Error($"璇ヨ鍗曠姸鎬佷笉鍏佽淇敼");
}
List<Dt_AllocateOrderDetail> allocateOrderDetails = new List<Dt_AllocateOrderDetail>();
List<Dt_AllocateOrderDetail> updateAllocateOrderDetails = new List<Dt_AllocateOrderDetail>();
@@ -254,6 +259,12 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌皟鎷ㄥ崟鏄庣粏淇℃伅");
}
+ var outOrder = Db.Queryable<Dt_OutboundOrder>().Where(x => x.UpperOrderNo == model.UpperOrderNo).Includes(x => x.Details).First();
+
+ if (outOrder.OrderStatus != (int)OutOrderStatusEnum.鏈紑濮�)
+ {
+ return WebResponseContent.Instance.Error($"璇ヨ鍗曠姸鎬佷笉鍏佽鍒犻櫎");
+ }
//Db.DeleteNav(Allocate).Include(x => x.Details).ExecuteCommand();
_unitOfWorkManage.BeginTran();
// BaseDal.DeleteAndMoveIntoHty(allocateOrder, OperateTypeEnum.鑷姩鍒犻櫎);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
index 4319e11..f2260cb 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
@@ -161,22 +161,29 @@
{
return WebResponseContent.Instance.Error($"淇敼鐨勮鍙穥item.lineNo}鏁伴噺瓒呰繃浜嗘櫤浠撳嚭搴撻攣瀹氭暟閲忓姞涓婃尓鏂欐暟閲忥紝涓嶅厑璁镐慨鏀�");
}
- outboundOrderDetail.lineNo = item.lineNo;
- outboundOrderDetail.MaterielCode = item.MaterielCode;
- outboundOrderDetail.SupplyCode = item.SupplyCode;
- outboundOrderDetail.BatchNo = item.BatchNo;
- outboundOrderDetail.Unit = item.Unit;
- outboundOrderDetail.WarehouseCode = item.WarehouseCode;
- outboundOrderDetail.MoveQty = item.MoveQty;
- outboundOrderDetail.OrderQuantity = item.OrderQuantity;
- outboundOrderDetail.BarcodeMoveQty = item.MoveQty;
- outboundOrderDetail.BarcodeQty = item.OrderQuantity;
- outboundOrderDetail.BarcodeUnit = item.Unit;
- var issueoStockResult = await _materialUnitService.ConvertFromToStockAsync(item.MaterielCode, item.BarcodeUnit, item.BarcodeQty);
- outboundOrderDetail.Unit = issueoStockResult.Unit;
- outboundOrderDetail.OrderQuantity = issueoStockResult.Quantity;
- var moveissueoStockResult = await _materialUnitService.ConvertFromToStockAsync(item.MaterielCode, item.BarcodeUnit, item.BarcodeMoveQty);
- outboundOrderDetail.MoveQty = moveissueoStockResult.Quantity;
+ if(outboundOrderDetail.LockQuantity == 0)
+ {
+ outboundOrderDetail.lineNo = item.lineNo;
+ outboundOrderDetail.MaterielCode = item.MaterielCode;
+ outboundOrderDetail.SupplyCode = item.SupplyCode;
+ outboundOrderDetail.BatchNo = item.BatchNo;
+ outboundOrderDetail.Unit = item.Unit;
+ outboundOrderDetail.WarehouseCode = item.WarehouseCode;
+ outboundOrderDetail.MoveQty = item.MoveQty;
+ outboundOrderDetail.OrderQuantity = item.OrderQuantity;
+ outboundOrderDetail.BarcodeMoveQty = item.MoveQty;
+ outboundOrderDetail.BarcodeQty = item.OrderQuantity;
+ outboundOrderDetail.BarcodeUnit = item.Unit;
+ var issueoStockResult = await _materialUnitService.ConvertFromToStockAsync(item.MaterielCode, item.BarcodeUnit, item.BarcodeQty);
+ outboundOrderDetail.Unit = issueoStockResult.Unit;
+ outboundOrderDetail.OrderQuantity = issueoStockResult.Quantity;
+ var moveissueoStockResult = await _materialUnitService.ConvertFromToStockAsync(item.MaterielCode, item.BarcodeUnit, item.BarcodeMoveQty);
+ outboundOrderDetail.MoveQty = moveissueoStockResult.Quantity;
+ }
+ else
+ {
+ outboundOrderDetail.OrderQuantity = item.OrderQuantity;
+ }
if (materielInfos.Any())
{
outboundOrderDetail.MaterielName = materielInfos.FirstOrDefault(x => x.MaterielCode == item.MaterielCode)?.MaterielName ?? "";
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs"
index 6d656bb..875719a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs"
@@ -2362,17 +2362,17 @@
var detailLists = new List<Dt_InboundOrderDetail>();
var matchedDetail = inboundOrder.Details.FirstOrDefault(detail =>
detail.Barcode == noStockOut.barCode &&
- detail.OrderDetailStatus != OrderDetailStatusEnum.Over.ObjToInt());
+ detail.OrderDetailStatus != OrderDetailStatusEnum.Over.ObjToInt()&& detail.ReceiptQuantity == 0);
if (matchedDetail == null)
{
matchedDetail = inboundOrder.Details.FirstOrDefault(detail =>
detail.OutBoxbarcodes == noStockOut.barCode &&
- detail.OrderDetailStatus != OrderDetailStatusEnum.Over.ObjToInt());
+ detail.OrderDetailStatus != OrderDetailStatusEnum.Over.ObjToInt() && detail.ReceiptQuantity == 0);
if (matchedDetail == null)
{
- return WebResponseContent.Instance.Error($"鍦ㄩ噰璐崟 {noStockOut.inOder} 涓湭鎵惧埌鏉$爜涓� {noStockOut.barCode} 鐨勬槑缁嗐��");
+ return WebResponseContent.Instance.Error($"鍦ㄩ噰璐崟 {noStockOut.inOder} 涓湭鎵惧埌鏉$爜涓� {noStockOut.barCode} 鐨勫彲鍑哄簱鏄庣粏銆�");
}
else
{
@@ -2381,7 +2381,7 @@
{
if (detail.OrderDetailStatus != OrderDetailStatusEnum.Over.ObjToInt() &&
!string.IsNullOrEmpty(detail.Barcode) &&
- detail.OutBoxbarcodes == noStockOut.barCode)
+ detail.OutBoxbarcodes == noStockOut.barCode && detail.OrderQuantity > detail.NoStockOutQty)
{
detailLists.Add(detail);
}
@@ -2395,6 +2395,10 @@
detailLists.Add(matchedDetail);
}
}
+ if (!detailLists.Any())
+ {
+ return WebResponseContent.Instance.Error("璇ユ潯鐮佸凡缁忔病鏈夊彲鍑哄簱鏁伴噺");
+ }
var outDetails = new List<Dt_OutboundOrderDetail>();
// 閬嶅巻姣忎釜鍏ュ簱鏄庣粏
foreach (var item in detailLists)
--
Gitblit v1.9.3