liu 1 rok temu
rodzic
commit
19ecd570c3

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

@@ -27,6 +27,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.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -729,6 +730,7 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
     }
     }
 
 
     @Override
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public CommonResult checkIn(CheckInVo checkInVo) {
     public CommonResult checkIn(CheckInVo checkInVo) {
         List<WelcomeStudent> list = welcomeStudentService.getStudent(checkInVo);
         List<WelcomeStudent> list = welcomeStudentService.getStudent(checkInVo);
         if (ObjectUtils.isEmpty(list)) {
         if (ObjectUtils.isEmpty(list)) {
@@ -768,6 +770,7 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
     }
     }
 
 
     @Override
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public CommonResult checkOutDormitory(Integer bedId) {
     public CommonResult checkOutDormitory(Integer bedId) {
         WelcomeBed bed = welcomeBedService.getBedById(bedId);
         WelcomeBed bed = welcomeBedService.getBedById(bedId);
         if (ObjectUtils.isEmpty(bed)) {
         if (ObjectUtils.isEmpty(bed)) {
@@ -796,10 +799,11 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
             }
             }
             welcomeDormitoryService.updateById(welcomeDormitory);
             welcomeDormitoryService.updateById(welcomeDormitory);
         }
         }
-        return null;
+        return CommonResult.ok();
     }
     }
 
 
     @Override
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public CommonResult changeBed(ChangeBedVo changeBedVo) {
     public CommonResult changeBed(ChangeBedVo changeBedVo) {
         Integer sourceBedId = changeBedVo.getSourceBedId();
         Integer sourceBedId = changeBedVo.getSourceBedId();
         Integer changeBedId = changeBedVo.getChangeBedId();
         Integer changeBedId = changeBedVo.getChangeBedId();
@@ -825,9 +829,40 @@ public class WelcomeBedController implements WelcomeBedControllerAPI {
         sourceBed.setName(null);
         sourceBed.setName(null);
         welcomeBeds.add(sourceBed);
         welcomeBeds.add(sourceBed);
 
 
+        //        修改寝室信息
+        WelcomeDormitory welcomeDormitoryC = welcomeDormitoryService.getById(changeBed.getDormitoryId());
+        if (ObjectUtils.isNotEmpty(welcomeDormitoryC)) {
+            Integer freeBedNumber = welcomeDormitoryC.getFreeBedNumber();
+            freeBedNumber = freeBedNumber - 1;
+            if (freeBedNumber > 0) {
+                welcomeDormitoryC.setFreeBedNumber(freeBedNumber);
+                welcomeDormitoryC.setStatus(3);
+            } else if (freeBedNumber == 0) {
+                welcomeDormitoryC.setFreeBedNumber(freeBedNumber);
+                welcomeDormitoryC.setStatus(1);
+            }
+            welcomeDormitoryService.updateById(welcomeDormitoryC);
+        }
+        
+        //        修改寝室信息
+        WelcomeDormitory welcomeDormitory = welcomeDormitoryService.getById(sourceBed.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);
+        }
+
         welcomeBedService.updateBatchById(welcomeBeds);
         welcomeBedService.updateBatchById(welcomeBeds);
 
 
-        return null;
+        return CommonResult.ok();
     }
     }
 
 
     @Override
     @Override