修改了第二个数字序列号

This commit is contained in:
2025-05-12 16:15:11 +08:00
parent bb9013261d
commit 4ad50863ef
8 changed files with 189 additions and 25 deletions

View File

@@ -84,33 +84,67 @@ namespace BarCode.Web.Api.Controllers
/// <returns></returns>
[HttpPost]
[Route("GetSerialNumber")]
public async Task<Result<SerialNumbersWmsResponse>> GetSerialNumber(SerialNumbersWmsRequest dto)
public async Task<Result<List<SerialNumbersWmsResponse>>> GetSerialNumber(SerialNumbersWmsRequest dto)
{
_logger.LogInformation($"wms获取序列码:{JsonConvert.SerializeObject(dto)}");
var entity = await _serialNumbersRepositories.GetEntityWms(dto.SerialNumber);
if (entity == null) return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberNoData);
if (entity.BoxId > 0)
return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberBindBox);
if (entity.IsUse == true)
return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberIsUse);
var response = new SerialNumbersWmsResponse()
//var entity = await _serialNumbersRepositories.GetEntityWms(dto.SerialNumber);
//if (entity == null) return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberNoData);
//if (entity.BoxId > 0)
// return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberBindBox);
//if (entity.IsUse == true)
// return Result<SerialNumbersWmsResponse>.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<Domain.Entitys.SerialNumbers>();
//list.Add(entity);
//var res = await _serialNumbersRepositories.EditEntityList(list);
//以前是之前的
var entity = await _serialNumbersRepositories.GetEntityListBySuitNumber(dto.SerialNumber);
if (entity == null) return Result<List<SerialNumbersWmsResponse>>.ReFailure(ResultCodes.SerialNumberNoData);
var response2 = new List<SerialNumbersWmsResponse>();
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)
if (entity[i].BoxId > 0)
return Result< List<SerialNumbersWmsResponse>>.ReFailure(ResultCodes.SerialNumberBindBox);
if (entity[i].IsUse == true)
return Result< List<SerialNumbersWmsResponse>>.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.WmsGet(dto.SerialNumber);
entity[i].WmsGet(dto.SerialNumber);
var list = new List<Domain.Entitys.SerialNumbers>();
list.Add(entity);
list.Add(entity[i]);
var res = await _serialNumbersRepositories.EditEntityList(list);
if (!res) return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.DateWriteError);
if (!res) return Result< List<SerialNumbersWmsResponse>>.ReFailure(ResultCodes.DateWriteError);
_logger.LogInformation($"wms获取序列码返回序列码信息:{JsonConvert.SerializeObject(response)}");
}
return Result<List<SerialNumbersWmsResponse>>.ReSuccess(response2);
return Result<SerialNumbersWmsResponse>.ReSuccess(response);
}
/// <summary>

View File

@@ -3310,6 +3310,26 @@
生成时间
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersWmsResponse.IsTwo">
<summary>
是否两件装
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersWmsResponse.TwoSerialNumber">
<summary>
第二个序列号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersWmsResponse.TwoNumberCode">
<summary>
第二个数字序列号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersWmsResponse.IsNotCount">
<summary>
是否不参与记数
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.SGenerateRecordInfoResponse">
<summary>
序列号生成记录列表返回参数

View File

@@ -812,6 +812,11 @@
数字序列码
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.SerialNumbers.TwoNumberCode">
<summary>
数字序列码
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.SerialNumbers.Number">
<summary>
数字序列码(不包含日期)
@@ -884,6 +889,12 @@
</summary>
<param name="sn"></param>
</member>
<member name="M:BarCode.Web.Domain.Entitys.SerialNumbers.GenerateTwoNumberCode(System.String)">
<summary>
产生第二个数字序列号
</summary>
<param name="sn"></param>
</member>
<member name="M:BarCode.Web.Domain.Entitys.SerialNumbers.Print">
<summary>
打印
@@ -894,7 +905,7 @@
下载
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.SerialNumbers.isNotCount">
<member name="P:BarCode.Web.Domain.Entitys.SerialNumbers.IsNotCount">
<summary>
是否不参与计数0和空代表参与计数1代表不参与计数
</summary>
@@ -1329,6 +1340,9 @@
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetEntityWms(System.String)">
WMS查询实体
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetEntityWmsBySuitNumber(System.String)">
两件装WMS查询实体
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetExternal(System.String)">
<summary>
根据序列号搜索信息

