diff --git a/src/WMS.Web.Api/Controllers/InventoryController.cs b/src/WMS.Web.Api/Controllers/InventoryController.cs
index ce64bda5..046b3251 100644
--- a/src/WMS.Web.Api/Controllers/InventoryController.cs
+++ b/src/WMS.Web.Api/Controllers/InventoryController.cs
@@ -82,5 +82,21 @@ namespace WMS.Web.Api.Controllers
var result = await _boxInventoryRepositories.GetPagedList(dto);
return result;
}
+
+ ///
+ /// 获取箱库存明细-根据箱号-pad
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("GetBoxInventoryDetails/{boxBillNo}")]
+ public async Task> GetBoxInventoryDetails([FromRoute] string boxBillNo)
+ {
+ var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
+ if (loginInfo == null || loginInfo.UserInfo == null)
+ return ResultPagedList.ReFailure(ResultCodes.Token_Invalid_Error);
+ var result = await _boxInventoryRepositories.GetListDetailsBy(boxBillNo);
+ return ResultList < BoxInventoryDetailsDto >.ReSuccess(result);
+ }
}
}
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
index 555fc28c..682db163 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
@@ -176,6 +176,13 @@
+
+
+ 获取箱库存明细-根据箱号-pad
+
+
+
+
登录接口
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index c9311ffc..ee500e1c 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -1830,6 +1830,46 @@
保存入库单-请求对象
+
+
+ 箱库存
+
+
+
+
+ 箱库存明细
+
+
+
+
+ 明细ID
+
+
+
+
+ 箱ID
+
+
+
+
+ 箱库存ID
+
+
+
+
+ 物料ID
+
+
+
+
+ 序列号集
+
+
+
+
+ 物料库存数量
+
+
箱库存-查询请求对象
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index 9b17d53e..8fb0078c 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -1412,6 +1412,13 @@
+
+
+ 明细集合-根据箱号
+
+
+
+
批量添加
diff --git a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryDto.cs b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryDto.cs
new file mode 100644
index 00000000..8c7c78f6
--- /dev/null
+++ b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryDto.cs
@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WMS.Web.Core.Dto.Inventory
+{
+ ///
+ /// 箱库存
+ ///
+ public class BoxInventoryDto
+ {
+
+ }
+
+ ///
+ /// 箱库存明细
+ ///
+ public class BoxInventoryDetailsDto
+ {
+ ///
+ /// 明细ID
+ ///
+ public int DetailsId { get; set; }
+
+ ///
+ /// 箱ID
+ ///
+ public int BoxId { get; set; }
+
+ ///
+ /// 箱库存ID
+ ///
+ public int BoxInventoryId { get; set; }
+
+ ///
+ /// 物料ID
+ ///
+ public int MaterialId { get; set; }
+ ///
+ /// 序列号集
+ ///
+ public List SerialNumbers { get; set; } = new List();
+ ///
+ /// 物料库存数量
+ ///
+ public decimal Qty { get; set; }
+ }
+}
diff --git a/src/WMS.Web.Domain/Entitys/BoxInventoryDetails.cs b/src/WMS.Web.Domain/Entitys/BoxInventoryDetails.cs
index 820b7622..1c1c0446 100644
--- a/src/WMS.Web.Domain/Entitys/BoxInventoryDetails.cs
+++ b/src/WMS.Web.Domain/Entitys/BoxInventoryDetails.cs
@@ -29,7 +29,7 @@ namespace WMS.Web.Domain.Entitys
///
/// 序列号集
///
- public string SerialNumbers { get; set; }
+ public List SerialNumbers { get; set; } = new List();
///
/// 物料库存数量
///
diff --git a/src/WMS.Web.Domain/Infrastructure/IBoxInventoryRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IBoxInventoryRepositories.cs
index 5d9cf45f..c1b42267 100644
--- a/src/WMS.Web.Domain/Infrastructure/IBoxInventoryRepositories.cs
+++ b/src/WMS.Web.Domain/Infrastructure/IBoxInventoryRepositories.cs
@@ -19,6 +19,13 @@ namespace WMS.Web.Domain.Infrastructure
///
///
Task> GetPagedList(BoxInventoryQueryRequest dto);
+
+ ///
+ /// 明细集合-根据箱号
+ ///
+ ///
+ ///
+ Task> GetListDetailsBy(string boxBillNo);
///
/// 批量添加
///
diff --git a/src/WMS.Web.Repositories/BoxInventoryRepositories.cs b/src/WMS.Web.Repositories/BoxInventoryRepositories.cs
index b3af134f..2bb5c8e6 100644
--- a/src/WMS.Web.Repositories/BoxInventoryRepositories.cs
+++ b/src/WMS.Web.Repositories/BoxInventoryRepositories.cs
@@ -101,6 +101,33 @@ namespace WMS.Web.Repositories
return response;
}
+ ///
+ /// 明细集合-根据箱号
+ ///
+ ///
+ ///
+ public async Task> GetListDetailsBy(string boxBillNo)
+ {
+ var query=_context.BoxInventoryDetails
+ .GroupJoin(_context.BoxInventory, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders })
+ .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order })
+ .GroupJoin(_context.Box, p => p.order.BoxId, t => t.Id, (p, ts) => new { p.detail, p.order, ts })
+ .SelectMany(x => x.ts.DefaultIfEmpty(), (p, box) => new { p.detail, p.order, box })
+ .Where(x => 1 == 1 && x.box.BoxBillNo==boxBillNo);
+
+ var list = await query.Select(x => new BoxInventoryDetailsDto()
+ {
+ DetailsId=x.detail.Id,
+ BoxId=x.box.Id,
+ BoxInventoryId=x.order.Id,
+ MaterialId=x.detail.MaterialId,
+ Qty=x.detail.Qty,
+ SerialNumbers=x.detail.SerialNumbers
+ }).ToListAsync();
+
+ return list;
+ }
+
///
/// 批量添加
///
diff --git a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs
index aa94991a..729c827a 100644
--- a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs
+++ b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs
@@ -211,6 +211,9 @@ namespace WMS.Web.Repositories.Configuration
{
ent.ToTable("t_wms_box_inventory_details");
ent.HasKey(x => x.Id);
+ ent.Property(f => f.SerialNumbers).HasConversion(
+ v => JsonConvert.SerializeObject(v),
+ v => JsonConvert.DeserializeObject>(v));
});
# endregion