提交代码

This commit is contained in:
zlwu committed 2025-09-03 11:45:24 +08:00
1 parent 4de2f07351
commit 99b771bb51
9 files changed
+84 -9

No files matched your search

@@ -67,6 +67,11 @@ public class XgDormRoom extends TenantEntity {
*/
private String roomStatus;
/**
* 排序号
*/
private Long sort;
/**
* 删除标志(0代表存在 1代表删除)
*/
@@ -70,6 +70,11 @@ public class XgDormRoomBo extends BaseEntity {
*/
private String roomStatus;
/**
* 排序号
*/
private Long sort;
/**
* 删除标志(0代表存在 1代表删除)
*/
@@ -80,5 +85,4 @@ public class XgDormRoomBo extends BaseEntity {
*/
private String remark;
}
@@ -11,8 +11,7 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 宿舍房间信息视图对象 xg_dorm_room
@@ -82,6 +81,12 @@ public class XgDormRoomVo implements Serializable {
@ExcelProperty(value = "房间状态(0可用 1维修中 2停用)")
private String roomStatus;
/**
* 排序号
*/
@ExcelProperty(value = "排序号")
private Long sort;
/**
* 删除标志(0代表存在 1代表删除)
*/
@@ -94,5 +99,26 @@ public class XgDormRoomVo implements Serializable {
@ExcelProperty(value = "备注")
private String remark;
/**
* 创建者
*/
private Long createBy;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 更新者
*/
private Long updateBy;
/**
* 更新时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -144,8 +144,9 @@ public class XgDormRoomServiceImpl implements IXgDormRoomService {
private LambdaQueryWrapper<XgDormRoom> buildQueryWrapper(XgDormRoomBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XgDormRoom> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(XgDormRoom::getFloorNum); // 优先按楼层排序
lqw.orderByAsc(XgDormRoom::getRoomName); // 其次按房间名称排序
lqw.orderByAsc(XgDormRoom::getSort); // 第一优先级:按排序号升序
lqw.orderByAsc(XgDormRoom::getFloorNum); // 第二优先级:按楼层升序
lqw.orderByAsc(XgDormRoom::getRoomName); // 第三优先级:按房间名称升序
lqw.like(StringUtils.isNotBlank(bo.getRoomCode()), XgDormRoom::getRoomCode, bo.getRoomCode());
lqw.like(StringUtils.isNotBlank(bo.getRoomName()), XgDormRoom::getRoomName, bo.getRoomName());
lqw.eq(bo.getBuildingId() != null, XgDormRoom::getBuildingId, bo.getBuildingId());
@@ -154,6 +155,7 @@ public class XgDormRoomServiceImpl implements IXgDormRoomService {
lqw.eq(bo.getActualBeds() != null, XgDormRoom::getActualBeds, bo.getActualBeds());
lqw.eq(bo.getRoomArea() != null, XgDormRoom::getRoomArea, bo.getRoomArea());
lqw.eq(StringUtils.isNotBlank(bo.getRoomStatus()), XgDormRoom::getRoomStatus, bo.getRoomStatus());
lqw.eq(bo.getSort() != null, XgDormRoom::getSort, bo.getSort());
lqw.eq(StringUtils.isNotBlank(bo.getDeleted()), XgDormRoom::getDeleted, bo.getDeleted());
return lqw;
}
+14 -4
View File
@@ -302,6 +302,7 @@ xgss:dormRoom:list
| floorNum | Integer | 否 | 楼层号,精确查询 |
| roomType | String | 否 | 房间类型(1标准间 2单人间 3套间) |
| roomStatus | String | 否 | 房间状态(0正常 1维修中 2停用) |
| sort | Integer | 否 | 排序号,精确查询 |
#### 返回结果
@@ -320,6 +321,7 @@ xgss:dormRoom:list
"actualBeds": 4,
"roomArea": 20.5,
"roomStatus": "0",
"sort": 0,
"remark": "标准四人间",
"createBy": 1,
"createTime": "2025-07-22 09:15:30",
@@ -337,6 +339,7 @@ xgss:dormRoom:list
"actualBeds": 4,
"roomArea": 20.5,
"roomStatus": "0",
"sort": 0,
"remark": "标准四人间",
"createBy": 1,
"createTime": "2025-07-22 09:15:30",
@@ -363,6 +366,7 @@ xgss:dormRoom:list
| actualBeds | Integer | 实际床位数 |
| roomArea | Double | 房间面积(平方米) |
| roomStatus | String | 房间状态(0正常 1维修中 2停用) |
| sort | Integer | 排序号,数字越小排序越靠前 |
| remark | String | 备注 |
| createBy | Long | 创建者ID |
| createTime | Date | 创建时间 |
@@ -371,11 +375,17 @@ xgss:dormRoom:list
#### 排序规则
房间列表按照以下顺序排序:
1. 优先按楼层号(floorNum)升序排列
2. 其次按房间名称(roomName)升序排列
房间列表按照以下优先级顺序排序:
1. **第一优先级**:按排序号(sort)升序排列
2. **第二优先级**:按楼层号(floorNum)升序排列
3. **第三优先级**:按房间名称(roomName)升序排列
这确保了在宿舍管理系统中房间按照从低楼层到高楼层的顺序展示,相同楼层的房间按照名称顺序排列,提供更直观的浏览体验。
**排序逻辑说明**:
- **自定义排序**:`sort` 字段允许管理员为房间设置自定义排序,数字越小排序越靠前
- **默认排序**:当 `sort` 值相同或为0时,按楼层和房间名称的自然顺序排列
- **灵活管理**:支持同一楼层内房间的个性化排序需求
这确保了宿舍管理系统既能保持传统的楼层顺序展示,又能支持管理员根据实际需要进行个性化排序调整。
#### 错误码
@@ -4531,6 +4531,7 @@ CREATE TABLE `xg_dorm_room` (
`actual_beds` int(11) DEFAULT '4' COMMENT '实际床位数',
`room_area` decimal(10,2) DEFAULT NULL COMMENT '房间面积(平方米)',
`room_status` char(1) DEFAULT '0' COMMENT '房间状态(0可用 1维修中 2停用)',
`sort` int(11) DEFAULT '0' COMMENT '排序号',
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
`tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号',
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
+15
View File
@@ -49,6 +49,11 @@ export interface DormRoomVO {
*/
roomStatus: string;
/**
* 排序号
*/
sort: number;
/**
* 删除标志(0代表存在 1代表删除)
*/
@@ -106,6 +111,11 @@ export interface DormRoomForm extends BaseEntity {
*/
roomStatus?: string;
/**
* 排序号
*/
sort?: number;
/**
* 删除标志(0代表存在 1代表删除)
*/
@@ -158,6 +168,11 @@ export interface DormRoomQuery extends PageQuery {
*/
roomStatus?: string;
/**
* 排序号
*/
sort?: number;
/**
* 删除标志(0代表存在 1代表删除)
*/
@@ -34,6 +34,16 @@
<el-radio label="2">停用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="排序号" prop="sort">
<el-input-number
v-model="form.sort"
:min="0"
:max="9999"
controls-position="right"
style="width: 100%"
placeholder="排序号,数字越小越靠前"
/>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注内容" />
</el-form-item>
@@ -78,6 +88,7 @@ const initFormData: DormRoomForm = {
roomArea: 0,
roomType: '1',
roomStatus: '0',
sort: 0,
remark: ''
};
+1
View File
@@ -130,6 +130,7 @@
<span class="text-gray-500">类型:</span>{{ room.roomType === '1' ? '标准间' : room.roomType === '2' ? '单人间' : '套间' }}
</div>
<div class="mb-2"><span class="text-gray-500">床位:</span>{{ room.currentBeds || 0 }}/{{ room.actualBeds }}</div>
<div class="mb-2"><span class="text-gray-500">排序:</span>{{ room.sort || 0 }}</div>
<div class="flex justify-between mt-4">
<div>
<el-button type="primary" link size="small" @click="handleManageBeds(room)">床位管理</el-button>