Explorar o código

增加 修改学生的寝室床位 接口

dzx hai 1 ano
pai
achega
c108409323

+ 5 - 13
src/main/java/com/xjrsoft/module/room/controller/RoomBedAdjustController.java

@@ -7,11 +7,10 @@ import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.module.room.dto.AdjustBedPageDto;
 import com.xjrsoft.module.room.dto.AdjustClassPageDto;
-import com.xjrsoft.module.room.dto.DistributeRoomBedDto;
+import com.xjrsoft.module.room.dto.AdjustStudentBedDto;
 import com.xjrsoft.module.room.service.IRoomBedService;
 import com.xjrsoft.module.room.vo.AdjustBedClassPageVo;
 import com.xjrsoft.module.room.vo.AdjustBedStudentPageVo;
-import com.xjrsoft.module.room.vo.DistributeResultClassVo;
 import com.xjrsoft.module.room.vo.NoBedStudentPageVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -24,8 +23,6 @@ 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: 调整床位
@@ -79,15 +76,10 @@ public class RoomBedAdjustController {
     }
 
     @PutMapping
-    @ApiOperation(value = "修改寝室床位")
+    @ApiOperation(value = "修改学生的寝室床位")
     @SaCheckPermission("roomBedAdjust:edit")
-    public RT<List<DistributeResultClassVo>> adjustBed(@Valid @RequestBody DistributeRoomBedDto dto){
-        Boolean result = roomBedService.distributeRoomBed(dto);
-        List<DistributeResultClassVo> list = new ArrayList<>();
-        if(result){
-            list = roomBedService.getDistributeResult(dto);
-            return RT.ok(list);
-        }
-        return RT.ok(list);
+    public RT<Boolean> adjustBed(@Valid @RequestBody AdjustStudentBedDto dto){
+        Boolean result = roomBedService.adjustBed(dto);
+        return RT.ok(result);
     }
 }

+ 15 - 3
src/main/java/com/xjrsoft/module/room/dto/AdjustBedPageDto.java

@@ -16,10 +16,22 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = false)
 public class AdjustBedPageDto extends PageInput {
 
-    @ApiModelProperty("年级id")
-    public Long gradeId;
+    @ApiModelProperty("是否空寝室(1:是,0:否)")
+    public Integer isEmptyRoom;
 
-    @ApiModelProperty("年级id")
+    @ApiModelProperty("楼栋id")
+    public Long buildId;
+
+    @ApiModelProperty("楼层")
+    public Long floorNumber;
+
+    @ApiModelProperty("寝室号")
+    public String roomName;
+
+    @ApiModelProperty("是否混合寝室(1:是,0:否)")
+    public Integer isMax;
+
+    @ApiModelProperty("入住班级")
     public Long classId;
 
 }

+ 9 - 0
src/main/java/com/xjrsoft/module/room/dto/AdjustClassPageDto.java

@@ -22,4 +22,13 @@ public class AdjustClassPageDto extends PageInput {
     @ApiModelProperty("年级id")
     public Long classId;
 
+    @ApiModelProperty("入住性别")
+    public String gender;
+
+    @ApiModelProperty("是否安排寝室(1:是,0,否)")
+    public Integer isDistribute;
+
+    @ApiModelProperty("姓名")
+    public String studentName;
+
 }

+ 25 - 0
src/main/java/com/xjrsoft/module/room/dto/AdjustStudentBedDto.java

@@ -0,0 +1,25 @@
+package com.xjrsoft.module.room.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 寝室床位分页查询入参
+* @Author dzx
+* @Date: 2023-12-27
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class AdjustStudentBedDto extends PageInput {
+
+    @ApiModelProperty("床位id")
+    public Long bedId;
+
+    @ApiModelProperty("学生userId")
+    public Long studentUserId;
+
+}

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.room.dto.AdjustBedPageDto;
 import com.xjrsoft.module.room.dto.AdjustClassPageDto;
