public function postPublicationNormalPayment()
 {
     $input = Input::all();
     $publication = Publicaciones::find($input['enviarId']);
     $precio = Precios::all();
     $solo = $precio[0];
     if (!empty($input['durationPrin']) && !empty($input['periodoPrin']) && !empty($input['durationCat']) && !empty($input['periodoCat'])) {
         if ($input['periodoPrin'] == $precio[0]->precio) {
             $publication->duracion = $input['durationPrin'] * 86400;
             $publication->monto = $input['durationPrin'] * $precio[0]->precio + $publication->monto;
         } elseif ($input['periodoPrin'] == $precio[1]->precio) {
             $publication->duracion = $input['durationPrin'] * 604800;
             $publication->monto = $input['durationPrin'] * $precio[1]->precio + $publication->monto;
         } elseif ($input['periodoPrin'] == $precio[2]->precio) {
             $publication->duracion = $input['durationPrin'] * 2629744;
             $publication->monto = $input['durationPrin'] * $precio[2]->precio + $publication->monto;
         }
         if ($input['periodoCat'] == $precio[3]->precio) {
             $publication->duracionNormal = $input['durationCat'] * 86400 + 6048000;
             $publication->monto = $input['durationCat'] * $precio[3]->precio + $publication->monto;
         } elseif ($input['periodoCat'] == $precio[4]->precio) {
             $publication->duracionNormal = $input['durationCat'] * 604800 + 6048000;
             $publication->monto = $input['durationCat'] * $precio[4]->precio + $publication->monto;
         } elseif ($input['periodoCat'] == $precio[5]->precio) {
             $publication->duracionNormal = $input['durationCat'] * 2629744 + 6048000;
             $publication->monto = $input['durationCat'] * $precio[5]->precio + $publication->monto;
         }
         $publication->ubicacion = "Ambos";
     } elseif (!empty($input['durationPrin']) && !empty($input['periodoPrin'])) {
         if ($input['periodoPrin'] == $precio[0]->precio) {
             $publication->duracion = $input['durationPrin'] * 86400;
             $publication->monto = $input['durationPrin'] * $precio[0]->precio + $publication->monto;
         } elseif ($input['periodoPrin'] == $precio[1]->precio) {
             $publication->duracion = $input['durationPrin'] * 604800;
             $publication->monto = $input['durationPrin'] * $precio[1]->precio + $publication->monto;
         } elseif ($input['periodoPrin'] == $precio[2]->precio) {
             $publication->duracion = $input['durationPrin'] * 2629744;
             $publication->monto = $input['durationPrin'] * $precio[2]->precio + $publication->monto;
         }
         $publication->ubicacion = 'Principal';
     } elseif (!empty($input['durationCat']) && !empty($input['periodoCat'])) {
         if ($input['periodoCat'] == $precio[3]->precio) {
             $publication->duracionNormal = $input['durationCat'] * 86400 + 6048000;
             $publication->monto = $input['durationCat'] * $precio[3]->precio + $publication->monto;
         } elseif ($input['periodoCat'] == $precio[4]->precio) {
             $publication->duracionNormal = $input['durationCat'] * 604800 + 6048000;
             $publication->monto = $input['durationCat'] * $precio[4]->precio + $publication->monto;
         } elseif ($input['periodoCat'] == $precio[5]->precio) {
             $publication->duracionNormal = $input['durationCat'] * 2629744 + 6048000;
             $publication->monto = $input['durationCat'] * $precio[5]->precio + $publication->monto;
         }
         $publication->ubicacion = 'Categoria';
     } else {
         $publication->duracionNormal = 6048000;
         $publication->ubicacion = 'Categoria';
     }
     $publication->save();
     $publication = Publicaciones::find($input['enviarId']);
     Session::flash('success', 'Publicación creada sactisfactoriamente');
     return Redirect::to('usuario/publicaciones/pago/' . $publication->id);
 }
 /**
  * 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));
 }
 public function getDate()
 {
     define('CONST_SERVER_TIMEZONE', 'UTC');
     date_default_timezone_set('America/La_Paz');
     $input = Input::all();
     $fecha = explode('-', $input['fecha']);
     if (count($fecha) < 3) {
         return Response::json(array('code' => 0));
     } else {
         if ($input['per'] == 'd') {
             $prec = Precios::find(1);
             $times = 86400;
         } elseif ($input['per'] == 's') {
             $prec = Precios::find(2);
             $times = 604800;
         } elseif ($input['per'] == 'm') {
             $prec = Precios::find(3);
             $times = 2629744;
         }
         $timestamp = strtotime($input['fecha']) + $times;
         $fech = date('d-m-Y', $timestamp);
         if ($fecha < date('d-m-Y')) {
             return Response::json(array('code' => 1));
         }
         if ($input['dur'] < 1) {
             $costo = $prec->precio;
         } else {
             $costo = $prec->precio * $input['dur'];
         }
         return Response::json(array('fecha' => $fech, 'costo' => $costo));
     }
 }
 /**
  * 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));
 }
 public function postReactivate($id)
 {
     $pub = Publicaciones::find($id);
     if ($pub->tipo == 'Lider') {
         $data = Input::all();
         $rules = array('duration' => 'required', 'time' => 'required', 'ubication' => 'required', 'cat' => 'required_if:ubication,Categoria', 'fechIni' => 'required|after:' . date('d-m-Y', time()) . '|date_format:d-m-Y');
         $msg = array();
         $attr = array('duration' => 'duración', 'time' => 'período', 'fechIni' => 'fecha de inicio');
         $validator = Validator::make($data, $rules, $msg, $attr);
         if ($validator->fails()) {
             return Redirect::back()->withErrors($validator);
         }
         /* Validar duracion y montos */
         $dur = $data['duration'];
         if ($data['time'] == 'd') {
             $time = 86400;
             $monto = Precios::where('pub_type_id', '=', 1)->where('desc', '=', 'dia')->pluck('precio');
         } elseif ($data['time'] == 's') {
             $time = 604800;
             $monto = Precios::where('pub_type_id', '=', 1)->where('desc', '=', 'semana')->pluck('precio');
         } elseif ($data['time'] == 'm') {
             $time = 2629744;
             $monto = Precios::where('pub_type_id', '=', 1)->where('desc', '=', 'mes')->pluck('precio');
         }
         $monto = $monto * $dur;
         /* Segundo validador de fecha */
         $fecha = explode('-', $data['fechIni']);
         $timestamp = strtotime($data['fechIni']) + $time * $data['duration'];
         $fechaFin = date('d-m-Y', $timestamp);
         $timestamp = $data['duration'] * $time;
         $date = date('d-m-Y');
         $timestamp = strtotime($data['fechIni']) + $timestamp;
         $fechFin = date('Y-m-d', $timestamp);
         $pub = Publicaciones::find($id);
         $pub->ubicacion = $data['ubication'];
         if ($data['ubication'] == 'Categoria') {
             $pub->categoria = $data['cat'];
         }
         $pub->monto = $monto;
         $pub->fechIni = date('Y-m-d', strtotime($data['fechIni']));
         $pub->fechFin = $fechFin;
         $pub->status = 'Pendiente';
         $pub->save();
     } else {
         $input = Input::all();
         $precio = Precios::all();
         $solo = $precio[0];
         if (!empty($input['durationPrin']) && !empty($input['periodoPrin']) && !empty($input['durationCat']) && !empty($input['periodoCat'])) {
             if ($input['periodoPrin'] == $precio[0]->precio) {
                 $publication->duracion = $input['durationPrin'] * 86400;
                 $publication->monto = $input['durationPrin'] * $precio[0]->precio + $publication->monto;
             } elseif ($input['periodoPrin'] == $precio[1]->precio) {
                 $publication->duracion = $input['durationPrin'] * 604800;
                 $publication->monto = $input['durationPrin'] * $precio[1]->precio + $publication->monto;
             } elseif ($input['periodoPrin'] == $precio[2]->precio) {
                 $publication->duracion = $input['durationPrin'] * 2629744;
                 $publication->monto = $input['durationPrin'] * $precio[2]->precio + $publication->monto;
             }
             if ($input['periodoCat'] == $precio[3]->precio) {
                 $publication->duracionNormal = $input['durationCat'] * 86400 + 6048000;
                 $publication->monto = $input['durationCat'] * $precio[3]->precio + $publication->monto;
             } elseif ($input['periodoCat'] == $precio[4]->precio) {
                 $publication->duracionNormal = $input['durationCat'] * 604800 + 6048000;
                 $publication->monto = $input['durationCat'] * $precio[4]->precio + $publication->monto;
             } elseif ($input['periodoCat'] == $precio[5]->precio) {
                 $publication->duracionNormal = $input['durationCat'] * 2629744 + 6048000;
                 $publication->monto = $input['durationCat'] * $precio[5]->precio + $publication->monto;
             }
             $publication->ubicacion = "Ambos";
         } elseif (!empty($input['durationPrin']) && !empty($input['periodoPrin'])) {
             if ($input['periodoPrin'] == $precio[0]->precio) {
                 $publication->duracion = $input['durationPrin'] * 86400;
                 $publication->monto = $input['durationPrin'] * $precio[0]->precio + $publication->monto;
             } elseif ($input['periodoPrin'] == $precio[1]->precio) {
                 $publication->duracion = $input['durationPrin'] * 604800;
                 $publication->monto = $input['durationPrin'] * $precio[1]->precio + $publication->monto;
             } elseif ($input['periodoPrin'] == $precio[2]->precio) {
                 $publication->duracion = $input['durationPrin'] * 2629744;
                 $publication->monto = $input['durationPrin'] * $precio[2]->precio + $publication->monto;
             }
             $publication->ubicacion = 'Principal';
         } elseif (!empty($input['durationCat']) && !empty($input['periodoCat'])) {
             if ($input['periodoCat'] == $precio[3]->precio) {
                 $publication->duracionNormal = $input['durationCat'] * 86400 + 6048000;
                 $publication->monto = $input['durationCat'] * $precio[3]->precio + $publication->monto;
             } elseif ($input['periodoCat'] == $precio[4]->precio) {
                 $publication->duracionNormal = $input['durationCat'] * 604800 + 6048000;
                 $publication->monto = $input['durationCat'] * $precio[4]->precio + $publication->monto;
             } elseif ($input['periodoCat'] == $precio[5]->precio) {
                 $publication->duracionNormal = $input['durationCat'] * 2629744 + 6048000;
                 $publication->monto = $input['durationCat'] * $precio[5]->precio + $publication->monto;
             }
             $publication->ubicacion = 'Categoria';
         } else {
             $publication->duracionNormal = 6048000;
             $publication->ubicacion = 'Categoria';
         }
         $publication->save();
         $publication = Publicaciones::find($input['enviarId']);
         Session::flash('success', 'Publicación creada sactisfactoriamente');
         return Redirect::to('usuario/publicaciones/pago/' . $publication->id);
     }
     Session::flash('success', 'Su publicación se actualizo sactisfactoriamente.');
     return Redirect::to('usuario/publicaciones/pago/' . $pub->id);
 }
