diff --git a/src/BarCode.Web.Api/Controllers/WmsBoxController.cs b/src/BarCode.Web.Api/Controllers/WmsBoxController.cs index 0e2c118..6defc9a 100644 --- a/src/BarCode.Web.Api/Controllers/WmsBoxController.cs +++ b/src/BarCode.Web.Api/Controllers/WmsBoxController.cs @@ -84,33 +84,67 @@ namespace BarCode.Web.Api.Controllers /// [HttpPost] [Route("GetSerialNumber")] - public async Task> GetSerialNumber(SerialNumbersWmsRequest dto) + public async Task>> GetSerialNumber(SerialNumbersWmsRequest dto) { _logger.LogInformation($"wms获取序列码:{JsonConvert.SerializeObject(dto)}"); - var entity = await _serialNumbersRepositories.GetEntityWms(dto.SerialNumber); - if (entity == null) return Result.ReFailure(ResultCodes.SerialNumberNoData); - if (entity.BoxId > 0) - return Result.ReFailure(ResultCodes.SerialNumberBindBox); - if (entity.IsUse == true) - return Result.ReFailure(ResultCodes.SerialNumberIsUse); - var response = new SerialNumbersWmsResponse() + //var entity = await _serialNumbersRepositories.GetEntityWms(dto.SerialNumber); + //if (entity == null) return Result.ReFailure(ResultCodes.SerialNumberNoData); + //if (entity.BoxId > 0) + // return Result.ReFailure(ResultCodes.SerialNumberBindBox); + //if (entity.IsUse == true) + // return Result.ReFailure(ResultCodes.SerialNumberIsUse); + //var response = new SerialNumbersWmsResponse() + //{ + // SerialNumber = entity.SerialNumber.Equals(dto.SerialNumber) ? entity.SerialNumber : entity.NumberCode, + // MaterialNumber = entity.MaterialNumber, + // CreateTime = entity.CreateTime, + // Creator = _singleDataService.GetSingleData(SingleAction.Users, 1, entity.CreatorId) + //}; + ////把查询到的序列码修改成使用 + //entity.WmsGet(dto.SerialNumber); + //var list = new List(); + //list.Add(entity); + //var res = await _serialNumbersRepositories.EditEntityList(list); + + //以前是之前的 + + var entity = await _serialNumbersRepositories.GetEntityListBySuitNumber(dto.SerialNumber); + if (entity == null) return Result>.ReFailure(ResultCodes.SerialNumberNoData); + var response2 = new List(); + for (int i = 0; i < entity.Count; i++) { - SerialNumber = entity.SerialNumber.Equals(dto.SerialNumber) ? entity.SerialNumber : entity.NumberCode, - MaterialNumber = entity.MaterialNumber, - CreateTime = entity.CreateTime, - Creator = _singleDataService.GetSingleData(SingleAction.Users, 1, entity.CreatorId) - }; - //把查询到的序列码修改成使用 - entity.WmsGet(dto.SerialNumber); + if (entity[i].BoxId > 0) + return Result< List>.ReFailure(ResultCodes.SerialNumberBindBox); + if (entity[i].IsUse == true) + return Result< List>.ReFailure(ResultCodes.SerialNumberIsUse); + SerialNumbersWmsResponse response = new SerialNumbersWmsResponse() + { + // SerialNumber = entity[i].SerialNumber.Equals(dto.SerialNumber) ? entity[i].SerialNumber : entity[i].NumberCode, + SerialNumber = entity[i].SerialNumber, + MaterialNumber = entity[i].MaterialNumber, + CreateTime = entity[i].CreateTime, + Creator = _singleDataService.GetSingleData(SingleAction.Users, 1, entity[i].CreatorId), + IsTwo=entity[i].IsTwo, + TwoSerialNumber=entity[i].TwoSerialNumber, + TwoNumberCode= entity[i].TwoNumberCode, + IsNotCount = entity[i].IsNotCount + + }; + response2.Add(response); + //把查询到的序列码修改成使用 + entity[i].WmsGet(dto.SerialNumber); + var list = new List(); - list.Add(entity); - var res = await _serialNumbersRepositories.EditEntityList(list); - if (!res) return Result.ReFailure(ResultCodes.DateWriteError); + list.Add(entity[i]); + var res = await _serialNumbersRepositories.EditEntityList(list); - _logger.LogInformation($"wms获取序列码返回序列码信息:{JsonConvert.SerializeObject(response)}"); + if (!res) return Result< List>.ReFailure(ResultCodes.DateWriteError); - return Result.ReSuccess(response); + _logger.LogInformation($"wms获取序列码返回序列码信息:{JsonConvert.SerializeObject(response)}"); + } + return Result>.ReSuccess(response2); + } /// diff --git a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml index ea489ad..e8b855a 100644 --- a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml +++ b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml @@ -3310,6 +3310,26 @@ 生成时间 + + + 是否两件装 + + + + + 第二个序列号 + + + + + 第二个数字序列号 + + + + + 是否不参与记数 + + 序列号生成记录列表返回参数 diff --git a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml index 7c39673..45a0b9c 100644 --- a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml +++ b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml @@ -812,6 +812,11 @@ 数字序列码 + + + 数字序列码 + + 数字序列码(不包含日期) @@ -884,6 +889,12 @@ + + + 产生第二个数字序列号 + + + 打印 @@ -894,7 +905,7 @@ 下载 - + 是否不参与计数,0和空代表参与计数,1代表不参与计数 @@ -1329,6 +1340,9 @@ WMS查询实体 + + 两件装WMS查询实体 + 根据序列号搜索信息 diff --git a/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumbersWmsResponse.cs b/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumbersWmsResponse.cs index 069a3f6..6b87b4c 100644 --- a/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumbersWmsResponse.cs +++ b/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumbersWmsResponse.cs @@ -27,5 +27,28 @@ namespace BarCode.Web.Core.Dto.SerialNumbers /// 生成时间 /// public DateTime CreateTime { get; set; } = DateTime.Now; + /// + /// 是否两件装 + /// + public int IsTwo { get; set; } = 1; + + /// + /// 第二个序列号 + /// + public string TwoSerialNumber { get; set; } = string.Empty; + + /// + /// 第二个数字序列号 + /// + public string? TwoNumberCode { get; set; } = string.Empty; + + /// + /// 是否不参与记数 + /// + public string? IsNotCount { get; set; } ="0"; + + + + } } diff --git a/src/BarCode.Web.Domain/Entitys/SerialNumbers.cs b/src/BarCode.Web.Domain/Entitys/SerialNumbers.cs index 67e5684..c24306a 100644 --- a/src/BarCode.Web.Domain/Entitys/SerialNumbers.cs +++ b/src/BarCode.Web.Domain/Entitys/SerialNumbers.cs @@ -93,6 +93,13 @@ namespace BarCode.Web.Domain.Entitys /// [Column("NumberCode")] public string NumberCode { get; set; } = string.Empty; + + /// + /// 数字序列码 + /// + [Column("TwoNumberCode")] + public string? TwoNumberCode { get; set; } = string.Empty; + /// /// 数字序列码(不包含日期) /// @@ -213,6 +220,16 @@ namespace BarCode.Web.Domain.Entitys } + /// + /// 产生第二个数字序列号 + /// + /// + public void GenerateTwoNumberCode(string sn) + { + this.TwoNumberCode = sn; + + } + /// @@ -239,7 +256,7 @@ namespace BarCode.Web.Domain.Entitys /// 是否不参与计数,0和空代表参与计数,1代表不参与计数 /// [Column("isNotCount")] - public string? isNotCount { get; set; } = string.Empty; + public string? IsNotCount { get; set; } = string.Empty; /// /// 装箱 @@ -255,7 +272,7 @@ namespace BarCode.Web.Domain.Entitys this.CompleteCartonTime = DateTime.Now; this.IsUse = true; this.IsUseNumber = this.NumberCode.Equals(str) ? true : false; - this.isNotCount= isNotCount; + this.IsNotCount= isNotCount; } /// /// 解绑箱 diff --git a/src/BarCode.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs b/src/BarCode.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs index dc8c89b..295ec68 100644 --- a/src/BarCode.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs +++ b/src/BarCode.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs @@ -52,6 +52,10 @@ namespace BarCode.Web.Domain.Infrastructure Task> GetEntityList(string serialNumber, string orgCode, LoginInDto loginInfo); /// WMS查询实体 Task GetEntityWms(string serialNumbers); + + /// 两件装WMS查询实体 + Task> GetEntityWmsBySuitNumber(string suitNumber); + /// /// 根据序列号搜索信息 /// diff --git a/src/BarCode.Web.Domain/Services/BoxService.cs b/src/BarCode.Web.Domain/Services/BoxService.cs index 35dd9a4..a13d278 100644 --- a/src/BarCode.Web.Domain/Services/BoxService.cs +++ b/src/BarCode.Web.Domain/Services/BoxService.cs @@ -453,7 +453,7 @@ namespace BarCode.Web.Domain.Services BarCreateTime = sentity == null ? null : sentity.CreateTime, IsTwo = sentity==null ? 1 :sentity.IsTwo, TwoSerialNumber = sentity == null ? s: sentity.TwoSerialNumber, - IsNotCount = sentity == null ? "0":sentity.isNotCount + IsNotCount = sentity == null ? "0":sentity.IsNotCount }); //以前是之前的 //// var sentity = serialList.FirstOrDefault(f => f.SerialNumber.Equals(s) || f.NumberCode.Equals(s)); diff --git a/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs b/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs index f75ec2f..99ff90d 100644 --- a/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs +++ b/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs @@ -106,6 +106,12 @@ namespace BarCode.Web.Repositories string s = GetTwoSerialNumber(entitys, item.SuitNumber); item.GenerateTwoSerialNumber(s); + + + string sNumberCode = GetTwoNumberCode(entitys, item.SuitNumber); + item.GenerateTwoNumberCode(sNumberCode); + + } await _context.SaveChangesAsync(); @@ -142,6 +148,33 @@ namespace BarCode.Web.Repositories } return strReturn; } + /// + /// 产生第二个数字序列码 + /// + /// + /// + public string GetTwoNumberCode(List entitys, string SuitNumber) + { + string strReturn = ""; + foreach (var item in entitys) + { + + if (item.SuitNumber == SuitNumber) + { + if (strReturn == "") + { + strReturn = item.NumberCode; + } + else + { + strReturn = strReturn + "," + item.NumberCode; + } + + } + } + return strReturn; + } + /// /// 批量修改 /// @@ -396,7 +429,7 @@ namespace BarCode.Web.Repositories var query = _context.SerialNumbers.AsNoTracking() .OrderByDescending(o => o.CompleteCartonTime)//以装箱时间先后排序 - .Where(f => f.BoxId == dto.BoxId && f.isNotCount!="1"); + .Where(f => f.BoxId == dto.BoxId && f.IsNotCount!="1"); int total = await query.CountAsync(); var list = await query.Select(s => new SerialNumbersResponse() @@ -681,8 +714,27 @@ namespace BarCode.Web.Repositories var entity = await _context.SerialNumbers.AsNoTracking() .FirstOrDefaultAsync(f => serialNumbers.Equals(f.SerialNumber) || serialNumbers.Equals(f.NumberCode)); return entity; + //以上为以前的 + //var entity = await _context.SerialNumbers.AsNoTracking() + //.FirstOrDefaultAsync(f => f.TwoSerialNumber.Contains(serialNumbers) || f.TwoNumberCode.Equals(serialNumbers)); + //return entity; } + /// + /// wms系统查询序列码 支持数字序列码 + /// + /// + /// + public async Task> GetEntityWmsBySuitNumber(string suitNumber) + { + return await _context.SerialNumbers.AsNoTracking() + .Where(f => f.TwoSerialNumber.Contains(suitNumber) || f.TwoNumberCode.Contains(suitNumber)) + .ToListAsync(); + + } + + + public async Task> GetEntityListContainNumber(List serialNumbers) { return await _context.SerialNumbers.AsNoTracking()