feat(WmsMaterialCoil): 添加钢卷按异常数量排序功能
- 在WmsMaterialCoilBo中新增orderByAbnormal字段用于控制排序方式 - 实现按异常数量排序逻辑:异常钢卷在前按创建时间倒序,无异常钢卷在后按创建时间倒序 - 使用CASE语句实现异常状态的条件排序 - 保持原有创建时间排序作为默认选项
This commit is contained in:
@@ -319,5 +319,11 @@ public class WmsMaterialCoilBo extends BaseEntity {
|
||||
* 钢卷异常信息列表(用于更新钢卷时同时插入异常信息)
|
||||
*/
|
||||
private List<WmsCoilAbnormalBo> abnormals;
|
||||
|
||||
/**
|
||||
* 按异常数量排序(异常钢卷在前按创建时间,没异常的钢卷在后按创建时间)
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Boolean orderByAbnormal;
|
||||
}
|
||||
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user