|
|
@@ -42,6 +42,7 @@ import com.xjrsoft.module.room.vo.NoBedStudentPageVo;
|
|
|
import com.xjrsoft.module.room.vo.RoomBedExcelVo;
|
|
|
import com.xjrsoft.module.room.vo.RoomBedPageVo;
|
|
|
import com.xjrsoft.module.room.vo.RoomClassCountVo;
|
|
|
+import com.xjrsoft.module.room.vo.RoomClassExistentVo;
|
|
|
import com.xjrsoft.module.room.vo.StudentPayStatusVo;
|
|
|
import com.xjrsoft.module.student.entity.BaseStudent;
|
|
|
import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
|
|
|
@@ -277,7 +278,12 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
|
|
|
genderSet.add(room.getGender());
|
|
|
roomClassMaps.put(room.getId(), null);
|
|
|
}
|
|
|
-
|
|
|
+ //
|
|
|
+ List<RoomClassExistentVo> roomClassExistent = roomMapper.getRoomClassExistent(dto.getRoomIds());
|
|
|
+ Map<Long, String> roomClassExistentMaps = new HashMap<>();
|
|
|
+ for (RoomClassExistentVo roomClassExistentVo : roomClassExistent) {
|
|
|
+ roomClassExistentMaps.put(roomClassExistentVo.getId(), roomClassExistentVo.getClassIds());
|
|
|
+ }
|
|
|
Date modifyDate = new Date();
|
|
|
Long modifyUserId = StpUtil.getLoginIdAsLong();
|
|
|
//查询每个班的学生,修改床位信息
|
|
|
@@ -337,7 +343,10 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
|
|
|
if(dto.getIsNeedMaxRoom() == 0 && i <= bedInfoList.size()){
|
|
|
//预先查看下一个床位所属寝室是否已经有其他班级入住,有就直接跳过
|
|
|
for (int j = i; j < bedInfoList.size(); j ++) {
|
|
|
- if(roomClassMaps.get(bedInfoList.get(j).getRoomId()) != null && !classId.equals(roomClassMaps.get(bedInfoList.get(j).getRoomId())) ){
|
|
|
+ Long roomId = bedInfoList.get(j).getRoomId();
|
|
|
+ if((roomClassMaps.get(roomId) != null
|
|
|
+ && !classId.equals(roomClassMaps.get(roomId)))
|
|
|
+ && (roomClassExistentMaps.get(roomId) != null && roomClassExistentMaps.get(roomId).contains(classId.toString()))){
|
|
|
i ++;
|
|
|
}
|
|
|
}
|
|
|
@@ -383,16 +392,18 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
|
|
|
record.setDeleteMark(DeleteMark.NODELETE.getCode());
|
|
|
roomBedRecordMapper.insert(record);
|
|
|
}
|
|
|
-
|
|
|
- //查询每个寝室住入的班级数量,大于2的设置为混合寝室
|
|
|
- List<RoomClassCountVo> classCountVoList = roomMapper.getRoomClassCount(dto.getRoomIds());
|
|
|
- for (RoomClassCountVo roomClassCountVo : classCountVoList) {
|
|
|
- if(roomClassCountVo.getClassCount() > 1){
|
|
|
- Room updRoom = roomMapper.selectById(roomClassCountVo.getId());
|
|
|
- updRoom.setIsMax(1);
|
|
|
- roomMapper.updateById(updRoom);
|
|
|
- }
|
|
|
+ if(dto.getIsNeedMaxRoom() == 1){
|
|
|
+ roomMapper.setIsmaxTrue();
|
|
|
}
|
|
|
+ //查询每个寝室住入的班级数量,大于2的设置为混合寝室
|
|
|
+// List<RoomClassCountVo> classCountVoList = roomMapper.getRoomClassCount(dto.getRoomIds());
|
|
|
+// for (RoomClassCountVo roomClassCountVo : classCountVoList) {
|
|
|
+// if(roomClassCountVo.getClassCount() > 1){
|
|
|
+// Room updRoom = roomMapper.selectById(roomClassCountVo.getId());
|
|
|
+// updRoom.setIsMax(1);
|
|
|
+// roomMapper.updateById(updRoom);
|
|
|
+// }
|
|
|
+// }
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
@@ -609,22 +620,10 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
|
|
|
setStudentUserId(todoStudent.getStudentUserId());
|
|
|
}});
|
|
|
}
|
|
|
- //如果寝室的人是多个班级,将混合寝室改为是
|
|
|
- List<RoomClassCountVo> classCountVoList = roomMapper.getRoomClassCount(roomIds);
|
|
|
- for (RoomClassCountVo roomClassCountVo : classCountVoList) {
|
|
|
- if(roomClassCountVo.getClassCount() > 1){
|
|
|
- Room updRoom = roomMapper.selectById(roomClassCountVo.getId());
|
|
|
- updRoom.setIsMax(1);
|
|
|
- roomMapper.updateById(updRoom);
|
|
|
- }else{
|
|
|
- Room updRoom = roomMapper.selectById(roomClassCountVo.getId());
|
|
|
- if(updRoom != null){
|
|
|
- updRoom.setIsMax(0);
|
|
|
- roomMapper.updateById(updRoom);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
+ //将有多个班级的寝室设置为混合寝室
|
|
|
+ roomMapper.setIsmaxTrue();
|
|
|
+ //将没有多个班级的混合寝室清除掉
|
|
|
+ roomMapper.setIsmaxFalse();
|
|
|
}else{
|
|
|
String boyMsg = "学生";
|
|
|
int i = 0;
|