| | |
| | | return WebResponseContent.Instance.Error($"未找到对应的入库单明细"); |
| | | } |
| | | |
| | | // 更新入库单明细状态 |
| | | // 更新入库单明细状态 |
| | | foreach (var inboundOrderDetail in inboundOrderDetails) |
| | | { |
| | | // 检查该明细是否已全部入库 |
| | |
| | | .ToList(); |
| | | |
| | | Dt_InboundOrder? dt_InboundOrder = _inboundService.InbounOrderService.Db.Queryable<Dt_InboundOrder>().Where(x => x.OrderNo == inboundOrder.OrderNo).Includes(x => x.Details).First(); |
| | | if (StockInfos.Count == 0) throw new Exception("未找到库存信息"); |
| | | if (StockInfos.Count == 0) throw new Exception("未找到库存信息"); |
| | | |
| | | var houseSyncretism = new NewHouseInboundPassBack |
| | | { |
| | |
| | | |
| | | _recordService.StockQuantityChangeRecordService.AddStockChangeRecord( |
| | | stockInfo, stockInfo.Details, |
| | | stockInfo.Details.Sum(x => x.StockQuantity), |
| | | 0, |
| | | stockInfo.Details.Sum(x => x.StockQuantity), |
| | | StockChangeType.Inbound, task.TaskNum); |
| | | } |
| | |
| | | .Where(x => x.OrderId == outboundOrder.Id) |
| | | .ToList(); |
| | | } |
| | | if ((outboundOrderDetails == null && outboundOrderDetails1 == null) || (outboundOrderDetails.Count == 0 && outboundOrderDetails1.Count == 0)) |
| | | if ((outboundOrderDetails == null && outboundOrderDetails1 == null) || (outboundOrderDetails.Count == 0 && outboundOrderDetails1.Count == 0)) |
| | | { |
| | | throw new Exception($"未找到托盘 {stockInfo.PalletCode} 在货位 {stockInfo.LocationCode} 上的出库单明细"); |
| | | } |
| | |
| | | { |
| | | Dt_OutboundOrderDetail outboundOrderDetail = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrderDetail>() |
| | | .Where(x => x.OrderId == inboundOrder.Id && x.BatchNo == detail.BatchNo).First(); |
| | | outboundOrderDetails.Add(outboundOrderDetail); |
| | | if (outboundOrderDetail != null) |
| | | { |
| | | outboundOrderDetails.Add(outboundOrderDetail); |
| | | } |
| | | |
| | | } |
| | | |
| | | for (var i = 0; i<outboundOrderDetails.Count; i++) |
| | | for (var i = 0; i < outboundOrderDetails.Count; i++) |
| | | { |
| | | if (outboundOrderDetails[i].LocationName != null && outboundOrderDetails[i].LocationName != "") |
| | | { |
| | |
| | | // 添加状态变更记录 |
| | | AddStatusChangeRecord(task, stockInfo, locationInfo); |
| | | |
| | | |
| | | // 根据订单类型处理不同逻辑 |
| | | |
| | | var outboundOrder = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrder>() |
| | |
| | | private void DWANDYSUpdateOutboundOrderDetails(Dt_StockInfo stockInfo, Dt_OutboundOrder inboundOrder, ref List<Dt_OutboundOrderDetail> inboundOrderDetails) |
| | | { |
| | | List<Dt_OutboundOrderDetail> newOutboundOrderDetails = inboundOrderDetails; |
| | | int overCount = inboundOrder.Details.Count(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()); |
| | | int CompeletedNum = inboundOrder.Details.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()).Count(); |
| | | foreach (var newOutboundOrderDetail in newOutboundOrderDetails) |
| | | { |
| | | string BatchNo = newOutboundOrderDetail.BatchNo; |
| | | //inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.BatchNo == stockInfo.Details.FirstOrDefault()?.BatchNo&&x.LPNNo==stockInfo.PalletCode); |
| | | |
| | | foreach (var item in stockInfo.Details) |
| | | { |
| | | if (newOutboundOrderDetail == null) continue; |
| | |
| | | if (newOutboundOrderDetail.OverOutQuantity == newOutboundOrderDetail.OrderQuantity) |
| | | { |
| | | newOutboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt(); |
| | | overCount++; |
| | | CompeletedNum++; |
| | | } |
| | | else if (newOutboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt()) |
| | | { |
| | | newOutboundOrderDetail.OrderDetailStatus = OutboundStatusEnum.出库中.ObjToInt(); |
| | | |
| | | inboundOrder.OrderStatus = OutboundStatusEnum.出库中.ObjToInt(); |
| | | } |
| | | } |
| | | } |
| | | if (inboundOrder.Details.Count() == overCount) |
| | | if (inboundOrder.Details.Count == CompeletedNum) |
| | | { |
| | | inboundOrder.OrderStatus = OutboundStatusEnum.出库完成.ObjToInt(); |
| | | } |
| | |
| | | StockChangeType.Outbound.ObjToInt(), |
| | | stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", |
| | | task.TaskNum); |
| | | |
| | | _recordService.StockQuantityChangeRecordService.NEWAddStockChangeRecord( |
| | | stockInfo, stockInfo.Details, |
| | | stockInfo.Details.Sum(x => x.StockQuantity), |
| | | stockInfo.Details.Sum(x => x.OutboundQuantity), |
| | | StockChangeType.Outbound, task.TaskNum); |
| | | } |
| | | |
| | | private void ProcessNormalOutbound(Dt_Task task, Dt_StockInfo stockInfo, |
| | |
| | | { |
| | | Console.WriteLine($"📄 正在打印到 {printerName}: {Path.GetFileName(filePath)}"); |
| | | |
| | | string command = $"lpr -P {printerName} \"{filePath}\""; |
| | | // 使用 lp 命令,添加 -o raw 选项 |
| | | string command = $"lp -d {printerName} -o raw \"{filePath}\""; |
| | | |
| | | ExecuteShellCommand(command); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 执行 Shell 命令 |
| | | /// </summary> |