/app/controllers/MantenimientoexternosController.php
https://gitlab.com/daniruizcamacho/pfcascensores · PHP · 201 lines · 159 code · 39 blank · 3 comment · 11 complexity · 76b6fc0dd93d95c503ff7c4a65fd0184 MD5 · raw file
- <?php
- class MantenimientoexternosController extends BaseController {
- public function getNuevo(){
- $empleados = User::where('puesto', '=' , 'Montador')
- ->orWhere('puesto', '=', 'Mantenimiento')->get();
- $empleadosarray = array();
- foreach ($empleados as $empleado) {
- $empleadosarray[$empleado->id] = $empleado->nombre;
- }
- return View::make('mantenimientoexternos.nuevo')
- ->with('empleadosarray', $empleadosarray);
- }
- public function postNuevo(){
- $input = Input::all();
- $v = Validator::make($input, Mantenimientoexterno::$rules, Mantenimientoexterno::$mensajes);
- if ($v->fails()) {
- return Redirect::to('mantenimientoexternos/nuevo')
- ->withErrors($v)
- ->with('input', $input)
- ->with('idcliente', $input['idcliente']);
- }
- else{
- $date = date_create_from_format('d/m/Y', $input['fecharevision']);
- $dateproximo = date_create_from_format('d/m/Y', $input['fecharevision']);
- $intervalo = new DateInterval('P1M');
- $dateproximo->add($intervalo);
- $mantenimiento = new Mantenimientoexterno();
- $mantenimiento->rae = $input['rae'];
- $mantenimiento->marca = $input['marca'];
- $mantenimiento->preciomantenimiento = $input['preciomantenimiento'];
- $mantenimiento->ultimo_mantenimiento = $date->format('Y-m-d');
- $mantenimiento->proximo_mantenimiento = $dateproximo->format('Y-m-d');
- $mantenimiento->alto = $input['alto'];
- $mantenimiento->ancho = $input['ancho'];
- $mantenimiento->profundidad = $input['profundidad'];
- $mantenimiento->personas = $input['personas'];
- $mantenimiento->user_id = $input['idempleado'];
- $mantenimiento->cliente_id = $input['idcliente'];
- $result = $mantenimiento->save();
- $cliente = Cliente::where('id', '=', $input['idcliente'])->first();
- $cliente->user_id = $input['idempleado'];
- $cliente->save();
- if($result){
- $rutalogo = asset('images/logo_grande.jpg');
- try{
- ob_start();
- include(app_path().'/views/pdf/mantenimiento.php');
- $content = ob_get_clean();
- // convert to PDF
- require_once(public_path().'/packages/html2pdf/html2pdf.class.php');
- $html2pdf = new HTML2PDF('P', 'A4', 'es');
- $html2pdf->pdf->SetDisplayMode('fullpage');
- $html2pdf->writeHTML($content);
- $html2pdf->Output(public_path().'/pdf/mantenimientos/'.$mantenimiento->rae.'.pdf','F');
- }
- catch(HTML2PDF_exception $e) {
- }
- $mantenimiento->enviarcorreo();
- return View::make('mantenimientoexternos.confirmacionalta')
- ->with('idcliente', $input['idcliente'])
- ->with('idmantenimiento', $mantenimiento->id);
- }
- else{
- return Redirect::to('clientes/consultar/'.$input['idcliente'])
- ->with('mok', 'ErrorAltaMantenimientoExterno');
- }
- }
- }
- public function postEditar(){
- $input = Input::all();
- $v = Validator::make($input, Mantenimientoexterno::$rules_editar, Mantenimientoexterno::$mensajes_editar);
- $ascensorcount = Ascensor::where('rae', '=', $input['rae'])->count();
- $mantenimientoflag = Mantenimientoexterno::where('rae', '=', $input['rae'])->first();
- $mantenimiento = Mantenimientoexterno::where('id', '=', $input['idmantenimiento'])->first();
- $raeantiguo = $mantenimiento->rae;
- $flag = true;
- if($ascensorcount > 0 || $mantenimientoflag->id != $input['idmantenimiento']){
- $flag = false;
- }
- if ($v->fails() || !$flag) {
- return Redirect::to('mantenimientoexternos/editar/'.$raeantiguo)
- ->withErrors($v)
- ->with('flag', $flag)
- ->with('input', $input)
- ->with('idcliente', $input['idcliente']);
- }
- else{
- $date = date_create_from_format('d/m/Y', $input['fecharevision']);
- $dateproximo = date_create_from_format('d/m/Y', $input['fecharevision']);
- $intervalo = new DateInterval('P1M');
- $dateproximo->add($intervalo);
-
- //$proximomantenimiento = date('Y-m-d',mktime(0, 0, 0, $date->format('m')+1, $date->format('Y'), $date->format('d')));
- $mantenimiento->rae = $input['rae'];
- $mantenimiento->marca = $input['marca'];
- $mantenimiento->preciomantenimiento = $input['preciomantenimiento'];
- $mantenimiento->ultimo_mantenimiento = $date->format('Y-m-d');
- $mantenimiento->proximo_mantenimiento = $dateproximo->format('Y-m-d');
- $mantenimiento->alto = $input['alto'];
- $mantenimiento->ancho = $input['ancho'];
- $mantenimiento->profundidad = $input['profundidad'];
- $mantenimiento->personas = $input['personas'];
- $mantenimiento->user_id = $input['idempleado'];
- $mantenimiento->cliente_id = $input['idcliente'];
- $result = $mantenimiento->save();
- if($result){
- $cliente = $mantenimiento->cliente;
- $rutalogo = asset('images/logo_grande.jpg');
- $rutapdfcomprobacion = 'pdf/mantenimientos/'.$raeantiguo.'.pdf';
- if(file_exists($rutapdfcomprobacion)){
- unlink(public_path().'/pdf/mantenimientos/'.$raeantiguo.'.pdf');
- }
- try{
- ob_start();
- include(app_path().'/views/pdf/mantenimiento.php');
- $content = ob_get_clean();
- // convert to PDF
- require_once(public_path().'/packages/html2pdf/html2pdf.class.php');
- $html2pdf = new HTML2PDF('P', 'A4', 'es');
- $html2pdf->pdf->SetDisplayMode('fullpage');
- $html2pdf->writeHTML($content);
- $html2pdf->Output(public_path().'/pdf/mantenimientos/'.$mantenimiento->rae.'.pdf','F');
- }
- catch(HTML2PDF_exception $e) {
- }
- return Redirect::to('clientes/consultar/'.$input['idcliente'])
- ->with('mok', 'EditarMantenimientoExterno');
- }
- else{
- return Redirect::to('clientes/consultar/'.$input['idcliente'])
- ->with('mok', 'ErrorEditarMantenimientoExterno');
- }
- }
- }
- public function postActivar(){
- $input = Input::all();
- $mantenimientoexterno = Mantenimientoexterno::where('id', '=', $input['hidden_id'])->first();
- $mantenimientoexterno->baja = 1;
- $result = $mantenimientoexterno->save();
- if($result){
- return Redirect::to('clientes/consultar/'.$input['hidden_idcliente'])
- ->with('mok', 'ActivarMantenimiento');
- }
- else{
- return Redirect::to('clientes/consultar/'.$input['hidden_idcliente'])
- ->with('mok', 'ErrorActivarMantenimiento');
- }
- }
- public function postDesactivar(){
- $input = Input::all();
- $mantenimientoexterno = Mantenimientoexterno::where('id', '=', $input['hidden_id'])->first();
- $mantenimientoexterno->baja = 0;
- $result = $mantenimientoexterno->save();
- if($result){
- return Redirect::to('clientes/consultar/'.$input['hidden_idcliente'])
- ->with('mok', 'DesactivarMantenimiento');
- }
- else{
- return Redirect::to('clientes/consultar/'.$input['hidden_idcliente'])
- ->with('mok', 'ErrorDesactivarMantenimiento');
- }
- }
- }