| 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,'缺少必要参数');
|
|
|
}
|
|
|
//获取医生排班配置
|
| xqd
@@ -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){
|
| xqd
@@ -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 = [
|
| xqd
@@ -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){
|
| xqd
@@ -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();
|