|
@@ -18,6 +18,7 @@ use App\Models\TimePeriod;
|
|
use Carbon\Carbon;
|
|
use Carbon\Carbon;
|
|
use EasyWeChat\Factory;
|
|
use EasyWeChat\Factory;
|
|
use Encore\Admin\Facades\Admin;
|
|
use Encore\Admin\Facades\Admin;
|
|
|
|
+use Illuminate\Support\Facades\DB;
|
|
use mysql_xdevapi\Exception;
|
|
use mysql_xdevapi\Exception;
|
|
|
|
|
|
class ApiController extends Controller
|
|
class ApiController extends Controller
|
|
@@ -33,6 +34,7 @@ class ApiController extends Controller
|
|
$data['type'] = request('type');
|
|
$data['type'] = request('type');
|
|
$is_have = PatientRemark::where($data)->first();
|
|
$is_have = PatientRemark::where($data)->first();
|
|
$data['remark'] = request('remark');
|
|
$data['remark'] = request('remark');
|
|
|
|
+ if(empty($data['remark'])) return redirect('/cdms/nurse_users');
|
|
if($is_have){
|
|
if($is_have){
|
|
PatientRemark::where(['id'=>$is_have->id])->update(['remark'=>$data['remark']]);
|
|
PatientRemark::where(['id'=>$is_have->id])->update(['remark'=>$data['remark']]);
|
|
} else {
|
|
} else {
|
|
@@ -109,21 +111,22 @@ class ApiController extends Controller
|
|
{
|
|
{
|
|
|
|
|
|
$set_time = request('time');//时间
|
|
$set_time = request('time');//时间
|
|
- $org_id = request('org_id');//机构
|
|
|
|
- $docter_id = request('docter_id');//医生
|
|
|
|
|
|
+ $user = Admin::user();
|
|
|
|
+ $org_id = $user->org_id;
|
|
|
|
+ $doc_id = $user->docter_id;
|
|
|
|
|
|
|
|
+ $docter_id = request('docter_id');
|
|
|
|
+ $role = request('role');
|
|
|
|
|
|
-// $set_time = '2020-11-30至2020-12-06';
|
|
|
|
-// $org_id = 1;
|
|
|
|
-// $docter_id = 47;
|
|
|
|
- $role = 2;
|
|
|
|
|
|
+ $is_docter = CdmsUsers::where('docter_id',$doc_id)->where('docter_id','!=','')->first();
|
|
|
|
|
|
- if(empty($set_time) || empty($org_id) || empty($docter_id)){
|
|
|
|
|
|
+ if(empty($set_time)){
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
- } else{
|
|
|
|
-// echo 'what happend';
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if($is_docter){
|
|
|
|
+ $role =2;
|
|
|
|
+ }
|
|
|
|
|
|
$all_time = explode('至',$set_time);
|
|
$all_time = explode('至',$set_time);
|
|
if(count($all_time) <2){
|
|
if(count($all_time) <2){
|
|
@@ -135,7 +138,6 @@ class ApiController extends Controller
|
|
$first_day = strtotime($all_time[0]);
|
|
$first_day = strtotime($all_time[0]);
|
|
// DB::enableQueryLog();
|
|
// DB::enableQueryLog();
|
|
$sche_dule = Schedule::whereBetween('schedule_day',[$start_time,$end_time])
|
|
$sche_dule = Schedule::whereBetween('schedule_day',[$start_time,$end_time])
|
|
- ->where(['docter_id'=>$docter_id])
|
|
|
|
->pluck('id')
|
|
->pluck('id')
|
|
->toArray();
|
|
->toArray();
|
|
// echo '<pre>';
|
|
// echo '<pre>';
|
|
@@ -184,28 +186,22 @@ class ApiController extends Controller
|
|
$times[] = TimePeriod::where('start_time_period','>=',$schedule_config['morning_start'])->where('end_time_period','<=',$schedule_config['morning_end'])->pluck('id')->toArray();
|
|
$times[] = TimePeriod::where('start_time_period','>=',$schedule_config['morning_start'])->where('end_time_period','<=',$schedule_config['morning_end'])->pluck('id')->toArray();
|
|
$times[] = TimePeriod::where('start_time_period','>=',$schedule_config['afternoon_start'])->where('end_time_period','<=',$schedule_config['afternoon_end'])->pluck('id')->toArray();
|
|
$times[] = TimePeriod::where('start_time_period','>=',$schedule_config['afternoon_start'])->where('end_time_period','<=',$schedule_config['afternoon_end'])->pluck('id')->toArray();
|
|
$times[] = TimePeriod::where('start_time_period','>=',$schedule_config['evening_start'])->where('end_time_period','<=',$schedule_config['evening_end'])->pluck('id')->toArray();
|
|
$times[] = TimePeriod::where('start_time_period','>=',$schedule_config['evening_start'])->where('end_time_period','<=',$schedule_config['evening_end'])->pluck('id')->toArray();
|
|
|
|
+
|
|
if(empty($sche_dule)){
|
|
if(empty($sche_dule)){
|
|
return ['status'=>200,'msg'=>'ok','data'=>['docter'=>$sche_dule_arr,'org_id'=>$org_id,'docter_id'=>$docter_id]];
|
|
return ['status'=>200,'msg'=>'ok','data'=>['docter'=>$sche_dule_arr,'org_id'=>$org_id,'docter_id'=>$docter_id]];
|
|
}
|
|
}
|
|
-
|
|
|
|
- $role = 2;
|
|
|
|
if($role == 1){
|
|
if($role == 1){
|
|
$ids = DocterOrganization::where(['organization_id'=>$org_id])->pluck('docter_id');
|
|
$ids = DocterOrganization::where(['organization_id'=>$org_id])->pluck('docter_id');
|
|
- $list = Docter::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
|
|
|
|
$name = Organization::where('id',$docter_id)->value('name');
|
|
$name = Organization::where('id',$docter_id)->value('name');
|
|
-
|
|
|
|
$user_id = $org_id;
|
|
$user_id = $org_id;
|
|
- for ($i = 1; $i<7; $i++){
|
|
|
|
|
|
+ for ($i = 0; $i<6; $i++){
|
|
$str_time = date('Y-m-d',($first_day + $i * 86400));
|
|
$str_time = date('Y-m-d',($first_day + $i * 86400));
|
|
for($j=0;$j<3;$j++){
|
|
for($j=0;$j<3;$j++){
|
|
//检测上午
|
|
//检测上午
|
|
$is_mo_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$times[$j])
|
|
$is_mo_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$times[$j])
|
|
- ->where('organization_id','!=',$org_id)->count();
|
|
|
|
- ['schedule_id'=>$sche_dule,'schedule_date'=>$str_time,'organization_id'=>$org_id,'docter_id'=>$docter_id];
|
|
|
|
-
|
|
|
|
|
|
+ ->where('docter_id','!=',$docter_id)->count();
|
|
$is_self = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$times[$j])
|
|
$is_self = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$times[$j])
|
|
- ->where('organization_id',$org_id)->count();
|
|
|
|
-
|
|
|
|
|
|
+ ->where('docter_id',$docter_id)->count();
|
|
if($is_self){
|
|
if($is_self){
|
|
$sche_dule_arr[$j][$week_arr[$i]] = true;
|
|
$sche_dule_arr[$j][$week_arr[$i]] = true;
|
|
}
|
|
}
|
|
@@ -217,7 +213,6 @@ class ApiController extends Controller
|
|
} else {
|
|
} else {
|
|
|
|
|
|
$ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
|
|
$ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
|
|
- $list = Organization::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
|
|
|
|
$name = Docter::where('id',$docter_id)->value('name');
|
|
$name = Docter::where('id',$docter_id)->value('name');
|
|
$user_id = $docter_id;
|
|
$user_id = $docter_id;
|
|
for ($i=0; $i<=6; $i++){
|
|
for ($i=0; $i<=6; $i++){
|
|
@@ -228,8 +223,6 @@ class ApiController extends Controller
|
|
->where('organization_id','!=',$org_id)->where('docter_id','=',$docter_id)->count();
|
|
->where('organization_id','!=',$org_id)->where('docter_id','=',$docter_id)->count();
|
|
$is_mo_self = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$times[$j])
|
|
$is_mo_self = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$times[$j])
|
|
->where('organization_id',$org_id)->where('docter_id',$docter_id)->count();
|
|
->where('organization_id',$org_id)->where('docter_id',$docter_id)->count();
|
|
-// echo $i.'--'.$j.'is_self---'.$is_mo_self.'<br>';
|
|
|
|
-
|
|
|
|
if($is_mo_self){
|
|
if($is_mo_self){
|
|
$sche_dule_arr[$j][$week_arr[$i]] = true;
|
|
$sche_dule_arr[$j][$week_arr[$i]] = true;
|
|
}
|
|
}
|
|
@@ -251,7 +244,6 @@ class ApiController extends Controller
|
|
|
|
|
|
$data['docter'] = $sche_dule_arr;
|
|
$data['docter'] = $sche_dule_arr;
|
|
$data['name'] = $name;
|
|
$data['name'] = $name;
|
|
-// $data['list'] = $list;
|
|
|
|
|
|
|
|
$data['role'] = $role;
|
|
$data['role'] = $role;
|
|
$data['user_id'] = $user_id;
|
|
$data['user_id'] = $user_id;
|
|
@@ -374,9 +366,8 @@ class ApiController extends Controller
|
|
|
|
|
|
if($val == true){
|
|
if($val == true){
|
|
$data['schedule_date'] = $start_time ;
|
|
$data['schedule_date'] = $start_time ;
|
|
-
|
|
|
|
foreach ($schedule_time as $time_id){
|
|
foreach ($schedule_time as $time_id){
|
|
- $is_have = SchedulePeriod::where(['time_period_id'=>$time_id,'type'=>($i),'docter_id'=>$docter_id,'schedule_date'=>$real_time,'organization_id'=>$org_id,'docter_id'=>$docter_id,'schedule_id'=>$schedule_id])->value('id');
|
|
|
|
|
|
+ $is_have = SchedulePeriod::where(['time_period_id'=>$time_id,'type'=>($i),'schedule_date'=>$real_time,'organization_id'=>$org_id])->value('id');
|
|
if($is_have) break;
|
|
if($is_have) break;
|
|
$time_insert['time_period_id'] = $time_id;
|
|
$time_insert['time_period_id'] = $time_id;
|
|
$info[] = $time_insert;
|
|
$info[] = $time_insert;
|
|
@@ -385,7 +376,7 @@ class ApiController extends Controller
|
|
} else {
|
|
} else {
|
|
$data['schedule_date'] = $start_time;
|
|
$data['schedule_date'] = $start_time;
|
|
foreach ($schedule_time as $time_id){
|
|
foreach ($schedule_time as $time_id){
|
|
- $is_have = SchedulePeriod::where(['time_period_id'=>$time_id,'type'=>($i),'docter_id'=>$docter_id,'schedule_date'=>$real_time,'organization_id'=>$org_id,'docter_id'=>$docter_id,'schedule_id'=>$schedule_id])->value('id');
|
|
|
|
|
|
+ $is_have = SchedulePeriod::where(['time_period_id'=>$time_id,'type'=>($i),'schedule_date'=>$real_time,'organization_id'=>$org_id,'docter_id'=>$docter_id,'schedule_id'=>$schedule_id])->value('id');
|
|
if($is_have) SchedulePeriod::where(['time_period_id'=>$time_id,'type'=>($i),'docter_id'=>$docter_id,'schedule_date'=>$real_time,'organization_id'=>$org_id,'docter_id'=>$docter_id,'schedule_id'=>$schedule_id])->delete();
|
|
if($is_have) SchedulePeriod::where(['time_period_id'=>$time_id,'type'=>($i),'docter_id'=>$docter_id,'schedule_date'=>$real_time,'organization_id'=>$org_id,'docter_id'=>$docter_id,'schedule_id'=>$schedule_id])->delete();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -407,7 +398,7 @@ class ApiController extends Controller
|
|
$org_id = $user->org_id;
|
|
$org_id = $user->org_id;
|
|
$docter_id = $user->docter_id;
|
|
$docter_id = $user->docter_id;
|
|
|
|
|
|
- $is_docter = CdmsUsers::where('docter_id',$docter_id)->first();
|
|
|
|
|
|
+ $is_docter = CdmsUsers::where('docter_id',$docter_id)->where('docter_id','!=','')->first();
|
|
if(empty($org_id) && empty($docter_id)){
|
|
if(empty($org_id) && empty($docter_id)){
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
}
|
|
}
|
|
@@ -418,7 +409,7 @@ class ApiController extends Controller
|
|
$lists =[];
|
|
$lists =[];
|
|
if($role == 1){
|
|
if($role == 1){
|
|
$ids = DocterOrganization::where(['organization_id'=>$org_id])->pluck('docter_id')->toArray();
|
|
$ids = DocterOrganization::where(['organization_id'=>$org_id])->pluck('docter_id')->toArray();
|
|
- $list = Docter::whereIn('id',$ids)->get(['id','name']);
|
|
|
|
|
|
+ $list = Docter::whereIn('id',$ids)->where('is_then',1)->get(['id','name']);
|
|
foreach ($list as $val){
|
|
foreach ($list as $val){
|
|
$lists[] = ['value'=>$val->id,'label'=>$val->name];
|
|
$lists[] = ['value'=>$val->id,'label'=>$val->name];
|
|
}
|
|
}
|
|
@@ -444,7 +435,6 @@ class ApiController extends Controller
|
|
public function get_chat_order()
|
|
public function get_chat_order()
|
|
{
|
|
{
|
|
$org_id = 1;
|
|
$org_id = 1;
|
|
-// $docter_id = 1;
|
|
|
|
$docter_id = request('docter_id');
|
|
$docter_id = request('docter_id');
|
|
if(empty($docter_id)){
|
|
if(empty($docter_id)){
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|