Selaa lähdekoodia

Merge remote-tracking branch 'origin/dev' into dev

phoenix 1 vuosi sitten
vanhempi
commit
422847b6f5

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

@@ -104,7 +104,7 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
     @Override
     @Override
     public Boolean clearStudentInfoByRoomId(Long id) {
     public Boolean clearStudentInfoByRoomId(Long id) {
         List<RoomBed> bedList = roomBedMapper.selectList(
         List<RoomBed> bedList = roomBedMapper.selectList(
-                MPJWrappers.<RoomBed>lambdaJoin().eq(RoomBed::getRoomId, id)
+            MPJWrappers.<RoomBed>lambdaJoin().eq(RoomBed::getRoomId, id)
         );
         );
         for (RoomBed roomBed : bedList) {
         for (RoomBed roomBed : bedList) {
             UpdateWrapper<RoomBed> updateWrapper = new UpdateWrapper<>();
             UpdateWrapper<RoomBed> updateWrapper = new UpdateWrapper<>();
@@ -113,6 +113,9 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
             updateWrapper.setSql("is_check_in = 0");
             updateWrapper.setSql("is_check_in = 0");
             roomBedMapper.update(roomBed, updateWrapper);
             roomBedMapper.update(roomBed, updateWrapper);
         }
         }
+        Room room = roomMapper.selectById(id);
+        room.setIsMax(0);
+        roomMapper.updateById(room);
         return true;
         return true;
     }
     }
 
 
@@ -185,6 +188,9 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
                 if(allStayMaleCountMap.get(record.getId()) != null){
                 if(allStayMaleCountMap.get(record.getId()) != null){
                     maleCount = allStayMaleCountMap.get(record.getId()) - (allArrangedMaleCountMap.get(record.getId()) == null ? 0 : allArrangedMaleCountMap.get(record.getId()));
                     maleCount = allStayMaleCountMap.get(record.getId()) - (allArrangedMaleCountMap.get(record.getId()) == null ? 0 : allArrangedMaleCountMap.get(record.getId()));
                 }
                 }
