增加入库箱验证

This commit is contained in:
18942506660
2024-05-29 11:57:12 +08:00
parent 6432a1e547
commit 8fa307bd8a
6 changed files with 38 additions and 8 deletions

View File

@@ -32,13 +32,14 @@ namespace WMS.Web.Api.Controllers
private readonly ILoginService _loginService; private readonly ILoginService _loginService;
private readonly IBoxRepositories _boxRepositories; private readonly IBoxRepositories _boxRepositories;
private readonly IInStockTaskBoxRepositories _inStockTaskBoxRepositories; private readonly IInStockTaskBoxRepositories _inStockTaskBoxRepositories;
private readonly IInStockRepositories _inStockRepositories;
private readonly ISerialNumbersRepositories _serialNumbersRepositories; private readonly ISerialNumbersRepositories _serialNumbersRepositories;
private IBasicsRepositories _transactionRepositories; private IBasicsRepositories _transactionRepositories;
private readonly ILogger<TakeStockController> _logger; private readonly ILogger<TakeStockController> _logger;
public BarCodeController(IMapper mapper, ILoginService loginService, public BarCodeController(IMapper mapper, ILoginService loginService,
IBoxRepositories boxRepositories, IInStockTaskBoxRepositories inStockTaskBoxRepositories, IBoxRepositories boxRepositories, IInStockTaskBoxRepositories inStockTaskBoxRepositories,
ILogger<TakeStockController> logger, ISerialNumbersRepositories serialNumbersRepositorie, ILogger<TakeStockController> logger, ISerialNumbersRepositories serialNumbersRepositorie,
IBasicsRepositories transactionRepositories) IBasicsRepositories transactionRepositories, IInStockRepositories inStockRepositories)
{ {
_mapper = mapper; _mapper = mapper;
_loginService = loginService; _loginService = loginService;
@@ -47,10 +48,11 @@ namespace WMS.Web.Api.Controllers
_serialNumbersRepositories = serialNumbersRepositorie; _serialNumbersRepositories = serialNumbersRepositorie;
_transactionRepositories = transactionRepositories; _transactionRepositories = transactionRepositories;
_logger = logger; _logger = logger;
_inStockRepositories = inStockRepositories;
} }
/// <summary> /// <summary>
/// 导出 /// 重置箱信息
/// </summary> /// </summary>
/// <param name="dto"></param> /// <param name="dto"></param>
/// <returns></returns> /// <returns></returns>
@@ -61,10 +63,16 @@ namespace WMS.Web.Api.Controllers
_logger.LogInformation($"重置箱信息:{JsonConvert.SerializeObject(dto)}"); _logger.LogInformation($"重置箱信息:{JsonConvert.SerializeObject(dto)}");
var boxs = await _boxRepositories.GetEntityListByNos(dto.Ids); var boxs = await _boxRepositories.GetEntityListByNos(dto.Ids);
var boxIds = boxs.Select(s => s.Id).ToList(); var boxIds = boxs.Select(s => s.Id).ToList();
//查出已经入库的箱子 //查出已经收货的箱子
var inStockList = await _inStockTaskBoxRepositories.GetListBy(boxIds); var inStockList = await _inStockTaskBoxRepositories.GetListBy(boxIds);
//已经入库的箱子 //已经收货的箱子
var inBoxBillNo = inStockList.Select(s => s.BoxBillNo).ToList(); var inBoxBillNo = inStockList.Select(s => s.BoxBillNo).ToList();
//已经入库的箱子
var ids = await _inStockRepositories.GetInstockBoxIds(boxIds);
var nos = boxs.Where(w => ids.Contains(w.Id)).Select(s => s.BoxBillNo).ToList();
inBoxBillNo.AddRange(nos);
inBoxBillNo = inBoxBillNo.Distinct().ToList();//去重
//找到需要删除的箱子 //找到需要删除的箱子
var deleteBoxIds = boxs.Where(w => !inBoxBillNo.Contains(w.BoxBillNo)).Select(s => s.Id).ToList(); var deleteBoxIds = boxs.Where(w => !inBoxBillNo.Contains(w.BoxBillNo)).Select(s => s.Id).ToList();
if (deleteBoxIds.Count() == 0) return Result<List<string>>.ReSuccess(inBoxBillNo); if (deleteBoxIds.Count() == 0) return Result<List<string>>.ReSuccess(inBoxBillNo);

