예제 #1
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function edit(Request $request)
 {
     $idtitular = $request->input('idtitular');
     //id titular
     if ($idtitular == '') {
         $titular = new Titular($request->only('nombre_titular', 'responsable', 'dom_titular', 'cp_titular', 'pob_titular', 'exp_titular', 'dni_titular', 'tel_titular', 'ema_titular'));
         $idtitular = $titular->insertGetId($titular->attributesToArray());
     } else {
         $titularA = new Titular($request->only('nombre_titular', 'responsable', 'dom_titular', 'cp_titular', 'pob_titular', 'exp_titular', 'dni_titular', 'tel_titular', 'ema_titular'));
         $titular = Titular::find($idtitular);
         $titular->update($titularA->attributesToArray());
         $idtitular = $request->input('idtitular');
         //id titular
     }
     $parcelaU = new parcela($request->except('nombre_titular', 'responsable', 'dom_titular', 'cp_titular', 'pob_titular', 'exp_titular', 'dni_titular', 'tel_titular', 'ema_titular'));
     $parcela = Parcela::find($request->input('idparcela'));
     $parcelaU->GC_TITULAR_id = $idtitular;
     $parcela->update($parcelaU->attributesToArray());
     //LLamamos al controlador Facturacion controller para generar la factura de cesion perpetua
     //de la parcela que estamos editando.
     $factura = new FacturacionController();
     $factura->fcpP($idtitular, $parcela->id);
 }
예제 #2
0
 /**
  * Función que devuelve una vistra u otra con los parametros necesarios para modificar o calle
  * o panteones
  * @param $idCalle es el id de la calle a editar
  * @return View es la vista a devolver.
  */
 function editarView($idCalle)
 {
     $calle = Calle::find($idCalle);
     if ($calle->tipo_calle == 1) {
         //Obtenemos las tramadas de la calle
         $tramadas = Tramada::where('GC_CALLE_id', "=", $idCalle)->get();
         return view('modificar_calle_nichos', compact('calle', 'tramadas'));
     } else {
         //Obtenemos las parcelas de la calle panteon.
         $parcelas = Parcela::where('GC_CALLE_id', "=", $idCalle)->get();
         //Obtenemos las tramadas de cada parcela para pasarlas a la vista.
         $tramadas = array();
         $titulares = array();
         foreach ($parcelas as $parcela) {
             $tramada = Tramada::where('GC_PARCELA_id', '=', $parcela->id)->get();
             if ($parcela->GC_TITULAR_id != null) {
                 $titular = Titular::where('id', '=', $parcela->GC_TITULAR_id)->get(['nombre_titular', 'dni_titular']);
                 $elemento1 = array($parcela->id, $titular[0]);
                 array_push($titulares, $elemento1);
             }
             $elemento = array($parcela->id, $tramada);
             array_push($tramadas, $elemento);
         }
         return view('modificar_calle_panteon', compact('calle', 'parcelas', 'tramadas', 'titulares'));
     }
 }
