Browse Source

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

夏文涛 1 year ago
parent
commit
4eafff74f5

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

@@ -119,6 +119,7 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
         wb.setGrade(iwbr.getGrade());
         wb.setCollegeId(iwbr.getCollegeId());
         wb.setCollege(iwbr.getCollege());
+        wb.setRetentionState(1);
 
         int result = welcomeBedService.insertWelcomeBed(wb);
         return result > 0 ? CommonResult.ok("添加成功!") : CommonResult.fail("添加失败");

+ 55 - 22
src/main/java/com/template/controller/WelcomeDormitoryController.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.api.WelcomeDormitoryControllerAPI;
 import com.template.api.WelcomeStudentControllerAPI;
+import com.template.common.utils.BeanUtil;
 import com.template.common.utils.ExcelUtils;
 import com.template.model.enumModel.eFileType;
 import com.template.model.pojo.*;
@@ -66,8 +67,17 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
 
     @Override
     public CommonResult saveDormitory(WelcomeDormitory welcomeDormitory) {
-        WelcomeDormitory existCount =welcomeDormitoryService.queryExistDormotory(welcomeDormitory.getSchoolId(),welcomeDormitory.getBuildId(),welcomeDormitory.getDormitory());
-        if(existCount != null && existCount.getId().intValue() != welcomeDormitory.getId().intValue()){
+
+        WelcomeBuild byId = welcomeBuildService.getById(welcomeDormitory.getBuildId());
+        if (ObjectUtils.isEmpty(byId)) {
+            return CommonResult.fail("该楼栋不存在");
+        }
+        if (!byId.getSex().equals(welcomeDormitory.getSex())) {
+            return CommonResult.fail("请勿跨性别添加寝室");
+        }
+
+        WelcomeDormitory existCount = welcomeDormitoryService.queryExistDormotory(welcomeDormitory.getSchoolId(), welcomeDormitory.getBuildId(), welcomeDormitory.getDormitory());
+        if (existCount != null && existCount.getId().intValue() != welcomeDormitory.getId().intValue()) {
             return CommonResult.ok("当前寝室号已存在");
         }
 
@@ -132,10 +142,18 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
     @Override
     public CommonResult updateDormitory(WelcomeDormitory welcomeDormitory) {
 
-         WelcomeDormitory existCount =welcomeDormitoryService.queryExistDormotory(welcomeDormitory.getSchoolId(),welcomeDormitory.getBuildId(),welcomeDormitory.getDormitory());
-         if(existCount != null && existCount.getId().intValue() != welcomeDormitory.getId().intValue()){
-             return CommonResult.ok("当前寝室号已存在");
-         }
+        WelcomeBuild byId = welcomeBuildService.getById(welcomeDormitory.getBuildId());
+        if (ObjectUtils.isEmpty(byId)) {
+            return CommonResult.fail("该楼栋不存在");
+        }
+        if (!byId.getSex().equals(welcomeDormitory.getSex())) {
+            return CommonResult.fail("请勿跨性别添加寝室");
+        }
+
+        WelcomeDormitory existCount = welcomeDormitoryService.queryExistDormotory(welcomeDormitory.getSchoolId(), welcomeDormitory.getBuildId(), welcomeDormitory.getDormitory());
+        if (existCount != null && existCount.getId().intValue() != welcomeDormitory.getId().intValue()) {
+            return CommonResult.ok("当前寝室号已存在");
+        }
 
 
         WelcomeDormitory one = welcomeDormitoryService.getById(welcomeDormitory.getId());
@@ -219,7 +237,7 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
         }
 
         if (welcomeBeds != null && welcomeBeds.size() > 0) {
-            boolean insertBeds = welcomeBedService.saveBatch(welcomeBeds);
+            boolean insertBeds = welcomeBedService.saveOrUpdateBatch(welcomeBeds);
             if (!insertBeds) {
                 return CommonResult.fail("编辑失败");
             }
@@ -228,33 +246,49 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
     }
 
     @Override
-    public CommonResult listDormitory(int currentPage, int pageCount, Integer schoolId,Integer buildId,Integer dormitoryId,String sex,Integer collegeId,Integer status,Integer retentionState) {
+    public CommonResult listDormitory(int currentPage, int pageCount, Integer schoolId, Integer buildId, Integer dormitoryId, String sex, Integer collegeId, Integer status, Integer retentionState) {
 
-        PageUtils<WelcomeDormitoryVo> pageUtils = welcomeDormitoryService.listDormitoryPage(currentPage, pageCount, schoolId, buildId, dormitoryId, sex, collegeId, status,retentionState);
+        PageUtils<WelcomeDormitoryVo> pageUtils = welcomeDormitoryService.listDormitoryPage(currentPage, pageCount, schoolId, buildId, dormitoryId, sex, collegeId, status, retentionState);
 
         if (pageUtils != null && pageUtils.getList() != null && pageUtils.getList().size() > 0) {
             List<Integer> dormitoryIds = pageUtils.getList().stream().map(WelcomeDormitoryVo::getId).collect(Collectors.toList());
             List<WelcomeBed> beds = welcomeBedService.queryBeds(dormitoryIds);
 
+            ArrayList<WelcomeDormitory> welcomeDormitories = new ArrayList<>();
             for (WelcomeDormitoryVo wdv : pageUtils.getList()) {
                 //入住人数
                 int count = (int) beds.stream().filter(e -> e.getDormitoryId().intValue() == wdv.getId().intValue() && StringUtils.hasText(e.getStudentCard())).count();
                 if (count == wdv.getBedNumber().intValue()) {//满员 1
                     //更改状态
-                    wdv.setStatus(1);
-                    wdv.setFreeBedNumber(0);
+                    if (wdv.getStatus() != 1 || wdv.getFreeBedNumber() != 0) {
+                        wdv.setStatus(1);
+                        wdv.setFreeBedNumber(0);
+                        WelcomeDormitory welcomeDormitory = new WelcomeDormitory();
+                        BeanUtil.copyProperties(wdv,welcomeDormitory);
+                        welcomeDormitories.add(welcomeDormitory);
+                    }
+
                 } else if (count > 0 && count < wdv.getBedNumber().intValue()) {//缺额 3
                     //更改状态
-                    wdv.setStatus(3);
-                    wdv.setFreeBedNumber(wdv.getBedNumber()-count);
+                    if (wdv.getStatus() != 3 || wdv.getFreeBedNumber() != wdv.getBedNumber() - count) {
+                        wdv.setStatus(3);
+                        wdv.setFreeBedNumber(wdv.getBedNumber() - count);
+                        WelcomeDormitory welcomeDormitory = new WelcomeDormitory();
+                        BeanUtil.copyProperties(wdv,welcomeDormitory);
+                        welcomeDormitories.add(welcomeDormitory);
+                    }
                 } else {//全空 2
                     //更改状态
-                    wdv.setStatus(2);
-                    wdv.setFreeBedNumber(wdv.getBedNumber()-count);
+                    if (wdv.getStatus() != 2 || wdv.getFreeBedNumber() != wdv.getBedNumber() - count) {
+                        wdv.setStatus(2);
+                        wdv.setFreeBedNumber(wdv.getBedNumber() - count);
+                        WelcomeDormitory welcomeDormitory = new WelcomeDormitory();
+                        BeanUtil.copyProperties(wdv,welcomeDormitory);
+                        welcomeDormitories.add(welcomeDormitory);
+                    }
                 }
-
-
             }
+            welcomeDormitoryService.updateBatchById(welcomeDormitories);
         }
 
 
@@ -600,7 +634,7 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
     }
 
     @Override
-    public void welcomeDormitoryExport(HttpServletResponse response, Integer schoolId,Integer buildId,Integer dormitoryId,String sex,Integer collegeId,Integer status,Integer retentionState) {
+    public void welcomeDormitoryExport(HttpServletResponse response, Integer schoolId, Integer buildId, Integer dormitoryId, String sex, Integer collegeId, Integer status, Integer retentionState) {
         List<WelcomeDormitoryVo> result = welcomeDormitoryService.listDormitory(schoolId, buildId, dormitoryId, sex, collegeId, status, retentionState);
         //导出
         Workbook workbook = new XSSFWorkbook();
@@ -640,8 +674,8 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
     @Override
     public CommonResult batchOperation(BatchOperationVo batchOperationVo) {
         List<Integer> dormitoryIds = batchOperationVo.getDormitoryIds();
-        LambdaQueryWrapper<WelcomeDormitory> wrapper=new LambdaQueryWrapper<>();
-        wrapper.in(WelcomeDormitory::getId,dormitoryIds);
+        LambdaQueryWrapper<WelcomeDormitory> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(WelcomeDormitory::getId, dormitoryIds);
         List<WelcomeDormitory> list = welcomeDormitoryService.list(wrapper);
         if (ObjectUtils.isNotEmpty(list)) {
             for (WelcomeDormitory welcomeDormitory : list) {
@@ -654,12 +688,11 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
 
     @Override
     public CommonResult collegeDormitoryCollegeGroup(Integer schoolId, Integer buildId, Integer collegeId) {
-        List<WelcomeDormitory> list = welcomeDormitoryService.collegeDormitoryCollegeGroup(schoolId, buildId,collegeId);
+        List<WelcomeDormitory> list = welcomeDormitoryService.collegeDormitoryCollegeGroup(schoolId, buildId, collegeId);
 
         return CommonResult.ok(list);
     }
 
 
-
 }
 

+ 14 - 12
src/main/java/com/template/model/vo/WelcomeVisitorVO.java

@@ -21,16 +21,21 @@ public class WelcomeVisitorVO implements Serializable {
 
     @ApiModelProperty(value = "学生身份证号")
     @ExcelProperty("学生身份证号")
+    @ExcelIgnore
     private String studentCard;
 
-    @ApiModelProperty(value = "访客姓名")
-    @ExcelProperty("访客姓名")
+    @ApiModelProperty(value = "学生姓名")
+    @ExcelProperty("学生姓名")
     private String name;
 
-    @ApiModelProperty(value = "访客手机号")
-    @ExcelProperty("访客手机号")
+    @ApiModelProperty(value = "手机号")
+    @ExcelProperty("手机号")
     private String phone;
 
+    @ApiModelProperty(value = "访问事由")
+    @ExcelProperty("访问事由")
+    private String visitorReason;
+
     @ApiModelProperty(value = "校区id")
     @ExcelIgnore
     private String schoolId;
@@ -55,15 +60,12 @@ public class WelcomeVisitorVO implements Serializable {
     @ExcelProperty("同行人数")
     private Integer peerNum;
 
-    @ApiModelProperty(value = "创建时间")
-    @ExcelProperty("创建时间")
-    private Date createTime;
-
-    @ApiModelProperty(value = "访问事由")
-    @ExcelProperty("访问事由")
-    private String visitorReason;
-
     @ApiModelProperty(value = "备注")
     @ExcelProperty("备注")
     private String remark;
+
+    @ApiModelProperty(value = "创建时间")
+    @ExcelProperty("创建时间")
+    @ExcelIgnore
+    private Date createTime;
 }

+ 1 - 0
src/main/java/com/template/services/impl/WelcomeVisitorServiceImpl.java

@@ -215,6 +215,7 @@ public class WelcomeVisitorServiceImpl extends ServiceImpl<WelcomeVisitorMapper,
         LambdaQueryWrapper<WelcomeVisitor> wrapper = new LambdaQueryWrapper<>();
         wrapper.like(StrUtil.isNotBlank(visitorQuery.getCarNumber()), WelcomeVisitor::getCarNumber, visitorQuery.getCarNumber());
         wrapper.like(StrUtil.isNotBlank(visitorQuery.getName()), WelcomeVisitor::getName, visitorQuery.getName());
+        wrapper.eq(StrUtil.isNotBlank(visitorQuery.getSchool()), WelcomeVisitor::getSchool, visitorQuery.getSchool());
 
         IPage<WelcomeVisitor> page = baseMapper.selectPage(new IPageUtil<WelcomeVisitor>().getPage(visitorQuery), wrapper);