From dba9a026362daec8a0f135961398b2dc222df50d Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 20 Mar 2026 11:18:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(WmsMaterialCoil):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=92=A2=E5=8D=B7=E6=8C=89=E5=BC=82=E5=B8=B8=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在WmsMaterialCoilBo中新增orderByAbnormal字段用于控制排序方式 - 实现按异常数量排序逻辑:异常钢卷在前按创建时间倒序,无异常钢卷在后按创建时间倒序 - 使用CASE语句实现异常状态的条件排序 - 保持原有创建时间排序作为默认选项 --- .../src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java | 6 ++++++ .../com/klp/service/impl/WmsMaterialCoilServiceImpl.java | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java index fba2faa8..afae1c0a 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java @@ -319,5 +319,11 @@ public class WmsMaterialCoilBo extends BaseEntity { * 钢卷异常信息列表(用于更新钢卷时同时插入异常信息) */ private List abnormals; + + /** + * 按异常数量排序(异常钢卷在前按创建时间,没异常的钢卷在后按创建时间) + */ + @TableField(exist = false) + private Boolean orderByAbnormal; } 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 d2d183e9..58d252b2 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 @@ -689,6 +689,10 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { qw.orderByAsc("aw_sort_key"); qw.orderByAsc("aw_layer_key"); qw.orderByAsc("aw_id_key"); + } else if (Boolean.TRUE.equals(bo.getOrderByAbnormal())) { + // 按异常排序:异常的钢卷在前按创建时间倒序,没异常的钢卷在后按创建时间倒序 + qw.orderByDesc("CASE WHEN COALESCE(ca.abnormal_count, 0) > 0 THEN 0 ELSE 1 END"); + qw.orderByDesc("mc.create_time"); } else { //根据创建时间倒叙 qw.orderByDesc("mc.create_time");