瀏覽代碼

Add schedule_type

Mike 4 年之前
父節點
當前提交
a86ce24805
共有 1 個文件被更改,包括 20 次插入22 次删除
  1. 20 22
      app/Community/Controllers/ApiController.php

+ 20 - 22
app/Community/Controllers/ApiController.php

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -426,7 +426,7 @@ class ApiController extends Controller
         $start = time();
 
         //删除排班
-        $schedule_ids = Schedule::where(['docter_id'=>$docterId])->where('schedule_day','>',$today)->pluck('id')->toArray();
+        $schedule_ids = Schedule::where(['docter_id'=>$docterId,'schedule_type'=>$sType])->where('schedule_day','>',$today)->pluck('id')->toArray();
 //        Schedule::where(['docter_id'=>$docterId])->where('schedule_day','>',$today)->delete();
         //删除具体排班
         SchedulePeriod::where('organization_id',$orgId)->whereIn('schedule_id',$schedule_ids)->delete();
@@ -440,7 +440,7 @@ class ApiController extends Controller
             $scheduleData['docter_id'] = $docterId;
             $scheduleData['schedule_date'] = $date;
             $scheduleData['schedule_day'] = $numDate;
-//            $scheduleData['organization_id'] = $orgId;
+            $scheduleData['schedule_type'] = $sType;
 
             $scheduleIsHave = Schedule::where($scheduleData)->count();
             $scheduleData['per_time_num'] = $serviceNum;
@@ -450,7 +450,7 @@ class ApiController extends Controller
         if($allScheduleData) Schedule::insert($allScheduleData);
 
 //        echo '医生id '.$docterId.' 机构id '.$orgId . 'times ';
-        $schedule = Schedule::where(['docter_id'=>$docterId])->where('schedule_date','>=',date('Y-m-d',time()))
+        $schedule = Schedule::where(['docter_id'=>$docterId,'schedule_type'=>$sType])->where('schedule_date','>=',date('Y-m-d',time()))
             ->distinct('schedule_date')->pluck('schedule_date','id')->toArray();
 
         $allData = [];
@@ -485,7 +485,7 @@ class ApiController extends Controller
         //删除 Schedule里面SchedulePeriod 没有的日期
         foreach ($schedule as $date) {
             $c = SchedulePeriod::where(['docter_id'=>$docterId,'organization_id'=>$orgId,'schedule_type'=> $sType])->where('schedule_date',$date)->count();
-            if($c==0) Schedule::where('schedule_date',$date)->delete();
+            if($c==0) Schedule::where('schedule_date',$date,'schedule_type' => $sType)->delete();
         }
         return apiReturn('200','ok');
 
@@ -764,11 +764,12 @@ class ApiController extends Controller
 //                $timeCount = TimePeriod::where(['org_id' => $org_id, 'docter_id' => $docter_id])->count();
 //                if($timeCount == 0) return apiReturn(603,'请设置时间段');
 
