增加搜索条件

This commit is contained in:
18942506660
2024-04-16 09:35:37 +08:00
parent ae823fad3e
commit 69de798d88
5 changed files with 77 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using WMS.Web.Core;
@@ -373,5 +374,41 @@ namespace WMS.Web.Repositories
}
return details;
}
/// <summary>
/// 根据序列号搜索
/// </summary>
/// <param name="serialNumbers"></param>
/// <returns></returns>
public Task<List<OutStock>> GetEntityListBySerialNumbers(List<string> serialNumbers)
{
if (serialNumbers.Count() == 0) Task.FromResult(new List<OutStock>());
string str = $"select * from t_wms_outstock where Id in (select Fid from t_wms_outstock_details where ";
for (int i = 0; i < serialNumbers.Count(); i++)
{
if (i == 0)
str += $"SerialNumbers like '%{serialNumbers[i]}%'";
else
str += $" or SerialNumbers like '%{serialNumbers[i]}%'";
}
str += ")";
var fs = FormattableStringFactory.Create(str);
var list = _context.Set<OutStock>().FromSqlInterpolated(fs).ToList();
return Task.FromResult(list);
}
/// <summary>
/// 根据箱号搜索
/// </summary>
/// <param name="boxBillNos"></param>
/// <returns></returns>
public async Task<List<OutStock>> GetEntityListByBoxBillNos(List<string> boxBillNos)
{
var boxIds = await _context.Box.Where(w => boxBillNos.Contains(w.BoxBillNo)).Select(s => s.Id).ToListAsync();
if (boxIds.Count() == 0) return new List<OutStock>();
var res = await _context.OutStock
.Include(s => s.Details).ThenInclude(s => s.BoxsDetails)
.Where(f => f.Details.SelectMany(s=>s.BoxsDetails).Where(wb=> boxIds.Contains(wb.BoxId)).Any()).ToListAsync();
return res;
}
}
}