예제 #3
0
 function update(Request $r)
 {
     //Obtenemos los parámetros de la petición
     $id = $r->input('id');
     $tipo = $r->input('tipo');
     $hoy = Carbon::now();
     //obtenemos la fecha inicio y fin de los años que se pretende pagar
     $inicio = new Carbon($r->input('inicio'));
     $fin = new Carbon($r->input('fin'));
     //obtenemos el iva para calculos
     $iva = Iva2::first()->tipo;
     //inicializamos el objeto factura
     $this->nuevaFactura = new Factura();
     //Asignamos atributos a nuevaFactura para ello obtenemos dato de infoRecibos
     $nicho = infoRecibos::find($id);
     $this->nuevaFactura->idtitular = $nicho->idtitular;
     $this->nuevaFactura->iddifunto = $nicho->iddifunto;
     $this->nuevaFactura->serie = $tipo;
     $this->nuevaFactura->pendiente = 1;
     //las ponemos así por defecto?
     $this->nuevaFactura->pagada = 0;
     //las ponemos así por defecto?
     $this->nuevaFactura->inicio = $r->input('inicio');
     $this->nuevaFactura->fin = $r->input('fin');
     if ($tipo == 'N') {
         //Si es de un nicho el recibo que vamos a imprimir.
         $this->nuevaFactura->idnicho = $nicho->idnicho;
         $this->nuevaFactura->calle = $nicho->calle;
         $this->nuevaFactura->tramada = $nicho->tramada;
         $this->nuevaFactura->numero_nicho = $nicho->numero_nicho;
         //Obtenemos el titular de este nicho
         $titularinfo = Titular::find($nicho->idtitular);
         //Obtenemos el nicho
         $nichoinfo = Nicho::find($nicho->idnicho);
         //Obtenemos el nº de la serie que le corresponde
         $numero = Factura::where('serie', 'N')->whereYear('inicio', '=', $hoy->year)->max('numero');
         $this->nuevaFactura->numero = $numero + 1;
         //Calculamos la  base total para la tarifa de mantenimiento nichos
         $tarifa = Tm_nichos::first();
         $precio = $tarifa->tarifa * ($fin->year - $inicio->year);
         $this->nuevaFactura->base = $precio;
         $this->nuevaFactura->iva = $precio * ($iva / 100);
         $this->nuevaFactura->total = $precio + $precio * ($iva / 100);
     } else {
         $this->nuevaFactura->idparcela = $nicho->idparcela;
         $this->nuevaFactura->calle = $nicho->calle;
         $this->nuevaFactura->parcela = $nicho->parcela;
         //obtenemos el titular de esta parcela
         $titularinfo = Titular::find($nicho->idtitular);
         //Obtenemos la parcela
         $nichoinfo = Parcela::find($nicho->idparcela);
         //Obtenemos el nº de la serie que le corresponde
         $numero = Factura::where('serie', 'M')->whereYear('inicio', '=', $hoy->year)->max('numero');
         $this->nuevaFactura->numero = $numero + 1;
         //Buscamos el precio de mantenimiento de la parcela en tarifas que depende del tipo de nicho
         //si está construido o no, para saberlo comprobamos si tiene alguna tramada
         $tramadas = Tramada::where('GC_PARCELA_id', '=', $nicho->idparcela)->get();
         $tamanyo = $nicho->metros_parcela;
         $this->nuevaFactura->metros_parcela = $tamanyo;
         //si tiene tramadas está construida por lo tanto tarifa 2
         if (count($tramadas) > 0) {
             $tipo = 2;
             $tarifa = Tm_parcelas::find(2);
             //obtenemos el tamanyo de la parcela
             $numNichos = count($tramadas) * $tramadas[0]->nichos;
             $precio = $numNichos * $tarifa->tarifa * ($fin->year - $inicio->year);
         } else {
             //Sino la tarifa 1
             $tipo = 1;
             $tarifa = Tm_parcelas::find(1);
             //obtenemos el tamanyo de la parcela
             $precio = $tamanyo * $tarifa->tarifa * ($fin->year - $inicio->year);
         }
     }
     //Titular
     $this->nuevaFactura->nombre_titular = $titularinfo->nombre_titular;
     $this->nuevaFactura->dni_titular = $titularinfo->dni_titular;
     $this->nuevaFactura->domicilio_del_titular = $titularinfo->dom_titular;
     $this->nuevaFactura->cp_titular = $titularinfo->cp_titular;
     $this->nuevaFactura->poblacion_titular = $titularinfo->pob_titular;
     $this->nuevaFactura->provincia_titular = $titularinfo->pro_titular;
     //facturado
     $this->nuevaFactura->nombre_facturado = $nichoinfo->nom_facturado;
     $this->nuevaFactura->dni_facturado = $nichoinfo->dni_facturado;
     $this->nuevaFactura->domicilio_facturado = $nichoinfo->dir_facturado;
     $this->nuevaFactura->dni_facturado = $nichoinfo->nom_facturado;
     $this->nuevaFactura->cp_facturado = $nichoinfo->cp_facturado;
     $this->nuevaFactura->poblacion_facturado = $nichoinfo->pob_facturado;
     $this->nuevaFactura->provincia_facturado = $nichoinfo->pro_facturado;
     //Asiganamos datos monetarios a la factura.
     $this->nuevaFactura->base = $precio;
     $this->nuevaFactura->iva = $precio * ($iva / 100);
     $this->nuevaFactura->total = $precio + $precio * ($iva / 100);
     $this->nuevaFactura->save();
     if ($tipo == 'N') {
         //Generamos los pdfs para imprimir el recibo del nicho
         echo '<a type="button" class="btn btn-success" style="background-color: #009688;" href="/pdfmantenimientoNicho-' . $this->nuevaFactura->id . '">Visualizar y descargar Recibo</a>';
         echo '<a type="button" class="btn btn-success download" style="background-color: #009688;" href="/ipdfmantenimientoNicho-' . $this->nuevaFactura->id . '">Descargar directamente</a>';
     } else {
         //Generamos los enlaces para los pdfs de las parcelas
         echo '<a type="button" class="btn btn-success" style="background-color: #009688;" href="/pdfmantenimientoParcela-' . $this->nuevaFactura->id . '">Visualizar y descargar Recibo</a>';
         echo '<a type="button" class="btn btn-success download" style="background-color: #009688;" href="/ipdfmantenimientoParcela-' . $this->nuevaFactura->id . '">Descargar directamente</a>';
     }
 }
