比对接口
This commit is contained in:
@@ -79,5 +79,22 @@ namespace WMS.Web.Api.Controllers
|
||||
var list= await _inStockTaskRepositories.GetListBy(code, InstockType.Purchase);
|
||||
return ResultList<InStockTaskBillNoQueryResponse>.ReSuccess(list);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 采购订单物料明细和箱物料明细-对比-pad
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("Contrast")]
|
||||
public async Task<Result<ContrastMaterialsResponse>> Contrast([FromBody] ContrastMaterialsRequest dto)
|
||||
{
|
||||
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
|
||||
if (loginInfo == null || loginInfo.UserInfo == null)
|
||||
return Result<ContrastMaterialsResponse>.ReFailure(ResultCodes.Token_Invalid_Error);
|
||||
|
||||
var result = await _inStockService.Contrast(dto);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,6 +115,13 @@
|
||||
<param name="code"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Api.Controllers.InStockTaskController.Contrast(WMS.Web.Core.Dto.InStockTask.ContrastMaterialsRequest)">
|
||||
<summary>
|
||||
采购订单物料明细和箱物料明细-对比-pad
|
||||
</summary>
|
||||
<param name="dto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Api.Controllers.InventoryController">
|
||||
<summary>
|
||||
即时库存相关-接口
|
||||
|
||||
@@ -955,6 +955,41 @@
|
||||
备注
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.InStockTask.ContrastMaterialsRequest">
|
||||
<summary>
|
||||
采购订单物料明细和箱物料明细-对比请求对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.ContrastMaterialsRequest.TaskId">
|
||||
<summary>
|
||||
单据ID(等同-入库任务单ID)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.ContrastMaterialsRequest.BoxBillNo">
|
||||
<summary>
|
||||
箱号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.InStockTask.ContrastMaterialsResponse">
|
||||
<summary>
|
||||
采购订单物料明细和箱物料明细-对比影响对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.ContrastMaterialsResponse.BoxId">
|
||||
<summary>
|
||||
箱号ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.ContrastMaterialsResponse.BoxBillNo">
|
||||
<summary>
|
||||
箱号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.ContrastMaterialsResponse.IsRight">
|
||||
<summary>
|
||||
比对结果:true为比对成功,false为比对失败
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.InStockTask.InStockTaskDetailsInfoDto">
|
||||
<summary>
|
||||
入库任务单明细详情
|
||||
|
||||
@@ -1453,6 +1453,13 @@
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.IInStockService.Contrast(WMS.Web.Core.Dto.InStockTask.ContrastMaterialsRequest)">
|
||||
<summary>
|
||||
采购订单物料明细和箱物料明细-对比
|
||||
</summary>
|
||||
<param name="dto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.IService.IInStockTaskService">
|
||||
<summary>
|
||||
入库任务单-服务接口
|
||||
@@ -2141,6 +2148,13 @@
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.InStockService.Contrast(WMS.Web.Core.Dto.InStockTask.ContrastMaterialsRequest)">
|
||||
<summary>
|
||||
采购订单物料明细和箱物料明细-对比
|
||||
</summary>
|
||||
<param name="dto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Services.InStockTaskService">
|
||||
<summary>
|
||||
入库任务单-服务
|
||||
|
||||
26
src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsRequest.cs
Normal file
26
src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsRequest.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Text;
|
||||
|
||||
namespace WMS.Web.Core.Dto.InStockTask
|
||||
{
|
||||
/// <summary>
|
||||
/// 采购订单物料明细和箱物料明细-对比请求对象
|
||||
/// </summary>
|
||||
public class ContrastMaterialsRequest
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 单据ID(等同-入库任务单ID)
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "单据不能为空")]
|
||||
public int TaskId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 箱号
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "箱号不能为空")]
|
||||
public string BoxBillNo { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace WMS.Web.Core.Dto.InStockTask
|
||||
{
|
||||
/// <summary>
|
||||
/// 采购订单物料明细和箱物料明细-对比影响对象
|
||||
/// </summary>
|
||||
public class ContrastMaterialsResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 箱号ID
|
||||
/// </summary>
|
||||
public int BoxId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 箱号
|
||||
/// </summary>
|
||||
public string BoxBillNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 比对结果:true为比对成功,false为比对失败
|
||||
/// </summary>
|
||||
public bool IsRight { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -66,5 +66,12 @@ namespace WMS.Web.Domain.IService
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result> UpdateRange(List<int> ids, int staffId, bool isReceive, bool isTransaction = true);
|
||||
|
||||
/// <summary>
|
||||
/// 采购订单物料明细和箱物料明细-对比
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result<ContrastMaterialsResponse>> Contrast(ContrastMaterialsRequest dto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -222,5 +222,33 @@ namespace WMS.Web.Domain.Services
|
||||
else
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 采购订单物料明细和箱物料明细-对比
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result<ContrastMaterialsResponse>> Contrast(ContrastMaterialsRequest dto)
|
||||
{
|
||||
//1.找到任务单的明细信息
|
||||
var task = await _inStockTaskRepositories.Get(dto.TaskId);
|
||||
if (task == null)
|
||||
return Result<ContrastMaterialsResponse>.ReFailure(ResultCodes.OrderNoData);
|
||||
|
||||
//2.找到箱对应的物料信息
|
||||
var box = await _boxRepositories.GetByNo(dto.BoxBillNo);
|
||||
if (box == null)
|
||||
return Result<ContrastMaterialsResponse>.ReFailure(ResultCodes.BoxNoData);
|
||||
|
||||
//3.比对
|
||||
bool isRight = box.Details.All(x => task.Details.Any(t => t.MaterialId == x.MaterialId && t.AccruedQty == x.Qty)) && box.Details.Count == task.Details.Count;
|
||||
|
||||
//4.返回对比结果:true为比对成功,false为比对失败;并把箱ID和箱号返回
|
||||
var response = new ContrastMaterialsResponse();
|
||||
response.BoxBillNo = box.BoxBillNo;
|
||||
response.BoxId = box.Id;
|
||||
response.IsRight = isRight;
|
||||
return Result<ContrastMaterialsResponse>.ReSuccess(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ namespace WMS.Web.Domain.Values
|
||||
|
||||
public static ValueTuple<int, string> ErpStockNoData = (900000, "Erp仓库信息不完整");
|
||||
public static ValueTuple<int, string> Box_NoBind_Task_Data = (80001, "该箱号不在收货信息中,请核对再试!");
|
||||
public static ValueTuple<int, string> OrderNoData = (80002, "单据信息不存在,请核对后再试!");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user