/app/controllers/MantenimientoexternosController.php

https://gitlab.com/daniruizcamacho/pfcascensores · PHP · 201 lines · 159 code · 39 blank · 3 comment · 11 complexity · 76b6fc0dd93d95c503ff7c4a65fd0184 MD5 · raw file

  1. <?php
  2. class MantenimientoexternosController extends BaseController {
  3. public function getNuevo(){
  4. $empleados = User::where('puesto', '=' , 'Montador')
  5. ->orWhere('puesto', '=', 'Mantenimiento')->get();
  6. $empleadosarray = array();
  7. foreach ($empleados as $empleado) {
  8. $empleadosarray[$empleado->id] = $empleado->nombre;
  9. }
  10. return View::make('mantenimientoexternos.nuevo')
  11. ->with('empleadosarray', $empleadosarray);
  12. }
  13. public function postNuevo(){
  14. $input = Input::all();
  15. $v = Validator::make($input, Mantenimientoexterno::$rules, Mantenimientoexterno::$mensajes);
  16. if ($v->fails()) {
  17. return Redirect::to('mantenimientoexternos/nuevo')
  18. ->withErrors($v)
  19. ->with('input', $input)
  20. ->with('idcliente', $input['idcliente']);
  21. }
  22. else{
  23. $date = date_create_from_format('d/m/Y', $input['fecharevision']);
  24. $dateproximo = date_create_from_format('d/m/Y', $input['fecharevision']);
  25. $intervalo = new DateInterval('P1M');
  26. $dateproximo->add($intervalo);
  27. $mantenimiento = new Mantenimientoexterno();
  28. $mantenimiento->rae = $input['rae'];
  29. $mantenimiento->marca = $input['marca'];
  30. $mantenimiento->preciomantenimiento = $input['preciomantenimiento'];
  31. $mantenimiento->ultimo_mantenimiento = $date->format('Y-m-d');
  32. $mantenimiento->proximo_mantenimiento = $dateproximo->format('Y-m-d');
  33. $mantenimiento->alto = $input['alto'];
  34. $mantenimiento->ancho = $input['ancho'];
  35. $mantenimiento->profundidad = $input['profundidad'];
  36. $mantenimiento->personas = $input['personas'];
  37. $mantenimiento->user_id = $input['idempleado'];
  38. $mantenimiento->cliente_id = $input['idcliente'];
  39. $result = $mantenimiento->save();
  40. $cliente = Cliente::where('id', '=', $input['idcliente'])->first();
  41. $cliente->user_id = $input['idempleado'];
  42. $cliente->save();
  43. if($result){
  44. $rutalogo = asset('images/logo_grande.jpg');
  45. try{
  46. ob_start();
  47. include(app_path().'/views/pdf/mantenimiento.php');
  48. $content = ob_get_clean();
  49. // convert to PDF
  50. require_once(public_path().'/packages/html2pdf/html2pdf.class.php');
  51. $html2pdf = new HTML2PDF('P', 'A4', 'es');
  52. $html2pdf->pdf->SetDisplayMode('fullpage');
  53. $html2pdf->writeHTML($content);
  54. $html2pdf->Output(public_path().'/pdf/mantenimientos/'.$mantenimiento->rae.'.pdf','F');
  55. }
  56. catch(HTML2PDF_exception $e) {
  57. }
  58. $mantenimiento->enviarcorreo();
  59. return View::make('mantenimientoexternos.confirmacionalta')
  60. ->with('idcliente', $input['idcliente'])
  61. ->with('idmantenimiento', $mantenimiento->id);
  62. }
  63. else{
  64. return Redirect::to('clientes/consultar/'.$input['idcliente'])
  65. ->with('mok', 'ErrorAltaMantenimientoExterno');
  66. }
  67. }
  68. }
  69. public function postEditar(){
  70. $input = Input::all();
  71. $v = Validator::make($input, Mantenimientoexterno::$rules_editar, Mantenimientoexterno::$mensajes_editar);
  72. $ascensorcount = Ascensor::where('rae', '=', $input['rae'])->count();
  73. $mantenimientoflag = Mantenimientoexterno::where('rae', '=', $input['rae'])->first();
  74. $mantenimiento = Mantenimientoexterno::where('id', '=', $input['idmantenimiento'])->first();
  75. $raeantiguo = $mantenimiento->rae;
  76. $flag = true;
  77. if($ascensorcount > 0 || $mantenimientoflag->id != $input['idmantenimiento']){
  78. $flag = false;
  79. }
  80. if ($v->fails() || !$flag) {
  81. return Redirect::to('mantenimientoexternos/editar/'.$raeantiguo)
  82. ->withErrors($v)
  83. ->with('flag', $flag)
  84. ->with('input', $input)
  85. ->with('idcliente', $input['idcliente']);
  86. }
  87. else{
  88. $date = date_create_from_format('d/m/Y', $input['fecharevision']);
  89. $dateproximo = date_create_from_format('d/m/Y', $input['fecharevision']);
  90. $intervalo = new DateInterval('P1M');
  91. $dateproximo->add($intervalo);
  92. //$proximomantenimiento = date('Y-m-d',mktime(0, 0, 0, $date->format('m')+1, $date->format('Y'), $date->format('d')));
  93. $mantenimiento->rae = $input['rae'];
  94. $mantenimiento->marca = $input['marca'];
  95. $mantenimiento->preciomantenimiento = $input['preciomantenimiento'];
  96. $mantenimiento->ultimo_mantenimiento = $date->format('Y-m-d');
  97. $mantenimiento->proximo_mantenimiento = $dateproximo->format('Y-m-d');
  98. $mantenimiento->alto = $input['alto'];
  99. $mantenimiento->ancho = $input['ancho'];
  100. $mantenimiento->profundidad = $input['profundidad'];
  101. $mantenimiento->personas = $input['personas'];
  102. $mantenimiento->user_id = $input['idempleado'];
  103. $mantenimiento->cliente_id = $input['idcliente'];
  104. $result = $mantenimiento->save();
  105. if($result){
  106. $cliente = $mantenimiento->cliente;
  107. $rutalogo = asset('images/logo_grande.jpg');
  108. $rutapdfcomprobacion = 'pdf/mantenimientos/'.$raeantiguo.'.pdf';
  109. if(file_exists($rutapdfcomprobacion)){
  110. unlink(public_path().'/pdf/mantenimientos/'.$raeantiguo.'.pdf');
  111. }
  112. try{
  113. ob_start();
  114. include(app_path().'/views/pdf/mantenimiento.php');
  115. $content = ob_get_clean();
  116. // convert to PDF
  117. require_once(public_path().'/packages/html2pdf/html2pdf.class.php');
  118. $html2pdf = new HTML2PDF('P', 'A4', 'es');
  119. $html2pdf->pdf->SetDisplayMode('fullpage');
  120. $html2pdf->writeHTML($content);
  121. $html2pdf->Output(public_path().'/pdf/mantenimientos/'.$mantenimiento->rae.'.pdf','F');
  122. }
  123. catch(HTML2PDF_exception $e) {
  124. }
  125. return Redirect::to('clientes/consultar/'.$input['idcliente'])
  126. ->with('mok', 'EditarMantenimientoExterno');
  127. }
  128. else{
  129. return Redirect::to('clientes/consultar/'.$input['idcliente'])
  130. ->with('mok', 'ErrorEditarMantenimientoExterno');
  131. }
  132. }
  133. }
  134. public function postActivar(){
  135. $input = Input::all();
  136. $mantenimientoexterno = Mantenimientoexterno::where('id', '=', $input['hidden_id'])->first();
  137. $mantenimientoexterno->baja = 1;
  138. $result = $mantenimientoexterno->save();
  139. if($result){
  140. return Redirect::to('clientes/consultar/'.$input['hidden_idcliente'])
  141. ->with('mok', 'ActivarMantenimiento');
  142. }
  143. else{
  144. return Redirect::to('clientes/consultar/'.$input['hidden_idcliente'])
  145. ->with('mok', 'ErrorActivarMantenimiento');
  146. }
  147. }
  148. public function postDesactivar(){
  149. $input = Input::all();
  150. $mantenimientoexterno = Mantenimientoexterno::where('id', '=', $input['hidden_id'])->first();
  151. $mantenimientoexterno->baja = 0;
  152. $result = $mantenimientoexterno->save();
  153. if($result){
  154. return Redirect::to('clientes/consultar/'.$input['hidden_idcliente'])
  155. ->with('mok', 'DesactivarMantenimiento');
  156. }
  157. else{
  158. return Redirect::to('clientes/consultar/'.$input['hidden_idcliente'])
  159. ->with('mok', 'ErrorDesactivarMantenimiento');
  160. }
  161. }
  162. }