Jelajahi Sumber

setDaySchedule

Mike 4 tahun lalu
induk
melakukan
5af211c262
1 mengubah file dengan 27 tambahan dan 28 penghapusan
  1. 27 28
      app/Community/Controllers/ApiController.php

+ 27 - 28
app/Community/Controllers/ApiController.php

xqd xqd xqd xqd xqd
@@ -1120,12 +1120,12 @@ class ApiController extends Controller
         //todo 上线取消默认值
         $schdule_data = request('schedule_data');
         $docter_id = intval(request('docter_id'));
-        $type = intval(request('type'));
+        $type = intval(request('type'));//排班类型 1门诊 2...
         $org_id = intval(request('org_id'));
         $date = request('date');
         //判断排班类型
 
-        if(empty($schdule_data) || empty($docter_id) || !isset($org_id) || empty($type)){
+        if(empty($schdule_data) || !isset($org_id) || empty($type)){
             return apiReturn(601,'缺少必要参数');
         }
         //获取医生排班配置
@@ -1138,23 +1138,21 @@ class ApiController extends Controller
         }
 
 
-        $schdule_data = [
-            ['status'=>true,'type'=>1,'start'=>"09:00",'end'=>'11:30','date'=>15,'week'=>1],
-            ['status'=>true,'type'=>2,'start'=>'13:30','end'=>'16:30','date'=>15,'week'=>1],
-            ['status'=>false,'type'=>3,'start'=>'19:30','end'=>'21:00','date'=>15,'week'=>1],
-        ];
+//        $schdule_data = [
+//            ['status'=>true,'type'=>1,'start'=>"09:00",'end'=>'11:30','date'=>15,'week'=>1],
+//            ['status'=>true,'type'=>2,'start'=>'13:30','end'=>'16:30','date'=>15,'week'=>1],
+//            ['status'=>false,'type'=>3,'start'=>'19:30','end'=>'21:00','date'=>15,'week'=>1],
+//        ];
 
         DB::beginTransaction();
         try {
-            foreach ($schdule_data as $t=>$v){
+            foreach ($schedule['schedulelingList'] as $t=>$v){
 
-                $today = date('Y-m-d',(strtotime($date) + (intval($v['date'])-1) *86400) );
-                $week = $schdule_data[0]['week'];
-                $num_date = intval(str_replace('-','',$today));
+                $today = $schedule['day'];
+                $week =$schedule['week'];
 
                 if($v['status'] == true){
                     $sche_data = ['organization_id'=>$org_id,'schedule_date'=>$today,'schedule_day'=>$num_date];
-
                     //判断是否有排班信息
                     $s_id = Schedule::where($sche_data)->value('id');
                     if(!$s_id){
@@ -1163,14 +1161,14 @@ class ApiController extends Controller
 
                     //获取时间段
                     $timeperiods = TimePeriod::where(['docter_id'=>intval($docter_id),'org_id'=>intval($org_id),'type'=>intval($v['type'])])->pluck('id')->toArray();
-                    if($type == 2){
-                        $timeperiods = TimePeriod::where(['docter_id'=>intval($docter_id),'org_id'=>0,'type'=>intval($v['type'])])->pluck('id')->toArray();
+                    if($type != 1){
+                        $timeperiods = TimePeriod::where(['docter_id'=>intval(0),'org_id'=>$org_id,'type'=>intval($v['type'])])->pluck('id')->toArray();
                     }
 
                     if(empty($timeperiods)){
                         return apiReturn(603,'没有时间段');
-                        self::setTimeperiod($type,$docter_id,$org_id);
-                        $timeperiods = self::getTypeTimeperiod($type,$docter_id,$org_id,intval($v['type']));
+//                        self::setTimeperiod($type,$docter_id,$org_id);
+//                        $timeperiods = self::getTypeTimeperiod($type,$docter_id,$org_id,intval($v['type']));
                     }
                     foreach ($timeperiods as $id){
                         $data = [
@@ -1184,8 +1182,7 @@ class ApiController extends Controller
 
                         //检查是否已经有数据
                         $self_count = SelfSchedule::where($data)->value('id');
-                        if($self_count) continue;
-                        SelfSchedule::insert($data);
+                        if(!$self_count) SelfSchedule::insert($data);
                     }
 
                 } else if($v['status'] == false){
@@ -1200,17 +1197,19 @@ class ApiController extends Controller
                     $self_count = SelfSchedule::where($data)->count();
                     if($self_count) SelfSchedule::where($data)->delete();
 
-                    //检查是否是有周排班
-                    $week_schedule = WeekSchedule::where(['week'=>$week,'docter_id'=>$docter_id,'type'=>intval($v['type']),'organization_id'=>$org_id])->count();
-                    if(!$week_schedule) continue;
-
-                    //获取排班id
-                    $s_id = Schedule::where(['schedule_date'=>$today,'docter_id'=>$org_id])->value('id');
-                    if(!$s_id) continue;
+//                    //检查是否是有周排班
+//                    $week_schedule = WeekSchedule::where(['week'=>$week,'docter_id'=>$docter_id,'type'=>intval($v['type']),'organization_id'=>$org_id])->count();
+//                    if(!$week_schedule) continue;
+//
+//                    //获取排班id
+                        $s_id = Schedule::where(['schedule_date'=>$today,'docter_id'=>$docter_id])->value('id');
+                        if($s_id) {
+                            Schedule::where(['id'=>$s_id])->delete();
+                            SchedulePeriod::where(['schedule_id'=>$s_id])->delete();
+                        }
+//                    //删除排班和详细排班数据
 
-                    //删除排班和详细排班数据
-                    Schedule::where(['id'=>$s_id])->delete();
-                    TimePeriod::where(['docter_id'=>$docter_id,'org_id'=>$org_id,'type'=>$t,'schedule_id'=>$s_id])->delete();
+//                    TimePeriod::where(['docter_id'=>$docter_id,'org_id'=>$org_id,'type'=>$t,'schedule_id'=>$s_id])->delete();
                 }
             }
             DB::commit();