Browse Source

Merge branch 'master' of https://e.coding.net/chuanghaikeji/smarCampus/backend_dormitory

夏文涛 1 year ago
parent
commit
c6fe6701a1

+ 14 - 6
src/main/java/com/template/controller/WelcomeBedController.java

@@ -138,7 +138,7 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
         wb.setGrade(iwbr.getGrade());
         wb.setCollegeId(iwbr.getCollegeId());
         wb.setCollege(iwbr.getCollege());
-        wb.setRetentionState(1);
+        wb.setRetentionState(iwbr.getRetentionState());
 
         int result = welcomeBedService.insertWelcomeBed(wb);
         return result > 0 ? CommonResult.ok("添加成功!") : CommonResult.fail("添加失败");
@@ -371,6 +371,9 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
                     } else {
                         WelcomeBed bedData = new WelcomeBed();
                         String school = dataFormatter.formatCellValue(row.getCell(0));//校区
+                        if (ObjectUtils.isEmpty(school)) {
+                            continue;
+                        }
                         String build = dataFormatter.formatCellValue(row.getCell(1));//楼栋
                         String dormitory = dataFormatter.formatCellValue(row.getCell(2));//寝室号
                         String number = dataFormatter.formatCellValue(row.getCell(3));//床位号
@@ -401,7 +404,7 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
 
                         //楼栋
                         if (wbils != null && wbils.size() > 0) {
-                            Optional<WelcomeBuild> oBuild = wbils.stream().filter(e -> e.getBuild().equals(build)).findFirst();
+                            Optional<WelcomeBuild> oBuild = wbils.stream().filter(e -> e.getSchool().equals(school) && e.getBuild().equals(build)).findFirst();
                             if (oBuild != null && oBuild.isPresent()) {
                                 bedData.setBuild(build);
                                 bedData.setBuildId(oBuild.get().getId());
@@ -413,7 +416,8 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
 
                         //寝室
                         if (wds != null && wds.size() > 0) {
-                            Optional<WelcomeDormitory> oDormitory = wds.stream().filter(e -> e.getDormitory().equals(dormitory)).findFirst();
+                            Optional<WelcomeDormitory> oDormitory = wds.stream().filter(e ->e.getSchool().equals(school) && e.getBuild().equals(build)
+                                    && e.getDormitory().equals(dormitory)).findFirst();
                             if (oDormitory != null && oDormitory.isPresent()) {
                                 if (!oDormitory.get().getSex().equals(sex)) {
                                     int h=rowNum+1;
@@ -560,6 +564,9 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
                     } else {
                         WelcomeBed bedData = new WelcomeBed();
                         String school = dataFormatter.formatCellValue(row.getCell(0));//校区
+                        if (ObjectUtils.isEmpty(school)) {
+                            continue;
+                        }
                         String build = dataFormatter.formatCellValue(row.getCell(1));//楼栋
                         String dormitory = dataFormatter.formatCellValue(row.getCell(2));//寝室号
                         String number = dataFormatter.formatCellValue(row.getCell(3));//床位号
@@ -584,13 +591,13 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
                                 bedData.setSchool(school);
                             } else {
                                 int h=rowNum+1;
-                                return CommonResult.fail("第" + h + "行,不存在该校区");
+                                return CommonResult.fail("第" +h+ "行,不存在该校区");
                             }
                         }
 
                         //楼栋
                         if (wbils != null && wbils.size() > 0) {
-                            Optional<WelcomeBuild> oBuild = wbils.stream().filter(e -> e.getBuild().equals(build)).findFirst();
+                            Optional<WelcomeBuild> oBuild = wbils.stream().filter(e -> e.getSchool().equals(school) && e.getBuild().equals(build)).findFirst();
                             if (oBuild != null && oBuild.isPresent()) {
                                 bedData.setBuild(build);
                                 bedData.setBuildId(oBuild.get().getId());
@@ -602,7 +609,8 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
 
                         //寝室
                         if (wds != null && wds.size() > 0) {
-                            Optional<WelcomeDormitory> oDormitory = wds.stream().filter(e -> e.getDormitory().equals(dormitory)).findFirst();
+                            Optional<WelcomeDormitory> oDormitory = wds.stream().filter(e ->e.getSchool().equals(school) && e.getBuild().equals(build)
+                                    && e.getDormitory().equals(dormitory)).findFirst();
                             if (oDormitory != null && oDormitory.isPresent()) {
                                 if (!oDormitory.get().getSex().equals(sex)) {
                                     int h=rowNum+1;

+ 7 - 0
src/main/java/com/template/controller/WelcomeBuildController.java

@@ -222,6 +222,9 @@ public class WelcomeBuildController implements WelcomeBuildControllerAPI {
                         WelcomeBuild buildData = new WelcomeBuild();
 
                         String school = dataFormatter.formatCellValue(row.getCell(1));//校区名称
+                        if (ObjectUtils.isEmpty(school)) {
+                            continue;
+                        }
                         Optional<WelcomeSchool> wos = ws.stream().filter(e -> e.getSchool().equals(school)).findFirst();
                         if (wos != null && wos.isPresent()) {
                             buildData.setSchoolId(wos.get().getId()+"");
@@ -283,6 +286,7 @@ public class WelcomeBuildController implements WelcomeBuildControllerAPI {
 
                 XSSFRow row = sheetAt.getRow(rowNum);
 
+
                 if (row != null) {
                     //使用了getStringCellValue()方法来获取值,POI会判断单元格的类型,如果非字符串类型就会抛出上面的异常。
                     //所以先使用setCellType()方法先将该单元格的类型设置为STRING
@@ -321,6 +325,9 @@ public class WelcomeBuildController implements WelcomeBuildControllerAPI {
                         WelcomeBuild buildData = new WelcomeBuild();
 
                         String school = dataFormatter.formatCellValue(row.getCell(1));//校区名称
+                        if (ObjectUtils.isEmpty(school)) {
+                            continue;
+                        }
                         Optional<WelcomeSchool> wos = ws.stream().filter(e -> e.getSchool().equals(school)).findFirst();
                         if (wos != null && wos.isPresent()) {
                             buildData.setSchoolId(wos.get().getId()+"");

+ 31 - 31
src/main/java/com/template/controller/WelcomeDormitoryController.java

@@ -39,6 +39,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.text.ParseException;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Collectors;
@@ -400,6 +401,8 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
         HSSFSheet sheetAt = sheets.getSheetAt(0);
         DataFormatter dataFormatter = new DataFormatter();
 
+        Calendar calendar = Calendar.getInstance();
+        int year = calendar.get(Calendar.YEAR);
         try {
             //rowNum = 3 从第三行开始获取值
             //sheetAt.getLastRowNum():从0开始统计数量 所以得+1
@@ -429,25 +432,24 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
                         if (!sex.equals("寝室性别")) {
                             return CommonResult.fail("导入数据第四列为寝室性别");
                         }
-                        String grade = dataFormatter.formatCellValue(row.getCell(4));//所属年级
-                        if (!grade.equals("所属年级")) {
-                            return CommonResult.fail("导入数据第五列为所属年级");
-                        }
-                        String college = dataFormatter.formatCellValue(row.getCell(5));//所属学院
+                        String college = dataFormatter.formatCellValue(row.getCell(4));//所属学院
                         if (!college.equals("所属学院")) {
-                            return CommonResult.fail("导入数据第列为所属学院");
+                            return CommonResult.fail("导入数据第五列为所属学院");
                         }
-                        String bedNum = dataFormatter.formatCellValue(row.getCell(6));//床位数
+                        String bedNum = dataFormatter.formatCellValue(row.getCell(5));//床位数
                         if (!bedNum.equals("床位数")) {
-                            return CommonResult.fail("导入数据第列为床位数");
+                            return CommonResult.fail("导入数据第列为床位数");
                         }
-                        String remark = dataFormatter.formatCellValue(row.getCell(7));//备注
+                        String remark = dataFormatter.formatCellValue(row.getCell(6));//备注
                         if (!remark.equals("备注")) {
-                            return CommonResult.fail("导入数据第列为备注");
+                            return CommonResult.fail("导入数据第列为备注");
                         }
 
                     } else {
                         String school = dataFormatter.formatCellValue(row.getCell(0));//校区名称
+                        if (ObjectUtils.isEmpty(school)) {
+                            continue;
+                        }
                         String build = dataFormatter.formatCellValue(row.getCell(1));//楼栋名称
                         String dormitory = dataFormatter.formatCellValue(row.getCell(2));//寝室号
                         WelcomeDormitory wd = new WelcomeDormitory();
@@ -457,10 +459,9 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
                         }
 
                         String sex = dataFormatter.formatCellValue(row.getCell(3));//寝室性别
-                        String grade = dataFormatter.formatCellValue(row.getCell(4));//所属年级
-                        String college = dataFormatter.formatCellValue(row.getCell(5));//所属学院
-                        String bedNum = dataFormatter.formatCellValue(row.getCell(6));//床位数
-                        String remark = dataFormatter.formatCellValue(row.getCell(7));//备注
+                        String college = dataFormatter.formatCellValue(row.getCell(4));//所属学院
+                        String bedNum = dataFormatter.formatCellValue(row.getCell(5));//床位数
+                        String remark = dataFormatter.formatCellValue(row.getCell(6));//备注
 
                         Optional<WelcomeSchool> wos = ws.stream().filter(e -> e.getSchool().equals(school)).findFirst();
                         if (wos != null && wos.isPresent()) {
@@ -502,7 +503,7 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
                         wd.setStatus(2);
                         wd.setRemark(remark);
                         wd.setRetentionState(1);
-                        wd.setGrade(Integer.valueOf(grade));
+                        wd.setGrade(year);
                         result.add(wd);
                     }
                 }
@@ -534,7 +535,8 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
         //读取第一张sheet
         XSSFSheet sheetAt = sheets.getSheetAt(0);
         DataFormatter dataFormatter = new DataFormatter();
-
+        Calendar calendar = Calendar.getInstance();
+        int year = calendar.get(Calendar.YEAR);
         try {
             //rowNum = 3 从第三行开始获取值
             //sheetAt.getLastRowNum():从0开始统计数量 所以得+1
@@ -564,26 +566,25 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
                         if (!sex.equals("寝室性别")) {
                             return CommonResult.fail("导入数据第四列为寝室性别");
                         }
-                        String grade = dataFormatter.formatCellValue(row.getCell(4));//所属年级
-                        if (!grade.equals("所属年级")) {
-                            return CommonResult.fail("导入数据第五列为所属年级");
-                        }
-                        String college = dataFormatter.formatCellValue(row.getCell(5));//所属学院
+                        String college = dataFormatter.formatCellValue(row.getCell(4));//所属学院
                         if (!college.equals("所属学院")) {
-                            return CommonResult.fail("导入数据第列为所属学院");
+                            return CommonResult.fail("导入数据第五列为所属学院");
                         }
-                        String bedNum = dataFormatter.formatCellValue(row.getCell(6));//床位数
+                        String bedNum = dataFormatter.formatCellValue(row.getCell(5));//床位数
                         if (!bedNum.equals("床位数")) {
-                            return CommonResult.fail("导入数据第列为床位数");
+                            return CommonResult.fail("导入数据第列为床位数");
                         }
-                        String remark = dataFormatter.formatCellValue(row.getCell(7));//备注
+                        String remark = dataFormatter.formatCellValue(row.getCell(6));//备注
                         if (!remark.equals("备注")) {
-                            return CommonResult.fail("导入数据第列为备注");
+                            return CommonResult.fail("导入数据第列为备注");
                         }
 
 
                     } else {
                         String school = dataFormatter.formatCellValue(row.getCell(0));//校区名称
+                        if (ObjectUtils.isEmpty(school)) {
+                            continue;
+                        }
                         String build = dataFormatter.formatCellValue(row.getCell(1));//楼栋名称
                         String dormitory = dataFormatter.formatCellValue(row.getCell(2));//寝室号
                         WelcomeDormitory wd = new WelcomeDormitory();
@@ -593,10 +594,9 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
                         }
 
                         String sex = dataFormatter.formatCellValue(row.getCell(3));//寝室性别
-                        String grade = dataFormatter.formatCellValue(row.getCell(4));//所属年级
-                        String college = dataFormatter.formatCellValue(row.getCell(5));//所属学院
-                        String bedNum = dataFormatter.formatCellValue(row.getCell(6));//床位数
-                        String remark = dataFormatter.formatCellValue(row.getCell(7));//备注
+                        String college = dataFormatter.formatCellValue(row.getCell(4));//所属学院
+                        String bedNum = dataFormatter.formatCellValue(row.getCell(5));//床位数
+                        String remark = dataFormatter.formatCellValue(row.getCell(6));//备注
 
                         Optional<WelcomeSchool> wos = ws.stream().filter(e -> e.getSchool().equals(school)).findFirst();
                         if (wos != null && wos.isPresent()) {
@@ -637,7 +637,7 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
                         wd.setStatus(2);
                         wd.setRemark(remark);
                         wd.setRetentionState(1);
-                        wd.setGrade(Integer.valueOf(grade));
+                        wd.setGrade(year);
                         result.add(wd);
                     }
                 }

+ 25 - 10
src/main/java/com/template/controller/WelcomeStudentController.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.api.R;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.annotation.PassToken;
@@ -422,6 +423,14 @@ public class WelcomeStudentController implements WelcomeStudentControllerAPI {
 //        //endregion
 
         try {
+//            获取床位数据
+            WelcomeBed bedByCardId = welcomeBedService.getBedByCardId(student.getCardId());
+            if (ObjectUtils.isNotEmpty(bedByCardId)) {
+                bedByCardId.setName(student.getName());
+                bedByCardId.setCardNum(student.getAdmissNum());
+                welcomeBedService.updateById(bedByCardId);
+            }
+
 
             int studentId = welcomeStudentService.updateWelcomeStudent(student);
             if (studentId <= 0) {
@@ -798,16 +807,22 @@ public class WelcomeStudentController implements WelcomeStudentControllerAPI {
         //把旧床位清空
         WelcomeBed obedData = welcomeBedService.getBedByCardId(ws.getCardId());
         if (obedData != null) {
-            obedData.setStudentCard(null);
-            obedData.setCollege(null);
-            obedData.setCollegeId(null);
-            obedData.setMajor(null);
-            obedData.setMajorId(null);
-            obedData.setClassstr(null);
-            obedData.setClassstrId(null);
-            obedData.setIsCheck(0);
-            obedData.setCardNum(null);
-            obedData.setName(null);
+            welcomeBedService.updateData(obedData.getId());
+            //        修改寝室信息
+            WelcomeDormitory welcomeDormitory = welcomeDormitoryService.getById(obedData.getDormitoryId());
+            if (ObjectUtils.isNotEmpty(welcomeDormitory)) {
+                Integer freeBedNumber = welcomeDormitory.getFreeBedNumber();
+                Integer bedNumber = welcomeDormitory.getBedNumber();
+                freeBedNumber = freeBedNumber + 1;
+                if (bedNumber.equals(freeBedNumber)) {
+                    welcomeDormitory.setFreeBedNumber(freeBedNumber);
+                    welcomeDormitory.setStatus(1);
+                } else if (bedNumber > freeBedNumber) {
+                    welcomeDormitory.setFreeBedNumber(freeBedNumber);
+                    welcomeDormitory.setStatus(3);
+                }
+                welcomeDormitoryService.updateById(welcomeDormitory);
+            }
         }
 
         try {

+ 1 - 1
src/main/java/com/template/model/pojo/WelcomeBed.java

@@ -82,7 +82,7 @@ public class WelcomeBed implements Serializable {
     @ApiModelProperty(value = "是否入住 1:入住,0:未入住")
     private Integer isCheck;
 
-    @ApiModelProperty(value = "号")
+    @ApiModelProperty(value = "录取号")
     private String cardNum;
 
     @ApiModelProperty(value = "姓名")

+ 1 - 6
src/main/resources/mapper/template/WelcomeBedMapper.xml

@@ -6,12 +6,7 @@
         SET is_check = 0,
             student_card = NULL,
             card_num = NULL,
-            classstr_id = NULL,
-            classstr = NULL,
-            `name` = NULL,
-            major = NULL,
-            major_id = NULL,
-            instructor = NULL
+            `name` = NULL
         WHERE
             id = #{bedId}
     </update>