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();
+
}
}
}