diff --git a/backend/roomroot-admin/src/main/java/com/roomroot/web/controller/jwgl/BuildController.java b/backend/roomroot-admin/src/main/java/com/roomroot/web/controller/jwgl/BuildController.java index 8f68e117..2e49bbdf 100644 --- a/backend/roomroot-admin/src/main/java/com/roomroot/web/controller/jwgl/BuildController.java +++ b/backend/roomroot-admin/src/main/java/com/roomroot/web/controller/jwgl/BuildController.java @@ -43,7 +43,7 @@ public class BuildController { } /** - * 批量删除教学楼(已绑定教学场地的跳过不删) + * 批量删除教学楼(已绑定教学场地的跳过不删,暂定) */ @PostMapping("/batchDelete") public Result batchDelete(@RequestBody List ids) { diff --git a/backend/roomroot-jwgl/src/main/java/com/roomroot/jwgl/mapper/BuildMapper.xml b/backend/roomroot-jwgl/src/main/java/com/roomroot/jwgl/mapper/BuildMapper.xml index 9c383ec3..0e96cd61 100644 --- a/backend/roomroot-jwgl/src/main/java/com/roomroot/jwgl/mapper/BuildMapper.xml +++ b/backend/roomroot-jwgl/src/main/java/com/roomroot/jwgl/mapper/BuildMapper.xml @@ -36,11 +36,11 @@ AND DEL_FLAG = #{jxlb.delFlag} - ORDER BY 序号 + ORDER BY CASE WHEN REGEXP_LIKE(序号, '^[0-9]+$') THEN CAST(序号 AS INT) END NULLS LAST, 序号 diff --git a/backend/roomroot-jwgl/src/main/java/com/roomroot/jwgl/service/impl/BuildServiceImpl.java b/backend/roomroot-jwgl/src/main/java/com/roomroot/jwgl/service/impl/BuildServiceImpl.java index 0abd2a34..8b799db6 100644 --- a/backend/roomroot-jwgl/src/main/java/com/roomroot/jwgl/service/impl/BuildServiceImpl.java +++ b/backend/roomroot-jwgl/src/main/java/com/roomroot/jwgl/service/impl/BuildServiceImpl.java @@ -173,7 +173,8 @@ public class BuildServiceImpl implements BuildService { } // 只返回未删除的教学楼(与 pageList 口径一致,避免已删除数据出现在下拉/全量列表里) wrapper.eq(JXLB::getDelFlag, 0); - wrapper.orderByAsc(JXLB::getXh); + // 序号为字符串列,按自然数排序(非数字排在最后按字典序),与 pageList 口径一致 + wrapper.last("ORDER BY CASE WHEN REGEXP_LIKE(序号, '^[0-9]+$') THEN CAST(序号 AS INT) END NULLS LAST, 序号"); return buildMapper.selectList(wrapper); }