From 695571c6009ecbc12e7d4a4fb147df7967a1260e Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 07 七月 2025 20:21:19 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 80 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 77 insertions(+), 3 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 41ebfc6..b3dcf34 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -516,8 +516,12 @@
});
#region todo:涓存椂鏇存柊鎵�鏈夌爺鍙戣浆鎴愬搧
- proStockInfo.ProStockAttribute=ProStockAttributeEnum.鎴愬搧.ObjToInt();
- proStockInfo.WarehouseId = locationInfo.WarehouseId;
+ if (proStockInfo.ProStockAttribute == ProStockAttributeEnum.鐮斿彂.ObjToInt())
+ {
+ proStockInfo.ProStockAttribute = ProStockAttributeEnum.鎴愬搧.ObjToInt();
+ proStockInfo.WarehouseId = locationInfo.WarehouseId;
+ }
+
#endregion
//鏇存柊鍏ュ簱鐘舵��
task.TaskStatus = TaskStatusEnum.Finish.ObjToInt();
@@ -626,6 +630,10 @@
if (locationInfo == null)
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌揣浣嶄俊鎭�");
+ }
+ if ((task.TaskType == TaskTypeEnum.OutInventory.ObjToInt()))
+ {
+ return OutInventoryCompleted(task,stockInfo, locationInfo);
}
List<Dt_OutStockLockInfo> outStockLockInfos = _outboundService.OutboundStockLockInfoService.Repository.QueryData(x => x.TaskNum == taskNum);
List<Dt_OutboundOrderDetail> outboundOrderDetails = new List<Dt_OutboundOrderDetail>();
@@ -924,7 +932,9 @@
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
_unitOfWorkManage.CommitTran();
//MES鎴愬搧鍑哄簱鍚屾
- ShipmentOrderSync(MesOutSync(outProStockInfo, proOutOrderDetail, proStockInfoDetails));
+ MesShipmentOrderSync shipmentOrderSync = MesOutSync(outProStockInfo, proOutOrderDetail, proStockInfoDetails);
+ ShipmentOrderSync(shipmentOrderSync);
+ ShipmentOrderMESSync(shipmentOrderSync);
content.OK();
}
catch (Exception ex)
@@ -1013,5 +1023,69 @@
}
return content;
}
+ /// <summary>
+ /// 鐩樼偣鍑哄簱瀹屾垚
+ /// </summary>
+ public WebResponseContent OutInventoryCompleted(Dt_Task task,Dt_StockInfo stockInfo,Dt_LocationInfo locationInfo)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ //鑾峰彇瀵瑰簲鐩樼偣鍗�
+ Dt_TakeStockOrder takeStockOrder = _inboundRepository.TakeStockOrderRepository.Db.Queryable<Dt_TakeStockOrder>().Where(x=>x.OrderNo==task.OrderNo).Includes(x=>x.Details).First();
+ if (takeStockOrder==null)
+ {
+ return content.Error($"鐩樼偣鍗晎task.OrderNo}涓嶅瓨鍦�");
+ }
+ if (takeStockOrder.TakeStockStatus!=TakeStockStatusEnum.鐩樼偣涓�.ObjToInt())
+ {
+ return content.Error($"鐩樼偣鍗晎task.OrderNo}鐩樼偣宸插畬鎴愭垨鏈紑濮�");
+ }
+ if (stockInfo.StockStatus!=StockStatusEmun.鍑哄簱閿佸畾.ObjToInt())
+ {
+ return content.Error($"{stockInfo.PalletCode}搴撳瓨鐘舵�佷笉姝g‘");
+ }
+ if (locationInfo.LocationStatus != LocationStatusEnum.Lock.ObjToInt())
+ {
+ return content.Error($"{locationInfo.LocationCode}璐т綅鐘舵�佷笉姝g‘");
+ }
+ //鏍规嵁浠诲姟鎵樼洏鏌ョ洏鐐规槑缁�
+ Dt_TakeStockOrderDetail? takeStockOrderDetail = takeStockOrder.Details.FirstOrDefault(x=>x.TakePalletCode==stockInfo.PalletCode);
+ if (takeStockOrderDetail==null)
+ {
+ return content.Error($"{stockInfo.PalletCode}鏈壘鍒板搴旂洏鐐规槑缁�");
+ }
+ if (takeStockOrderDetail.TakeDetalStatus!=TakeStockDetailStatusEnum.鐩樼偣鍑哄簱涓�.ObjToInt())
+ {
+ return content.Error($"{stockInfo.PalletCode}鐩樼偣鏄庣粏鐘舵�佷笉姝g‘");
+ }
+ takeStockOrderDetail.TakeDetalStatus = TakeStockDetailStatusEnum.鐩樼偣鍑哄簱瀹屾垚.ObjToInt();
+ stockInfo.StockStatus = StockStatusEmun.鐩樼偣鍑哄簱瀹屾垚.ObjToInt();
+ stockInfo.Details.ForEach(x =>
+ {
+ x.Status = StockStatusEmun.鐩樼偣鍑哄簱瀹屾垚.ObjToInt();
+ });
+ stockInfo.LocationCode = "";
+ task.TaskStatus = TaskStatusEnum.Finish.ObjToInt();
+ int beforeStatus = locationInfo.LocationStatus;
+ locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();
+ _unitOfWorkManage.BeginTran();
+ //璐т綅鍙樺姩璁板綍
+ _basicService.LocationInfoService.UpdateLocationStatus(locationInfo, stockInfo.PalletType, LocationStatusEnum.Free, locationInfo.WarehouseId);
+ _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, (LocationStatusEnum)beforeStatus, LocationStatusEnum.Free, LocationChangeType.OutboundCompleted, takeStockOrder?.OrderNo ?? "", task.TaskNum);
+ _inboundRepository.TakeStockOrderDetailRepository.UpdateData(takeStockOrderDetail);
+ _stockRepository.StockInfoRepository.UpdateData(stockInfo);
+ _stockRepository.StockInfoDetailRepository.UpdateData(stockInfo.Details);
+ BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+ _unitOfWorkManage.CommitTran();
+ content.OK();
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ content.Error(ex.Message);
+ }
+ return content;
+ }
}
}
--
Gitblit v1.9.3