From 89e2243271a81bd6a11612b95d986f0972b6a08e Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 24 十月 2025 20:04:50 +0800
Subject: [PATCH] 添加出入库退货单
---
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/InventoryServices.cs | 55 +++++++++++++++++++++++++++++--------------------------
1 files changed, 29 insertions(+), 26 deletions(-)
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/InventoryServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/InventoryServices.cs"
index a4d154b..c61496f 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/InventoryServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/InventoryServices.cs"
@@ -237,37 +237,40 @@
#endregion
//UpdateInboundOrderDetailStatus(request.orderNo, detail.batchNo, detail.productCode);
- break;
}
- case "2":
- #region 鎵惧嚭搴撲换鍔�
- Dt_SupplyTask supplyTask = Db.Queryable<Dt_SupplyTask>().Where(x => x.MaterielCode == detail.productCode && x.BatchNo == detail.batchNo && x.OrderNo == request.orderNo && x.WarehouseCode == WarehouseEnum.绔嬪簱.ObjToInt().ToString("000") && x.TaskStatus == SupplyStatusEnum.NewOut.ObjToInt()).First();
- if (supplyTask == null) throw new Exception($"鏈壘鍒拌鍗曞彿銆恵request.orderNo}銆戠墿鏂欑紪鍙枫�恵detail.productCode}銆戠殑鍑哄簱浠诲姟");
- #endregion
-
- #region 澶勭悊鍑哄簱鍗曘�佸簱瀛樹俊鎭�佸嚭搴撲换鍔°�佽皟鎷ㄤ换鍔�
- _deliveryOrderServices.OutTaskFinish(supplyTask);
- #endregion
break;
+ case "2":
+ {
+ #region 鎵惧嚭搴撲换鍔�
+ Dt_SupplyTask supplyTask = Db.Queryable<Dt_SupplyTask>().Where(x => x.MaterielCode == detail.productCode && x.BatchNo == detail.batchNo && x.OrderNo == request.orderNo && x.WarehouseCode == WarehouseEnum.绔嬪簱.ObjToInt().ToString("000") && x.TaskStatus == SupplyStatusEnum.NewOut.ObjToInt()).First();
+ if (supplyTask == null) throw new Exception($"鏈壘鍒拌鍗曞彿銆恵request.orderNo}銆戠墿鏂欑紪鍙枫�恵detail.productCode}銆戠殑鍑哄簱浠诲姟");
+ if (supplyTask.StockQuantity != orderQty) throw new Exception($"璁㈠崟鍙枫�恵request.orderNo}銆戠墿鏂欑紪鍙枫�恵detail.productCode}銆戠殑鍑哄簱鏁伴噺涓庡嚭搴撲换鍔℃暟閲忎笉鐩哥瓑");
+ #endregion
+ #region 澶勭悊鍑哄簱鍗曘�佸簱瀛樹俊鎭�佸嚭搴撲换鍔°�佽皟鎷ㄤ换鍔�
+ _deliveryOrderServices.OutTaskFinish(supplyTask);
+ #endregion
+ }
+ break;
case "3": // 鐩樼偣
- decimal diff = detail.ea ?? 0; // 宸紓鏁�
- int flag = detail.isLossOrProfit ?? 3; // 1=鐩樹簭, 2=鐩樼泩, 3=鐩樹腑
- if (flag == 1) // 鐩樹簭
{
- //搴撳瓨鏁�-宸紓鏁�=鐩樹簭
- //batch.SupplyQuantity += (batch.StockQuantity - diff);
- //batch.Remark = "鐩樼偣鍗曞洖浼� - 鐩樹簭";
- }
- else if (flag == 2) // 鐩樼泩
- {
- //搴撳瓨鏁�+宸紓鏁�=鐩樼泩
- //batch.SupplyQuantity += (batch.StockQuantity + diff);
- //batch.Remark = "鐩樼偣鍗曞洖浼� - 鐩樼泩";
- }
- else // 鐩樹腑
- {
- //batch.Remark = "鐩樼偣鍗曞洖浼� - 鐩樹腑";
+ #region 鎵剧洏鐐逛换鍔�
+ Dt_SupplyTask supplyTask = Db.Queryable<Dt_SupplyTask>().Where(x => x.MaterielCode == detail.productCode && x.BatchNo == detail.batchNo && x.OrderNo == request.orderNo && x.WarehouseCode == WarehouseEnum.绔嬪簱.ObjToInt().ToString("000") && x.TaskStatus == SupplyStatusEnum.NewCheck.ObjToInt()).First();
+ if (supplyTask == null) throw new Exception($"鏈壘鍒拌鍗曞彿銆恵request.orderNo}銆戠墿鏂欑紪鍙枫�恵detail.productCode}銆戠殑鐩樼偣浠诲姟");
+ #endregion
+ if (detail.isLossOrProfit == 1) // 鐩樹簭
+ {
+ supplyTask.SupplyQuantity = supplyTask.StockQuantity - detail.ea;
+ }
+ else if (detail.isLossOrProfit == 2) // 鐩樼泩
+ {
+ supplyTask.SupplyQuantity = supplyTask.StockQuantity + detail.ea;
+ }
+ else // 鐩樹腑
+ {
+ supplyTask.SupplyQuantity = supplyTask.StockQuantity;
+ }
+ _deliveryOrderServices.CheckTaskFinish(supplyTask);
}
break;
}
--
Gitblit v1.9.3