From 6d9829c889a826d39cbc911ef5d01825edd1bffc Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期四, 26 六月 2025 16:33:29 +0800 Subject: [PATCH] 添加设备交互日志 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 72 +++++++++++++++++++----------------- 1 files changed, 38 insertions(+), 34 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" index 03b36b5..bc247f5 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" @@ -436,6 +436,7 @@ { try { + Db.Ado.BeginTran(); Dt_OutStockLockInfo? outStockLockInfo = _outboundService.OutboundStockLockInfoService.Repository.QueryFirst(x => x.TaskNum == task.TaskNum); Dt_OutboundOrder? outboundOrder = null; Dt_OutboundOrderDetail? outboundOrderDetail = null; @@ -446,18 +447,19 @@ if (outboundOrderDetail != null) { outboundOrder = Db.Queryable<Dt_OutboundOrder>().Where(x => x.Id == outboundOrderDetail.OrderId).Includes(x => x.Details).First(); - if (outboundOrder == null) throw new Exception("鍑哄簱鍗曚笉瀛樺湪"); - outboundOrderDetail.OverOutQuantity++; - overCount = outboundOrder.Details.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()).Count(); - if (outboundOrderDetail.OverOutQuantity == outboundOrderDetail.OrderQuantity) + if (outboundOrder != null) { - outboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt(); - overCount++; + outboundOrderDetail.OverOutQuantity++; + overCount = outboundOrder.Details.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()).Count(); + if (outboundOrderDetail.OverOutQuantity == outboundOrderDetail.OrderQuantity) + { + outboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt(); + overCount++; + } } } outStockLockInfo.Status = OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt(); } - Db.Ado.BeginTran(); if (outboundOrder != null && outboundOrder.Details.Count == overCount) { outboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱瀹屾垚.ObjToInt(); @@ -562,21 +564,39 @@ Db.Ado.CommitTran(); return content; } + + Db.Ado.BeginTran(); #region 鍏ュ簱鍗� Dt_InboundOrder inboundOrder = _inboundService.InbounOrderService.GetInboundOrder(stockInfoDetail.OrderNo); - if (inboundOrder == null || inboundOrder.Details.Count < 1) throw new Exception($"鏈壘鍒版墭鐩榌{task.PalletCode}]鐨勫叆搴撳崟鏄庣粏淇℃伅"); - Dt_InboundOrderDetail inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.BatchNo == stockInfoDetail.BatchNo && x.MaterielCode == stockInfoDetail.MaterielCode); - //inboundOrderDetail.OverInQuantity++; - inboundOrderDetail.OrderDetailStatus = inboundOrderDetail.OverInQuantity == inboundOrderDetail.OrderQuantity ? OrderDetailStatusEnum.Over.ObjToInt() : OrderDetailStatusEnum.GroupAndInbound.ObjToInt(); + if (inboundOrder != null) + { + Dt_InboundOrderDetail inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.BatchNo == stockInfoDetail.BatchNo && x.MaterielCode == stockInfoDetail.MaterielCode); + if (inboundOrderDetail != null) + inboundOrderDetail.OrderDetailStatus = inboundOrderDetail.OverInQuantity == inboundOrderDetail.OrderQuantity ? OrderDetailStatusEnum.Over.ObjToInt() : OrderDetailStatusEnum.GroupAndInbound.ObjToInt(); - if (inboundOrder.Details.FirstOrDefault(x => x.OrderDetailStatus != OrderDetailStatusEnum.Over.ObjToInt()) == null) - { - inboundOrder.OrderStatus = InboundStatusEnum.鍏ュ簱瀹屾垚.ObjToInt(); + if (inboundOrder.Details.FirstOrDefault(x => x.OrderDetailStatus != OrderDetailStatusEnum.Over.ObjToInt()) == null) + { + inboundOrder.OrderStatus = InboundStatusEnum.鍏ュ簱瀹屾垚.ObjToInt(); + } + else if (inboundOrder.OrderStatus == InboundStatusEnum.鏈紑濮�.ObjToInt()) + { + inboundOrder.OrderStatus = InboundStatusEnum.鍏ュ簱涓�.ObjToInt(); + } + if (inboundOrder.OrderStatus != InboundStatusEnum.鍏ュ簱瀹屾垚.ObjToInt()) + { + _inboundService.InbounOrderService.Repository.UpdateData(inboundOrder); + if (inboundOrderDetail != null) + _inboundService.InboundOrderDetailService.Repository.UpdateData(inboundOrderDetail); + } + else + { + List<Dt_InboundOrderDetail> orderDetails = inboundOrder.Details; + inboundOrder.Details = null; + _inboundService.InbounOrderService.Repository.DeleteAndMoveIntoHty(inboundOrder, OperateType.鑷姩瀹屾垚); + _inboundService.InboundOrderDetailService.Repository.DeleteAndMoveIntoHty(orderDetails, OperateType.鑷姩瀹屾垚); + } } - else if (inboundOrder.OrderStatus == InboundStatusEnum.鏈紑濮�.ObjToInt()) - { - inboundOrder.OrderStatus = InboundStatusEnum.鍏ュ簱涓�.ObjToInt(); - } + #endregion stockInfo.SerialNumber = stockInfos.Count + 1; stockInfo.InDate = DateTime.Now; @@ -586,26 +606,10 @@ locationInfo.LocationStatus = locationInfo.MaxQty - locationInfo.CurrentQty == 0 ? LocationStatusEnum.Fullload.ObjToInt() : LocationStatusEnum.InStock.ObjToInt(); task.CurrentAddress = task.NextAddress; task.NextAddress = string.Empty; - Db.Ado.BeginTran(); - #region 浠诲姟鍜屽叆搴撳崟 BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚); - if (inboundOrder.OrderStatus != InboundStatusEnum.鍏ュ簱瀹屾垚.ObjToInt()) - { - _inboundService.InbounOrderService.Repository.UpdateData(inboundOrder); - _inboundService.InboundOrderDetailService.Repository.UpdateData(inboundOrderDetail); - } - else - { - List<Dt_InboundOrderDetail> orderDetails = inboundOrder.Details; - inboundOrder.Details = null; - _inboundService.InbounOrderService.Repository.DeleteAndMoveIntoHty(inboundOrder, OperateType.鑷姩瀹屾垚); - _inboundService.InboundOrderDetailService.Repository.DeleteAndMoveIntoHty(orderDetails, OperateType.鑷姩瀹屾垚); - } - #endregion _basicService.LocationInfoService.Repository.UpdateData(locationInfo); _stockService.StockInfoService.Repository.UpdateData(stockInfo); _stockService.StockInfoDetailService.Repository.UpdateData(stockInfoDetail); - //_recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum); Db.Ado.CommitTran(); } catch (Exception ex) -- Gitblit v1.9.3