This commit is contained in:
2025-07-11 15:38:16 +08:00
parent fdd9a20a16
commit e8e4992dbe
5 changed files with 121 additions and 4 deletions

View File

@@ -374,6 +374,37 @@ namespace WMS.Web.Repositories
}
return details;
}
/// <summary>
/// 根据序列号查询
/// </summary>
/// <param name="serialNumbers"></param>
/// <returns></returns>
public async Task<List<SerialNumbers>> GetEntityList(List<string> serialNumbers)
{
var res = await _context.SerialNumbers
// .Where(f => serialNumbers.Contains(f.SerialNumber))
.Where(f => serialNumbers.Contains(f.SerialNumber))
.ToListAsync();
var res_c = res.Clone();
//var s_e = res.Select(s => s.SerialNumber).ToList();
var s_e = res.Select(s => s.TwoSerialNumber).ToList();
//在序列表里没找到的序列码 则到老ops序列码数据里去处理 list比较 取差集
var s_c = serialNumbers.Except(s_e);
if (s_c.Count() > 0)
{
var entitys_ops = serialNumbers.Where(w => s_c.Contains(w)).ToList();
var r_o = await _context.SerialNumbers_Ops
.Where(f => serialNumbers.Contains(f.SerialNumber))
.ToListAsync();
res_c.AddRange(_mapper.Map<List<SerialNumbers>>(r_o.Clone()));
}
return res_c;
}
/// <summary>
/// 根据序列号搜索
/// </summary>

View File

@@ -617,10 +617,73 @@ namespace WMS.Web.Repositories
.Include(s => s.Details).ThenInclude(s => s.ErpDetails)
.Where(f => f.Status == OutStockStatus.Wait || f.Status == OutStockStatus.Part)
.ToListAsync();
return res.Clone();
}
/// <summary>
/// 根据序列号查询
/// </summary>
/// <param name="serialNumbers"></param>
/// <returns></returns>
public async Task<List<SerialNumbers>> GetEntityList(List<string> serialNumbers)
{
var res = await _context.SerialNumbers
// .Where(f => serialNumbers.Contains(f.SerialNumber))
.Where(f => serialNumbers.Contains(f.SerialNumber))
.ToListAsync();
var res_c = res.Clone();
//var s_e = res.Select(s => s.SerialNumber).ToList();
var s_e = res.Select(s => s.TwoSerialNumber).ToList();
//在序列表里没找到的序列码 则到老ops序列码数据里去处理 list比较 取差集
var s_c = serialNumbers.Except(s_e);
if (s_c.Count() > 0)
{
var entitys_ops = serialNumbers.Where(w => s_c.Contains(w)).ToList();
var r_o = await _context.SerialNumbers_Ops
.Where(f => serialNumbers.Contains(f.SerialNumber))
.ToListAsync();
res_c.AddRange(_mapper.Map<List<SerialNumbers>>(r_o.Clone()));
}
return res_c;
}
/// <summary>
/// 根据套装码获取序列码
/// </summary>
/// <param name="boxIds"></param>
/// <returns></returns>
public async Task<List<SerialNumbers>> GetEntityListBySuitNumber(string suitNumber)
{
return await _context.SerialNumbers.AsNoTracking()
.Where(f => f.SerialNumber.Contains(suitNumber))
.ToListAsync();
//var res = await _context.SerialNumbers
// .Where(f => serialNumbers.Contains(f.SerialNumber))
// .ToListAsync();
//var res_c = res.Clone();
//var s_e = res.Select(s => s.SerialNumber).ToList();
////在序列表里没找到的序列码 则到老ops序列码数据里去处理 list比较 取差集
//var s_c = serialNumbers.Except(s_e);
//if (s_c.Count() > 0)
//{
// var entitys_ops = serialNumbers.Where(w => s_c.Contains(w)).ToList();
// var r_o = await _context.SerialNumbers_Ops
// .Where(f => serialNumbers.Contains(f.SerialNumber))
// .ToListAsync();
// res_c.AddRange(_mapper.Map<List<SerialNumbers>>(r_o.Clone()));
//}
//return res_c;
}
public string GetInStock(List<string> codes, int companyId, string orgCode)
{
var list = codes.Where(w => w != null).ToList();