Mike 4 tahun lalu
induk
melakukan
29d791b34c
1 mengubah file dengan 64 tambahan dan 69 penghapusan
  1. 64 69
      app/Community/Controllers/ApiController.php

+ 64 - 69
app/Community/Controllers/ApiController.php

xqd xqd
@@ -536,19 +536,18 @@ class ApiController extends Controller
             $week = date('N',$start_time + ($i-1) * 86400);
             $scheduleDate = date('Y-m-d',$start_time + ($i-1) * 86400);
 
-            if(empty($schedule_data)){
-                $scheduleList[] = [
-                    'schedulelingList'=>$baseData,
-                    'date'=>$i,
-                    'week'=>$week,
-                    'day'=>$scheduleDate
-                ];
-            } else {
+            $scheduleList[$i-1] = [
+                'schedulelingList'=>$baseData,
+                'date'=>$i,
+                'week'=>$week,
+                'day'=>$scheduleDate
+            ];
 
 
-                if($type == 1){//门诊
-                    $today = SchedulePeriod::where(['docter_id'=>$docter_id,'schedule_date'=>$scheduleDate,'organization_id'=>$org_id])->distinct('organization_id')
-                        ->distinct('type')->get(['organization_id','type'])->GroupBy('type')->toArray();
+
+            if($type == 1){//门诊
+                $today = SchedulePeriod::where(['docter_id'=>$docter_id,'schedule_date'=>$scheduleDate,'organization_id'=>$org_id])->distinct('organization_id')
+                    ->distinct('type')->get(['organization_id','type'])->GroupBy('type')->toArray();
 
 //                    //检查排班详情
 //                    self::checkDaySchedule($date,$type,$docter_id,$org_id);
@@ -556,72 +555,68 @@ class ApiController extends Controller
 //                    self::checkSelfDaySchedule($date,$type,$docter_id,$org_id);
 //                    echo '周几'.$week.' 日期 '.$scheduleDate.PHP_EOL;
 
-                    if(empty($today)){
-                        $scheduleList[] = [
-                            'schedulelingList'=>$baseData,
-                            'date'=>$i,
-                            'week'=>$week,
-                            'day'=>$scheduleDate
-                        ];
-                    } else {
+                if(empty($today)){
+                    $scheduleList[] = [
+                        'schedulelingList'=>$baseData,
+                        'date'=>$i,
+                        'week'=>$week,
+                        'day'=>$scheduleDate
+                    ];
+                } else {
 //                        echo '周几'.$week.' 日期 '.$scheduleDate;
-                        $newBase =$baseData;
+                    $newBase =$baseData;
 //                        dump($today);
-                        foreach ($today as $tType => $orginfo){
-                            $orgids = array_column($orginfo,'organization_id');
-                            $idSum = array_sum($orgids);
-                            if($org_id == $idSum) $newBase[$tType-1]['status'] = true;
-                            if($org_id != $idSum) $newBase[$tType-1]['status'] = 'other';
-                        }
-
-
-//
-//                        dump($newBase);
-                        $scheduleList[] = [
-                            'schedulelingList'=>$newBase,
-                            'date'=>$i,
-                            'week'=>$week,
-                            'day'=>$scheduleDate
-                        ];
+                    foreach ($today as $tType => $orginfo){
+                        $orgids = array_column($orginfo,'organization_id');
+                        $idSum = array_sum($orgids);
+                        if($org_id == $idSum) $newBase[$tType-1]['status'] = true;
+                        if($org_id != $idSum) $newBase[$tType-1]['status'] = 'other';
                     }
-                    $self = SelfSchedule::where(['docter_id'=>$docter_id,'schedule_date'=>$scheduleDate,'organization_id'=>$org_id])->get(['type'])->GroupBy('type')->toArray();
-                    if(!empty($self)){
-                        foreach($self as $sf){
-                            $newBase[$sf['type']]['status'] = true;
-                        }
+//
+                }
+                $self = SelfSchedule::where(['docter_id'=>$docter_id,'schedule_date'=>$scheduleDate,'organization_id'=>$org_id])->get(['type'])->GroupBy('type')->toArray();
+                if(!empty($self)){
+                    foreach($self as $k=>$sf){
+                        $newBase[$k]['status'] = true;
                     }
-                } else {
-                    $today = SchedulePeriod::where(['docter_id'=>$docter_id,'schedule_date'=>$scheduleDate])->where('organization_id','!=',0)->distinct('organization_id')
-                        ->distinct('type')->get(['organization_id','type'])->GroupBy('type')->toArray();
+                }
+                $scheduleList[$i-1] = [
+                    'schedulelingList'=>$newBase,
+                    'date'=>$i,
+                    'week'=>$week,
+                    'day'=>$scheduleDate
+                ];
+            } else {
+                $today = SchedulePeriod::where(['docter_id'=>$docter_id,'schedule_date'=>$scheduleDate])->where('organization_id','!=',0)->distinct('organization_id')
+                    ->distinct('type')->get(['organization_id','type'])->GroupBy('type')->toArray();
 
-                    if(empty($today)){
-                        $scheduleList[] = [
-                            'schedulelingList'=>$baseData,
-                            'date'=>$i,
-                            'week'=>$week,
-                            'day'=>$scheduleDate
-                        ];
-                    } else {
-                        foreach ($today as $type => $orginfo){
-                            $orgids = array_column($orginfo,'organization_id');
-                            $idSum = array_sum($orgids);
-                            if($org_id == $idSum) $baseData[$type]['status'] = true;
-                            if($org_id != $idSum) $baseData[$type]['status'] = 'other';
-                        }
-                        $scheduleList[] = [
-                            'schedulelingList'=>$baseData,
-                            'date'=>$i,
-                            'week'=>$week,
-                            'day'=>$scheduleDate
-                        ];
+                if(empty($today)){
+                    $scheduleList[] = [
+                        'schedulelingList'=>$baseData,
+                        'date'=>$i,
+                        'week'=>$week,
+                        'day'=>$scheduleDate
+                    ];
+                } else {
+                    foreach ($today as $type => $orginfo){
+                        $orgids = array_column($orginfo,'organization_id');
+                        $idSum = array_sum($orgids);
+                        if($org_id == $idSum) $baseData[$type]['status'] = true;
+                        if($org_id != $idSum) $baseData[$type]['status'] = 'other';
                     }
-                    $self = SelfSchedule::where(['docter_id'=>$docter_id,'schedule_date'=>$scheduleDate,'organization_id'=>$org_id])->get(['type'])->GroupBy('type')->toArray();
-                    if(!empty($self)){
-                        foreach($self as $sf){
-                            $newBase[$sf['type']]['status'] = true;
-                        }
+                }
+                $self = SelfSchedule::where(['docter_id'=>$docter_id,'schedule_date'=>$scheduleDate,'organization_id'=>$org_id])->get(['type'])->GroupBy('type')->toArray();
+                if(!empty($self)){
+                    foreach($self as $k=>$sf){
+                        $newBase[$k]['status'] = true;
                     }
                 }
+                $scheduleList[$i-1] = [
+                    'schedulelingList'=>$newBase,
+                    'date'=>$i,
+                    'week'=>$week,
+                    'day'=>$scheduleDate
+                ];
             }
 ////            if(empty( $schedule_data[$scheduleDate])) continue;
 ////            $schedule_id = $schedule_data[$schedule_data];