| | |
| | | { |
| | | throw new Exception("所选出库单明细存在出库中或已完成"); |
| | | } |
| | | if (outboundOrderDetails.FirstOrDefault()?.LPNNo == null) |
| | | if (outboundOrderDetails.FirstOrDefault()?.LPNNo == null || outboundOrderDetails.FirstOrDefault()?.LPNNo == "") |
| | | { |
| | | outboundOrderDetails.Clear(); |
| | | try |
| | |
| | | //} |
| | | |
| | | var stockdetailbox = BaseDal.Db.Queryable<Dt_StockInfo>().LeftJoin<Dt_StockInfoDetail>((s, d) => s.Id == d.StockId).LeftJoin<Dt_StockInfoDetailCP>((s, d, cp) => d.Id == cp.StockDetailId).Where((s, d, cp) => allBoxCodes.Contains(cp.BoxCode)).Select((s, d, cp) => cp.BoxCode) |
| | | .Distinct() |
| | | .ToList(); |
| | | .Distinct() |
| | | .ToList(); |
| | | |
| | | var stockInfoDetailCPList = _stockInfoDetailCPRepository.QueryData(x => stockdetailbox.Contains(x.BoxCode)).ToList(); |
| | | if (stockInfoDetailCPList != null) |
| | | { |
| | | _stockInfoDetailCPRepository.DeleteAndMoveIntoHty(stockInfoDetailCPList, App.User.UserId == 0 ? OperateType.自动完成 : OperateType.人工完成); |
| | | foreach(var stockLPNO in houseStockDetail.DetailList) |
| | | { |
| | | Dt_StockInfo dt_StockInfo = BaseDal.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == stockLPNO.LPNNo).Includes(x => x.Details).First(); |
| | | for (int i = 0; i<stockInfoDetailCPList.Count(); i++) |
| | | { |
| | | foreach (var item1 in dt_StockInfo.Details) |
| | | { |
| | | foreach (var batchNos in houseStockDetail.DetailList) |
| | | { |
| | | if (stockInfoDetailCPList[i].PartNum == item1.MaterielCode && batchNos.BatchNo == item.BatchNo) |
| | | { |
| | | item1.StockQuantity-=(decimal)stockInfoDetailCPList[i].QtyOfpcs; |
| | | item1.OutboundQuantity = 0; |
| | | _stockInfoDetailRepository.UpdateData(item1); |
| | | } |
| | | if (item1.StockQuantity == 0) |
| | | { |
| | | _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(item1, App.User.UserId == 0 ? OperateType.自动完成 : OperateType.人工完成); |
| | | } |
| | | //全部都出库 删除库存 |
| | | if (dt_StockInfo.Details.Sum(x => x.StockQuantity) == 0) |
| | | { |
| | | _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(dt_StockInfo, App.User.UserId == 0 ? OperateType.自动完成 : OperateType.人工完成); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | }); |
| | | result.Item2.ForEach(x => |
| | | { |
| | | x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt(); |
| | | foreach(var item in result.Item2) |
| | | { |
| | | if(item.LockQuantity > 0) |
| | | { |
| | | item.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt(); |
| | | } |
| | | } |
| | | |
| | | }); |
| | | result.Item3.ForEach(x => |
| | | { |
| | | |
| | | x.Status = OutStockStatus.出库中.ObjToInt(); |
| | | }); |
| | | |