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); }
} 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; }