箱库存查询

This commit is contained in:
tongfei
2023-11-15 15:32:58 +08:00
parent b5af69bb1a
commit c932e23f5c
6 changed files with 164 additions and 27 deletions

View File

@@ -171,13 +171,13 @@ namespace WMS.Web.Api.Controllers
/// <returns></returns>
[HttpPost]
[Route("GetBoxInventoryDetails/{boxBillNo}")]
public async Task<ResultList<BoxInventoryDetailsDto>> GetBoxInventoryDetails([FromRoute] string boxBillNo)
public async Task<ResultList<BoxInventoryDetailsResponse>> GetBoxInventoryDetails([FromRoute] string boxBillNo)
{
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null)
return ResultPagedList<BoxInventoryDetailsDto>.ReFailure(ResultCodes.Token_Invalid_Error);
return ResultPagedList<BoxInventoryDetailsResponse>.ReFailure(ResultCodes.Token_Invalid_Error);
var result = await _boxInventoryRepositories.GetListDetailsBy(boxBillNo);
return ResultList < BoxInventoryDetailsDto >.ReSuccess(result);
return ResultList <BoxInventoryDetailsResponse>.ReSuccess(result);
}
}
}

View File

@@ -2045,6 +2045,76 @@
序列号
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse">
<summary>
箱库存明细响应对象
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.BoxInventoryId">
<summary>
箱库存ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.BoxId">
<summary>
箱ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.DetailsId">
<summary>
明细ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.StockCode">
<summary>
仓库编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.Stock">
<summary>
仓库名称
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.SubStockId">
<summary>
仓位ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.SubStock">
<summary>
仓位名称
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.MaterialId">
<summary>
物料ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.MaterialName">
<summary>
物料名称
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.MaterialNumber">
<summary>
物料编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.Specifications">
<summary>
物料规格型号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.SerialNumbers">
<summary>
序列号集
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsResponse.Qty">
<summary>
物料库存数量
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Inventory.BoxInventoryDto">
<summary>
箱库存
@@ -2060,16 +2130,6 @@
明细ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsDto.BoxId">
<summary>
箱ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsDto.BoxInventoryId">
<summary>
箱库存ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryDetailsDto.MaterialId">
<summary>
物料ID

View File

@@ -0,0 +1,74 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WMS.Web.Core.Dto.Inventory
{
/// <summary>
/// 箱库存明细响应对象
/// </summary>
public class BoxInventoryDetailsResponse
{
/// <summary>
/// 箱库存ID
/// </summary>
public int BoxInventoryId { get; set; }
/// <summary>
/// 箱ID
/// </summary>
public int BoxId { get; set; }
/// <summary>
/// 明细ID
/// </summary>
public int DetailsId { get; set; }
/// <summary>
/// 仓库编码
/// </summary>
public string StockCode { get; set; }
/// <summary>
/// 仓库名称
/// </summary>
public string Stock { get; set; }
/// <summary>
/// 仓位ID
/// </summary>
public int SubStockId { get; set; }
/// <summary>
/// 仓位名称
/// </summary>
public string SubStock { get; set; }
/// <summary>
/// 物料ID
/// </summary>
public int MaterialId { get; set; }
/// <summary>
/// 物料名称
/// </summary>
public string MaterialName { get; set; }
/// <summary>
/// 物料编码
/// </summary>
public string MaterialNumber { get; set; }
/// <summary>
/// 物料规格型号
/// </summary>
public string Specifications { get; set; }
/// <summary>
/// 序列号集
/// </summary>
public List<string> SerialNumbers { get; set; } = new List<string>();
/// <summary>
/// 物料库存数量
/// </summary>
public decimal Qty { get; set; }
}
}

View File

@@ -22,16 +22,6 @@ namespace WMS.Web.Core.Dto.Inventory
/// </summary>
public int DetailsId { get; set; }
/// <summary>
/// 箱ID
/// </summary>
public int BoxId { get; set; }
/// <summary>
/// 箱库存ID
/// </summary>
public int BoxInventoryId { get; set; }
/// <summary>
/// 物料ID
/// </summary>

View File

@@ -25,7 +25,7 @@ namespace WMS.Web.Domain.Infrastructure
/// </summary>
/// <param name="boxBillNo"></param>
/// <returns></returns>
Task<List<BoxInventoryDetailsDto>> GetListDetailsBy(string boxBillNo);
Task<List<BoxInventoryDetailsResponse>> GetListDetailsBy(string boxBillNo);
/// <summary>
/// 列表-根据箱ids

View File

@@ -101,8 +101,14 @@ namespace WMS.Web.Repositories
/// </summary>
/// <param name="boxBillNo"></param>
/// <returns></returns>
public async Task<List<BoxInventoryDetailsDto>> GetListDetailsBy(string boxBillNo)
public async Task<List<BoxInventoryDetailsResponse>> GetListDetailsBy(string boxBillNo)
{
//1.获取物料集合和组织集合
var materials_result = await _erpService.BillQueryForMaterial();
if (!materials_result.IsSuccess)
return new List<BoxInventoryDetailsResponse>();
var materials = materials_result.Data.ToList();
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 })
@@ -110,9 +116,16 @@ namespace WMS.Web.Repositories
.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()
var list = await query.Select(x => new BoxInventoryDetailsResponse()
{
DetailsId=x.detail.Id,
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, x.detail.MaterialId),
MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, x.detail.MaterialId),
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, x.detail.MaterialId),
StockCode =x.order.StockCode,
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, x.order.StockCode),
SubStockId=x.order.SubStockId,
SubStock= _singleDataService.GetSingleData(SingleAction.SubStocks, _loginRepositories.CompanyId, x.order.SubStockId),
DetailsId =x.detail.Id,
BoxId=x.box.Id,
BoxInventoryId=x.order.Id,
MaterialId=x.detail.MaterialId,