|
|
@@ -5,12 +5,18 @@ import cn.hutool.core.bean.BeanUtil;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
import com.github.yulichang.toolkit.MPJWrappers;
|
|
|
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
+import com.xjrsoft.module.base.entity.BaseOfficeBuild;
|
|
|
+import com.xjrsoft.module.base.mapper.BaseOfficeBuildMapper;
|
|
|
import com.xjrsoft.module.room.dto.AddRoomDto;
|
|
|
import com.xjrsoft.module.room.dto.RoomPageDto;
|
|
|
import com.xjrsoft.module.room.entity.Room;
|
|
|
import com.xjrsoft.module.room.entity.RoomBed;
|
|
|
+import com.xjrsoft.module.room.entity.RoomRule;
|
|
|
+import com.xjrsoft.module.room.entity.RoomRuleItem;
|
|
|
import com.xjrsoft.module.room.mapper.RoomBedMapper;
|
|
|
import com.xjrsoft.module.room.mapper.RoomMapper;
|
|
|
+import com.xjrsoft.module.room.mapper.RoomRuleMapper;
|
|
|
import com.xjrsoft.module.room.service.IRoomService;
|
|
|
import com.xjrsoft.module.room.vo.RoomPageVo;
|
|
|
import com.xjrsoft.module.student.entity.BaseStudent;
|
|
|
@@ -33,7 +39,8 @@ import java.util.Map;
|
|
|
public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implements IRoomService {
|
|
|
private final RoomMapper roomMapper;
|
|
|
private final RoomBedMapper roomBedMapper;
|
|
|
-
|
|
|
+ private final RoomRuleMapper roomRuleRoomRuleMapper;
|
|
|
+ private final BaseOfficeBuildMapper baseOfficeBuildMapper;
|
|
|
@Override
|
|
|
public Page<RoomPageVo> getPage(Page<RoomPageDto> page, RoomPageDto dto) {
|
|
|
Page<RoomPageVo> result = roomMapper.getPage(page, dto);
|
|
|
@@ -41,13 +48,32 @@ public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implem
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Boolean saveBatch(AddRoomDto dto) {
|
|
|
+ public String saveBatch(AddRoomDto dto) {
|
|
|
+ MPJLambdaWrapper<RoomRule> queryWrapper = new MPJLambdaWrapper<>();
|
|
|
+ queryWrapper.leftJoin(RoomRuleItem.class, RoomRuleItem::getRoomRuleId, RoomRule::getId)
|
|
|
+ .eq(RoomRuleItem::getOfficeBuildId, dto.getOfficeBuildId());
|
|
|
+ RoomRule roomRule = roomRuleRoomRuleMapper.selectJoinOne(RoomRule.class, queryWrapper);
|
|
|
+ if(roomRule == null){
|
|
|
+ return "该楼栋未配置规则,请先配置规则";
|
|
|
+ }
|
|
|
+ BaseOfficeBuild build = baseOfficeBuildMapper.selectById(dto.getOfficeBuildId());
|
|
|
+
|
|
|
Integer maxSortCode = roomMapper.getMaxSortCode();
|
|
|
Date createDate = new Date();
|
|
|
long createUserId = StpUtil.getLoginIdAsLong();
|
|
|
for (int i = 0; i < dto.getFloorRoomsCount(); i ++){
|
|
|
for (String floorNumber : dto.getFloorNumber().split(",")) {
|
|
|
- String roomName = floorNumber + String.format("%02d", (i + 1));
|
|
|
+ String roomName = "";
|
|
|
+ if(roomRule.getRule().contains("1")){
|
|
|
+ roomName += build.getBuildNumber();
|
|
|
+ }
|
|
|
+ if(roomRule.getRule().contains("2")){
|
|
|
+ roomName += floorNumber;
|
|
|
+ }
|
|
|
+ if(roomRule.getRule().contains("3")){
|
|
|
+ roomName += String.format("%02d", (i + 1));
|
|
|
+ }
|
|
|
+
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
param.put("room_name", roomName);
|
|
|
param.put("floor_number", Integer.parseInt(floorNumber));
|
|
|
@@ -85,7 +111,7 @@ public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implem
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- return true;
|
|
|
+ return "ok";
|
|
|
}
|
|
|
|
|
|
@Override
|