提交代码
This commit is contained in:
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代表删除)
|
||||
*/
|
||||
|
||||
+5
-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;
|
||||
|
||||
|
||||
}
|
||||
+28
-2
@@ -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;
|
||||
|
||||
}
|
||||
+4
-2
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 '创建者',
|
||||
|
||||
@@ -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: ''
|
||||
};
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in new issue
Block a user