From 4babfcfde8b26c755850e0066f1c07fac38e96a2 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期三, 29 十月 2025 01:22:41 +0800
Subject: [PATCH] 重新优化上报erp出入库完成接口
---
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs | 64 +++++++++++++++++++++++---------
1 files changed, 46 insertions(+), 18 deletions(-)
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
index 78352b9..e91b4f9 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
@@ -227,7 +227,6 @@
if (materielInfo == null) throw new Exception($"鏈壘鍒拌嵂鍝佺紪鐮併�恵detail.goods_no}銆戠殑淇℃伅");
if (!Enum.IsDefined(typeof(MaterielSourceTypeEnum), materielInfo.MaterielSourceType))
throw new Exception($"璇疯缃嵂鍝佺紪鍙枫�恵detail.goods_no}銆戠殑灞炴�у垎绫�");
- if (materielInfo.BoxQty < 1) throw new Exception($"璇疯缃嵂鍝佺紪鍙枫�恵detail.goods_no}銆戠殑绠辫鏁伴噺");
#endregion
#region 澶т欢
if (materielInfo.MaterielSourceType == MaterielSourceTypeEnum.PurchasePart)//濡傛灉鐗╂枡鏄ぇ浠�
@@ -309,6 +308,7 @@
#endregion
else
{
+ if (materielInfo.BoxQty < 1) throw new Exception($"璇疯缃嵂鍝佺紪鍙枫�恵detail.goods_no}銆戠殑绠辫鏁伴噺");
List<Dt_SupplyTask> supplyTasks = new List<Dt_SupplyTask>();
Dt_DeliveryOrderDetail orderDetail = null;
Dt_DeliveryOrderDetail orderDetailLK = null;
@@ -854,6 +854,12 @@
return content;
}
+
+ /// <summary>
+ /// pad鍑哄簱瀹屾垚
+ /// </summary>
+ /// <param name="saveModel"></param>
+ /// <returns></returns>
public WebResponseContent OutFinish(SaveModel saveModel)
{
WebResponseContent content = new WebResponseContent();
@@ -941,24 +947,27 @@
supplyTask.TaskStatus = SupplyStatusEnum.OutFinish.ObjToInt();
_supplyTaskService.Repository.DeleteAndMoveIntoHty(supplyTask, OperateTypeEnum.浜哄伐瀹屾垚);
- #region 搴撳瓨鎵规
- Dt_Inventory_Batch inventory_Batch = _inventory_BatchServices.Repository.QueryFirst(x => x.BatchNo == inventoryInfo.BatchNo && x.MaterielCode == inventoryInfo.MaterielCode);
- if (inventory_Batch != null)
+ #region 搴撳瓨鎵规 濡傛灉浠诲姟绫诲瀷鏄皟鎷ㄥ嚭搴撲换鍔★紙8锛夊氨涓嶄慨鏀规壒娆″簱瀛�
+ if (supplyTask.TaskType != TaskTypeEnum.AllocatOut.ObjToInt())
{
- inventory_Batch.StockQuantity -= supplyTask.StockQuantity;
- inventory_Batch.OutboundQuantity -= supplyTask.StockQuantity;
- if (inventory_Batch.StockQuantity <= 0)
- _inventory_BatchServices.DeleteData(inventory_Batch);
- else
- _inventory_BatchServices.UpdateData(inventory_Batch);
+ Dt_Inventory_Batch inventory_Batch = _inventory_BatchServices.Repository.QueryFirst(x => x.BatchNo == inventoryInfo.BatchNo && x.MaterielCode == inventoryInfo.MaterielCode);
+ if (inventory_Batch != null)
+ {
+ inventory_Batch.StockQuantity -= supplyTask.StockQuantity;
+ inventory_Batch.OutboundQuantity -= supplyTask.StockQuantity;
+ if (inventory_Batch.StockQuantity <= 0)
+ _inventory_BatchServices.DeleteData(inventory_Batch);
+ else
+ _inventory_BatchServices.UpdateData(inventory_Batch);
+ }
}
#endregion
if (supplyTask.WarehouseCode == WarehouseEnum.绔嬪簱.ObjToInt().ToString("000"))
{
materielInfo.Business_qty -= supplyTask.StockQuantity;
_basicService.MaterielInfoService.Repository.UpdateData(materielInfo);
- //if (materielInfo.Business_qty < materielInfo.MinQty)
- // CreateAllocatInOut(materielInfo);//鍒涘缓璋冩嫧浠诲姟
+ if (materielInfo.Business_qty < materielInfo.MinQty)
+ CreateAllocatInOut(materielInfo);//鍒涘缓璋冩嫧浠诲姟
}
_unitOfWorkManage.CommitTran();
#endregion
@@ -971,6 +980,11 @@
return content;
}
+ /// <summary>
+ /// 浜哄伐鍦ㄥ嚭搴撳崟涓偣鍑诲畬鎴愭寜閽疄鐜颁笂鎶�
+ /// </summary>
+ /// <param name="key">id</param>
+ /// <returns></returns>
public WebResponseContent FinishOutOrder(int key)
{
WebResponseContent content = new WebResponseContent();
@@ -979,16 +993,30 @@
Dt_DeliveryOrder deliveryOrder = BaseDal.QueryFirst(x => x.Id == key);
List<Dt_DeliveryOrder> deliveryOrders = Db.Queryable<Dt_DeliveryOrder>().Where(x => x.Out_no == deliveryOrder.Out_no).Includes(x => x.Details).ToList();//鎵惧嚭鎵�鏈夊嚭搴撳崟鍙风浉鍚岀殑鍑哄簱鍗�
_unitOfWorkManage.BeginTran();
+
foreach (var item in deliveryOrders)
{
- if (item.Details != null)
- _deliveryOrderDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.浜哄伐瀹屾垚);
- item.Modifier = App.User.UserName;
- item.ModifyDate = DateTime.Now;
- item.Details = null;
+ if (item.Out_type==OutOrderTypeEnum.Allocate.ObjToInt().ToString())
+ {
+ if (item.Details!=null)
+ {
+ _deliveryOrderDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.浜哄伐瀹屾垚);
+ item.Details =null;
+ }
+ }
+ else
+ {
+ if (item.Details != null)
+ _deliveryOrderDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.浜哄伐瀹屾垚);
+ item.Modifier = App.User.UserName;
+ item.ModifyDate = DateTime.Now;
+ item.Details = null;
+
+ }
+ BaseDal.DeleteAndMoveIntoHty(deliveryOrders, OperateTypeEnum.浜哄伐瀹屾垚);
}
- BaseDal.DeleteAndMoveIntoHty(deliveryOrders, OperateTypeEnum.浜哄伐瀹屾垚);
var url = "http://121.37.118.63:80/GYZ2/95fck/outOrderOk";
+
var requestDate = new
{
order_no = deliveryOrder.Out_no
--
Gitblit v1.9.3