toArray(); } public function paitent_remark() { $data['patient_id']= request('patient_id'); $data['org_id'] = request('org_id'); $data['type'] = request('type'); $is_have = PatientRemark::where($data)->first(); $data['remark'] = request('remark'); if(empty($data['remark'])) return redirect('/cdms/nurse_users'); if($is_have){ PatientRemark::where(['id'=>$is_have->id])->update(['remark'=>$data['remark']]); } else { PatientRemark::insert($data); } return redirect('/cdms/nurse_users'); } public function sendmsg(){ $config = [ 'app_id' => 'wx1c2357232cd25f65', 'secret' => 'c8cab53e4e52234ed1bc2abbdeaba57d', // 'app_id' => 'wx13bedfcc62e9bab0', // 'secret' => '175e5518b6426dd12d3096f24ca68fb8', 'response_type' => 'array' // oVxTzvgYlGktIDZXwfLMLQ01Tr5s ]; //3LUhWGlyiljxrT3Jh8orwQZ2LSHjfRs9SIHaB40O6q0 //开发者调用模版消息接口时需提供模版ID //标题 //offer进度提醒 //行业 //IT科技 - 互联网|电子商务 //详细内容 //{{first.DATA}} //人才姓名:{{keyword1.DATA}} //联系方式:{{keyword2.DATA}} //入职职位:{{keyword3.DATA}} //入职公司:{{keyword4.DATA}} //报到时间:{{keyword5.DATA}} //{{remark.DATA}} // oVxTzvgYlGktIDZXwfLMLQ01Tr5s 自己 oVxTzvhu4gs4RyCt4kJDRWOgsUXw周璐 oVxTzvgu4XnI5F2aF7DcrbJIp5fI 间行 oVxTzvl8DYQblYmLCIK3UXW_8jAY 落雨桐 $renyuan = ['oVxTzvhu4gs4RyCt4kJDRWOgsUXw','oVxTzvgYlGktIDZXwfLMLQ01Tr5s']; //周璐 // $renyuan = ['oVxTzvvTnnbjEE9jsalOYj4mtp6U','oVxTzvgu4XnI5F2aF7DcrbJIp5fI']; //简行 $app = Factory::officialAccount($config ); // $res = $app->broadcasting->status(3147483751); // // "errcode" => 0 // "errmsg" => "send job submission success" // "msg_id" => 3147483751 // "msg_data_id" => 2247484953 // ^ array:2 [▼ // "errcode" => 40003 // "errmsg" => "invalid openid rid: 5fc35ef3-7f3b3ef9-14537bc7" //] $user = $app->user->get('oVxTzvgYlGktIDZXwfLMLQ01Tr5s'); dd($user); $res = $app->template_message->send([ 'touser' => 'oVxTzvgYlGktIDZXwfLMLQ01Tr5s', 'template_id' => '3LUhWGlyiljxrT3Jh8orwQZ2LSHjfRs9SIHaB40O6q0', // 'url' => 'https://t5.9026.com', 'data' => [ 'first'=>'社区通知', 'keyword1' => '王海军', 'keyword2' => 18719141830, 'keyword3' => '开发工程师', 'keyword4' => '思维定制', 'keyword5' => '2020-12-12', ], ]); dd($res); $res = $app->broadcasting->sendText("测试发送,测试发送",$renyuan); } //获取排班页面 public function getComSchedule() { $set_time = request('time');//时间 $user = Admin::user(); $doc_id = $user->docter_id; $docter_id = request('docter_id'); $role = request('role',1); $is_docter = CdmsUsers::where('docter_id',$doc_id)->where('docter_id','!=','')->first(); if(empty($set_time)){ return json_encode(['code'=>601,'msg'=>'缺少必要参数','data'=>'']); } if($is_docter){ $role =2; $org_id = request('org_id'); } else { $org_id = $user->org_id; } $all_time = explode('至',$set_time); if(count($all_time) <2){ return json_encode(['code'=>601,'msg'=>'缺少必要参数','data'=>'']); } $start_time = intval(str_replace('-','',$all_time[0])); $end_time = intval(str_replace('-','',$all_time[1])); $first_day = strtotime($all_time[0]); // DB::enableQueryLog(); $sche_dule = Schedule::whereBetween('schedule_day',[$start_time,$end_time]) ->where(['docter_id'=>$docter_id]) ->pluck('id') ->toArray(); // echo '
'; // print_r(DB::getQueryLog()); // echo ''; //dd($sche_dule); $sche_dule_arr =[ [ 'date'=>"上午", 'monday'=>false, 'tuesday'=>false, 'wednesday'=>false, 'thursday'=>false, 'friday'=>false, 'saturday'=>false, 'sunday'=>false, ], [ 'date'=>"下午", 'monday'=>false, 'tuesday'=>false, 'wednesday'=>false, 'thursday'=>false, 'friday'=>false, 'saturday'=>false, 'sunday'=>false, ], [ 'date'=>"晚上", 'monday'=>false, 'tuesday'=>false, 'wednesday'=>false, 'thursday'=>false, 'friday'=>false, 'saturday'=>false, 'sunday'=>false, ] ]; //周字段映射 $week_arr = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday']; //时段区间id $schedule_config = SystemConfig::get('docter_config'); $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['evening_start'])->where('end_time_period','<=',$schedule_config['evening_end'])->pluck('id')->toArray(); if(empty($sche_dule)){ return ['code'=>200,'msg'=>'ok','data'=>['docter'=>$sche_dule_arr,'org_id'=>$org_id,'docter_id'=>$docter_id]]; } if($role == 1){ $ids = DocterOrganization::where(['organization_id'=>$org_id])->pluck('docter_id'); $name = Organization::where('id',$docter_id)->value('name'); $user_id = $org_id; for ($i = 0; $i<6; $i++){ $str_time = date('Y-m-d',($first_day + $i * 86400)); for($j=0;$j<3;$j++){ //dd($sche_dule); // DB::enableQueryLog(); //检测上午 $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)->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]) ->where('organization_id','=',$org_id)->where('docter_id',$docter_id)->count(); if($is_self){ $sche_dule_arr[$j][$week_arr[$i]] = true; } if($is_mo_have){ $sche_dule_arr[$j][$week_arr[$i]] = 'other'; } } } } else { $name = Docter::where('id',$docter_id)->value('name'); $user_id = $docter_id; for ($i=0; $i<=6; $i++){ $str_time = date('Y-m-d',($first_day + $i * 86400)); for($j=0;$j<=2;$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)->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]) ->where('organization_id',$org_id)->where('docter_id',$docter_id)->count(); if($is_mo_self){ $sche_dule_arr[$j][$week_arr[$i]] = true; } if($is_mo_have){ $sche_dule_arr[$j][$week_arr[$i]] = 'other'; } } } } // "morning_start" => "09:00" // "morning_end" => "12:00" // "afternoon_start" => "13:00" // "afternoon_end" => "18:00" // "evening_start" => "19:00" // "evening_end" => "20:00" $data['docter'] = $sche_dule_arr; $data['name'] = $name; $data['role'] = $role; $data['user_id'] = $user_id; return (json_encode(['code'=>200,'msg'=>'ok','data'=>$data])); } //编辑排班 public function setDocChedule() { $docter_id = request('docter_id'); $org_id = request('org_id'); $set_time = request('time'); $data = request('schedulingtime'); // $set_time = '2020-12-07至2020-12-13'; if(empty($set_time) || empty($org_id) || empty($docter_id)){ return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']); } $all_time = explode('至',$set_time); if(count($all_time) <2) { return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']); } $first_day = strtotime($all_time[0]); $start_time = intval(str_replace('-','',$all_time[0])); $end_time = intval(str_replace('-','',$all_time[1])); $schedule_id = Schedule::where(['docter_id'=>$docter_id])->whereBetween('schedule_day',[$start_time,$end_time])->pluck('id'); if(empty($schedule_id) || count($schedule_id) < 7){ // Schedule::whereIn('id',$schedule_id)->delete(); // SchedulePeriod::whereIn('schedule_id',$schedule_id); for($i = 0;$i<=6;$i++){ $real_time = $first_day + (86400 * $i); $schedule= [ 'schedule_date'=> date('Y-m-d',$real_time), 'schedule_day'=>intval(str_replace('-','',date('Y-m-d H:i:s',$real_time))), 'docter_id'=>$docter_id ] ; Schedule::Insert($schedule); // echo '日期:'.date('Y-m-d H:i:s',$real_time).'