| | |
| | | foreach (var orderId in requestOut.orderIds) |
| | | { |
| | | Dt_AreaInfo areaInfo = null; |
| | | if (requestOut.AreaId != null) |
| | | areaInfo = _areaInfoRepository.QueryFirst(x => x.AreaID == Convert.ToInt32(requestOut.AreaId)); |
| | | if (requestOut.Warehouse != "") |
| | | areaInfo = _areaInfoRepository.QueryFirst(x => x.AreaCode == requestOut.Warehouse); |
| | | |
| | | |
| | | List<RequestTaskDto> taskDtos = new List<RequestTaskDto>(); |
| | |
| | | MaterielCode = allocateoutboundOrderdetail.MaterielCode, |
| | | Position = item.LocationCode, |
| | | PalletCode = item.PalletCode, |
| | | AreaId = Convert.ToInt32(requestOut.AreaId), |
| | | //AreaId = Convert.ToInt32(requestOut.AreaId), |
| | | AreaId = Convert.ToInt32(2), |
| | | }; |
| | | taskDtos.Add(task); |
| | | item.StockInfoDetails.Where(x => x.MaterielCode == allocateoutboundOrderdetail.MaterielCode).FirstOrDefault().Status = (int)StockStateEmun.åºåºéå®; |
| | | item.StockStatus = (int)StockStateEmun.åºåºéå®; |
| | | item.Remark = requestOut.Warehouse; |
| | | item.OrderNo = outboundOrder.UpperOrderNo; |
| | | |
| | | item.StockInfoDetails.Where(x => x.OutboundQuantity > 0 && x.MaterielCode == allocateoutboundOrderdetail.MaterielCode).ForEach(x => |
| | |
| | | AllocateWarehouseId = areaInfo == null ? item.StockInfoDetails.Where(x => x.MaterielCode == allocateoutboundOrderdetail.MaterielCode).FirstOrDefault().WareHouseId : areaInfo.AreaCode, |
| | | Warehouse = "æºè½ç«åº", |
| | | WareHouseId = "107", |
| | | OutboundQuantity = item.StockInfoDetails.Where(x => x.MaterielCode == allocateoutboundOrderdetail.MaterielCode).Sum(x => x.Quantity), |
| | | OutboundQuantity = x.OutboundQuantity, |
| | | }); |
| | | }); |
| | | |
| | | item.StockInfoDetails.Where(x => x.OutboundQuantity == 0 || (x.Quantity - x.OutboundQuantity) > 0).ForEach(x => |
| | | { |
| | | if (x.MaterielCode == allocateoutboundOrderdetail.MaterielCode) |
| | | { |
| | | outDetails.Add(new Dt_OrderOutDetails() |
| | | { |
| | | OrderNo = "", |
| | | PalletCode = item.PalletCode, |
| | | OrderType = (int)OrderTypeEmun.è°æ¨åºåºå, |
| | | ERPOrderId = "", |
| | | MaterielCode = x.MaterielCode, |
| | | MaterielName = x.MaterielName, |
| | | AllocateWarehouse = "WMSåºåºç¼ååº", |
| | | Warehouse = "æºè½ç«åº", |
| | | WareHouseId = "107", |
| | | AllocateWarehouseId = "205", |
| | | OutboundQuantity = x.Quantity - x.OutboundQuantity, |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | outDetails.Add(new Dt_OrderOutDetails() |
| | | { |
| | | OrderNo = "", |
| | | PalletCode = item.PalletCode, |
| | | OrderType = (int)OrderTypeEmun.è°æ¨åºåºå, |
| | | ERPOrderId = "", |
| | | MaterielCode = x.MaterielCode, |
| | | MaterielName = x.MaterielName, |
| | | AllocateWarehouse = "WMSåºåºç¼ååº", |
| | | Warehouse = "æºè½ç«åº", |
| | | WareHouseId = "107", |
| | | AllocateWarehouseId = "205", |
| | | OutboundQuantity = x.Quantity, |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | List<Dt_Task> taskNews = new List<Dt_Task>(); |
| | |
| | | locations.AddRange(result1.Item2); |
| | | locations.AddRange(result2.Item2); |
| | | } |
| | | |
| | | outboundOrder.OrderStatus = (int)OrderStateEmun.å¼å§; |
| | | await _unitOfWorkManage.UseTranAsync(async () => |
| | | { |
| | | BaseDal.UpdateData(outboundOrder); |
| | | _taskRepository.AddData(taskNews); |
| | | _stockInfoRepository.UpdateDataNav(result.Item1); |
| | | await _locationStatusChangeRecordRepository.AddDataAsync(locationStatusChangeRecords); |
| | |
| | | |
| | | } |
| | | allocateoutboundOrderdetail.OverOutQuantity = allocateoutboundOrderdetail.OrderQuantity - needQuantity; |
| | | allocateoutboundOrderdetail.NotOutQuantity = allocateoutboundOrderdetail.OrderQuantity - allocateoutboundOrderdetail.OverOutQuantity; |
| | | |
| | | if (allocateoutboundOrderdetail.OverOutQuantity != 0) |
| | | { |
| | | allocateoutboundOrderdetail.OrderDetailStatus = (int)OrderStateEmun.å¼å§; |
| | | } |
| | | if (allocateoutboundOrderdetail.OverOutQuantity == allocateoutboundOrderdetail.OrderQuantity) |
| | | { |
| | | allocateoutboundOrderdetail.OrderDetailStatus = (int)OrderStateEmun.已宿; |
| | | } |
| | | return (outStockNews, allocateoutboundOrderdetail); |
| | | } |
| | | |