优化接口
This commit is contained in:
54
src/WMS.Web.Domain/Services/InStockTaskBoxService.cs
Normal file
54
src/WMS.Web.Domain/Services/InStockTaskBoxService.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using WMS.Web.Core.Internal.Results;
|
||||
using WMS.Web.Domain.Infrastructure;
|
||||
using WMS.Web.Domain.IService;
|
||||
using WMS.Web.Domain.Values;
|
||||
|
||||
namespace WMS.Web.Domain.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// 任务单的箱收货记录服务
|
||||
/// </summary>
|
||||
public class InStockTaskBoxService: IInStockTaskBoxService
|
||||
{
|
||||
private readonly IInStockTaskBoxRepositories _inStockTaskBoxRepositories;
|
||||
private readonly IBoxInventoryRepositories _boxInventoryRepositories;
|
||||
public InStockTaskBoxService(IInStockTaskBoxRepositories inStockTaskBoxRepositories, IBoxInventoryRepositories boxInventoryRepositories)
|
||||
{
|
||||
_inStockTaskBoxRepositories = inStockTaskBoxRepositories;
|
||||
_boxInventoryRepositories = boxInventoryRepositories;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 解绑-收货的箱子
|
||||
/// </summary>
|
||||
/// <param name="boxIds"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> UnBind(List<int> boxIds, bool isTransaction = true)
|
||||
{
|
||||
var delete_ids = new List<int>();
|
||||
var t_boxIds = boxIds.Distinct().ToList();
|
||||
var list= await _inStockTaskBoxRepositories.GetListBy(t_boxIds);
|
||||
var boxInvetList = await _boxInventoryRepositories.GetList(t_boxIds);
|
||||
foreach (var item in list)
|
||||
{
|
||||
var isHave= boxInvetList.Where(x => x.BoxId == item.BoxId).Any();
|
||||
if (!isHave)
|
||||
delete_ids.Add(item.Id);
|
||||
}
|
||||
|
||||
if (delete_ids.Count != 0)
|
||||
{
|
||||
var isSuccess= await _inStockTaskBoxRepositories.DeleteRange(delete_ids, isTransaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user