make(PersonService::class); $check=$s->GetPersonRecode(['id_num'=>$CheckupInfo['id_card_num']]); if(!$check['status']) return $check; $org_id=DB::select("select id from medical_institution where sn=?",[$CheckupInfo['institution_sn']]); if(count($org_id)!=1) return \Yz::echoError1('机构码不存在'); $status=false; DB::beginTransaction(); // 开始事务 try { // 执行数据库操作 if($CheckupInfo['type']==1){ //如果体检类型为健康证 更新预约记录表 $u= DB::table('appointment_record') ->where([ 'id_card_num'=>$CheckupInfo['id_card_num'], 'org_id'=>$org_id[0]->id, 'status'=>1 ])->whereBetween('created_at',[$firstDay,$lastDay])->update(['status'=>2]); } $u2=DB::table('examination_records')->insert([ "id_card_num"=>$CheckupInfo['id_card_num'], "type"=>$CheckupInfo['type'], "institution_id"=>$org_id[0]->id ]); if($CheckupInfo['type']==1){ if($u==1 and $u2==true){ DB::commit(); // 提交事务 $status=true; }else{ DB::rollBack(); // 回滚事务 } }else{ if($u2){ DB::commit(); // 提交事务 $status=true; }else{ DB::rollBack(); // 回滚事务 } } } catch (\Exception $e) { DB::rollBack(); // 回滚事务 } if($status){ return \Yz::Return(true,'ok',[]); }else{ return \Yz::echoError1("操作失败"); } } //保存文件返回存储路径 public function SaveFile($arr){ $date = date("Ymd"); $path = $arr['file']->store('public/'.$date); return \Yz::Return(true,'',$path); } }