接口优化
This commit is contained in:
@@ -171,13 +171,13 @@ namespace WMS.Web.Api.Controllers
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("GetBoxInventoryDetails/{boxBillNo}")]
|
||||
public async Task<ResultList<BoxInventoryDetailsResponse>> GetBoxInventoryDetails([FromRoute] string boxBillNo)
|
||||
public async Task<Result<BoxInventoryResponse>> GetBoxInventoryDetails([FromRoute] string boxBillNo)
|
||||
{
|
||||
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
|
||||
if (loginInfo == null || loginInfo.UserInfo == null)
|
||||
return ResultPagedList<BoxInventoryDetailsResponse>.ReFailure(ResultCodes.Token_Invalid_Error);
|
||||
var result = await _boxInventoryRepositories.GetListDetailsBy(boxBillNo);
|
||||
return ResultList <BoxInventoryDetailsResponse>.ReSuccess(result);
|
||||
return Result<BoxInventoryResponse>.ReFailure(ResultCodes.Token_Invalid_Error);
|
||||
var result = await _boxInventoryRepositories.GetInfoBy(boxBillNo);
|
||||
return Result <BoxInventoryResponse>.ReSuccess(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2140,66 +2140,41 @@
|
||||
序列号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.Inventory.BoxInventoryResponse">
|
||||
<summary>
|
||||
箱库存信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryResponse.BoxId">
|
||||
<summary>
|
||||
箱ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryResponse.StockCode">
|
||||
<summary>
|
||||
仓库编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryResponse.SubStockId">
|
||||
<summary>
|
||||
仓位ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Inventory.BoxInventoryResponse.Details">
|
||||
<summary>
|
||||
明细
|
||||
</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>
|
||||
序列号集
|
||||
|
||||
@@ -200,7 +200,7 @@
|
||||
仓库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WMS.Web.Domain.Entitys.BoxInventory.Details">
|
||||
<member name="P:WMS.Web.Domain.Entitys.BoxInventory.Details">
|
||||
<summary>
|
||||
明细
|
||||
</summary>
|
||||
@@ -1668,7 +1668,7 @@
|
||||
<param name="dto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Infrastructure.IBoxInventoryRepositories.GetListDetailsBy(System.String)">
|
||||
<member name="M:WMS.Web.Domain.Infrastructure.IBoxInventoryRepositories.GetInfoBy(System.String)">
|
||||
<summary>
|
||||
明细集合-根据箱号
|
||||
</summary>
|
||||
@@ -3321,7 +3321,7 @@
|
||||
非采购上架-保存
|
||||
</summary>
|
||||
<param name="dto"></param>
|
||||
<param name="staffId"></param>
|
||||
<param name="loginInfo"></param>
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
|
||||
@@ -5,63 +5,43 @@ using System.Text;
|
||||
namespace WMS.Web.Core.Dto.Inventory
|
||||
{
|
||||
/// <summary>
|
||||
/// 箱库存明细响应对象
|
||||
/// 箱库存信息
|
||||
/// </summary>
|
||||
public class BoxInventoryDetailsResponse
|
||||
public class BoxInventoryResponse
|
||||
{
|
||||
|
||||
/// <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; }
|
||||
public List<BoxInventoryDetailsResponse> Details { get; set; }
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 箱库存明细响应对象
|
||||
/// </summary>
|
||||
public class BoxInventoryDetailsResponse:EntityBase
|
||||
{
|
||||
|
||||
/// <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>
|
||||
|
||||
@@ -32,6 +32,6 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// <summary>
|
||||
/// 明细
|
||||
/// </summary>
|
||||
public List<BoxInventoryDetails> Details = new List<BoxInventoryDetails>();
|
||||
public List<BoxInventoryDetails> Details { get; set; } = new List<BoxInventoryDetails>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace WMS.Web.Domain.Infrastructure
|
||||
/// </summary>
|
||||
/// <param name="boxBillNo"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<BoxInventoryDetailsResponse>> GetListDetailsBy(string boxBillNo);
|
||||
Task<BoxInventoryResponse> GetInfoBy(string boxBillNo);
|
||||
|
||||
/// <summary>
|
||||
/// 列表-根据箱ids
|
||||
|
||||
@@ -44,7 +44,16 @@ namespace WMS.Web.Domain.Mappers
|
||||
|
||||
//即时库存明细-映射
|
||||
CreateMap<InventoryDetailsGenerateDto, InventoryDetails>();
|
||||
|
||||
|
||||
|
||||
//箱库存详情-映射
|
||||
CreateMap<BoxInventoryResponse, BoxInventory>()
|
||||
.ForMember(x=>x.Details,t=>t.Ignore());
|
||||
CreateMap<BoxInventoryDetailsResponse, BoxInventoryDetails>();
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,7 +241,7 @@ namespace WMS.Web.Domain.Services
|
||||
/// 非采购上架-保存
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <param name="staffId"></param>
|
||||
/// <param name="loginInfo"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
private async Task<Result> ShelfNoPurchaseSave(NoPurchaseShelfRequest dto, LoginInDto loginInfo, bool isTransaction = true)
|
||||
|
||||
@@ -101,39 +101,23 @@ namespace WMS.Web.Repositories
|
||||
/// </summary>
|
||||
/// <param name="boxBillNo"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<BoxInventoryDetailsResponse>> GetListDetailsBy(string boxBillNo)
|
||||
public async Task<BoxInventoryResponse> GetInfoBy(string boxBillNo)
|
||||
{
|
||||
//1.获取物料集合和组织集合
|
||||
var materials_result = await _erpService.BillQueryForMaterial();
|
||||
if (!materials_result.IsSuccess)
|
||||
return new List<BoxInventoryDetailsResponse>();
|
||||
var materials = materials_result.Data.ToList();
|
||||
////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 })
|
||||
.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 entity=await _context.BoxInventory.Include(x=>x.Details)
|
||||
.GroupJoin(_context.Box, t => t.BoxId, box => box.Id, (boxinvent, ts) => new { boxinvent, ts })
|
||||
.SelectMany(x => x.ts.DefaultIfEmpty(), (p, box) => new { p.boxinvent, box })
|
||||
.Where(x => 1 == 1 && x.box.BoxBillNo==boxBillNo).Select(x=>x.boxinvent).FirstOrDefaultAsync();
|
||||
|
||||
var list = await query.Select(x => new BoxInventoryDetailsResponse()
|
||||
{
|
||||
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,
|
||||
Qty=x.detail.Qty,
|
||||
SerialNumbers=x.detail.SerialNumbers
|
||||
}).ToListAsync();
|
||||
|
||||
return list;
|
||||
var response = _mapper.Map<BoxInventoryResponse>(entity);
|
||||
response.Details = _mapper.Map<List<BoxInventoryDetailsResponse>>(entity.Details);
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user