cqpCow пре 1 година
родитељ
комит
5b9e9a6f1b
1 измењених фајлова са 38 додато и 13 уклоњено
  1. 38 13
      app/Service/ScheduleService.php

+ 38 - 13
app/Service/ScheduleService.php

@@ -400,23 +400,48 @@ class ScheduleService extends Service
             }
         }
 
-        $schedule_detail_list = ScheduleDetail::where('del_time',0)
-            ->whereIn('schedule_id',array_column($schedule,'id'))
-            ->select('schedule_id','num','start_time','end_time')
+        $schedule_id = array_column($schedule,'id');
+        $schedule_detail_info_list = ScheduleInfo::where('del_time',0)
+            ->whereIn('schedule_id',$schedule_id)
+            ->select('schedule_id','day','start_time','end_time')
+            ->where('is_use',ScheduleInfo::not_use)
             ->get()->toArray();
-        if(empty($schedule_detail_list)) return [true,''];
-        $schedule_detail_list_map = [];
-        foreach ($schedule_detail_list as $value){
-            $schedule_detail_list_map[$value['schedule_id']][] = $value;
+        $schedule_detail_info_list_map = [];
+        $count = [];
+        if(! empty($schedule_detail_info_list)) {
+            foreach ($schedule_detail_info_list as $value){
+                $keys = $value['schedule_id'] . $value['start_time'] . $value['end_time'];
+                if(isset($count[$keys])) continue;
+                $count[$keys] = 1;
+                $start_time = date("H:i",$value['start_time']);
+                $end_time = date("H:i",$value['end_time']);
+                $schedule_detail_info_list_map[$value['schedule_id']][] = [
+                    "schedule_id" => 14,
+                    "day" => date('Y-m-d',$value['day']),
+                    "start_time" => $start_time,
+                    "end_time" => $end_time,
+                ];
+            }
         }
         $return = [];
         foreach ($schedule_map as $key => $value){
-            if(isset($schedule_detail_list_map[$key])){
+            if(isset($schedule_detail_info_list_map[$key])){
                 foreach ($value as $v){
-                    $return[] = [
-                        'time' => $v,
-                        'detail' => $schedule_detail_list_map[$key]
-                    ];
+                    $tmp = [];
+                    foreach ($schedule_detail_info_list_map[$key] as $vv){
+                        if($v == $vv['day']){
+                            $tmp[] = [
+                                "start_time" => $vv['start_time'],
+                                "end_time" => $vv['end_time'],
+                            ];
+                        }
+                    }
+                    if(! empty($tmp)){
+                        $return[] = [
+                            'time' => $v,
+                            'detail' => $tmp
+                        ];
+                    }
                 }
             }
         }
@@ -426,7 +451,7 @@ class ScheduleService extends Service
         }
 
         $result['time'] = $schedule_array;
-        $result['detail'] = $return;
+        $result['time_detail'] = $return;
 
         return [true, $result];
     }