+                $time_periods = TimePeriod::where(['org_id' => $org_id, 'docter_id' => $docter_id, 'type' => $sType])->whereBetween('end_time_period',$times[$tType])->pluck('id')->toArray();
+                $schedule = Schedule::where(['docter_id' => $docter_id,'schedule_type' => $sType])->pluck('schedule_date', 'id')->toArray();
+                $self_schedule = SelfSchedule::where(['docter_id' => 0, 'schedule_type' => $sType,'organization_id'=>$org_id,'type' =>$tType])->distinct('type')
+                    ->orderBy('schedule_date')->where('schedule_date','>',$Today)->get(['schedule_date', 'type', 'week'])->toArray();
+
                 if($sType == 1){
-                    $time_periods = TimePeriod::where(['org_id' => $org_id, 'docter_id' => $docter_id, 'type' => $sType])->whereBetween('end_time_period',$times[$tType])->pluck('id')->toArray();
-                    $self_schedule = SelfSchedule::where(['docter_id' => $docter_id, 'schedule_type' => $sType, 'organization_id'=>$org_id,'type' =>$tType])->distinct('type')
-                        ->orderBy('schedule_date')->get(['schedule_date', 'type', 'week'])->toArray();
-                    $schedule = Schedule::where(['docter_id' => $docter_id])->pluck('schedule_date', 'id')->toArray();
                     $week_schedule = WeekSchedule::where(['docter_id' => $docter_id, 'type' => $tType,'schedule_type'=>$sType])
                         ->distinct('type')
                         ->orderBy('week')
@@ -776,10 +777,7 @@ class ApiController extends Controller
                         ->GroupBy('week')
                         ->toArray();
                 } else {
-                    $time_periods = TimePeriod::where(['org_id' => $org_id, 'docter_id' => 0, 'type' =>$sType])->whereBetween('end_time_period',$times[$tType])->pluck('id')->toArray();
-                    $schedule = Schedule::where(['docter_id' => 0])->pluck('schedule_date', 'id')->toArray();
-                    $self_schedule = SelfSchedule::where(['docter_id' => 0, 'schedule_type' => $sType,'organization_id'=>$org_id,'type' =>$tType])->distinct('type')
-                        ->orderBy('schedule_date')->where('schedule_date','>',$Today)->get(['schedule_date', 'type', 'week'])->toArray();
+
                     $week_schedule = WeekSchedule::where(['organization_id' =>$org_id, 'type' => $tType,'schedule_type'=>$sType])
                         ->distinct('type')
                         ->orderBy('week')
@@ -949,7 +947,7 @@ class ApiController extends Controller
                 $scheduleData['docter_id'] = $docterId;
                 $scheduleData['schedule_date'] = $date;
                 $scheduleData['schedule_day'] = $numDate;
-//                $scheduleData['organization_id'] = $orgId;
+                $scheduleData['schedule_type'] = $sType;
 
                 $scheduleIsHave = Schedule::where($scheduleData)->count();
                 $scheduleData['per_time_num'] = $serviceNum;
@@ -969,19 +967,19 @@ class ApiController extends Controller
                 $scheduleData['docter_id'] = $docterId;
                 $scheduleData['schedule_date'] = $date;
                 $scheduleData['schedule_day'] = $numDate;
-//                $scheduleData['organization_id'] = $orgId;
+                $scheduleData['schedule_type'] = $sType;
                 $scheduleIsHave = Schedule::where($scheduleData)->count();
                 $scheduleData['per_time_num'] = $serviceNum;
                 if (!$scheduleIsHave)  Schedule::insert($scheduleData);
             }
 
             //todo 插入第三个月后的当日号
-            $schedule = Schedule::where(['docter_id'=>$docterId])->where('schedule_date','>=',date('Y-m-d',time()))
+            $schedule = Schedule::where(['docter_id'=>$docterId,'schedule_type'=>$sType])->where('schedule_date','>=',date('Y-m-d',time()))
                 ->distinct('schedule_date')->pluck('schedule_date','id')->toArray();
-            if($docterId == 0){
-                $schedule = Schedule::where(['docter_id'=>0])->where('schedule_date','>=',date('Y-m-d',time()))
-                    ->distinct('schedule_date')->pluck('schedule_date','id')->toArray();
-            }
+//            if($docterId == 0){
+//                $schedule = Schedule::where(['docter_id'=>0,'schedule_type'=>$sType])->where('schedule_date','>=',date('Y-m-d',time()))
+//                    ->distinct('schedule_date')->pluck('schedule_date','id')->toArray();
+//            }
         }
 
         //
@@ -1027,7 +1025,7 @@ class ApiController extends Controller
             $self_data['organization_id'] = $orgId;
             $self_data['docter_id'] = $docterId;
             $self_data['schedule_type'] = $sType;
-            $s_id = Schedule::where(['docter_id'=>$docterId,'schedule_date'=>$val['schedule_date']])->value('id');
+            $s_id = Schedule::where(['docter_id'=>$docterId,'schedule_type'=>$sType,'schedule_date'=>$val['schedule_date']])->value('id');
             $numDay = intval(str_replace('-','',$val['schedule_date']));
 //            if(empty($s_id)) {
 //                Schedule::insert(['docter_id'=>$docterId,'organization_id'=>$orgId,'schedule_date'=>$val['schedule_date'],'schedule_day'=>$numDay]);
@@ -1102,7 +1100,7 @@ class ApiController extends Controller
 
                 if($v['status'] == true){
                     $num_date = intval(date('Ymd',strtotime($today)));
-                    $sche_data = ['docter_id'=>intval($docter_id),'schedule_date'=>$today,'schedule_day'=>$num_date];
+                    $sche_data = ['docter_id'=>intval($docter_id),'schedule_type'=>$sType,'schedule_date'=>$today,'schedule_day'=>$num_date];
                     //判断是否有排班信息
                     $s_id = Schedule::where($sche_data)->count();
                     if(!$s_id){
@@ -1166,7 +1164,7 @@ class ApiController extends Controller
 //                    if(!$week_schedule) continue;
 //
 //                    //删除排班日期
-                        $s_id = Schedule::where(['schedule_date'=>$today,'docter_id'=>$docter_id])->value('id');
+                        $s_id = Schedule::where(['schedule_date'=>$today,'schedule_type'=>$sType,'docter_id'=>$docter_id])->value('id');
                         unset($data['type']);
                         $scount = SelfSchedule::where($data)->count();
                         $pcount = SchedulePeriod::where($data)->count();