/**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     $tratamiento = Tratamientos::where('id', $id)->firstOrFail();
     $grupos = Grupos::lists('nombre', 'id');
     $companias = Companias::lists('nombre', 'id');
     $tipos = TiposTratamientos::get();
     $imagenes = Imagenes::lists('denominacion', 'nombre');
     $imagenes[0] = '-- Ninguna --';
     asort($imagenes);
     $imgselected = $tratamiento->imagen == null ? 0 : $tratamiento->imagen;
     $precios = Precios::leftJoin('tratamientos', 'tratamientos.id', '=', 'tratamientos_id')->leftJoin('companias', 'companias.id', '=', 'companias_id')->select('companias.nombre as nombre_comp', 'companias.id as cid', 'precio', 'grupostratamientos_id', 'tipostratamientos_id')->where('tratamientos.id', $id)->get();
     if ($precios->isEmpty()) {
         $precios = array();
         foreach ($companias as $cid => $nombre) {
             $precios[] = array('cid' => $cid, 'precio' => '', 'disabled' => TRUE);
         }
     } else {
         foreach ($precios as $p) {
             $p->disabled = is_null($p->precio);
         }
     }
     return View::make('tratamientos.edit')->with(array('tratamiento' => $tratamiento, 'precios' => $precios, 'grupos' => $grupos, 'tipos' => $tipos, 'imagenes' => $imagenes, 'imgselected' => $imgselected, 'companias' => $companias));
 }
示例#2
0
             $tratamiento->save();
         } else {
             echo "Tratamiento " . $cod_trat . " ya existe <br>";
         }
     }
 });
 Route::get('asignarprecios', function () {
     $archivo = fopen(storage_path() . '/tcps.csv', 'r');
     while (($tcps = fgetcsv($archivo, 1000, ';')) !== FALSE) {
         $cod_trat = $tcps[0];
         $comp = $tcps[4];
         $id_comp = Companias::where('nombre', 'LIKE', '%' . $comp . '%')->lists('id');
         $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();
 public function findTratamiento($grupoID)
 {
     $tratamientos = Tratamientos::where('grupos_tratamientos_id', $grupoID)->lists('nombre', 'id');
     return $tratamientos;
 }
 private function getTratamientosArray($grupos, $companias, $companias_paciente)
 {
     $preciosObj = Precios::whereIn('companias_id', array_keys($companias))->get(array('tratamientos_id', 'precio', 'companias_id'));
     $precios = array();
     $companiaEconomica = array();
     // Escoge el precio más barato de las dos compañías
     foreach ($preciosObj as $p) {
         if (in_array($p->companias_id, $companias_paciente)) {
             if (!array_key_exists($p->tratamientos_id, $precios) || array_key_exists($p->tratamientos_id, $precios) && $p->precio < $precios[$p->tratamientos_id]) {
                 $precios[$p->tratamientos_id][$p->companias_id] = $p->precio;
             }
             if (!array_key_exists($p->tratamientos_id, $companiaEconomica) || array_key_exists($p->tratamientos_id, $companiaEconomica) && $p->precio < $precios[$p->tratamientos_id][$companiaEconomica[$p->tratamientos_id]]) {
                 $companiaEconomica[$p->tratamientos_id] = $p->companias_id;
             }
         }
     }
     $tratamientosAll = Tratamientos::where('historiable', 1)->get(array('nombre', 'id', 'grupostratamientos_id', 'tipostratamientos_id'));
     $atratamientos = array();
     foreach ($tratamientosAll as $t) {
         // No mostrar el tratamiento si no tiene precio asignado en las compañías del paciente
         if (array_key_exists($t->id, $precios)) {
             $ta = array('id' => $t->id, 'nombre' => $t->nombre, 'compania_economica' => $companiaEconomica[$t->id], 'precios' => $precios[$t->id], 'tipo' => $t->tipostratamientos_id);
             $atratamientos[$t->grupostratamientos_id][$t->id] = $ta;
         }
     }
     return $atratamientos;
 }