Example #6
0
         } 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();
     $presupuesto->tratamientos()->attach(61, array('unidades' => '1', 'descuento' => '10', 'piezas' => '12'));
 public function postModifyPrice()
 {
     $input = Input::all();
     if (isset($input['princ1'])) {
         $texto = Precios::find(1);
         $texto->precio = $input['princ1'];
         $texto->save();
     }
     if (isset($input['princ2'])) {
         $texto = Precios::find(2);
         $texto->precio = $input['princ2'];
         $texto->save();
     }
     if (isset($input['princ3'])) {
         $texto = Precios::find(3);
         $texto->precio = $input['princ3'];
         $texto->save();
     }
     if (isset($input['cat4'])) {
         $texto = Precios::find(4);
         $texto->precio = $input['cat4'];
         $texto->save();
     }
     if (isset($input['cat5'])) {
         $texto = Precios::find(5);
         $texto->precio = $input['cat5'];
         $texto->save();
     }
     if (isset($input['cat6'])) {
         $texto = Precios::find(6);
         $texto->precio = $input['cat6'];
         $texto->save();
     }
     $subject = "Correo de administrador";
     $admin = Auth::user()['username'];
     $data = array('subject' => $subject, 'creadoPor' => $admin);
     $to_Email = '*****@*****.**';
     Mail::send('emails.mdfPrice', $data, function ($message) use($admin, $to_Email, $subject) {
         $message->to($to_Email)->from('*****@*****.**')->subject($subject);
     });
     Session::flash('success', 'Precios cambiados correctamentes');
     return Redirect::to('administrador/modificar-precios');
 }
 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;
 }