From 45119358d75b4b714c797a33ce30ebb071ceb1b0 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 12 Jan 2026 09:21:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=9B=B4=E6=96=B0=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=8D=B7=E6=9F=A5=E8=AF=A2=E4=B8=AD=E7=9A=84=E5=8F=91?= =?UTF-8?q?=E8=B4=A7=E6=97=B6=E9=97=B4=E7=AD=9B=E9=80=89=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除原有的简单发货时间范围筛选条件 - 添加复杂的OR条件分组处理发货时间筛选 - 实现两种情况的发货时间匹配:发货时间不为空的时间范围筛选 - 实现状态为1且发货时间为null时使用更新时间匹配发货时间范围 --- .../impl/WmsMaterialCoilServiceImpl.java | 31 +++++++++++++++++-- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index 33799888..be3957b4 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -472,9 +472,34 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { qw.ge(bo.getByCreateTimeStart() != null, "mc.create_time", bo.getByCreateTimeStart()); qw.le(bo.getByCreateTimeEnd() != null, "mc.create_time", bo.getByCreateTimeEnd()); - // 根据发货开始和结束筛选发货时间 - qw.ge(bo.getByExportTimeStart() != null, "mc.export_time", bo.getByExportTimeStart()); - qw.le(bo.getByExportTimeEnd() != null, "mc.export_time", bo.getByExportTimeEnd()); + // 处理发货时间筛选逻辑(核心修改部分) + if (bo.getByExportTimeStart() != null || bo.getByExportTimeEnd() != null) { + // 开启OR条件分组:满足情况1 或 情况2 + qw.and(w -> { + // 情况1:发货时间不为null且满足时间范围 + w.nested(n -> { + n.isNotNull("mc.export_time"); + if (bo.getByExportTimeStart() != null) { + n.ge("mc.export_time", bo.getByExportTimeStart()); + } + if (bo.getByExportTimeEnd() != null) { + n.le("mc.export_time", bo.getByExportTimeEnd()); + } + }); + // 情况2:状态为1且发货时间为null,用更新时间匹配发货时间范围 + w.or(); + w.nested(n -> { + n.eq("mc.status", 1); + n.isNull("mc.export_time"); + if (bo.getByExportTimeStart() != null) { + n.ge("mc.update_time", bo.getByExportTimeStart()); + } + if (bo.getByExportTimeEnd() != null) { + n.le("mc.update_time", bo.getByExportTimeEnd()); + } + }); + }); + } //根据异常数量筛选(大于等于指定值) if (bo.getMinAbnormalCount() != null) {