Browse Source

1、解决分配床位功能人数超过床位报错
2、解决寝室空余床位为负数的情况

dzx 1 year ago
parent
commit
3f3faf8bc3

+ 16 - 0
src/main/java/com/xjrsoft/module/room/mapper/RoomBedRecordMapper.java

@@ -0,0 +1,16 @@
+package com.xjrsoft.module.room.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.room.entity.RoomBedRecord;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 寝室床位
+* @Author dzx
+* @Date: 2023-12-27
+* @Version 1.0
+*/
+@Mapper
+public interface RoomBedRecordMapper extends MPJBaseMapper<RoomBedRecord> {
+
+}

+ 7 - 2
src/main/java/com/xjrsoft/module/room/service/impl/RoomBedServiceImpl.java

@@ -16,7 +16,9 @@ import com.xjrsoft.module.room.dto.DistributeRoomBedPageDto;
 import com.xjrsoft.module.room.dto.RoomBedPageDto;
 import com.xjrsoft.module.room.entity.Room;
 import com.xjrsoft.module.room.entity.RoomBed;
+import com.xjrsoft.module.room.entity.RoomBedRecord;
 import com.xjrsoft.module.room.mapper.RoomBedMapper;
+import com.xjrsoft.module.room.mapper.RoomBedRecordMapper;
 import com.xjrsoft.module.room.mapper.RoomMapper;
 import com.xjrsoft.module.room.service.IRoomBedService;
 import com.xjrsoft.module.room.vo.DistributeClassPageVo;
@@ -52,6 +54,7 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
     private final RoomBedMapper roomBedMapper;
     private final BaseStudentMapper baseStudentMapper;
     private final BaseClassMapper baseClassMapper;
+    private final RoomBedRecordMapper roomBedRecordMapper;
     @Override
     public Page<RoomBedPageVo> getPage(Page<RoomBedPageVo> page, RoomBedPageDto dto) {
         Page<RoomBedPageVo> result = roomBedMapper.getPage(page, dto);
@@ -115,7 +118,7 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
             //已分配床位数
             int distributeBedNumber = 0;
             for (BaseStudent studentInfoVo : studentList) {
-                if(i > bedInfoList.size()){
+                if(i >= bedInfoList.size()){
                     continue;
                 }
                 RoomBedVo roomBedVo = bedInfoList.get(i);
@@ -133,7 +136,9 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
         }
         //插入记录表 room_bed_record
         classStudent.forEach((classId, studentCount)->{
-
+            RoomBedRecord record = new RoomBedRecord();
+//            record.setClassId();
+//            roomBedRecordMapper.insert();
         });
 
         //查询每个寝室住入的班级数量,大于2的设置为混合寝室

+ 1 - 1
src/main/resources/mapper/room/RoomBedMapper.xml

@@ -65,7 +65,7 @@
         LEFT JOIN xjr_dictionary_detail c3 ON c2.stduy_status = c3.code AND c3.item_id = 2023000000000000030
         WHERE c1.delete_mark = 0 AND c2.delete_mark = 0
         AND c3.code = 'FB3001' AND c2.class_id = t1.id
-        ) !=
+        ) >
         (
         SELECT COUNT(*) FROM room_bed a1
         LEFT JOIN base_student_school_roll a2 ON a1.student_user_id = a2.user_id