|
@@ -25,6 +25,7 @@ import org.apache.poi.xssf.usermodel.XSSFRow;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
@@ -37,6 +38,7 @@ import java.text.ParseException;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Optional;
|
|
import java.util.Optional;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* <p>
|
|
* <p>
|
|
@@ -78,7 +80,7 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
|
|
|
welcomeDormitory.setFreeBedNumber(welcomeDormitory.getBedNumber());
|
|
welcomeDormitory.setFreeBedNumber(welcomeDormitory.getBedNumber());
|
|
|
|
|
|
|
|
boolean insertWd = welcomeDormitoryService.save(welcomeDormitory);
|
|
boolean insertWd = welcomeDormitoryService.save(welcomeDormitory);
|
|
|
- if(!insertWd){
|
|
|
|
|
|
|
+ if (!insertWd) {
|
|
|
return CommonResult.fail("新增失败");
|
|
return CommonResult.fail("新增失败");
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -104,9 +106,9 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
|
|
|
welcomeBeds.add(welcomeBed);
|
|
welcomeBeds.add(welcomeBed);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if(welcomeBeds != null && welcomeBeds.size() > 0){
|
|
|
|
|
|
|
+ if (welcomeBeds != null && welcomeBeds.size() > 0) {
|
|
|
boolean insertBeds = welcomeBedService.saveBatch(welcomeBeds);
|
|
boolean insertBeds = welcomeBedService.saveBatch(welcomeBeds);
|
|
|
- if(!insertBeds){
|
|
|
|
|
|
|
+ if (!insertBeds) {
|
|
|
return CommonResult.fail("新增失败");
|
|
return CommonResult.fail("新增失败");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -141,21 +143,36 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ List<WelcomeBed> beds = welcomeBedService.queryDormitorys(one.getId());
|
|
|
|
|
+
|
|
|
|
|
+ //入住人数
|
|
|
|
|
+ int count = (int) beds.stream().filter(e -> e.getDormitoryId().intValue() == welcomeDormitory.getId().intValue() && StringUtils.hasText(e.getStudentCard())).count();
|
|
|
|
|
+ if (count == welcomeDormitory.getBedNumber().intValue()) {//满员 1
|
|
|
|
|
+ //更改状态
|
|
|
|
|
+ welcomeDormitory.setStatus(1);
|
|
|
|
|
+ } else if (count > 0 && count < welcomeDormitory.getBedNumber().intValue()) {//缺额 3
|
|
|
|
|
+ //更改状态
|
|
|
|
|
+ welcomeDormitory.setStatus(3);
|
|
|
|
|
+ } else {//全空 2
|
|
|
|
|
+ //更改状态
|
|
|
|
|
+ welcomeDormitory.setStatus(2);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
boolean updateDormitory = welcomeDormitoryService.updateById(welcomeDormitory);
|
|
boolean updateDormitory = welcomeDormitoryService.updateById(welcomeDormitory);
|
|
|
- if(!updateDormitory){
|
|
|
|
|
|
|
+ if (!updateDormitory) {
|
|
|
return CommonResult.fail("编辑失败");
|
|
return CommonResult.fail("编辑失败");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 动态修改床位
|
|
// 动态修改床位
|
|
|
List<WelcomeBed> list = welcomeBedService.listWelcomeBed(welcomeDormitory.getId());
|
|
List<WelcomeBed> list = welcomeBedService.listWelcomeBed(welcomeDormitory.getId());
|
|
|
- if(list != null && list.size() > 0){
|
|
|
|
|
|
|
+ if (list != null && list.size() > 0) {
|
|
|
ArrayList<WelcomeBed> welcomeBeds = new ArrayList<>();
|
|
ArrayList<WelcomeBed> welcomeBeds = new ArrayList<>();
|
|
|
//动态生成床位
|
|
//动态生成床位
|
|
|
Integer bedNumber = welcomeDormitory.getBedNumber();
|
|
Integer bedNumber = welcomeDormitory.getBedNumber();
|
|
|
for (int i = 1; i <= bedNumber; i++) {
|
|
for (int i = 1; i <= bedNumber; i++) {
|
|
|
int intData = i;
|
|
int intData = i;
|
|
|
Optional<WelcomeBed> oBed = list.stream().filter(e -> e.getNumber().intValue() == intData).findFirst();
|
|
Optional<WelcomeBed> oBed = list.stream().filter(e -> e.getNumber().intValue() == intData).findFirst();
|
|
|
- if(oBed != null && oBed.isPresent()){
|
|
|
|
|
|
|
+ if (oBed != null && oBed.isPresent()) {
|
|
|
WelcomeBed wb = new WelcomeBed();
|
|
WelcomeBed wb = new WelcomeBed();
|
|
|
wb = oBed.get();
|
|
wb = oBed.get();
|
|
|
wb.setSchool(welcomeDormitory.getSchool());
|
|
wb.setSchool(welcomeDormitory.getSchool());
|
|
@@ -166,7 +183,7 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
|
|
|
wb.setDormitoryId(welcomeDormitory.getId());
|
|
wb.setDormitoryId(welcomeDormitory.getId());
|
|
|
wb.setSex(welcomeDormitory.getSex());
|
|
wb.setSex(welcomeDormitory.getSex());
|
|
|
welcomeBeds.add(wb);
|
|
welcomeBeds.add(wb);
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
WelcomeBed welcomeInsert = new WelcomeBed();
|
|
WelcomeBed welcomeInsert = new WelcomeBed();
|
|
|
welcomeInsert.setNumber(i);
|
|
welcomeInsert.setNumber(i);
|
|
|
welcomeInsert.setSchool(welcomeDormitory.getSchool());
|
|
welcomeInsert.setSchool(welcomeDormitory.getSchool());
|
|
@@ -180,7 +197,7 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
|
|
|
welcomeBeds.add(welcomeInsert);
|
|
welcomeBeds.add(welcomeInsert);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
//动态生成床位
|
|
//动态生成床位
|
|
|
Integer bedNumber = welcomeDormitory.getBedNumber();
|
|
Integer bedNumber = welcomeDormitory.getBedNumber();
|
|
|
ArrayList<WelcomeBed> welcomeBeds = new ArrayList<>();
|
|
ArrayList<WelcomeBed> welcomeBeds = new ArrayList<>();
|
|
@@ -197,9 +214,9 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
|
|
|
welcomeBed.setIsCheck(0);
|
|
welcomeBed.setIsCheck(0);
|
|
|
welcomeBeds.add(welcomeBed);
|
|
welcomeBeds.add(welcomeBed);
|
|
|
}
|
|
}
|
|
|
- if(welcomeBeds != null && welcomeBeds.size() > 0){
|
|
|
|
|
|
|
+ if (welcomeBeds != null && welcomeBeds.size() > 0) {
|
|
|
boolean insertBeds = welcomeBedService.saveBatch(welcomeBeds);
|
|
boolean insertBeds = welcomeBedService.saveBatch(welcomeBeds);
|
|
|
- if(!insertBeds){
|
|
|
|
|
|
|
+ if (!insertBeds) {
|
|
|
return CommonResult.fail("编辑失败");
|
|
return CommonResult.fail("编辑失败");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -215,6 +232,29 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
|
|
|
|
|
|
|
|
PageUtils<WelcomeDormitoryVo> pageUtils = welcomeDormitoryService.listDormitory(currentPage, pageCount, schoolId, buildId, dormitoryId, sex, status, majorId, collegeId);
|
|
PageUtils<WelcomeDormitoryVo> pageUtils = welcomeDormitoryService.listDormitory(currentPage, pageCount, schoolId, buildId, dormitoryId, sex, status, majorId, collegeId);
|
|
|
|
|
|
|
|
|
|
+ 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);
|
|
|
|
|
+
|
|
|
|
|
+ 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);
|
|
|
|
|
+ } else if (count > 0 && count < wdv.getBedNumber().intValue()) {//缺额 3
|
|
|
|
|
+ //更改状态
|
|
|
|
|
+ wdv.setStatus(3);
|
|
|
|
|
+ } else {//全空 2
|
|
|
|
|
+ //更改状态
|
|
|
|
|
+ wdv.setStatus(2);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
return CommonResult.ok(pageUtils);
|
|
return CommonResult.ok(pageUtils);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -227,10 +267,10 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public CommonResult bedNumberGroup(Integer schoolId,Integer buildId,Integer dormitoryId) {
|
|
|
|
|
|
|
+ public CommonResult bedNumberGroup(Integer schoolId, Integer buildId, Integer dormitoryId) {
|
|
|
|
|
|
|
|
// 获取未入住的床位
|
|
// 获取未入住的床位
|
|
|
- List<WelcomeBed> beds= welcomeBedService.bedNumberGroup(schoolId,buildId,dormitoryId);
|
|
|
|
|
|
|
+ List<WelcomeBed> beds = welcomeBedService.bedNumberGroup(schoolId, buildId, dormitoryId);
|
|
|
|
|
|
|
|
return CommonResult.ok(beds);
|
|
return CommonResult.ok(beds);
|
|
|
}
|
|
}
|