接口优化
This commit is contained in:
@@ -139,11 +139,11 @@ namespace WMS.Web.Api.Controllers
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("GetTaskByBox/{boxBillNo}")]
|
||||
public async Task<Result<InStockTaskInfoDto>> GetTaskByBox([FromRoute] string boxBillNo)
|
||||
public async Task<Result<BoxInStockTaskDto>> GetTaskByBox([FromRoute] string boxBillNo)
|
||||
{
|
||||
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
|
||||
if (loginInfo == null || loginInfo.UserInfo == null)
|
||||
return Result<InStockTaskInfoDto>.ReFailure(ResultCodes.Token_Invalid_Error);
|
||||
return Result<BoxInStockTaskDto>.ReFailure(ResultCodes.Token_Invalid_Error);
|
||||
|
||||
return await _inStockService.GetInfoByBox(boxBillNo);
|
||||
}
|
||||
|
||||
@@ -1225,6 +1225,81 @@
|
||||
状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.InStockTask.BoxInStockTaskDto">
|
||||
<summary>
|
||||
扫箱-对应的任务单信息和箱的信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxInStockTaskDto.SourceBillNo">
|
||||
<summary>
|
||||
来源单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxInStockTaskDto.BoxId">
|
||||
<summary>
|
||||
箱ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxInStockTaskDto.TaskId">
|
||||
<summary>
|
||||
单据ID(等同-入库任务单ID)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxInStockTaskDto.Details">
|
||||
<summary>
|
||||
明细
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.InStockTask.BoxDetailsInStockTaskDto">
|
||||
<summary>
|
||||
箱明细和任务单明细结合
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxDetailsInStockTaskDto.SupplierId">
|
||||
<summary>
|
||||
供应商Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxDetailsInStockTaskDto.OrgId">
|
||||
<summary>
|
||||
组织ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxDetailsInStockTaskDto.MaterialId">
|
||||
<summary>
|
||||
物料ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxDetailsInStockTaskDto.MaterialName">
|
||||
<summary>
|
||||
物料名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxDetailsInStockTaskDto.MaterialNumber">
|
||||
<summary>
|
||||
物料编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxDetailsInStockTaskDto.Specifications">
|
||||
<summary>
|
||||
物料规格型号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxDetailsInStockTaskDto.AccruedQty">
|
||||
<summary>
|
||||
应入数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxDetailsInStockTaskDto.ReceiveQty">
|
||||
<summary>
|
||||
收货数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.BoxDetailsInStockTaskDto.BoxMaterialQty">
|
||||
<summary>
|
||||
箱对应物料的数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.InStockTask.ContrastMaterialsRequest">
|
||||
<summary>
|
||||
采购订单物料明细和箱物料明细-对比请求对象
|
||||
|
||||
81
src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs
Normal file
81
src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs
Normal file
@@ -0,0 +1,81 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace WMS.Web.Core.Dto.InStockTask
|
||||
{
|
||||
/// <summary>
|
||||
/// 扫箱-对应的任务单信息和箱的信息
|
||||
/// </summary>
|
||||
public class BoxInStockTaskDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 来源单号
|
||||
/// </summary>
|
||||
public string SourceBillNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 箱ID
|
||||
/// </summary>
|
||||
public int BoxId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单据ID(等同-入库任务单ID)
|
||||
/// </summary>
|
||||
public int TaskId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 明细
|
||||
/// </summary>
|
||||
public List<BoxDetailsInStockTaskDto> Details { get; set; } = new List<BoxDetailsInStockTaskDto>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 箱明细和任务单明细结合
|
||||
/// </summary>
|
||||
public class BoxDetailsInStockTaskDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 供应商Id
|
||||
/// </summary>
|
||||
public int SupplierId { get; set; }
|
||||
/// <summary>
|
||||
/// 组织ID
|
||||
/// </summary>
|
||||
public int OrgId { 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 decimal AccruedQty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货数量
|
||||
/// </summary>
|
||||
public decimal ReceiveQty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 箱对应物料的数量
|
||||
/// </summary>
|
||||
public decimal BoxMaterialQty { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -54,7 +54,7 @@ namespace WMS.Web.Domain.IService
|
||||
/// </summary>
|
||||
/// <param name="boxBillNo"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result<InStockTaskInfoDto>> GetInfoByBox(string boxBillNo);
|
||||
Task<Result<BoxInStockTaskDto>> GetInfoByBox(string boxBillNo);
|
||||
|
||||
/// <summary>
|
||||
/// 修改-入库任务信息
|
||||
|
||||
@@ -137,7 +137,7 @@ namespace WMS.Web.Domain.Services
|
||||
/// </summary>
|
||||
/// <param name="boxBillNo"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result<InStockTaskInfoDto>> GetInfoByBox(string boxBillNo)
|
||||
public async Task<Result<BoxInStockTaskDto>> GetInfoByBox(string boxBillNo)
|
||||
{
|
||||
//1.获取物料集合
|
||||
var materials_result = await _erpService.BillQueryForMaterial();
|
||||
@@ -148,36 +148,42 @@ namespace WMS.Web.Domain.Services
|
||||
//1.先判断:箱号已经绑定了入库任务单中;备注:业务说法就是箱是否收货了
|
||||
var tast = await _inStockTaskRepositories.GetBy(boxBillNo);
|
||||
if (tast == null)
|
||||
return Result<InStockTaskInfoDto>.ReFailure(ResultCodes.Box_NoBind_Task_Data);
|
||||
return Result<BoxInStockTaskDto>.ReFailure(ResultCodes.Box_NoBind_Task_Data);
|
||||
|
||||
//2.找到箱对应的物料信息
|
||||
var box = await _boxRepositories.GetByNo(boxBillNo);
|
||||
if (box == null)
|
||||
return Result<InStockTaskInfoDto>.ReFailure(ResultCodes.BoxNoData);
|
||||
return Result<BoxInStockTaskDto>.ReFailure(ResultCodes.BoxNoData);
|
||||
|
||||
//2.1判断箱是否上架过了
|
||||
var isExist = await _inStockRepositories.IsExistBy(box.Id);
|
||||
if(isExist)
|
||||
return Result<InStockTaskInfoDto>.ReFailure(ResultCodes.BoxIsTrueShelf);
|
||||
return Result<BoxInStockTaskDto>.ReFailure(ResultCodes.BoxIsTrueShelf);
|
||||
|
||||
//3.组装返回数据
|
||||
var result = _mapper.Map<InStockTaskInfoDto>(tast);
|
||||
var result = new BoxInStockTaskDto();
|
||||
result.SourceBillNo = tast.SourceBillNo;
|
||||
result.TaskId = tast.Id;
|
||||
result.BoxId = box.Id;
|
||||
foreach (var item in tast.Details)
|
||||
foreach (var item in box.Details)
|
||||
{
|
||||
//3.1判断当前物料是否相同
|
||||
var current_box_det = box.Details.Where(x => x.MaterialId == item.MaterialId).FirstOrDefault();
|
||||
if (current_box_det==null)
|
||||
continue;
|
||||
var current_task_Det= tast.Details.Where(x => x.MaterialId == item.MaterialId && x.AccruedQty>x.ReceiveQty).FirstOrDefault();
|
||||
//3.2映射返回明细对象
|
||||
var task_detail = _mapper.Map<InStockTaskDetailsInfoDto>(item);
|
||||
task_detail.BoxMaterialQty = current_box_det.Qty;
|
||||
task_detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, task_detail.MaterialId);
|
||||
task_detail.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, task_detail.MaterialId);
|
||||
task_detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, task_detail.MaterialId);
|
||||
result.Details.Add(task_detail);
|
||||
var box_task_detail = new BoxDetailsInStockTaskDto();
|
||||
box_task_detail.SupplierId = current_task_Det == null ? 0 : current_task_Det.SupplierId;
|
||||
box_task_detail.OrgId = current_task_Det == null ? 0 : current_task_Det.OrgId;
|
||||
box_task_detail.ReceiveQty = current_task_Det == null ? 0 : current_task_Det.ReceiveQty;
|
||||
box_task_detail.AccruedQty = current_task_Det == null ? 0 : current_task_Det.AccruedQty;
|
||||
|
||||
|
||||
box_task_detail.MaterialId = item.MaterialId;
|
||||
box_task_detail.BoxMaterialQty = item.Qty;
|
||||
box_task_detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, item.MaterialId);
|
||||
box_task_detail.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, item.MaterialId);
|
||||
box_task_detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, item.MaterialId);
|
||||
result.Details.Add(box_task_detail);
|
||||
}
|
||||
return Result<InStockTaskInfoDto>.ReSuccess(result);
|
||||
return Result<BoxInStockTaskDto>.ReSuccess(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user