diff --git a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml index e8b855a..73950d0 100644 --- a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml +++ b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml @@ -591,6 +591,11 @@ 序列号 + + + 第二个序列号 + + 生成箱码 diff --git a/src/BarCode.Web.Core/Dto/Box/DeleteBoxSerialNumberRequest.cs b/src/BarCode.Web.Core/Dto/Box/DeleteBoxSerialNumberRequest.cs index 2ee366c..aa8c0b4 100644 --- a/src/BarCode.Web.Core/Dto/Box/DeleteBoxSerialNumberRequest.cs +++ b/src/BarCode.Web.Core/Dto/Box/DeleteBoxSerialNumberRequest.cs @@ -27,5 +27,10 @@ namespace BarCode.Web.Core.Dto.Box /// [Required(ErrorMessage = "序列号不能为空")] public string SerialNumber { get; set; } = string.Empty; + /// + /// 第二个序列号 + /// + public string? TwoSerialNumber { get; set; } = string.Empty; + } } diff --git a/src/BarCode.Web.Domain/Entitys/BoxDetails.cs b/src/BarCode.Web.Domain/Entitys/BoxDetails.cs index fbc48cd..c9521e6 100644 --- a/src/BarCode.Web.Domain/Entitys/BoxDetails.cs +++ b/src/BarCode.Web.Domain/Entitys/BoxDetails.cs @@ -40,6 +40,11 @@ namespace BarCode.Web.Domain.Entitys /// [Column("SerialNumbers")] public List SerialNumbers { get; set; } = new List(); + ///// + ///// 是否计数 + ///// + //[Column("IsNotCount")] + //public string? IsNotCount { get; set; } } } diff --git a/src/BarCode.Web.Domain/Services/BoxService.cs b/src/BarCode.Web.Domain/Services/BoxService.cs index 5e5681e..f1beecd 100644 --- a/src/BarCode.Web.Domain/Services/BoxService.cs +++ b/src/BarCode.Web.Domain/Services/BoxService.cs @@ -17,6 +17,7 @@ using Microsoft.Extensions.Logging; using Newtonsoft.Json; using Npoi.Mapper; using NPOI.SS.Formula.Functions; +using Quartz; using System; using System.Collections.Generic; using System.ComponentModel.Design; @@ -294,7 +295,7 @@ namespace BarCode.Web.Domain.Services return Result.ReFailure(ResultCodes.BoxNoDataError); if (box.Status == BoxStatus.Complete) return Result.ReFailure(ResultCodes.CartonCompleteError); - + var sList = await _serialNumbersRepositories.GetEntityList(new List() { dto.SerialNumber }); var s = sList.FirstOrDefault(f => f.SerialNumber.Equals(dto.SerialNumber)); if (s == null) @@ -309,6 +310,24 @@ namespace BarCode.Web.Domain.Services //sList.ForEach(f => f.UnBox()); s.UnBox();//解绑 + + if (dto.TwoSerialNumber != null) + { + var TwosList = await _serialNumbersRepositories.GetEntityList(new List() { dto.TwoSerialNumber }); + var Twos = sList.FirstOrDefault(f => f.SerialNumber.Equals(dto.TwoSerialNumber)); + if (Twos == null) + return Result.ReFailure(ResultCodes.SerialNumberNoDateError); + //判断使用的是数字序列码还是序列码 + var TwosStr = s.IsUseNumber == true ? s.TwoNumberCode : s.TwoSerialNumber; + + var TworesUn = box.UnSerialNumber(TwosStr, dto.MaterialNumber); + if (!TworesUn.IsSuccess) return TworesUn; + + //var sList = await _serialNumbersRepositories.GetEntityListContainNumber(new List() { dto.SerialNumber }); + //sList.ForEach(f => f.UnBox()); + Twos.UnBox();//解绑 + } + IDbContextTransaction _transaction = _transactionRepositories.GetTransaction(); bool res_Rollback = false; bool isSuccess = true; diff --git a/src/BarCode.Web.Domain/Services/SerialNumberService.cs b/src/BarCode.Web.Domain/Services/SerialNumberService.cs index fc1e61a..17944ad 100644 --- a/src/BarCode.Web.Domain/Services/SerialNumberService.cs +++ b/src/BarCode.Web.Domain/Services/SerialNumberService.cs @@ -454,7 +454,7 @@ namespace BarCode.Web.Domain.Services foreach (var sg in sGList) { - int number = sGSNumberList.Where(w => w.GenerateRecordId == sg.Id && w.BoxId > 0).Count(); + int number = sGSNumberList.Where(w => w.GenerateRecordId == sg.Id && w.BoxId > 0 && w.IsNotCount!="1").Count(); sg.Use(number); }