From 77f9ff40e39e8040eba09dea1afb888ddd9940f6 Mon Sep 17 00:00:00 2001 From: Carl Date: Sun, 4 Jan 2026 19:05:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E8=AE=B0=E5=BD=95=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=94=AF=E6=8C=81=E6=97=B6=E9=97=B4=E5=8C=BA=E9=97=B4?= =?UTF-8?q?=E5=92=8C=E4=BA=A4=E6=98=93=E7=B1=BB=E5=9E=8B=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整查询接口为POST,参数改为Body方式; DTO中CreatedTime改为数组,新增TransactionType字段; 服务层支持时间区间和交易类型多条件筛选; 优化本地化日期处理,提升查询灵活性。 --- .../MmRecordInboundController.cs | 4 +-- .../MES/Material/Dto/MmRecordInboundDto.cs | 4 ++- .../MES/Material/MmRecordInboundService.cs | 25 +++++++++++++------ 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/DOAN.Admin.WebApi/Controllers/MES/Material/productionMaterial/MmRecordInboundController.cs b/DOAN.Admin.WebApi/Controllers/MES/Material/productionMaterial/MmRecordInboundController.cs index d3e1593..0378a29 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/Material/productionMaterial/MmRecordInboundController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/Material/productionMaterial/MmRecordInboundController.cs @@ -29,9 +29,9 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM /// /// /// - [HttpGet("list")] + [HttpPost("list")] [ActionPermissionFilter(Permission = "mmrecordinbound:list")] - public IActionResult QueryMmRecordInbound([FromQuery] MmRecordInboundQueryDto parm) + public IActionResult QueryMmRecordInbound([FromBody] MmRecordInboundQueryDto parm) { var response = _MmRecordInboundService.GetList(parm); return SUCCESS(response); diff --git a/DOAN.Model/MES/Material/Dto/MmRecordInboundDto.cs b/DOAN.Model/MES/Material/Dto/MmRecordInboundDto.cs index d6bd257..d274f58 100644 --- a/DOAN.Model/MES/Material/Dto/MmRecordInboundDto.cs +++ b/DOAN.Model/MES/Material/Dto/MmRecordInboundDto.cs @@ -10,11 +10,13 @@ namespace DOAN.Model.BZFM.Dto public string Operator { get; set; } - public DateTime? CreatedTime { get; set; } + public DateTime[] CreatedTime { get; set; } = new DateTime[2]; public string MaterialCode { get; set; } public string InboundNo { get; set; } + + public string TransactionType { get; set; } } /// diff --git a/DOAN.Service/MES/Material/MmRecordInboundService.cs b/DOAN.Service/MES/Material/MmRecordInboundService.cs index 476fce2..6043ac5 100644 --- a/DOAN.Service/MES/Material/MmRecordInboundService.cs +++ b/DOAN.Service/MES/Material/MmRecordInboundService.cs @@ -22,11 +22,7 @@ namespace DOAN.Service.BZFM /// public PagedInfo GetList(MmRecordInboundQueryDto parm) { - // 本地化日期,避免时差异常 - if (parm != null && parm.CreatedTime != null) - { - parm.CreatedTime = DOANConvertDate.ConvertLocalDate(parm.CreatedTime.Value); - } + var predicate = QueryExp(parm); var response = Queryable() @@ -78,13 +74,28 @@ namespace DOAN.Service.BZFM /// private static Expressionable QueryExp(MmRecordInboundQueryDto 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.SupplierCode), it => it.SupplierCode.Contains(parm.SupplierCode)) .AndIF(!string.IsNullOrEmpty(parm.Operator), it => it.Operator.Contains(parm.Operator)) .AndIF(!string.IsNullOrEmpty(parm.MaterialCode), it => it.MaterialCode.Contains(parm.MaterialCode)) .AndIF(!string.IsNullOrEmpty(parm.InboundNo), it => it.InboundNo.Contains(parm.InboundNo)) - .AndIF(parm.CreatedTime > DateTime.MinValue, it => it.CreatedTime < parm.CreatedTime) - ; + .AndIF(!string.IsNullOrEmpty(parm.TransactionType), it => it.TransactionType.Contains(parm.TransactionType)) + .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; }