فهرست منبع

更新获取可用房间osf代码

Heyuan 2 هفته پیش
والد
کامیت
6ef34e736b
1فایلهای تغییر یافته به همراه25 افزوده شده و 26 حذف شده
  1. 25 26
      websrc/com/kingdee/eas/custom/dormitorysystem/application/service/GetOptionalRoomIdsService.java

+ 25 - 26
websrc/com/kingdee/eas/custom/dormitorysystem/application/service/GetOptionalRoomIdsService.java

@@ -84,34 +84,33 @@ public class GetOptionalRoomIdsService implements IHRMsfService {
             //存放已累加的人员入住信息数据id,避免重复累加
             //1.根据性别查询所有可住房间信息
             List<DormitoryInfo> dormitoryInfoList = getDormitoryInfos(ctx, gender, dormitoryIdSet);
-            if (dormitoryIdSet.isEmpty()) {
-                //没有可住房间信息
-                return "''";
-            }
-            //2.根据入住日期和退宿日期算出入住信息每个房间已住人数
-            getCheckInInfoByOccupants(ctx, checkInDate, checkoutDate, dormitoryMap, dormitoryIdSet);
-            //3.根据入住日期和退宿日期算出入住申请单状态为申请中的已住人数
-            getCheckInInfoByCheckInApplication(ctx, checkInDate, checkoutDate, dormitoryMap, dormitoryIdSet);
-            //4.根据入住日期和退宿日期算出换宿申请单状态为申请中的已住人数
-            getRoomChangeInfoByRoomChangeApplication(ctx, checkInDate, checkoutDate, dormitoryMap, dormitoryIdSet);
-            //5.算出房间剩余可住人数: 可住人数 - 已住人数
-            for (int i = 0; i < dormitoryInfoList.size(); i++) {
-                DormitoryInfo dormitoryInfo = dormitoryInfoList.get(i);
-                String dormitoryId = dormitoryInfo.getId().toString();
-                Map<String, Object> dormCheckInMap = dormitoryMap.get(dormitoryId);
-                if (dormCheckInMap != null) {
-                    String personDormitoryTypeId = (String) dormCheckInMap.getOrDefault("personDormitoryTypeId", "");
-                    //判断是否宿舍类型跟人员类型是否相同
-                    if (personDormitoryTypeId.equals(personTypeId)) {
-                        //已住人数
-                        int dormCheckInCount = (int) dormCheckInMap.get("count");
-                        //可住人数
-                        int occupancyCapacity = dormitoryInfo.getOccupancyCapacity();
-                        if (occupancyCapacity - dormCheckInCount <= 0) {
+            if (!dormitoryIdSet.isEmpty()) {
+                //有可住房间信息
+                //2.根据入住日期和退宿日期算出入住信息每个房间已住人数
+                getCheckInInfoByOccupants(ctx, checkInDate, checkoutDate, dormitoryMap, dormitoryIdSet);
+                //3.根据入住日期和退宿日期算出入住申请单状态为申请中的已住人数
+                getCheckInInfoByCheckInApplication(ctx, checkInDate, checkoutDate, dormitoryMap, dormitoryIdSet);
+                //4.根据入住日期和退宿日期算出换宿申请单状态为申请中的已住人数
+                getRoomChangeInfoByRoomChangeApplication(ctx, checkInDate, checkoutDate, dormitoryMap, dormitoryIdSet);
+                //5.算出房间剩余可住人数: 可住人数 - 已住人数
+                for (int i = 0; i < dormitoryInfoList.size(); i++) {
+                    DormitoryInfo dormitoryInfo = dormitoryInfoList.get(i);
+                    String dormitoryId = dormitoryInfo.getId().toString();
+                    Map<String, Object> dormCheckInMap = dormitoryMap.get(dormitoryId);
+                    if (dormCheckInMap != null) {
+                        String personDormitoryTypeId = (String) dormCheckInMap.getOrDefault("personDormitoryTypeId", "");
+                        //判断是否宿舍类型跟人员类型是否相同
+                        if (personDormitoryTypeId.equals(personTypeId)) {
+                            //已住人数
+                            int dormCheckInCount = (int) dormCheckInMap.get("count");
+                            //可住人数
+                            int occupancyCapacity = dormitoryInfo.getOccupancyCapacity();
+                            if (occupancyCapacity - dormCheckInCount <= 0) {
+                                dormitoryIdSet.remove(dormitoryId);
+                            }
+                        } else {
                             dormitoryIdSet.remove(dormitoryId);
                         }
-                    } else {
-                        dormitoryIdSet.remove(dormitoryId);
                     }
                 }
             }