예제 #4
0
 public function getForModal(Request $request)
 {
     $nombre = $request->input('nombrebuscar');
     $dni = $request->input('dnibuscar');
     $calle = $request->input('callebuscar');
     $titulares = Titular::where('nombre_titular', 'like', "%{$nombre}%");
     if ($dni != "") {
         $titulares->where('dni_titular', 'like', "%{$dni}%");
     }
     if ($calle != "") {
         $titulares->where('dom_titular', 'like', "%{$calle}%");
     }
     $titulares = $titulares->get();
     echo '<br>';
     if (count($titulares) <= 20 && count($titulares) > 0) {
         echo '<table class="table table-bordered table-hover"><tr>';
         echo '<thead>';
         echo '<th> Nombre';
         echo '</th>';
         echo '<th> Dni';
         echo '</th>';
         echo '<th> Domicilio';
         echo '</th>';
         echo '<th> Cargar';
         echo '</th>';
         echo '</thead></tr>';
         foreach ($titulares as $titular) {
             echo '<tr>';
             echo '<td> ' . $titular->nombre_titular . '</td>';
             echo '<td> ' . $titular->dni_titular . '</td>';
             echo '<td> ' . $titular->dom_titular . '</td>';
             echo '<td> <button type="button" onclick="cargartitularbusqueda(' . $titular->id . ')" class="btn btn-warning btn-xs">Cargar</button></td>';
             echo '</tr>';
         }
         echo '<tbody>';
         echo '</tbody>';
         echo '</table>';
     } else {
         if (count($titulares) == 0) {
             echo '<h2>No existen coincidencias para esos parametros de busqueda</h2>';
         } else {
             echo '<h2>Demasiados resultados de busqueda, afine mejor</h2>';
         }
     }
 }
예제 #5
0
 /**
  * Modifica el nicho en la base de datos
  *
  * @param  int $id
  * @return \Illuminate\Http\Response
  */
 public function edit(Request $request)
 {
     $sintitularbox = $request->input('sintitular');
     $idtitular = $request->input('idtitular');
     //id titular
     $sintitular = false;
     if ($sintitularbox != null) {
         $idtitular = null;
         $sintitular = true;
     } else {
         if ($idtitular == '') {
             $titular = new Titular($request->only('nombre_titular', 'responsable', 'dom_titular', 'cp_titular', 'pob_titular', 'exp_titular', 'dni_titular', 'tel_titular', 'ema_titular', 'pro_titular'));
             $idtitular = $titular->insertGetId($titular->attributesToArray());
         } else {
             $titularA = new Titular($request->only('nombre_titular', 'responsable', 'dom_titular', 'cp_titular', 'pob_titular', 'exp_titular', 'dni_titular', 'tel_titular', 'ema_titular', 'pro_titular'));
             $titular = Titular::find($idtitular);
             $titular->update($titularA->attributesToArray());
             $idtitular = $request->input('idtitular');
             //id titular
         }
     }
     $nichoU = new Nicho($request->except('nombre_titular', 'responsable', 'dom_titular', 'cp_titular', 'pob_titular', 'exp_titular', 'dni_titular', 'tel_titular', 'ema_titular', 'pro_titular'));
     $nicho = Nicho::find($request->input('idnicho'));
     $nichoU->GC_TITULAR_id = $idtitular;
     $nichoU->sintitular = $sintitular;
     $nicho->update($nichoU->attributesToArray());
     if ($sintitularbox == "on") {
     } else {
         $factura = new FacturacionController();
         $factura->facturaCesion($idtitular, $nicho->id, $nicho->cesion);
     }
 }
예제 #6
0
 /**
  * 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);
     }
 }
예제 #7
0
 public function escrituraNicho($id)
 {
     $nicho = Nicho::find($id);
     //voluntades y otras cosas
     $info = InfoNicho::find($id);
     // nombre calle, numero, altura
     $titular = Titular::find($nicho->GC_TITULAR_id);
     //datos del titular
     //require_once("dompdf/dompdf_config.inc.php");
     $view = \View::make('pdf.escritura', compact('nicho', 'titular', 'info'))->render();
     $pdf = \App::make('dompdf.wrapper');
     $pdf->loadHTML($view)->setPaper('a3', 'landscape')->setWarnings(false)->save('myfile.pdf');
     //$pdf->loadHTML($view);
     return $pdf->stream('invoice.pdf', array('Attachment' => 1));
     /*$dompdf = new DOMPDF();
       $dompdf->load_html($view);
       $dompdf->set_paper("a3");
       $dompdf->render();
       $dompdf->stream('escritura' . ".pdf");*/
 }
예제 #8
0
 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();
     }
 }