feat(WmsMaterialCoil): 添加钢卷按异常数量排序功能

- 在WmsMaterialCoilBo中新增orderByAbnormal字段用于控制排序方式
- 实现按异常数量排序逻辑:异常钢卷在前按创建时间倒序,无异常钢卷在后按创建时间倒序
- 使用CASE语句实现异常状态的条件排序
- 保持原有创建时间排序作为默认选项
This commit is contained in:
2026-03-20 11:18:54 +08:00
parent b5d1dd64e6
commit dba9a02636
2 changed files with 10 additions and 0 deletions

View File

@@ -319,5 +319,11 @@ public class WmsMaterialCoilBo extends BaseEntity {
* 钢卷异常信息列表(用于更新钢卷时同时插入异常信息)
*/
private List<WmsCoilAbnormalBo> abnormals;
/**
* 按异常数量排序(异常钢卷在前按创建时间,没异常的钢卷在后按创建时间)
*/
@TableField(exist = false)
private Boolean orderByAbnormal;
}

View File

@@ -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");