增加搜索条件
This commit is contained in:
@@ -39,6 +39,7 @@ namespace WMS.Web.Api.Controllers
|
|||||||
private readonly IOpsService _opsService;
|
private readonly IOpsService _opsService;
|
||||||
private readonly IBoxService _boxService;
|
private readonly IBoxService _boxService;
|
||||||
private readonly IOutStockTaskRepositories _outStockTaskRepositories;
|
private readonly IOutStockTaskRepositories _outStockTaskRepositories;
|
||||||
|
private readonly IOutStockRepositories _outStockRepositories;
|
||||||
private readonly IOutStockTaskService _outStockTaskService;
|
private readonly IOutStockTaskService _outStockTaskService;
|
||||||
private readonly IBoxInventoryRepositories _boxInventoryRepositories;
|
private readonly IBoxInventoryRepositories _boxInventoryRepositories;
|
||||||
private readonly ITakeStockService _takeStockService;
|
private readonly ITakeStockService _takeStockService;
|
||||||
@@ -55,7 +56,7 @@ namespace WMS.Web.Api.Controllers
|
|||||||
IBasicsRepositories transactionRepositories, IOpsService opsService, IBoxService boxService, IBasicsRepositories basicsRepositories, IMemoryCache memoryCache,
|
IBasicsRepositories transactionRepositories, IOpsService opsService, IBoxService boxService, IBasicsRepositories basicsRepositories, IMemoryCache memoryCache,
|
||||||
IOutStockTaskRepositories outStockTaskRepositories, IOutStockTaskService outStockTaskService, IOptions<AppOptions> options, ILoginService loginService, ISendMessageService sendMessageService,
|
IOutStockTaskRepositories outStockTaskRepositories, IOutStockTaskService outStockTaskService, IOptions<AppOptions> options, ILoginService loginService, ISendMessageService sendMessageService,
|
||||||
ITakeStockService takeStockService, ITakeStockRepositories takeStockRepositories, IOutStockService outStockService, IInStockTaskRepositories inStockTaskRepositories,
|
ITakeStockService takeStockService, ITakeStockRepositories takeStockRepositories, IOutStockService outStockService, IInStockTaskRepositories inStockTaskRepositories,
|
||||||
IWebHostEnvironment env, IMaterialService materialService)
|
IWebHostEnvironment env, IMaterialService materialService, IOutStockRepositories outStockRepositories)
|
||||||
{
|
{
|
||||||
_memoryCache = memoryCache;
|
_memoryCache = memoryCache;
|
||||||
_materialService = materialService;
|
_materialService = materialService;
|
||||||
@@ -75,6 +76,7 @@ namespace WMS.Web.Api.Controllers
|
|||||||
_takeStockService = takeStockService;
|
_takeStockService = takeStockService;
|
||||||
_takeStockRepositories = takeStockRepositories;
|
_takeStockRepositories = takeStockRepositories;
|
||||||
_outStockService = outStockService;
|
_outStockService = outStockService;
|
||||||
|
_outStockRepositories = outStockRepositories;
|
||||||
_env = env;
|
_env = env;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,6 +86,10 @@ namespace WMS.Web.Api.Controllers
|
|||||||
{
|
{
|
||||||
//var list = await _outStockTaskRepositories.GetEntityList(new List<int> { 14321 });
|
//var list = await _outStockTaskRepositories.GetEntityList(new List<int> { 14321 });
|
||||||
|
|
||||||
|
//await _outStockRepositories.GetEntityListBySerialNumbers(new List<string>() { "131L0" });
|
||||||
|
//await _outStockRepositories.GetEntityListByBoxBillNos(new List<string>() { "CTN0002187" });
|
||||||
|
|
||||||
|
|
||||||
//list[0].Details[0].ErpDetails[0].AccruedQty = 2;
|
//list[0].Details[0].ErpDetails[0].AccruedQty = 2;
|
||||||
//list[0].Details[0].ErpDetails.Add(new OutStockTaskErpDetails()
|
//list[0].Details[0].ErpDetails.Add(new OutStockTaskErpDetails()
|
||||||
//{
|
//{
|
||||||
|
|||||||
@@ -3206,6 +3206,12 @@
|
|||||||
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockRepositories.EditEntityList(System.Collections.Generic.List{WMS.Web.Domain.Entitys.OutStock},System.Boolean)">
|
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockRepositories.EditEntityList(System.Collections.Generic.List{WMS.Web.Domain.Entitys.OutStock},System.Boolean)">
|
||||||
修改实体集合
|
修改实体集合
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockRepositories.GetEntityListBySerialNumbers(System.Collections.Generic.List{System.String})">
|
||||||
|
根据出库序列码搜索
|
||||||
|
</member>
|
||||||
|
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockRepositories.GetEntityListByBoxBillNos(System.Collections.Generic.List{System.String})">
|
||||||
|
根据出库箱号搜索
|
||||||
|
</member>
|
||||||
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockTaskRepositories.AddRange(System.Collections.Generic.List{WMS.Web.Domain.Entitys.OutStockTask},System.Boolean)">
|
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockTaskRepositories.AddRange(System.Collections.Generic.List{WMS.Web.Domain.Entitys.OutStockTask},System.Boolean)">
|
||||||
<summary>
|
<summary>
|
||||||
批量添加
|
批量添加
|
||||||
|
|||||||
@@ -26,5 +26,10 @@ namespace WMS.Web.Domain.Infrastructure
|
|||||||
Task<OutStockInfoResponse> GetInfo(int id);
|
Task<OutStockInfoResponse> GetInfo(int id);
|
||||||
//获取出库单明细
|
//获取出库单明细
|
||||||
Task<List<BoxDetailResponse>> GetDetailsByBoxId(int boxId);
|
Task<List<BoxDetailResponse>> GetDetailsByBoxId(int boxId);
|
||||||
|
|
||||||
|
/// 根据出库序列码搜索
|
||||||
|
Task<List<OutStock>> GetEntityListBySerialNumbers(List<string> serialNumbers);
|
||||||
|
/// 根据出库箱号搜索
|
||||||
|
Task<List<OutStock>> GetEntityListByBoxBillNos(List<string> boxBillNos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ using Microsoft.Extensions.Logging;
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using WMS.Web.Core;
|
using WMS.Web.Core;
|
||||||
@@ -373,5 +374,41 @@ namespace WMS.Web.Repositories
|
|||||||
}
|
}
|
||||||
return details;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,9 +34,11 @@ namespace WMS.Web.Repositories
|
|||||||
private readonly IErpService _erpService;
|
private readonly IErpService _erpService;
|
||||||
private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
|
private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
|
||||||
private readonly ILogger<OutStockTaskRepositories> _logger;
|
private readonly ILogger<OutStockTaskRepositories> _logger;
|
||||||
|
private readonly IOutStockRepositories _outStockRepositories;
|
||||||
public OutStockTaskRepositories(RepositoryDbContext context, IMapper mapper, IServiceProvider serviceProvider,
|
public OutStockTaskRepositories(RepositoryDbContext context, IMapper mapper, IServiceProvider serviceProvider,
|
||||||
ISingleDataService singleDataService, ILoginRepositories loginRepositories, IErpService erpService,
|
ISingleDataService singleDataService, ILoginRepositories loginRepositories, IErpService erpService,
|
||||||
IErpBasicDataExtendService erpBasicDataExtendService, ILogger<OutStockTaskRepositories> logger)
|
IErpBasicDataExtendService erpBasicDataExtendService, ILogger<OutStockTaskRepositories> logger,
|
||||||
|
IOutStockRepositories outStockRepositories)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
@@ -46,6 +48,8 @@ namespace WMS.Web.Repositories
|
|||||||
_erpService = erpService;
|
_erpService = erpService;
|
||||||
_erpBasicDataExtendService = erpBasicDataExtendService;
|
_erpBasicDataExtendService = erpBasicDataExtendService;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
|
_outStockRepositories = outStockRepositories;
|
||||||
|
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增
|
/// 新增
|
||||||
@@ -273,6 +277,19 @@ namespace WMS.Web.Repositories
|
|||||||
if (customer_result.IsSuccess)
|
if (customer_result.IsSuccess)
|
||||||
customers = customer_result.Data.ToList();
|
customers = customer_result.Data.ToList();
|
||||||
|
|
||||||
|
List<int> taskIds = new List<int>();
|
||||||
|
//序列码出库单
|
||||||
|
if (dto.SerialNumbers.Count() > 0)
|
||||||
|
{
|
||||||
|
var res = await _outStockRepositories.GetEntityListBySerialNumbers(dto.SerialNumbers);
|
||||||
|
taskIds.AddRange(res.Select(s => s.TaskId));
|
||||||
|
}
|
||||||
|
//箱号取出库单
|
||||||
|
if (dto.BoxBillNos.Count() > 0)
|
||||||
|
{
|
||||||
|
var res = await _outStockRepositories.GetEntityListByBoxBillNos(dto.BoxBillNos);
|
||||||
|
taskIds.AddRange(res.Select(s => s.TaskId));
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var query = _context.OutStockTaskDetails.Include(x => x.ErpDetails)
|
var query = _context.OutStockTaskDetails.Include(x => x.ErpDetails)
|
||||||
@@ -315,6 +332,10 @@ namespace WMS.Web.Repositories
|
|||||||
DateTime dt_end = ((DateTime)dto.CreateEndDate).AddDays(1);
|
DateTime dt_end = ((DateTime)dto.CreateEndDate).AddDays(1);
|
||||||
query = query.Where(w => w.order.OperateTime <= dt_end);
|
query = query.Where(w => w.order.OperateTime <= dt_end);
|
||||||
}
|
}
|
||||||
|
if (taskIds.Count() > 0)
|
||||||
|
{
|
||||||
|
query = query.Where(w => taskIds.Contains(w.order.Id));
|
||||||
|
}
|
||||||
//组装
|
//组装
|
||||||
int total = await query.CountAsync();
|
int total = await query.CountAsync();
|
||||||
var list = await query.Select(s => new OutStockTaskQueryInfoResponse()
|
var list = await query.Select(s => new OutStockTaskQueryInfoResponse()
|
||||||
|
|||||||
Reference in New Issue
Block a user