make(PersonService::class); $check=$s->GetPersonRecode(['id_num'=>$CheckupInfo['id_card_num']]); if(!$check['status']) return $check; $status=false; DB::beginTransaction(); // 开始事务 try { // 执行数据库操作 if($CheckupInfo['type']==1){ //如果体检类型为健康证 更新预约记录表 $u= DB::table('appointment_record') ->where([ 'id_card_num'=>$CheckupInfo['id_card_num'], 'org_id'=>$CheckupInfo['institution_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"=>$CheckupInfo['institution_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("操作失败"); } } }