Browse Source

更新床铺信息详情

liu 1 year ago
parent
commit
92402de481

+ 2 - 1
src/main/java/com/template/controller/WelcomeBedController.java

@@ -10,6 +10,7 @@ import com.template.model.request.InsertWelcomeBedRequest;
 import com.template.model.request.UpdateWelcomeBedRequest;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.BedDetailsVo;
 import com.template.model.vo.ListVo;
 import com.template.model.vo.StudentPageVo;
 import com.template.services.*;
@@ -613,7 +614,7 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
     @Override
     public CommonResult bedDetails(Integer schoolId, Integer buildId, Integer dormitoryId, String studentCard) {
         //        获取未入住的床位
-        List<WelcomeBed> beds = welcomeBedService.getBedList(schoolId, buildId, dormitoryId, studentCard);
+        List<BedDetailsVo> beds = welcomeBedService.getBedList(schoolId, buildId, dormitoryId, studentCard);
 
         return CommonResult.ok(beds);
 

+ 8 - 0
src/main/java/com/template/mapper/WelcomeBedMapper.java

@@ -2,8 +2,12 @@ package com.template.mapper;
 
 import com.template.model.pojo.WelcomeBed;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.vo.BedDetailsVo;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -15,4 +19,8 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface WelcomeBedMapper extends BaseMapper<WelcomeBed> {
 
+    List<BedDetailsVo> getBedList(@Param("schoolId") Integer schoolId, @Param("buildId") Integer buildId, @Param("dormitoryId") Integer dormitoryId, @Param("studentCard") String studentCard);
+
+    BedDetailsVo getBedDetailsVo(@Param("schoolId") Integer schoolId, @Param("buildId") Integer buildId, @Param("dormitoryId") Integer dormitoryId, @Param("studentCard") String studentCard);
+
 }

+ 71 - 0
src/main/java/com/template/model/vo/BedDetailsVo.java

@@ -0,0 +1,71 @@
+package com.template.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BedDetailsVo {
+
+    @ApiModelProperty(value = "照片")
+    private String picture;
+
+    @ApiModelProperty(value = "学号")
+    private String cardNum;
+
+    @ApiModelProperty(value = "姓名")
+    private String name;
+
+    @ApiModelProperty(value = "性别")
+    private String sex;
+
+    @ApiModelProperty(value = "民族")
+    private String nationality;
+
+    @ApiModelProperty(value = "所属学院")
+    private String college;
+
+//    @ApiModelProperty(value = "所属学院ID")
+//    private Integer collegeId;
+//
+//    @ApiModelProperty(value = "所属专业ID")
+//    private Integer majorId;
+
+    @ApiModelProperty(value = "专业")
+    private String major;
+
+    @ApiModelProperty(value = "所属班级")
+    private String classstr;
+
+//    @ApiModelProperty(value = "所属班级ID")
+//    private Integer classstrId;
+
+    @ApiModelProperty(value = "批次(年级)")
+    private String batchValue;
+
+//    @ApiModelProperty(value = "楼栋ID")
+//    private Integer buildId;
+
+    @ApiModelProperty(value = "楼栋名称")
+    private String build;
+
+    @ApiModelProperty(value = "考生号")
+    private String examNum;
+
+    @ApiModelProperty(value = "寝室号")
+    private String dormitory;
+
+    @ApiModelProperty(value = "学生身份证号")
+    private String studentCard;
+
+    @ApiModelProperty(value = "家庭住址")
+    private String address;
+
+    @ApiModelProperty(value = "手机号码")
+    private String phone;
+
+    @ApiModelProperty(value = "床位号")
+    private Integer number;
+
+    @ApiModelProperty(value = "是否入住")
+    private Integer isCheck;
+}

+ 2 - 1
src/main/java/com/template/services/WelcomeBedService.java

@@ -4,6 +4,7 @@ import com.template.model.pojo.WelcomeBed;
 import com.template.model.pojo.WelcomeBed;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.BedDetailsVo;
 
 import java.util.List;
 
@@ -36,7 +37,7 @@ public interface WelcomeBedService extends IService<WelcomeBed> {
 
     List<WelcomeBed> bedNumberGroup(Integer schoolId, Integer buildId, Integer dormitoryId);
 
-    List<WelcomeBed> getBedList(Integer schoolId, Integer buildId, Integer dormitoryId, String studentCard);
+    List<BedDetailsVo> getBedList(Integer schoolId, Integer buildId, Integer dormitoryId, String studentCard);
 
     List<WelcomeBed> queryDormitorys(Integer dormitory);
 

+ 8 - 17
src/main/java/com/template/services/impl/WelcomeBedServiceImpl.java

@@ -9,6 +9,7 @@ import com.template.model.pojo.WelcomeBed;
 import com.template.model.pojo.WelcomeBed;
 import com.template.mapper.WelcomeBedMapper;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.BedDetailsVo;
 import com.template.services.WelcomeBedService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -120,36 +121,26 @@ public class WelcomeBedServiceImpl extends ServiceImpl<WelcomeBedMapper, Welcome
         queryWrapper.eq(WelcomeBed::getSchoolId, schoolId)
                 .eq(WelcomeBed::getBuildId, buildId)
                 .eq(WelcomeBed::getDormitoryId, dormitoryId)
-                .eq(WelcomeBed::getIsCheck,0);
+                .eq(WelcomeBed::getIsCheck, 0);
         List<WelcomeBed> result = welcomeBedMapper.selectList(queryWrapper);
         return result;
 
     }
 
     @Override
-    public List<WelcomeBed> getBedList(Integer schoolId, Integer buildId, Integer dormitoryId, String studentCard) {
-        LambdaQueryWrapper<WelcomeBed> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.select(WelcomeBed::getNumber, WelcomeBed::getIsCheck)
-                .eq(WelcomeBed::getSchoolId, schoolId)
-                .eq(WelcomeBed::getBuildId, buildId)
-                .eq(WelcomeBed::getDormitoryId, dormitoryId)
-                .ne(WelcomeBed::getStudentCard, studentCard);
-        List<WelcomeBed> result = welcomeBedMapper.selectList(queryWrapper);
+    public List<BedDetailsVo> getBedList(Integer schoolId, Integer buildId, Integer dormitoryId, String studentCard) {
+        List<BedDetailsVo> result = welcomeBedMapper.getBedList(schoolId,buildId,dormitoryId,studentCard);
 
-        LambdaQueryWrapper<WelcomeBed> queryWrapper2 = new LambdaQueryWrapper<>();
-        queryWrapper2.eq(WelcomeBed::getSchoolId, schoolId)
-                .eq(WelcomeBed::getBuildId, buildId)
-                .eq(WelcomeBed::getDormitoryId, dormitoryId)
-                .eq(WelcomeBed::getStudentCard, studentCard);
-        WelcomeBed welcomeBed = welcomeBedMapper.selectOne(queryWrapper2);
-        result.add(welcomeBed);
+        BedDetailsVo vo = welcomeBedMapper.getBedDetailsVo(schoolId,buildId,dormitoryId,studentCard);
+
+        result.add(vo);
         return result;
     }
 
     @Override
     public List<WelcomeBed> queryDormitorys(Integer dormitory) {
         QueryWrapper<WelcomeBed> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("dormitory_id",dormitory);
+        queryWrapper.eq("dormitory_id", dormitory);
         List<WelcomeBed> result = welcomeBedMapper.selectList(queryWrapper);
         return result;
     }

+ 53 - 0
src/main/resources/mapper/template/WelcomeBedMapper.xml

@@ -2,4 +2,57 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.WelcomeBedMapper">
 
+    <select id="getBedList" resultType="com.template.model.vo.BedDetailsVo">
+        SELECT
+            number,
+            is_check as isCheck
+        FROM
+            welcome_bed
+        WHERE
+            deleted = 0
+          AND school_id = #{schoolId}
+          AND build_id = #{buildId}
+          AND dormitory_id = #{dormitoryId}
+          AND (student_card != #{studentCard} or student_card is NULL)
+    </select>
+    <select id="getBedDetailsVo" resultType="com.template.model.vo.BedDetailsVo">
+        SELECT
+            ws.picture,
+            wb.card_num ascardNum,
+            ws.`name`,
+            ws.sex,
+            ws.nationality,
+            wo.`name` as college,
+            wo2.`name` as major,
+            wo3.`name` as classstr,
+            ws.batch_value as batchValue,
+            w.build,
+            ws.exam_num as examNum,
+            wd.dormitory,
+            wb.student_card as studentCard,
+            ws.address,
+            ws.phone,
+            wb.number,
+            wb.is_check as isCheck
+        FROM
+            welcome_bed wb
+                LEFT JOIN welcome_org wo ON wb.college_id = wo.id
+                AND wo.deleted = 0
+                LEFT JOIN welcome_org wo2 ON wb.major_id = wo2.id
+                AND wo2.deleted = 0
+                LEFT JOIN welcome_org wo3 ON wb.classstr_id = wo3.id
+                AND wo3.deleted = 0
+                LEFT JOIN welcome_build w ON wb.build_id = w.id
+                AND w.deleted = 0
+                LEFT JOIN welcome_dormitory wd ON wb.dormitory_id = wd.id
+                AND wd.deleted = 0
+                LEFT JOIN welcome_student ws ON wb.student_card = ws.card_id
+                AND ws.deleted = 0
+        WHERE
+            wb.deleted = 0
+          AND wb.school_id = #{schoolId}
+          AND wb.build_id = #{buildId}
+          AND wb.dormitory_id = #{dormitoryId}
+          AND wb.student_card = #{studentCard}
+    </select>
 </mapper>