+                if(maleCount < 0){
+                    maleCount = 0;
+                }
                 record.setMaleCount(maleCount);
                 record.setMaleCount(maleCount);
                 needCout = allStayMaleCountMap.get(record.getId());
                 needCout = allStayMaleCountMap.get(record.getId());
                 if(allArrangedMaleCountMap.get(record.getId()) != null){
                 if(allArrangedMaleCountMap.get(record.getId()) != null){
@@ -195,6 +201,9 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
                 if(allStayFemaleCountMap.get(record.getId()) != null){
                 if(allStayFemaleCountMap.get(record.getId()) != null){
                     femaleCount = allStayFemaleCountMap.get(record.getId()) - (allArrangedFemaleCountMap.get(record.getId()) == null ? 0 : allArrangedFemaleCountMap.get(record.getId()));
                     femaleCount = allStayFemaleCountMap.get(record.getId()) - (allArrangedFemaleCountMap.get(record.getId()) == null ? 0 : allArrangedFemaleCountMap.get(record.getId()));
                 }
                 }
+                if(femaleCount < 0){
+                    femaleCount = 0;
+                }
                 record.setFemaleCount(femaleCount);
                 record.setFemaleCount(femaleCount);
                 needCout = femaleCount;
                 needCout = femaleCount;
                 if(allArrangedFemaleCountMap.get(record.getId()) != null){
                 if(allArrangedFemaleCountMap.get(record.getId()) != null){
@@ -205,6 +214,20 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
                 if(allArrangedCountMap.get(record.getId()) != null){
                 if(allArrangedCountMap.get(record.getId()) != null){
                     distributeCount = (allArrangedCountMap.get(record.getId()) == null ? 0 : allArrangedCountMap.get(record.getId()));
                     distributeCount = (allArrangedCountMap.get(record.getId()) == null ? 0 : allArrangedCountMap.get(record.getId()));
                 }
                 }
+                if(allStayMaleCountMap.get(record.getId()) != null){
+                    maleCount = allStayMaleCountMap.get(record.getId()) - (allArrangedMaleCountMap.get(record.getId()) == null ? 0 : allArrangedMaleCountMap.get(record.getId()));
+                }
+                if(maleCount < 0){
+                    maleCount = 0;
+                }
+                record.setMaleCount(maleCount);
+                if(allStayFemaleCountMap.get(record.getId()) != null){
+                    femaleCount = allStayFemaleCountMap.get(record.getId()) - (allArrangedFemaleCountMap.get(record.getId()) == null ? 0 : allArrangedFemaleCountMap.get(record.getId()));
+                }
+                if(femaleCount < 0){
+                    femaleCount = 0;
+                }
+                record.setFemaleCount(femaleCount);
             }
             }
             if(needCout == null){
             if(needCout == null){
                 needCout = 0;
                 needCout = 0;
@@ -253,13 +276,15 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
         Map<Long, Integer> classDistributeBedNumber = new HashMap<>();
         Map<Long, Integer> classDistributeBedNumber = new HashMap<>();
         Map<Long, Integer> classStudent = new HashMap<>();
         Map<Long, Integer> classStudent = new HashMap<>();
         for (Integer genderNumber : genderSet) {
         for (Integer genderNumber : genderSet) {
-            //根据性别查询出所有床位信息
+            //根据性别查询出所有床位信息
             List<RoomBed> bedInfoList = roomBedMapper.selectList(
             List<RoomBed> bedInfoList = roomBedMapper.selectList(
                 new MPJLambdaWrapper<RoomBed>()
                 new MPJLambdaWrapper<RoomBed>()
                 .select(RoomBed::getId)
                 .select(RoomBed::getId)
                 .select(RoomBed.class, x -> VoToColumnUtil.fieldsToColumns(RoomBed.class).contains(x.getProperty()))
                 .select(RoomBed.class, x -> VoToColumnUtil.fieldsToColumns(RoomBed.class).contains(x.getProperty()))
                 .innerJoin(Room.class, Room::getId, RoomBed::getRoomId)
                 .innerJoin(Room.class, Room::getId, RoomBed::getRoomId)
                 .eq(Room::getGender, genderMap.get(genderNumber))
                 .eq(Room::getGender, genderMap.get(genderNumber))
+                .isNull(RoomBed::getStudentUserId)
+                .eq(RoomBed::getIsCheckIn, 0)
                 .in(RoomBed::getRoomId, dto.getRoomIds())
                 .in(RoomBed::getRoomId, dto.getRoomIds())
             );
             );
 
 

+ 3 - 2
src/main/java/com/xjrsoft/module/room/service/impl/RoomServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.toolkit.MPJWrappers;
 import com.github.yulichang.toolkit.MPJWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.module.base.entity.BaseOfficeBuild;
 import com.xjrsoft.module.base.entity.BaseOfficeBuild;
 import com.xjrsoft.module.base.mapper.BaseOfficeBuildMapper;
 import com.xjrsoft.module.base.mapper.BaseOfficeBuildMapper;
 import com.xjrsoft.module.room.dto.AddRoomDto;
 import com.xjrsoft.module.room.dto.AddRoomDto;
@@ -69,7 +70,7 @@ public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implem
                 .eq(RoomRuleItem::getOfficeBuildId, dto.getOfficeBuildId());
                 .eq(RoomRuleItem::getOfficeBuildId, dto.getOfficeBuildId());
         RoomRule roomRule = roomRuleRoomRuleMapper.selectJoinOne(RoomRule.class, queryWrapper);
         RoomRule roomRule = roomRuleRoomRuleMapper.selectJoinOne(RoomRule.class, queryWrapper);
         if(roomRule == null){
         if(roomRule == null){
-            return "该楼栋未配置规则,请先配置规则";
+            throw new MyException("该楼栋未配置规则,请先配置规则") ;
         }
         }
         BaseOfficeBuild build = baseOfficeBuildMapper.selectById(dto.getOfficeBuildId());
         BaseOfficeBuild build = baseOfficeBuildMapper.selectById(dto.getOfficeBuildId());
 
 
@@ -105,6 +106,7 @@ public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implem
                 }
                 }
 
 
                 //先添加寝室
                 //先添加寝室
+                maxSortCode ++;
                 Room room = BeanUtil.toBean(dto, Room.class);
                 Room room = BeanUtil.toBean(dto, Room.class);
                 room.setSortCode(maxSortCode);
                 room.setSortCode(maxSortCode);
                 room.setFloorNumber(floorNumber);
                 room.setFloorNumber(floorNumber);
@@ -114,7 +116,6 @@ public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implem
                 room.setEnabledMark(1);
                 room.setEnabledMark(1);
                 room.setRoomName(roomName);
                 room.setRoomName(roomName);
                 roomMapper.insert(room);
                 roomMapper.insert(room);
-                maxSortCode ++;
 
 
                 Long roomId = room.getId();
                 Long roomId = room.getId();
                 Integer bedMaxSortCode = roomBedMapper.getMaxSortCode() + 1;
                 Integer bedMaxSortCode = roomBedMapper.getMaxSortCode() + 1;

+ 1 - 1
src/main/java/com/xjrsoft/module/workflow/service/impl/WorkflowSchemaServiceImpl.java

@@ -129,7 +129,7 @@ public class WorkflowSchemaServiceImpl extends MPJBaseServiceImpl<WorkflowSchema
         IPage<WorkflowSchemaPageVo> page = selectJoinListPage(ConventPage.getPage(dto), WorkflowSchemaPageVo.class,
         IPage<WorkflowSchemaPageVo> page = selectJoinListPage(ConventPage.getPage(dto), WorkflowSchemaPageVo.class,
                 MPJWrappers.<WorkflowSchema>lambdaJoin()
                 MPJWrappers.<WorkflowSchema>lambdaJoin()
                         .disableSubLogicDel()
                         .disableSubLogicDel()
-                        .orderByDesc(WorkflowSchema::getId)
+                        .orderByDesc(WorkflowSchema::getCategory)
                         .eq(ObjectUtil.isNotNull(dto.getEnabledMark()), WorkflowSchema::getEnabledMark, dto.getEnabledMark())
                         .eq(ObjectUtil.isNotNull(dto.getEnabledMark()), WorkflowSchema::getEnabledMark, dto.getEnabledMark())
                         .like(StrUtil.isNotBlank(dto.getKeyword()), WorkflowSchema::getName, dto.getKeyword())
                         .like(StrUtil.isNotBlank(dto.getKeyword()), WorkflowSchema::getName, dto.getKeyword())
                         .like(StrUtil.isNotBlank(dto.getName()), WorkflowSchema::getName, dto.getName())
                         .like(StrUtil.isNotBlank(dto.getName()), WorkflowSchema::getName, dto.getName())

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

@@ -231,7 +231,7 @@
         WHERE delete_mark = 0 AND room_id = t1.id
         WHERE delete_mark = 0 AND room_id = t1.id
         AND student_user_id IS NOT NULL
         AND student_user_id IS NOT NULL
         ) AS into_count,(
         ) AS into_count,(
-        SELECT GROUP_CONCAT(c3.name) FROM room_bed c1
+        SELECT GROUP_CONCAT(DISTINCT(c3.name)) FROM room_bed c1
         LEFT JOIN base_student_school_roll c2 ON c1.student_user_id = c2.user_id
         LEFT JOIN base_student_school_roll c2 ON c1.student_user_id = c2.user_id
         LEFT JOIN base_class c3 ON c2.class_id = c3.id
         LEFT JOIN base_class c3 ON c2.class_id = c3.id
         WHERE c1.delete_mark = 0 AND c1.room_id = t1.id
         WHERE c1.delete_mark = 0 AND c1.room_id = t1.id