From 52dc793d50ad1fd62d91748fb12a73bff457e84c Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Wed, 3 Jan 2024 14:55:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 26 +++++++++ .../IService/IInStockTaskBoxService.cs | 22 ++++++++ .../Services/InStockTaskBoxService.cs | 54 +++++++++++++++++++ .../DependencyInjection/AppBuilder.cs | 3 +- 4 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 src/WMS.Web.Domain/IService/IInStockTaskBoxService.cs create mode 100644 src/WMS.Web.Domain/Services/InStockTaskBoxService.cs diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 3d4177a5..c153e725 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -2694,6 +2694,19 @@ + + + 任务单的箱收货记录服务 + + + + + 解绑-收货的箱子 + + + + + 入库任务单-服务接口 @@ -4049,6 +4062,19 @@ + + + 任务单的箱收货记录服务 + + + + + 解绑-收货的箱子 + + + + + 入库任务单-服务 diff --git a/src/WMS.Web.Domain/IService/IInStockTaskBoxService.cs b/src/WMS.Web.Domain/IService/IInStockTaskBoxService.cs new file mode 100644 index 00000000..59cd24d2 --- /dev/null +++ b/src/WMS.Web.Domain/IService/IInStockTaskBoxService.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using WMS.Web.Core.Internal.Results; + +namespace WMS.Web.Domain.IService +{ + /// + /// 任务单的箱收货记录服务 + /// + public interface IInStockTaskBoxService + { + /// + /// 解绑-收货的箱子 + /// + /// + /// + /// + Task UnBind(List boxIds, bool isTransaction = true); + } +} diff --git a/src/WMS.Web.Domain/Services/InStockTaskBoxService.cs b/src/WMS.Web.Domain/Services/InStockTaskBoxService.cs new file mode 100644 index 00000000..564b0efb --- /dev/null +++ b/src/WMS.Web.Domain/Services/InStockTaskBoxService.cs @@ -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 +{ + /// + /// 任务单的箱收货记录服务 + /// + public class InStockTaskBoxService: IInStockTaskBoxService + { + private readonly IInStockTaskBoxRepositories _inStockTaskBoxRepositories; + private readonly IBoxInventoryRepositories _boxInventoryRepositories; + public InStockTaskBoxService(IInStockTaskBoxRepositories inStockTaskBoxRepositories, IBoxInventoryRepositories boxInventoryRepositories) + { + _inStockTaskBoxRepositories = inStockTaskBoxRepositories; + _boxInventoryRepositories = boxInventoryRepositories; + } + + /// + /// 解绑-收货的箱子 + /// + /// + /// + /// + public async Task UnBind(List boxIds, bool isTransaction = true) + { + var delete_ids = new List(); + 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(); + } + } +} diff --git a/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs b/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs index 0acd41d2..d5dfd564 100644 --- a/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs +++ b/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs @@ -295,7 +295,8 @@ namespace WMS.Web.Repositories.DependencyInjection Services.AddTransient(); Services.AddTransient(); Services.AddTransient(); - + Services.AddTransient(); + } } }