From aee5ba78a2f54754da719ca1ba56213a9e607870 Mon Sep 17 00:00:00 2001
From: tongfei <244188119@qq.com>
Date: Mon, 13 Nov 2023 17:19:14 +0800
Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=AE=B1=E5=BA=93=E5=AD=98?=
=?UTF-8?q?=E6=98=8E=E7=BB=86-=E6=A0=B9=E6=8D=AE=E7=AE=B1=E5=8F=B7-pad?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/InventoryController.cs | 16 +++++++
src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml | 7 +++
src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 40 ++++++++++++++++
src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 7 +++
.../Dto/Inventory/BoxInventoryDto.cs | 48 +++++++++++++++++++
.../Entitys/BoxInventoryDetails.cs | 2 +-
.../IBoxInventoryRepositories.cs | 7 +++
.../BoxInventoryRepositories.cs | 27 +++++++++++
.../Configuration/RepositoryDbContext.cs | 3 ++
9 files changed, 156 insertions(+), 1 deletion(-)
create mode 100644 src/WMS.Web.Core/Dto/Inventory/BoxInventoryDto.cs
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