'options' => array( //'tags' => array('clever', 'is', 'better', 'clevertech'), 'placeholder' => 'Seleccionar unidad', // 'width' => '40%', 'tokenSeparators' => array(',', ' ') ) ) ) ); echo $form->textFieldGroup($presuPro, 'costo_unidad',array('prepend'=>'Bs','widgetOptions'=>array('htmlOptions'=>array('id'=>'costounidad')))); echo $form->textFieldGroup($presuPro, 'cantidad',array('widgetOptions'=>array('htmlOptions'=>array('id'=>'cantidad')))); //echo $form->textFieldGroup($presuPro, 'fecha_estimada',array('widgetOptions'=>array('htmlOptions'=>array('id'=>'fecha_estimada')))); $ahno = Presupuestos::model()->findByAttributes(array('activo'=>true))->ahno; echo $form->datePickerGroup( $presuPro, 'fecha_estimada', array( 'widgetOptions' => array( 'htmlOptions'=> array('id'=>'fecha'), 'options' => array( 'format' => 'yyyy-m-d', 'language' => 'es', 'startDate'=>$ahno.'-01-01', 'endDate'=>($ahno+2).'-12-31' ), ), 'wrapperHtmlOptions' => array(
$id_comp = $id_comp[0]; // echo $id_comp[0]."<br>"; $precio = $tcps[2]; $id_tratamiento = Tratamientos::where('codigo', $cod_trat)->first(); $siexiste = Precios::where('tratamientos_id', $id_tratamiento->id)->where('companias_id', $id_comp)->lists('id'); if (empty($siexiste)) { Tratamientos::find($id_tratamiento->id)->precios()->attach($id_comp, array('precio' => $precio)); //echo "Añadido tratamiento ".$id_tratamiento->nombre." a compañía ".$id_comp." precio: ".$precio."<br>"; //$tratamiento->precios()->attach($id_comp, array('precio' => $precio)); } else { echo "Precio para esta compañía y tratamientos ya existe"; } } }); Route::get('crearpresu', function () { $presupuesto = new Presupuestos(); $presupuesto->nombre = "primer presupuesto"; $presupuesto->numerohistoria = "7947"; $presupuesto->save(); $presupuesto->tratamientos()->attach(61, array('unidades' => '1', 'descuento' => '10', 'piezas' => '12')); }); Route::get('creartrats', function () { $archivo = fopen(storage_path() . '/l.csv', 'r'); $grupo = "Grupo"; $id_grupo = "X"; while (($data = fgetcsv($archivo, 2500, ';', '"')) !== FALSE) { $grupo = "Grupo"; $codigo = $data['0']; $nombre = $data['1']; $precio = $data['3']; $precio_1 = $data['4'];
/** * Display the specified resource. * * @param int $id * @return Response */ public function verpresupuestos($numerohistoria) { $paciente_b = Pacientes::where('numerohistoria', $numerohistoria)->firstOrFail(); $companias_list = Companias::lists('nombre', 'id'); $paciente_b->companias_text = $companias_list[$paciente_b->compania]; if ($paciente_b->compania2 != 0) { $paciente_b->companias_text .= ' y ' . $companias_list[$paciente_b->compania2]; } $profesionales1 = Profesional::get(array(DB::raw("CONCAT_WS(' ', nombre, apellido1, apellido2) AS nombre"), 'id')); $profesionales = array(); foreach ($profesionales1 as $p) { $profesionales[$p->id] = $p->nombre; } $users1 = User::get(array(DB::raw("CONCAT_WS(' ', firstname, lastname) AS nombre"), 'id')); $users = array(); foreach ($users1 as $u) { $users[$u->id] = $u->nombre; } $presupuestos = Presupuestos::where('numerohistoria', $numerohistoria)->select('presupuestos.*', DB::raw("DATE_FORMAT(presupuestos.created_at, '%d/%m/%Y') as creado"), DB::raw("DATE_FORMAT(presupuestos.updated_at, '%d/%m/%Y') as actualizado"))->orderBy('updated_at', 'desc')->get(); $precios = Precios::paciente($numerohistoria); foreach ($presupuestos as $p) { $total = 0; $tratamientos = $p->tratamientos()->get(array('presupuestos_tratamientos.*', 'tratamientos.nombre')); foreach ($tratamientos as $t) { $total += $t->precio_final; } if ($p->tipodescuento == 'P') { $descuento = $p->descuento * $total / 100; $descuentotext = $p->descuento . '%'; } else { $descuento = $p->descuento; $descuentotext = $p->descuento . '€'; } $p->importe_total = $total - $descuento; $p->descuentototal = $descuentotext; $p->profesional_n = $profesionales[$p->profesional_id]; $p->user_n = $users[$p->user_id]; } return View::make('presupuestos.presupuestos')->with('paciente', $paciente_b)->with(array('presupuestos' => $presupuestos)); }
/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { $paciente = Pacientes::where('id', $id)->firstOrFail(); $user = Auth::id(); $profesional = Profesional::where('user_id', $user)->firstOrFail(); $profesionales_list = array(); foreach (Profesional::all() as $p) { $profesionales_list[$p->id] = $p->getFullNameAttribute(); } $historiales = Historial_clinico::where('paciente_id', $paciente->id)->leftJoin('tratamientos', 'historial_clinico.tratamiento_id', '=', 'tratamientos.id')->leftJoin('grupostratamientos', 'tratamientos.grupostratamientos_id', '=', 'grupostratamientos.id')->leftJoin('profesionales', 'historial_clinico.profesional_id', '=', 'profesionales.id')->select('historial_clinico.*', DB::raw("DATE_FORMAT(historial_clinico.fecha_realizacion, '%d/%m/%Y') as date"), 'profesionales.nombre as pr_n', 'profesionales.apellido1 as pr_a1', 'profesionales.apellido2 as pr_a2', 'tratamientos.nombre as t_n', 'tratamientos.id as t_id', 'grupostratamientos.nombre as t_g')->orderBy('id', 'DESC')->get(); foreach ($historiales as $h) { $cobros_a_restar_de_precio = Cobros::where('historial_clinico_id', $h->id)->sum('cobro'); //Esto es la suma de los cobros de un item de HC $h->pdc = $h->precio - $cobros_a_restar_de_precio; } $anticipos = Cobros::where('paciente_id', $paciente->id)->where('historial_clinico_id', 0)->sum('cobro'); //los cobros con historial clínico = 0 son anticipos pagados desde el HC de un paciente. $todos_los_cobros_de_anticipo = Cobros::where('paciente_id', $paciente->id)->where('historial_clinico_id', '!=', 0)->where('tipos_de_cobro_id', 1)->sum('cobro'); $saldo_anticipos = $anticipos - $todos_los_cobros_de_anticipo; $p_d_c = Historial_clinico::where('pendiente_de_cobro', 1)->where('paciente_id', $id)->get(); $p_d_c->pendiente = 0; foreach ($p_d_c as $p) { $cobros = Cobros::where('historial_clinico_id', $p->id)->sum('cobro'); $p_d_c->pendiente += $p->precio - $cobros; } $presupuestos = Presupuestos::where('numerohistoria', $paciente->numerohistoria)->where('aceptado', 1)->select('presupuestos.*', DB::raw("DATE_FORMAT(created_at, '%d/%m/%Y') as creado"))->orderBy('created_at', 'DESC')->get(); $hay_presupuestos = false; foreach ($presupuestos as $p) { $presu_trats = $p->tratamientos()->get(array('presupuestos_tratamientos.*', 'tratamientos.nombre')); $include = false; foreach ($presu_trats as $pt) { // El presupuesto se mostrará si hay algún tratamiento aún por realizar. if ($pt->estado == 0) { $include = true; } $pt->unidades_restantes = $pt->unidades - Historial_clinico::where('presupuesto_tratamiento_id', $pt->id)->sum('unidades'); } if ($include) { $p->presu_tratamientos = $presu_trats; $hay_presupuestos = true; } else { $p->presu_tratamientos = array(); } } $data = $this->_data_aux_historial($paciente); $tipos_de_cobro = Tipos_de_cobro::lists('nombre', 'id'); $tipos_de_cobro_anticipos = Tipos_de_cobro::lists('nombre', 'id'); unset($tipos_de_cobro_anticipos[1]); if ($data['saldon'] <= 0) { unset($tipos_de_cobro[1]); } $espera = Espera::where('paciente_id', $id)->where('admitido', 1)->first(); // no hay presupuestos que mostrar porque todos tienen los tratamientos realizados if (!$hay_presupuestos) { $presupuestos = array(); } return View::make('historial.show')->with($data)->with(array('historiales' => $historiales, 'profesional' => $profesional, 'presupuestos' => $presupuestos, 'profesionales_list' => $profesionales_list, 'tipos_de_cobro' => $tipos_de_cobro, 'paciente' => $paciente, 'p_d_c' => $p_d_c, 'espera' => $espera, 'saldo' => $saldo_anticipos, 'tipos_de_cobro_anticipos' => $tipos_de_cobro_anticipos)); }