|
@@ -2,11 +2,14 @@ package com.xjrsoft.module.room.service.impl;
|
|
|
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
import com.github.yulichang.toolkit.MPJWrappers;
|
|
|
import com.xjrsoft.common.enums.DeleteMark;
|
|
|
+import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.module.base.entity.BaseClass;
|
|
|
+import com.xjrsoft.module.base.mapper.BaseClassMapper;
|
|
|
import com.xjrsoft.module.room.dto.DistributeClassPageDto;
|
|
|
import com.xjrsoft.module.room.dto.DistributeRoomBedDto;
|
|
|
import com.xjrsoft.module.room.dto.DistributeRoomBedPageDto;
|
|
@@ -17,6 +20,8 @@ import com.xjrsoft.module.room.mapper.RoomBedMapper;
|
|
|
import com.xjrsoft.module.room.mapper.RoomMapper;
|
|
|
import com.xjrsoft.module.room.service.IRoomBedService;
|
|
|
import com.xjrsoft.module.room.vo.DistributeClassPageVo;
|
|
|
+import com.xjrsoft.module.room.vo.DistributeResultClassVo;
|
|
|
+import com.xjrsoft.module.room.vo.DistributeResultListVo;
|
|
|
import com.xjrsoft.module.room.vo.DistributeRoomBedPageVo;
|
|
|
import com.xjrsoft.module.room.vo.RoomBedPageVo;
|
|
|
import com.xjrsoft.module.room.vo.RoomBedVo;
|
|
@@ -28,6 +33,7 @@ import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
@@ -45,6 +51,7 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
|
|
|
private final RoomMapper roomMapper;
|
|
|
private final RoomBedMapper roomBedMapper;
|
|
|
private final BaseStudentMapper baseStudentMapper;
|
|
|
+ private final BaseClassMapper baseClassMapper;
|
|
|
@Override
|
|
|
public Page<RoomBedPageVo> getPage(Page<RoomBedPageVo> page, RoomBedPageDto dto) {
|
|
|
Page<RoomBedPageVo> result = roomBedMapper.getPage(page, dto);
|
|
@@ -140,4 +147,28 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<DistributeResultClassVo> getDistributeResult(DistributeRoomBedDto dto) {
|
|
|
+ List<DistributeResultListVo> list = roomBedMapper.getDistributeResult(dto);
|
|
|
+ List<BaseClass> classList = baseClassMapper.selectList(
|
|
|
+ Wrappers.lambdaQuery(BaseClass.class).in(BaseClass::getId, dto.getClassIds())
|
|
|
+ .select(BaseClass.class, x -> VoToColumnUtil.fieldsToColumns(BaseClass.class).contains(x.getProperty()))
|
|
|
+ );
|
|
|
+ List<DistributeResultClassVo> result = new ArrayList<>();
|
|
|
+ for (BaseClass baseClass : classList) {
|
|
|
+ DistributeResultClassVo classVo = new DistributeResultClassVo();
|
|
|
+ classVo.setClassName(baseClass.getName());
|
|
|
+ List<DistributeResultListVo> studentList = new ArrayList<>();
|
|
|
+ for (DistributeResultListVo listVo : list) {
|
|
|
+ if(listVo.getClassId() == null || !listVo.getClassId().equals(baseClass.getId().toString())){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ studentList.add(listVo);
|
|
|
+ }
|
|
|
+ classVo.setStudentList(studentList);
|
|
|
+ result.add(classVo);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
}
|