|
@@ -144,6 +144,37 @@ class ScheduleService extends Service
|
|
if(empty($schedule)) return [false,'排班设置不存在或已被删除'];
|
|
if(empty($schedule)) return [false,'排班设置不存在或已被删除'];
|
|
$schedule = $schedule->toArray();
|
|
$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_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']): '';
|
|
$schedule['crt_time'] = $schedule['crt_time'] ? date("Y-m-d H:i:s",$schedule['crt_time']): '';
|
|
|
|
|