View File

@@ -44,7 +44,7 @@
</member> </member>
<member name="M:WMS.Web.Api.Controllers.BarCodeController.Restart(WMS.Web.Core.Dto.OperateStrRequest)"> <member name="M:WMS.Web.Api.Controllers.BarCodeController.Restart(WMS.Web.Core.Dto.OperateStrRequest)">
<summary> <summary>
导出 重置箱信息
</summary> </summary>
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>

View File

@@ -2892,6 +2892,13 @@
<param name="isTransaction"></param> <param name="isTransaction"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.Infrastructure.IInStockRepositories.GetInstockBoxIds(System.Collections.Generic.List{System.Int32})">
<summary>
获取-已入库的箱
</summary>
<param name="boxIds"></param>
<returns></returns>
</member>
<member name="T:WMS.Web.Domain.Infrastructure.IInStockTaskBoxRepositories"> <member name="T:WMS.Web.Domain.Infrastructure.IInStockTaskBoxRepositories">
<summary> <summary>
箱与任务单绑定(收货)关系表-仓储接口 箱与任务单绑定(收货)关系表-仓储接口

View File

@@ -123,5 +123,11 @@ namespace WMS.Web.Domain.Infrastructure
/// <param name="isTransaction"></param> /// <param name="isTransaction"></param>
/// <returns></returns> /// <returns></returns>
Task<bool> UpdateRange(List<InStockDetails> entitys, bool isTransaction = true); Task<bool> UpdateRange(List<InStockDetails> entitys, bool isTransaction = true);
/// <summary>
/// 获取-已入库的箱
/// </summary>
/// <param name="boxIds"></param>
/// <returns></returns>
Task<List<int>> GetInstockBoxIds(List<int> boxIds);
} }
} }

View File

@@ -410,7 +410,7 @@ namespace WMS.Web.Repositories
/// <returns></returns> /// <returns></returns>
public async Task<InStockErpDetails> GetLastBillNo() public async Task<InStockErpDetails> GetLastBillNo()
{ {
var entity = await _context.InStockErpDetails.Where(x=>!string.IsNullOrEmpty(x.BatchBillNo)).OrderByDescending(x => x.Id).FirstOrDefaultAsync(); var entity = await _context.InStockErpDetails.Where(x => !string.IsNullOrEmpty(x.BatchBillNo)).OrderByDescending(x => x.Id).FirstOrDefaultAsync();
return entity; return entity;
} }
@@ -422,7 +422,7 @@ namespace WMS.Web.Repositories
public async Task<List<InStockErpDetails>> GetErpDetails(List<string> sourceBillNos) public async Task<List<InStockErpDetails>> GetErpDetails(List<string> sourceBillNos)
{ {
var entity = await _context.InStockErpDetails.Where(x => sourceBillNos.Contains(x.SourceBillNo) && x.SuccessSync == SyncStatus.Success).ToListAsync(); var entity = await _context.InStockErpDetails.Where(x => sourceBillNos.Contains(x.SourceBillNo) && x.SuccessSync == SyncStatus.Success).ToListAsync();
return entity.Clone() ; return entity.Clone();
} }
/// <summary> /// <summary>
@@ -441,7 +441,7 @@ namespace WMS.Web.Repositories
/// <returns></returns> /// <returns></returns>
public async Task<List<InStockDetails>> GetNotSendDetails() public async Task<List<InStockDetails>> GetNotSendDetails()
{ {
var result= await _context.InStockDetails.Where(x =>x.IsHasSend != null && x.IsHasSend == false && !string.IsNullOrEmpty(x.CustomerCode)).ToListAsync(); var result = await _context.InStockDetails.Where(x => x.IsHasSend != null && x.IsHasSend == false && !string.IsNullOrEmpty(x.CustomerCode)).ToListAsync();
return result.Clone(); return result.Clone();
} }
@@ -487,5 +487,14 @@ namespace WMS.Web.Repositories
return true; return true;
} }
} }
/// <summary>
/// 获取已入库的箱
/// </summary>
/// <param name="boxIds"></param>
/// <returns></returns>
public async Task<List<int>> GetInstockBoxIds(List<int> boxIds)
{
return await _context.InStockDetails.Where(x => boxIds.Contains(x.BoxId)).Select(s => s.BoxId).ToListAsync();
}
} }
} }