/** * 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)); }
$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; }