cqpCow 1 년 전
부모
커밋
3f46a495cc
1개의 변경된 파일31개의 추가작업 그리고 0개의 파일을 삭제
  1. 31 0
      app/Service/ScheduleService.php

+ 31 - 0
app/Service/ScheduleService.php

@@ -144,6 +144,37 @@ class ScheduleService extends Service
         if(empty($schedule)) return [false,'排班设置不存在或已被删除'];
         $schedule = $schedule->toArray();
 
+        $date1 = date("Y-m-d", $schedule['start_time']);
+        $date2 = date("Y-m-d", $schedule['end_time']);
+        $datetime1 = new \DateTime($date1);
+        $datetime2 = new \DateTime($date2);
+        $interval = $datetime1->diff($datetime2);
+        $day = $interval->days + 1;
+
+        $info = ScheduleInfo::where('del_time',0)
+            ->where('schedule_id',$data['id'])
+            ->select('start_time','end_time')
+            ->get()->toArray();
+        $infos = [];
+        foreach ($info as $value){
+            $start_time = date("H:i",$value['start_time']);
+            $end_time = date("H:i",$value['end_time']);
+            if(isset($infos[$start_time . $end_time])){
+                $infos[$start_time . $end_time]['num'] += 1;
+            }else{
+                $infos[$start_time . $end_time] = [
+                    'start_time' => $start_time,
+                    'end_time' => $end_time,
+                    'num' => 1,
+                ];
+            }
+        }
+        foreach ($infos as $key => $value){
+            $infos[$key]['num'] = $value['num'] / $day;
+        }
+        ksort($infos);
+        $schedule['detail'] = array_values($infos);
+
         $schedule['crt_name'] = Employee::where('id',$schedule['crt_id'])->value('emp_name');
         $schedule['crt_time'] = $schedule['crt_time'] ? date("Y-m-d H:i:s",$schedule['crt_time']): '';