shenzhongzheng il y a 2 ans
Parent
commit
ff097d01a6

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/enums/CouponsKeyEnum.java

@@ -11,7 +11,7 @@ import java.util.List;
 public enum CouponsKeyEnum {
 
     AM(1, "上午"),
-    MO(2, "午"),
+    MO(2, "午"),
     DE(3, "晚上");
 
     Integer key;

+ 21 - 32
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusMeetingRoomScheduleServiceImpl.java

@@ -111,11 +111,9 @@ public class BusMeetingRoomScheduleServiceImpl extends ServiceImpl<BusMeetingRoo
         List<String> meetingIds  = busMeetingRooms.stream().map(v -> v.getId()).collect(Collectors.toList());
 
         List<BusMeetingRoomScheduleDetail> scheduleDetails =  meetingRoomScheduleDetailService.fetchByDateRange(startTime,endTime, hotelId,meetingIds);
-//        if(CollectionUtil.isEmpty(scheduleDetails)) return Result.ok(vos);
 
         List<String> scheduleIds =  scheduleDetails.stream().map(v -> v.getMeetingRoomScheduleId()).collect(Collectors.toList());
         List<BusMeetingRoomSchedule> schedules =  meetingRoomScheduleMapper.selectBatchIds(scheduleIds);
-//        if(CollectionUtil.isEmpty(schedules)) return Result.ok(vos);
 
         busMeetingRooms.forEach(v -> {
             BusMeetingRoomScheduleVo vo = new BusMeetingRoomScheduleVo();
@@ -125,42 +123,31 @@ public class BusMeetingRoomScheduleServiceImpl extends ServiceImpl<BusMeetingRoo
 
             //获取当前会议室下的所有 预定详情数据
             List<BusMeetingRoomScheduleDetail> details =  scheduleDetails.stream().filter(schedul -> schedul.getMeetingRoomId().equals(v.getId())).collect(Collectors.toList());
-            //逻辑二
-            if(CollectionUtil.isEmpty(details)){
-                    //默认三个数据
-                for (int key = 1; key <=3; key++) {
-                    //第二层 上午下午中午
-                    BusMeetingRoomScheduleDetailVo detailVo = new BusMeetingRoomScheduleDetailVo();
-                    detailVo.setTimePeriod(CouponsKeyEnum.val(key).getTitle());
-                    detailVo.setSchedule(new ArrayList<>());
-                    schedule.add(detailVo);
-                }
-            }else{
-                //固定三条数据
-                Map<Integer,List<BusMeetingRoomScheduleDetail>> groupData  =  details.stream().collect(Collectors.groupingBy(BusMeetingRoomScheduleDetail::getTimeSpan));
-                groupData.forEach((key,value)-> {
-                    //第二层 上午下午中午
-                    BusMeetingRoomScheduleDetailVo detailVo = new BusMeetingRoomScheduleDetailVo();
-
-                    detailVo.setTimePeriod(CouponsKeyEnum.val(key).getTitle());
-
-                    List<BusMeetingKeyValueVo> dataCh = new ArrayList<>();
-                    //第二层结束
-                    Map<String,List<MeetingRoomScheduleDetailVo>> map = new HashedMap();
-                    Map<List<String>, List<MeetingRoomScheduleDetailVo>> result = new HashedMap();
+            for (int key = 1; key <= CouponsKeyEnum.getDictList().size(); key++) {
+                //第二层 上午下午中午
+                BusMeetingRoomScheduleDetailVo detailVo = new BusMeetingRoomScheduleDetailVo();
+                detailVo.setTimePeriod(CouponsKeyEnum.val(key).getTitle());
+
+                List<BusMeetingKeyValueVo> dataCh = new ArrayList<>();
+                //第二层结束
+                Map<String, List<MeetingRoomScheduleDetailVo>> map = new HashedMap();
+                //查询详情数据
+                int finalKey = key;
+                List<BusMeetingRoomScheduleDetail> value = details.stream().filter(detail -> detail.getTimeSpan().intValue() == finalKey).collect(Collectors.toList());
+                if (!CollectionUtil.isEmpty(value)) {
                     //第三层开始 eg: 上午 : 上午的所有数据
                     value.forEach(vl -> {
                         MeetingRoomScheduleDetailVo scheduleDetailVo = new MeetingRoomScheduleDetailVo();
                         //生成key
                         String value_key = vl.getMeetingDate().format(struct1);
-                        List<MeetingRoomScheduleDetailVo>  scheduleDetailVos = new ArrayList<>();
+                        List<MeetingRoomScheduleDetailVo> scheduleDetailVos = new ArrayList<>();
                         //如果存在这个key
-                        if(map.containsKey(value_key)){
+                        if (map.containsKey(value_key)) {
                             scheduleDetailVos = map.get(value_key);
                         }
-                        Optional<BusMeetingRoomSchedule> scheduleOptional =  schedules.stream().filter(sc -> sc.getId().equals(vl.getMeetingRoomScheduleId())).findFirst();
-                        if(!scheduleOptional.isPresent()) return;
-                        BusMeetingRoomSchedule vl_schedule =  scheduleOptional.get();
+                        Optional<BusMeetingRoomSchedule> scheduleOptional = schedules.stream().filter(sc -> sc.getId().equals(vl.getMeetingRoomScheduleId())).findFirst();
+                        if (!scheduleOptional.isPresent()) return;
+                        BusMeetingRoomSchedule vl_schedule = scheduleOptional.get();
                         //生成数据
                         scheduleDetailVo.setTheme(vl_schedule.getTheme());
                         scheduleDetailVo.setDetail(vl);
@@ -175,8 +162,10 @@ public class BusMeetingRoomScheduleServiceImpl extends ServiceImpl<BusMeetingRoo
                         dataCh.add(valueVo);
                     });
                     detailVo.setSchedule(dataCh);
-                    schedule.add(detailVo);
-                });
+                }else{
+                    detailVo.setSchedule(new ArrayList<>());
+                }
+                schedule.add(detailVo);
             }
             vo.setChild(schedule);
             vos.add(vo);