public function indexModify($id) { //obtenemos que no tienen titular primero //$parcela = VPanteones::where('parcela_id' ,'=',$id) // ->where('titular_id', '=', null)->get(); $parcela = Parcela::find($id); //obtenemos informacion de la vista creada para panteones o parcelas $infoParcela = VPanteones::where('parcela_id', '=', $parcela->id)->get()[0]; //obtenemos los datos del titular $titular = Titular::findOrNew($parcela->GC_TITULAR_id); return view('modificar-panteon', compact('parcela', 'titular', 'infoParcela')); }
public function paginateNoDisponiblesBusqueda(Request $request) { $titular = $request->input('titular'); $calle = $request->input('calle'); $numero = $request->input('numero'); $dni = $request->input('dni'); $page = $request->input('page'); $Qnodisponibles = VPanteones::where(function ($Qnodisponibles) { $Qnodisponibles->whereNotNull('titular_id'); })->where(function ($Qnodisponibles) use($titular, $calle, $numero, $dni) { if ($titular != '') { $Qnodisponibles->where('nombre_titular', 'like', "%{$titular}%"); } if ($calle != '') { $Qnodisponibles->where('calle', 'like', "%{$calle}%"); } if ($numero != '') { $Qnodisponibles->where('numero', $numero); } if ($dni != '') { $Qnodisponibles->where('dni_titular', 'like', "%{$dni}%"); } }); $Nodisponibles = $Qnodisponibles->skip(10 * ($page - 1))->groupby('parcela_id')->take(10)->get(); foreach ($Nodisponibles as $Nodisponible) { $ruta = route('modificar-panteones', [$Nodisponible->parcela_id]); $ruta2 = route('nichos-panteones', [$Nodisponible->parcela_id]); $ruta3 = route('pdfescrituraParcela', [$Nodisponible->parcela_id]); echo '<tr>'; echo '<td>' . $Nodisponible->nombre_titular . '</td>'; echo '<td>' . $Nodisponible->dni_titular . '</td>'; echo '<td> Calle: <span style = "font-weight: bold">' . $Nodisponible->calle . ',</span > Numero, <span style = "font-weight: bold" >' . $Nodisponible->numero . '</span > </td >'; echo "<td> <a title='Modificar Parcela' href ='{$ruta}' ><i class='fa fa-lg fa-pencil-square-o'></i> Modificar Parcela </a>"; echo "<a title='Ver Nicho' href ='{$ruta2}'><i class='fa fa-lg fa-search'></i> Ver nichos</a>"; echo "<a title='Escritura' href ='{$ruta3}'><i class='fa fa-lg fa-map-o'></i> Escritura</a>"; echo "</td></tr>"; } }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $nichoid = $request->input('GC_NICHOS_id'); $nicho = Nicho::find($nichoid); $titular = Titular::find($nicho->GC_TITULAR_id); $p = false; if ($titular == null) { $tramada = Tramada::find($nicho->GC_Tramada_id); $parcela = VPanteones::where('parcela_id', $tramada->GC_PARCELA_id)->get()[0]; $titular = Titular::find($parcela->titular_id); $p = true; } $difunto = new Difunto($request->all()); $difunto->save(); $fc = new FacturacionController(); if ($p) { $fc->facturaEnterramiento($nicho->id, $difunto->id, $titular->id, $parcela->parcela_id); //Generamos también factura de mantenimiento de los años años que se deben hasta hoy + 5 $fc->Mantenimiento5Parcela($parcela->parcela_id, $titular->id, $nicho->id); } else { $fc->facturaEnterramiento($nicho->id, $difunto->id, $titular->id, null); //Generamos también factura de mantenimimento de los añoas que se deben hasta hoy + 5 $fc->Mantenimiento5Nicho($nicho->id, $titular->id); } }
public function Mantenimiento5Parcela($parcela, $titular, $idnicho) { $hoy = Carbon::now(); //Cogemos el ultimo año pagado en factura de esta parcela $ultimo = infoRecibos::where('idparcela', '=', $parcela)->groupBy('idparcela')->get(['fin'])[0]->fin; $ultimo = Carbon::create($ultimo, 1, 1, 0, 0); $fin = new Carbon($ultimo); //En la parcela si enterramos en 2015 y luego en 2016 no se puede generar 5 años más debería //calcularse si la diferencia es menor que 5 y si es así incrementar hasta 5 if ($fin->year > $hoy->year) { $diferencia = 5 - ($fin->year - $hoy->year); } else { $diferencia = 5 + ($hoy->year - $fin->year); } if ($diferencia > 0) { $iva = Iva2::first()->tipo; $tarifa = Tm_parcelas::find(2); //Obtener el nº de nichos de la parcela, se supone que está construida $tramadas = Tramada::where('GC_PARCELA_id', '=', $parcela)->get(); $numNichos = count($tramadas) * $tramadas[0]->nichos; $precio = $tarifa->tarifa * $numNichos; $titularinfo = Titular::find($titular); $infoparcela = Parcela::find($parcela); $infopanteon = VPanteones::where('parcela_id', $parcela)->first(); $factura = new Factura(); $numero = Factura::where('serie', 'M')->whereYear('created_at', '=', $hoy->year)->max('numero'); //también hay que poner el idnicho de esta factura porque estamos enterrando en un nicho $factura->idnicho = $idnicho; $factura->numero = $numero + 1; $factura->inicio = $ultimo; $factura->fin = $fin->addYears($diferencia); $factura->idparcela = $parcela; $factura->serie = 'M'; $factura->idtitular = $titular; $factura->base = $precio * $diferencia; $factura->iva = $precio * $diferencia * ($iva / 100); $factura->total = $precio * $diferencia * (1 + $iva / 100); //nuevos campo $factura->calle = $infopanteon->calle; $factura->parcela = $infopanteon->numero; $factura->metros_parcela = $infopanteon->tamanyo; $factura->cesion = $infopanteon->cesion; //titular $factura->nombre_titular = $titularinfo->nombre_titular; $factura->dni_titular = $titularinfo->dni_titular; $factura->domicilio_del_titular = $titularinfo->dom_titular; $factura->cp_titular = $titularinfo->cp_titular; $factura->poblacion_titular = $titularinfo->pob_titular; $factura->provincia_titular = $titularinfo->pro_titular; //facturado $factura->nombre_facturado = $infoparcela->nom_facturado; $factura->dni_facturado = $infoparcela->nif_facturado; $factura->domicilio_facturado = $infoparcela->dir_facturado; $factura->cp_facturado = $infoparcela->cp_facturado; $factura->poblacion_facturado = $infoparcela->pob_facturado; $factura->provincia_facturado = $infoparcela->pro_facturado; $factura->save(); } }