+import com.xjrsoft.module.room.dto.AdjustStudentBedDto;
 import com.xjrsoft.module.room.dto.DistributeClassPageDto;
 import com.xjrsoft.module.room.dto.DistributeRoomBedDto;
 import com.xjrsoft.module.room.dto.DistributeRoomBedPageDto;
@@ -89,4 +90,6 @@ public interface IRoomBedService extends MPJBaseService<RoomBed> {
      * @return
      */
     Page<NoBedStudentPageVo> getNoBedStudent(Page<AdjustBedPageDto> page, AdjustBedPageDto dto);
+
+    Boolean adjustBed(AdjustStudentBedDto dto);
 }

+ 10 - 0
src/main/java/com/xjrsoft/module/room/service/impl/RoomBedServiceImpl.java

@@ -13,6 +13,7 @@ import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.mapper.BaseClassMapper;
 import com.xjrsoft.module.room.dto.AdjustBedPageDto;
 import com.xjrsoft.module.room.dto.AdjustClassPageDto;
+import com.xjrsoft.module.room.dto.AdjustStudentBedDto;
 import com.xjrsoft.module.room.dto.DistributeClassPageDto;
 import com.xjrsoft.module.room.dto.DistributeRoomBedDto;
 import com.xjrsoft.module.room.dto.DistributeRoomBedPageDto;
@@ -234,4 +235,13 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
     public Page<NoBedStudentPageVo> getNoBedStudent(Page<AdjustBedPageDto> page, AdjustBedPageDto dto) {
         return roomBedMapper.getNoBedStudent(page, dto);
     }
+
+    @Override
+    public Boolean adjustBed(AdjustStudentBedDto dto) {
+        roomBedMapper.updateById(new RoomBed(){{
+            setId(dto.getBedId());
+            setStudentUserId(dto.getStudentUserId());
+        }});
+        return true;
+    }
 }

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

@@ -134,7 +134,7 @@
         ORDER BY t2.sort_code,t1.sort_code
     </select>
 
-    <select id="getClassStudetBed" resultType="com.xjrsoft.module.room.vo.AdjustBedClassPageVo">
+    <select id="getClassStudetBed" parameterType="com.xjrsoft.module.room.dto.AdjustClassPageDto" resultType="com.xjrsoft.module.room.vo.AdjustBedClassPageVo">
         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,6 +143,29 @@
         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
+        <if test="dto.gradeId != null">
+            and t4.grade_id = #{dto.gradeId}
+        </if>
+        <if test="dto.classId != null">
+            and t4.class_id = #{dto.classId}
+        </if>
+        <if test="dto.gender != null and dto.gender != ''">
+            and t6.gender = #{dto.gender}
+        </if>
+        <if test="dto.gender != null and dto.gender != ''">
+            and t6.gender = #{dto.gender}
+        </if>
+        <if test="dto.isDistribute != null">
+            <if test="dto.isDistribute == 1">
+                and t5.student_user_id is not null
+            </if>
+            <if test="dto.isDistribute == 0">
+                and t5.student_user_id is null
+            </if>
+        </if>
+        <if test="dto.studentName != null and dto.studentName != ''">
+            and t2.name like concat('%', #{dto.studentName}, '%')
+        </if>
     </select>
 
     <select id="getBedStudentInfo" parameterType="com.xjrsoft.module.room.dto.AdjustBedPageDto" resultType="com.xjrsoft.module.room.vo.AdjustBedStudentPageVo">
@@ -153,6 +176,9 @@
         LEFT JOIN xjr_dictionary_detail t5 ON t2.gender = t5.code AND t5.item_id = 2023000000000000004
         LEFT JOIN room_student_appoint t6 ON t6.room_bed_id = t1.id
         WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
+        <if test="dto.isEmptyRoom != null">
+            and t2.name like concat('%', #{dto.studentName}, '%')
+        </if>
         ORDER BY t2.sort_code,t1.sort_code
     </select>