From 131ab07de27d49a0437f17fd54de7262f17eb580 Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Tue, 7 Nov 2023 11:10:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AF=94=E5=AF=B9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/InStockTaskController.cs | 17 +++++++++ src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml | 7 ++++ src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 35 +++++++++++++++++++ src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 14 ++++++++ .../InStockTask/ContrastMaterialsRequest.cs | 26 ++++++++++++++ .../InStockTask/ContrastMaterialsResponse.cs | 27 ++++++++++++++ .../IService/IInStockService.cs | 7 ++++ src/WMS.Web.Domain/Services/InStockService.cs | 28 +++++++++++++++ src/WMS.Web.Domain/Values/ResultCodes.cs | 1 + 9 files changed, 162 insertions(+) create mode 100644 src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsRequest.cs create mode 100644 src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs diff --git a/src/WMS.Web.Api/Controllers/InStockTaskController.cs b/src/WMS.Web.Api/Controllers/InStockTaskController.cs index b508c96d..aa5c4455 100644 --- a/src/WMS.Web.Api/Controllers/InStockTaskController.cs +++ b/src/WMS.Web.Api/Controllers/InStockTaskController.cs @@ -79,5 +79,22 @@ namespace WMS.Web.Api.Controllers var list= await _inStockTaskRepositories.GetListBy(code, InstockType.Purchase); return ResultList.ReSuccess(list); } + + /// + /// 采购订单物料明细和箱物料明细-对比-pad + /// + /// + /// + [HttpPost] + [Route("Contrast")] + public async Task> Contrast([FromBody] ContrastMaterialsRequest dto) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null || loginInfo.UserInfo == null) + return Result.ReFailure(ResultCodes.Token_Invalid_Error); + + var result = await _inStockService.Contrast(dto); + return result; + } } } diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index 2cf456a3..42c97a90 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -115,6 +115,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 1619210c..011587ea 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -955,6 +955,41 @@ 备注 + + + 采购订单物料明细和箱物料明细-对比请求对象 + + + + + 单据ID(等同-入库任务单ID) + + + + + 箱号 + + + + + 采购订单物料明细和箱物料明细-对比影响对象 + + + + + 箱号ID + + + + + 箱号 + + + + + 比对结果:true为比对成功,false为比对失败 + + 入库任务单明细详情 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 86573cba..9cf16c32 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -1453,6 +1453,13 @@ + + + 采购订单物料明细和箱物料明细-对比 + + + + 入库任务单-服务接口 @@ -2141,6 +2148,13 @@ + + + 采购订单物料明细和箱物料明细-对比 + + + + 入库任务单-服务 diff --git a/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsRequest.cs b/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsRequest.cs new file mode 100644 index 00000000..8e71e72d --- /dev/null +++ b/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsRequest.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Text; + +namespace WMS.Web.Core.Dto.InStockTask +{ + /// + /// 采购订单物料明细和箱物料明细-对比请求对象 + /// + public class ContrastMaterialsRequest + { + + /// + /// 单据ID(等同-入库任务单ID) + /// + [Required(ErrorMessage = "单据不能为空")] + public int TaskId { get; set; } + + /// + /// 箱号 + /// + [Required(ErrorMessage = "箱号不能为空")] + public string BoxBillNo { get; set; } + } +} diff --git a/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs b/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs new file mode 100644 index 00000000..6fdb24a2 --- /dev/null +++ b/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.InStockTask +{ + /// + /// 采购订单物料明细和箱物料明细-对比影响对象 + /// + public class ContrastMaterialsResponse + { + /// + /// 箱号ID + /// + public int BoxId { get; set; } + + /// + /// 箱号 + /// + public string BoxBillNo { get; set; } + + /// + /// 比对结果:true为比对成功,false为比对失败 + /// + public bool IsRight { get; set; } + } +} diff --git a/src/WMS.Web.Domain/IService/IInStockService.cs b/src/WMS.Web.Domain/IService/IInStockService.cs index 2acef8bd..25bab78a 100644 --- a/src/WMS.Web.Domain/IService/IInStockService.cs +++ b/src/WMS.Web.Domain/IService/IInStockService.cs @@ -66,5 +66,12 @@ namespace WMS.Web.Domain.IService /// /// Task UpdateRange(List ids, int staffId, bool isReceive, bool isTransaction = true); + + /// + /// 采购订单物料明细和箱物料明细-对比 + /// + /// + /// + Task> Contrast(ContrastMaterialsRequest dto); } } diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index b2380b20..a249b83b 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -222,5 +222,33 @@ namespace WMS.Web.Domain.Services else return Result.ReFailure(ResultCodes.DateWriteError); } + + /// + /// 采购订单物料明细和箱物料明细-对比 + /// + /// + /// + public async Task> Contrast(ContrastMaterialsRequest dto) + { + //1.找到任务单的明细信息 + var task = await _inStockTaskRepositories.Get(dto.TaskId); + if (task == null) + return Result.ReFailure(ResultCodes.OrderNoData); + + //2.找到箱对应的物料信息 + var box = await _boxRepositories.GetByNo(dto.BoxBillNo); + if (box == null) + return Result.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.ReSuccess(response); + } } } diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs index 62eaa2ed..8da26f2b 100644 --- a/src/WMS.Web.Domain/Values/ResultCodes.cs +++ b/src/WMS.Web.Domain/Values/ResultCodes.cs @@ -32,6 +32,7 @@ namespace WMS.Web.Domain.Values public static ValueTuple ErpStockNoData = (900000, "Erp仓库信息不完整"); public static ValueTuple Box_NoBind_Task_Data = (80001, "该箱号不在收货信息中,请核对再试!"); + public static ValueTuple OrderNoData = (80002, "单据信息不存在,请核对后再试!"); } }