diff --git a/src/BarCode.Web.Domain/Entitys/Box.cs b/src/BarCode.Web.Domain/Entitys/Box.cs index 12fa763..80da7c2 100644 --- a/src/BarCode.Web.Domain/Entitys/Box.cs +++ b/src/BarCode.Web.Domain/Entitys/Box.cs @@ -124,30 +124,41 @@ namespace BarCode.Web.Domain.Entitys /// /// 是否不计数 public Result UnSerialNumber(string serialNumber, string materialNumber,string isNotCount) { + + var detail = this.Details.FirstOrDefault(f => f.MaterialNumber.Equals(materialNumber)); - if (detail == null) - return Result.ReFailure(ResultCodes.BoxMaterialNoDataError); - var serial = detail.SerialNumbers.FirstOrDefault(f => f.Equals(serialNumber)); - if (serial == null && isNotCount!="1") - return Result.ReFailure(ResultCodes.BoxSerialNumberNoDataError); + + if (isNotCount != "1") + { + if (detail == null) + return Result.ReFailure(ResultCodes.BoxMaterialNoDataError); + var serial = detail.SerialNumbers.FirstOrDefault(f => f.Equals(serialNumber)); + if (serial == null) + return Result.ReFailure(ResultCodes.BoxSerialNumberNoDataError); + } + if(detail!=null) + { detail.SerialNumbers.Remove(serialNumber); + if (isNotCount == "1") + { + + } + else + { + detail.Qty = detail.Qty - 1; + } + //如果数量为0了就删除这条明细 + if (detail.Qty <= 0) + this.Details.Remove(detail); + //如果没有明细了 就把状态改成未使用 + if (detail.Qty <= 0) + this.Status = BoxStatus.NoUse; + + } // detail.Qty = detail.SerialNumbers.Count(); - if(isNotCount=="1") - { - - } - else - { - detail.Qty = detail.Qty - 1; - } - //如果数量为0了就删除这条明细 - if (detail.Qty <= 0) - this.Details.Remove(detail); - //如果没有明细了 就把状态改成未使用 - if (detail.Qty <= 0) - this.Status = BoxStatus.NoUse; + ////如果数量为0了就删除这条明细 //if (detail.SerialNumbers.Count() <= 0)