|
@@ -169,14 +169,12 @@ class ScheduleService extends Service
|
|
|
->first();
|
|
|
if(empty($schedule)) return [false,'排班设置不存在或已被删除'];
|
|
|
$schedule = $schedule->toArray();
|
|
|
+ $schedule['choose'] = 1;
|
|
|
|
|
|
$info = ScheduleDetail::where('del_time',0)
|
|
|
->where('schedule_id',$data['id'])
|
|
|
->select('start_time','end_time','num')
|
|
|
->get()->toArray();
|
|
|
- foreach ($info as $key => $value){
|
|
|
- $info[$key]['choose'] = 1;
|
|
|
- }
|
|
|
|
|
|
$schedule['detail'] = array_values($info);
|
|
|
|
|
@@ -391,8 +389,16 @@ class ScheduleService extends Service
|
|
|
$schedule = $model->where('del_time',0)
|
|
|
->where('start_time', '>=', $startTimestamp)
|
|
|
->where('end_time', '<=', $endTimestamp)
|
|
|
+ ->select('id','mark','start_time','end_time')
|
|
|
->get()->toArray();
|
|
|
if(empty($schedule)) return [true,''];
|
|
|
+ $schedule_array = $schedule_map = [];
|
|
|
+ foreach ($schedule as $value){
|
|
|
+ for ($i = $value['start_time']; $i <= $value['end_time']; $i += 86400) { // 每天86400秒
|
|
|
+ $schedule_array[] = date("Y-m-d", $i);
|
|
|
+ $schedule_map[$value['id']][] = date("Y-m-d", $i);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
$schedule_detail_list = ScheduleDetail::where('del_time',0)
|
|
|
->whereIn('schedule_id',array_column($schedule,'id'))
|
|
@@ -400,14 +406,28 @@ class ScheduleService extends Service
|
|
|
->get()->toArray();
|
|
|
if(empty($schedule_detail_list)) return [true,''];
|
|
|
$schedule_detail_list_map = [];
|
|
|
- foreach ($schedule_detail_list as $key => $value){
|
|
|
+ foreach ($schedule_detail_list as $value){
|
|
|
$schedule_detail_list_map[$value['schedule_id']][] = $value;
|
|
|
}
|
|
|
+ $return = [];
|
|
|
+ foreach ($schedule_map as $key => $value){
|
|
|
+ if(isset($schedule_detail_list_map[$key])){
|
|
|
+ foreach ($value as $v){
|
|
|
+ $return[] = [
|
|
|
+ 'time' => $v,
|
|
|
+ 'detail' => $schedule_detail_list_map[$key]
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
foreach ($schedule as $key => $value){
|
|
|
$schedule[$key]['detail'] = $schedule_detail_list_map[$value['id']] ?? [];
|
|
|
}
|
|
|
|
|
|
- return [true, $schedule];
|
|
|
+ $result['time'] = $schedule_array;
|
|
|
+ $result['detail'] = $return;
|
|
|
+
|
|
|
+ return [true, $result];
|
|
|
}
|
|
|
}
|