From 062dcf0488140c556c2d3df4ee55c35a696b7df5 Mon Sep 17 00:00:00 2001 From: Carl Date: Sun, 4 Jan 2026 15:08:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=BA=93=E4=B8=8E=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=E5=8F=8ADTO=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 出库记录表查询接口由 GET 改为 POST,支持更复杂参数 - 新增出库记录接口参数由 FromBody 改为 FromQuery - MmInventoryDto 增加 BatchNo 字段,支持按批次号查询 - MmRecordOutboundDto 的 CreatedTime 改为时间区间数组 - 服务层查询逻辑支持批次号和时间区间查询 - 优化 using 引用顺序,提升代码可维护性 --- .../MmRecordOutboundController.cs | 6 ++--- DOAN.Model/MES/Material/Dto/MmInventoryDto.cs | 2 ++ .../MES/Material/Dto/MmRecordOutboundDto.cs | 2 +- .../MES/Material/MmInventoryService.cs | 1 + .../MES/Material/MmRecordOutboundService.cs | 25 +++++++++++++++---- 5 files changed, 27 insertions(+), 9 deletions(-) diff --git a/DOAN.Admin.WebApi/Controllers/MES/Material/productionMaterial/MmRecordOutboundController.cs b/DOAN.Admin.WebApi/Controllers/MES/Material/productionMaterial/MmRecordOutboundController.cs index a9858f3..230a796 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/Material/productionMaterial/MmRecordOutboundController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/Material/productionMaterial/MmRecordOutboundController.cs @@ -29,7 +29,7 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM /// /// /// - [HttpGet("list")] + [HttpPost("list")] [ActionPermissionFilter(Permission = "mmrecordoutbound:list")] public IActionResult QueryMmRecordOutbound([FromQuery] MmRecordOutboundQueryDto parm) { @@ -43,7 +43,7 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM /// /// /// - [HttpGet("{Id}")] + [HttpPost("{Id}")] [ActionPermissionFilter(Permission = "mmrecordoutbound:query")] public IActionResult GetMmRecordOutbound(int Id) { @@ -60,7 +60,7 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM [HttpPost] [ActionPermissionFilter(Permission = "mmrecordoutbound:add")] [Log(Title = "出库记录表", BusinessType = BusinessType.INSERT)] - public IActionResult AddMmRecordOutbound([FromBody] MmRecordOutboundDto parm) + public IActionResult AddMmRecordOutbound([FromQuery] MmRecordOutboundDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); diff --git a/DOAN.Model/MES/Material/Dto/MmInventoryDto.cs b/DOAN.Model/MES/Material/Dto/MmInventoryDto.cs index 3655729..1eeaabe 100644 --- a/DOAN.Model/MES/Material/Dto/MmInventoryDto.cs +++ b/DOAN.Model/MES/Material/Dto/MmInventoryDto.cs @@ -10,6 +10,8 @@ namespace DOAN.Model.BZFM.Dto public string MaterialCode { get; set; } public string WarehouseName { get; set; } + + public string BatchNo { get; set; } } /// diff --git a/DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs b/DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs index 413a3fc..77bf58a 100644 --- a/DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs +++ b/DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs @@ -10,7 +10,7 @@ namespace DOAN.Model.BZFM.Dto public string OutboundNo { get; set; } - public DateTime? CreatedTime { get; set; } + public DateTime[] CreatedTime { get; set; } = new DateTime[2]; public string TransactionType { get; set; } } diff --git a/DOAN.Service/MES/Material/MmInventoryService.cs b/DOAN.Service/MES/Material/MmInventoryService.cs index d566ef0..967b81e 100644 --- a/DOAN.Service/MES/Material/MmInventoryService.cs +++ b/DOAN.Service/MES/Material/MmInventoryService.cs @@ -76,6 +76,7 @@ namespace DOAN.Service.BZFM .AndIF(!string.IsNullOrEmpty(parm.WarehouseCode), m => m.WarehouseCode.Contains(parm.WarehouseCode)) .AndIF(!string.IsNullOrEmpty(parm.MaterialCode), m => m.MaterialCode.Contains(parm.MaterialCode)) .AndIF(!string.IsNullOrEmpty(parm.WarehouseName), m => m.WarehouseName.Contains(parm.WarehouseName)) + .AndIF(!string.IsNullOrEmpty(parm.BatchNo), m => m.BatchNo.Contains(parm.BatchNo)) ; return predicate; diff --git a/DOAN.Service/MES/Material/MmRecordOutboundService.cs b/DOAN.Service/MES/Material/MmRecordOutboundService.cs index 563be08..d44f20b 100644 --- a/DOAN.Service/MES/Material/MmRecordOutboundService.cs +++ b/DOAN.Service/MES/Material/MmRecordOutboundService.cs @@ -1,9 +1,10 @@ -using Infrastructure.Attribute; -using Infrastructure.Extensions; -using DOAN.Model.BZFM.Dto; using DOAN.Model.BZFM; +using DOAN.Model.BZFM.Dto; using DOAN.Repository; using DOAN.Service.BZFM.IBZFMService; +using Infrastructure.Attribute; +using Infrastructure.Converter; +using Infrastructure.Extensions; namespace DOAN.Service.BZFM { @@ -71,12 +72,26 @@ namespace DOAN.Service.BZFM /// private static Expressionable QueryExp(MmRecordOutboundQueryDto parm) { + if (parm.CreatedTime != null && parm.CreatedTime.Length > 0) + { + parm.CreatedTime[0] = DOANConvertDate.ConvertLocalDate(parm.CreatedTime[0]); + parm.CreatedTime[1] = DOANConvertDate.ConvertLocalDate(parm.CreatedTime[1]); + parm.CreatedTime[0] = parm.CreatedTime[0].Date; + parm.CreatedTime[1] = parm.CreatedTime[1].Date; + } var predicate = Expressionable.Create() .AndIF(!string.IsNullOrEmpty(parm.MaterialCode), it => it.MaterialCode.Contains(parm.MaterialCode)) .AndIF(!string.IsNullOrEmpty(parm.OutboundNo), it => it.OutboundNo.Contains(parm.OutboundNo)) .AndIF(!string.IsNullOrEmpty(parm.TransactionType), it => it.TransactionType.Contains(parm.TransactionType)) - .AndIF(parm.CreatedTime > DateTime.MinValue, it => it.CreatedTime < parm.CreatedTime) - ; + .AndIF( + parm.CreatedTime != null && parm.CreatedTime[0] > DateTime.MinValue, + it => it.CreatedTime >= parm.CreatedTime[0] + ) + .AndIF( + parm.CreatedTime != null && parm.CreatedTime[1] > DateTime.MinValue, + it => it.CreatedTime <= parm.CreatedTime[1] + ); + ; return predicate; }