View File

@@ -27,5 +27,28 @@ namespace BarCode.Web.Core.Dto.SerialNumbers
/// 生成时间
/// </summary>
public DateTime CreateTime { get; set; } = DateTime.Now;
/// <summary>
/// 是否两件装
/// </summary>
public int IsTwo { get; set; } = 1;
/// <summary>
/// 第二个序列号
/// </summary>
public string TwoSerialNumber { get; set; } = string.Empty;
/// <summary>
/// 第二个数字序列号
/// </summary>
public string? TwoNumberCode { get; set; } = string.Empty;
/// <summary>
/// 是否不参与记数
/// </summary>
public string? IsNotCount { get; set; } ="0";
}
}

View File

@@ -93,6 +93,13 @@ namespace BarCode.Web.Domain.Entitys
/// </summary>
[Column("NumberCode")]
public string NumberCode { get; set; } = string.Empty;
/// <summary>
/// 数字序列码
/// </summary>
[Column("TwoNumberCode")]
public string? TwoNumberCode { get; set; } = string.Empty;
/// <summary>
/// 数字序列码(不包含日期)
/// </summary>
@@ -213,6 +220,16 @@ namespace BarCode.Web.Domain.Entitys
}
/// <summary>
/// 产生第二个数字序列号
/// </summary>
/// <param name="sn"></param>
public void GenerateTwoNumberCode(string sn)
{
this.TwoNumberCode = sn;
}
/// <summary>
@@ -239,7 +256,7 @@ namespace BarCode.Web.Domain.Entitys
/// 是否不参与计数0和空代表参与计数1代表不参与计数
/// </summary>
[Column("isNotCount")]
public string? isNotCount { get; set; } = string.Empty;
public string? IsNotCount { get; set; } = string.Empty;
/// <summary>
/// 装箱
@@ -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;
}
/// <summary>
/// 解绑箱

View File

@@ -52,6 +52,10 @@ namespace BarCode.Web.Domain.Infrastructure
Task<List<SerialNumbersResponse>> GetEntityList(string serialNumber, string orgCode, LoginInDto loginInfo);
/// WMS查询实体
Task<SerialNumbers> GetEntityWms(string serialNumbers);
/// 两件装WMS查询实体
Task<List<SerialNumbers>> GetEntityWmsBySuitNumber(string suitNumber);
/// <summary>
/// 根据序列号搜索信息
/// </summary>

View File

@@ -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));

View File

@@ -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;
}
/// <summary>
/// 产生第二个数字序列码
/// </summary>
/// <param name="entitys"></param>
/// <param name="SuitNumber"></param>
public string GetTwoNumberCode(List<SerialNumbers> 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;
}
/// <summary>
/// 批量修改
/// </summary>
@@ -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;
}
/// <summary>
/// wms系统查询序列码 支持数字序列码
/// </summary>
/// <param name="serialNumbers"></param>
/// <returns></returns>
public async Task<List<SerialNumbers>> GetEntityWmsBySuitNumber(string suitNumber)
{
return await _context.SerialNumbers.AsNoTracking()
.Where(f => f.TwoSerialNumber.Contains(suitNumber) || f.TwoNumberCode.Contains(suitNumber))
.ToListAsync();
}
public async Task<List<SerialNumbers>> GetEntityListContainNumber(List<string> serialNumbers)
{
return await _context.SerialNumbers.AsNoTracking()