Prechádzať zdrojové kódy

调整床位将page接口换成list

dzx 1 rok pred
rodič
commit
b441fc7c8b

+ 18 - 9
src/main/java/com/xjrsoft/module/room/controller/RoomBedAdjustController.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.room.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
@@ -23,6 +24,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
 * @title: 调整床位
@@ -42,20 +45,26 @@ public class RoomBedAdjustController {
     @GetMapping(value = "/class-student")
     @ApiOperation(value="需要分配/调整床位的学生(分页)")
     @SaCheckPermission("roomBedAdjust:detail")
-    public RT<PageOutput<AdjustBedClassPageVo>> classStudent(@Valid AdjustClassPageDto dto){
-
-        Page<AdjustBedClassPageVo> page = roomBedService.getClassStudetBed(new Page<>(dto.getLimit(), dto.getSize()), dto);
-        PageOutput<AdjustBedClassPageVo> pageOutput = ConventPage.getPageOutput(page, AdjustBedClassPageVo.class);
-        return RT.ok(pageOutput);
+    public RT<List<AdjustBedClassPageVo>> classStudent(@Valid AdjustClassPageDto dto){
+        if(ObjectUtil.isNull(dto.getClassId()) && ObjectUtil.isNull(dto.getGradeId())){
+            return RT.ok(new ArrayList<>());
+        }
+        List<AdjustBedClassPageVo> result = roomBedService.getClassStudetBed(dto);
+        if (result == null) {
+            return RT.ok(new ArrayList<>());
+        }
+        return RT.ok(result);
     }
 
     @GetMapping(value = "/bed-student")
     @ApiOperation(value="床位学生列表(分页)")
     @SaCheckPermission("roomBedAdjust:detail")
-    public RT<PageOutput<AdjustBedStudentPageVo>> distributeClassPage(@Valid AdjustBedPageDto dto){
-        Page<AdjustBedStudentPageVo> page = roomBedService.getBedStudetInfo(new Page<>(dto.getLimit(), dto.getSize()), dto);
-        PageOutput<AdjustBedStudentPageVo> pageOutput = ConventPage.getPageOutput(page, AdjustBedStudentPageVo.class);
-        return RT.ok(pageOutput);
+    public RT<List<AdjustBedStudentPageVo>> distributeClassPage(@Valid AdjustBedPageDto dto){
+        List<AdjustBedStudentPageVo> result = roomBedService.getBedStudetInfo(dto);
+        if (result == null) {
+            return RT.ok(new ArrayList<>());
+        }
+        return RT.ok(result);
     }
 
     @GetMapping(value = "/no-bed-student")

+ 3 - 4
src/main/java/com/xjrsoft/module/room/mapper/RoomBedMapper.java

@@ -10,6 +10,7 @@ import com.xjrsoft.module.room.dto.DistributeRoomBedPageDto;
 import com.xjrsoft.module.room.dto.RoomBedPageDto;
 import com.xjrsoft.module.room.entity.RoomBed;
 import com.xjrsoft.module.room.vo.AdjustBedClassPageVo;
+import com.xjrsoft.module.room.vo.AdjustBedClassStudentPageVo;
 import com.xjrsoft.module.room.vo.AdjustBedStudentPageVo;
 import com.xjrsoft.module.room.vo.DistributeClassPageVo;
 import com.xjrsoft.module.room.vo.DistributeResultListVo;
@@ -59,19 +60,17 @@ public interface RoomBedMapper extends MPJBaseMapper<RoomBed> {
 
     /**
      * 调整床位,左边的班级学生信息
-     * @param page
      * @param dto
      * @return
      */
-    Page<AdjustBedClassPageVo> getClassStudetBed(Page<AdjustClassPageDto> page, @Param("dto") AdjustClassPageDto dto);
+    List<AdjustBedClassStudentPageVo> getClassStudetBed(@Param("dto") AdjustClassPageDto dto);
 
     /**
      * 调整床位,右边的床位学生信息
-     * @param page
      * @param dto
      * @return
      */
-    Page<AdjustBedStudentPageVo> getBedStudentInfo(Page<AdjustBedPageDto> page, @Param("dto") AdjustBedPageDto dto);
+    List<AdjustBedStudentPageVo> getBedStudentInfo(@Param("dto") AdjustBedPageDto dto);
 
 
     /**

+ 3 - 4
src/main/java/com/xjrsoft/module/room/service/IRoomBedService.java

@@ -69,19 +69,17 @@ public interface IRoomBedService extends MPJBaseService<RoomBed> {
 
     /**
      * 调整床位,左边的班级学生信息
-     * @param page
      * @param dto
      * @return
      */
-    Page<AdjustBedClassPageVo> getClassStudetBed(Page<AdjustClassPageDto> page, AdjustClassPageDto dto);
+    List<AdjustBedClassPageVo> getClassStudetBed(AdjustClassPageDto dto);
 
     /**
      * 调整床位,右边的床位学生信息
-     * @param page
      * @param dto
      * @return
      */
-    Page<AdjustBedStudentPageVo> getBedStudetInfo(Page<AdjustBedPageDto> page, AdjustBedPageDto dto);
+    List<AdjustBedStudentPageVo> getBedStudetInfo(AdjustBedPageDto dto);
 
     /**
      * 未分配床位的学生信息
@@ -92,4 +90,5 @@ public interface IRoomBedService extends MPJBaseService<RoomBed> {
     Page<NoBedStudentPageVo> getNoBedStudent(Page<AdjustBedPageDto> page, AdjustBedPageDto dto);
 
     Boolean adjustBed(AdjustStudentBedDto dto);
+
 }

+ 25 - 4
src/main/java/com/xjrsoft/module/room/service/impl/RoomBedServiceImpl.java

@@ -2,6 +2,8 @@ package com.xjrsoft.module.room.service.impl;
 
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -26,6 +28,7 @@ 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.AdjustBedClassPageVo;
+import com.xjrsoft.module.room.vo.AdjustBedClassStudentPageVo;
 import com.xjrsoft.module.room.vo.AdjustBedStudentPageVo;
 import com.xjrsoft.module.room.vo.DistributeClassPageVo;
 import com.xjrsoft.module.room.vo.DistributeResultClassVo;
@@ -221,14 +224,32 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
     }
 
     @Override
-    public Page<AdjustBedClassPageVo> getClassStudetBed(Page<AdjustClassPageDto> page, AdjustClassPageDto dto) {
-        Page<AdjustBedClassPageVo> result = roomBedMapper.getClassStudetBed(page, dto);
+    public List<AdjustBedClassPageVo> getClassStudetBed(AdjustClassPageDto dto) {
+        List<BaseClass> classList = baseClassMapper.selectList(
+            new QueryWrapper<BaseClass>().lambda()
+            .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
+            .eq(ObjectUtil.isNotNull(dto.getClassId()), BaseClass::getId, dto.getClassId())
+            .eq(ObjectUtil.isNotNull(dto.getGradeId()), BaseClass::getGradeId, dto.getGradeId())
+        );
+        List<AdjustBedClassPageVo> result = BeanUtil.copyToList(classList, AdjustBedClassPageVo.class);
+        List<AdjustBedClassStudentPageVo> allStudent = roomBedMapper.getClassStudetBed(dto);
+        for (AdjustBedClassPageVo adjustBedClassPageVo : result) {
+            List<AdjustBedClassStudentPageVo> studentList = new ArrayList<>();
+            for (AdjustBedClassStudentPageVo adjustBedClassStudentPageVo : allStudent) {
+                if(!adjustBedClassPageVo.getId().equals(adjustBedClassStudentPageVo.getClassId())){
+                    continue;
+                }
+                studentList.add(adjustBedClassStudentPageVo);
+            }
+            adjustBedClassPageVo.setStudentList(studentList);
+        }
+        
         return result;
     }
 
     @Override
-    public Page<AdjustBedStudentPageVo> getBedStudetInfo(Page<AdjustBedPageDto> page, AdjustBedPageDto dto) {
-        return roomBedMapper.getBedStudentInfo(page, dto);
+    public List<AdjustBedStudentPageVo> getBedStudetInfo(AdjustBedPageDto dto) {
+        return roomBedMapper.getBedStudentInfo(dto);
     }
 
     @Override

+ 6 - 22
src/main/java/com/xjrsoft/module/room/vo/AdjustBedClassPageVo.java

@@ -4,6 +4,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 
 /**
 * @title: 寝室床位分页列表出参
@@ -14,35 +16,17 @@ import lombok.Data;
 @Data
 public class AdjustBedClassPageVo {
 
-    @ContentStyle(dataFormat = 49)
-    @ApiModelProperty("学生id")
-    private String userId;
 
     @ContentStyle(dataFormat = 49)
     @ApiModelProperty("班级id")
-    private String classId;
+    private String id;
 
     @ContentStyle(dataFormat = 49)
     @ApiModelProperty("班级名称")
-    private String className;
+    private String name;
 
     @ContentStyle(dataFormat = 49)
-    @ApiModelProperty("学生名称")
-    private String studentName;
+    @ApiModelProperty("学生信息")
+    private List<AdjustBedClassStudentPageVo> studentList;
 
-    @ContentStyle(dataFormat = 49)
-    @ApiModelProperty("入住性别")
-    private String genderCn;
-
-    @ContentStyle(dataFormat = 49)
-    @ApiModelProperty("楼栋名称")
-    private String buildName;
-
-    @ContentStyle(dataFormat = 49)
-    @ApiModelProperty("寝室名称")
-    private String roomName;
-
-    @ContentStyle(dataFormat = 49)
-    @ApiModelProperty("床位")
-    private String bedNumber;
 }

+ 51 - 0
src/main/java/com/xjrsoft/module/room/vo/AdjustBedClassStudentPageVo.java

@@ -0,0 +1,51 @@
+package com.xjrsoft.module.room.vo;
+
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+* @title: 寝室床位分页列表出参
+* @Author dzx
+* @Date: 2023-12-27
+* @Version 1.0
+*/
+@Data
+public class AdjustBedClassStudentPageVo {
+
+
+    @ContentStyle(dataFormat = 49)
+    @ApiModelProperty("班级id")
+    private String classId;
+
+    @ContentStyle(dataFormat = 49)
+    @ApiModelProperty("班级名称")
+    private String className;
+
+    @ContentStyle(dataFormat = 49)
+    @ApiModelProperty("学生id")
+    private String userId;
+
+    @ContentStyle(dataFormat = 49)
+    @ApiModelProperty("学生名称")
+    private String studentName;
+
+    @ContentStyle(dataFormat = 49)
+    @ApiModelProperty("入住性别")
+    private String genderCn;
+
+    @ContentStyle(dataFormat = 49)
+    @ApiModelProperty("楼栋名称")
+    private String buildName;
+
+    @ContentStyle(dataFormat = 49)
+    @ApiModelProperty("寝室名称")
+    private String roomName;
+
+    @ContentStyle(dataFormat = 49)
+    @ApiModelProperty("床位")
+    private String bedNumber;
+}

+ 3 - 2
src/main/resources/mapper/room/RoomBedMapper.xml

@@ -134,7 +134,7 @@
         ORDER BY t2.sort_code,t1.sort_code
     </select>
 
-    <select id="getClassStudetBed" parameterType="com.xjrsoft.module.room.dto.AdjustClassPageDto" resultType="com.xjrsoft.module.room.vo.AdjustBedClassPageVo">
+    <select id="getClassStudetBed" parameterType="com.xjrsoft.module.room.dto.AdjustClassPageDto" resultType="com.xjrsoft.module.room.vo.AdjustBedClassStudentPageVo">
         SELECT t1.user_id,t4.id AS class_id, t4.name AS class_name,t2.name AS student_name,REPLACE(REPLACE(t2.gender,1,'男'),2,'女') AS gender_cn,t7.name AS build_name,t6.room_name,t5.bed_number FROM base_student t1
         LEFT JOIN xjr_user t2 ON t1.user_id = t2.id
         LEFT JOIN base_student_school_roll t3 ON t1.user_id = t3.user_id
@@ -143,11 +143,12 @@
         LEFT JOIN room t6 ON t5.room_id = t6.id
         LEFT JOIN base_office_build t7 ON t6.office_build_id = t7.id
         WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
+        and t3.stduy_status = 'FB3002'
         <if test="dto.gradeId != null">
             and t4.grade_id = #{dto.gradeId}
         </if>
         <if test="dto.classId != null">
-            and t4.class_id = #{dto.classId}
+            and t4.id = #{dto.classId}
         </if>
         <if test="dto.gender != null and dto.gender != ''">
             and t6.gender = #{dto.gender}

+ 1 - 1
src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

@@ -1745,7 +1745,7 @@ public class FreeMarkerGeneratorTest {
         mainTable.setPkField(GlobalConstant.DEFAULT_PK);//设置主键
         mainTable.setPkType(GlobalConstant.DEFAULT_PK_TYPE);//设置主键类型
         tableConfigs.add(mainTable);
-
+    }
     @Test
     public void gcRoomRule() throws IOException {
         List<TableConfig> tableConfigs = new ArrayList<>();