diff --git a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryWaybillDetailController.java b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryWaybillDetailController.java index bf120f90..f9c003ef 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryWaybillDetailController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryWaybillDetailController.java @@ -121,6 +121,7 @@ public class WmsDeliveryWaybillDetailController extends BaseController { return new TableDataInfo<>(); } bo.setCoilIds(boundCoilIds.stream().map(String::valueOf).collect(java.util.stream.Collectors.joining(","))); + bo.setStatusFirst(true); // 未发货的排在前面 return iWmsMaterialCoilService.queryPageList(bo, pageQuery); } } 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 afcaee15..92bb7989 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 @@ -249,5 +249,9 @@ public class WmsMaterialCoilBo extends BaseEntity { // 父钢卷id private String parentCoilId; + + // 已绑定钢卷列表中,未发货(status=0)的排在前面 + @TableField(exist = false) + private Boolean statusFirst; } 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 1bce9400..8e9c6eae 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 @@ -649,9 +649,13 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { qw.apply("COALESCE(ca.abnormal_count, 0) >= {0}", bo.getMinAbnormalCount()); } // 排序: - // 再按实际库位ID升序(库位ID为自增,升序即可满足“先生成的库位在前”) - // - 否则:保持原有创建时间倒序 - if (Boolean.TRUE.equals(bo.getOrderBy())) { + // 已绑定钢卷列表中,未发货(status=0)的排在前面 + if (Boolean.TRUE.equals(bo.getStatusFirst())) { + qw.orderByAsc("mc.status = 1"); + qw.orderByAsc("mc.status"); + } else if (Boolean.TRUE.equals(bo.getOrderBy())) { + // 再按实际库位ID升序(库位ID为自增,升序即可满足“先生成的库位在前”) + // - 否则:保持原有创建时间倒序 // MySQL: false(0) < true(1),因此 "IS NULL" 升序可实现非空在前、空值在后 qw.orderByAsc("mc.actual_warehouse_id IS NULL"); qw.orderByAsc("mc.actual_warehouse_id");