src/Noahtech/Sistemas/InterjamaBundle/Controller/Atencion/PrecargaController.php line 254

Open in your IDE?
  1. <?php
  2. namespace Noahtech\Sistemas\InterjamaBundle\Controller\Atencion;
  3. use Noahtech\Sistemas\InterjamaBundle\Utils\Codes;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Noahtech\Sistemas\InterjamaBundle\Controller\BaseController;
  8. use Noahtech\Sistemas\InterjamaBundle\Handler\McPrecargaHandler;
  9. use Noahtech\Sistemas\InterjamaBundle\Handler\McPrecargaArchivoHandler;
  10. use Noahtech\Sistemas\InterjamaBundle\Handler\McClienteHandler;
  11. use Noahtech\Sistemas\InterjamaBundle\Handler\McVehiculoHandler;
  12. use Noahtech\Sistemas\InterjamaBundle\Handler\McChoferHandler;
  13. use Noahtech\Sistemas\InterjamaBundle\Handler\McTiposTramiteHandler;
  14. use Noahtech\Sistemas\InterjamaBundle\Handler\McCajaHandler;
  15. use Symfony\Component\Security\Core\Exception\AccessDeniedException;
  16. use Noahtech\Sistemas\InterjamaBundle\Utils\Constants;
  17. use Symfony\Component\HttpKernel\Exception\HttpException;
  18. class PrecargaController extends BaseController {
  19.     private function validarAtencion () {
  20.         $usuario $this->getUser();
  21.         if ($usuario) {
  22.             $atencion false;
  23.             foreach ($usuario->getRoles() as $rol) {
  24.                 if ($rol == 'ROLE_ATENCION'){
  25.                     $atencion true;
  26.                 }
  27.             }
  28.             if (!$atencion){
  29.                 throw new AccessDeniedException("No tiene permiso para acceder a esta pagina.");
  30.             }
  31.         } else {
  32.             throw new AccessDeniedException("No tiene permiso para acceder a esta pagina.");
  33.         }
  34.     }
  35.     private function validarChofer ($tipo$numero$id=null) {
  36.         $chofer $this->get(McChoferHandler::class)->getChoferDuplicate($tipo$numero$id);
  37.         if (!is_null($chofer)) {
  38.             throw new HttpException(409"Ya existe un chofer con el tipo y número de documento ingresados.");
  39.         }
  40.     }
  41.     /**
  42.      * @Route("/atencion/precarga/atenciones", name="atencion_precarga_atenciones_listado")
  43.      * @return type
  44.      */
  45.     public function listadoAtencionAction() {
  46.         $this->validarAtencion();
  47.         $this->setTitle("Listado de atenciones");
  48.         $this->addBreadCrumb("Inicio - Atención"false"atencion_home");
  49.         $this->addBreadCrumb("Listado de atenciones"true);
  50.         $clientes $this->get(McClienteHandler::class)->getClientes();
  51.         $this->data['data'] = null;
  52.         $this->data['clientes'] = $clientes;
  53.         return $this->render(
  54.                         '@NoahtechSistemasInterjama/atencion/precargas/atenciones/listado.html.twig'$this->data
  55.         );
  56.     }
  57.     /**
  58.      * consulta de precarga
  59.      *
  60.      * @Route("/atencion/ajax/precargas/atenciones/search", name="atencion_ajax_precargas_atenciones_listado", methods={"POST"}, condition="request.isXmlHttpRequest()")
  61.      */
  62.     public function searchAtencionesAction(Request $request) {
  63.         $this->validarAtencion();
  64.         $searchParam $request->request->all();        
  65.         $usuario $this->getUser();               
  66.         $currentPage $request->query->get('page');
  67.         $sortField $request->query->get('sort');
  68.         $sortDirection $request->query->get('direction');
  69.         $currentPage null == $currentPage $currentPage;
  70.         $offset = ($currentPage 1) * 100;
  71.         $limit 100;
  72.         try {
  73.             /** @var McPrecargaHandler $handler */
  74.             $handler $this->get(McPrecargaHandler::class);
  75.             $lp $handler->searchAtenciones($offset$limit$sortField$sortDirection$searchParam);
  76.             $lp->setCurrentPage($currentPage);
  77.             $lp->setPageSize(100);
  78.             $this->response->setData($lp);
  79.             $this->response->setCode(Codes::OK);
  80.         } catch (Exception $e) {
  81.             $this->response->setCode(Codes::ERROR);
  82.             $this->response->setMessage($e->getMessage());
  83.         }
  84.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  85.         return new Response($serializedEntity);
  86.     }
  87.     /**
  88.      * @Route("/atencion/precarga/atencion/{id}", name="atencion_precarga_atencion")
  89.      * @return type
  90.      */
  91.     public function precargaAtencionAction($id) {
  92.         $this->validarAtencion();
  93.         $this->setTitle("Nueva Atención de precarga");
  94.         $this->addBreadCrumb("Inicio - Atención"false"atencion_home");
  95.         $this->addBreadCrumb("Listado de atenciones"false"atencion_precarga_atenciones_listado");
  96.         $this->addBreadCrumb("Nueva Atención de precarga"true);
  97.         $tiposTramite $this->get(McTiposTramiteHandler::class)->getTiposTramite();
  98.         $caja $this->get(McCajaHandler::class)->getCajaAbierta('operador');
  99.         $this->data['data'] = $id;
  100.         $this->data['tiposTramite'] = $tiposTramite;
  101.         $this->data['caja'] = $caja;
  102.         return $this->render(
  103.                         '@NoahtechSistemasInterjama/atencion/precargas/atenciones/atencion.html.twig'$this->data
  104.         );
  105.     }
  106.     /**
  107.      * Devuelve una precarga
  108.      *
  109.      * @Route("/atencion/ajax/precargas/atencion/{id}", name="atencion_ajax_precarga_atencion_get_by_id", methods={"GET"}, condition="request.isXmlHttpRequest()")
  110.      */
  111.     public function getAtencionPrecargaByIdAction($id) {
  112.         $this->validarAtencion();
  113.         try {
  114.             $handler $this->get(McPrecargaHandler::class);
  115.             $precarga $handler->getPrecargaAtencionById($id);
  116.             $this->response->setData($precarga);
  117.             $this->response->setCode(Codes::OK);
  118.         } catch (Exception $e) {
  119.             $this->response->setCode(Codes::ERROR);
  120.             $this->response->setMessage($e->getMessage());
  121.         }
  122.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  123.         return new Response($serializedEntity);
  124.     }
  125.     /**
  126.      * Modifica una precarga para agregar los datos de atención
  127.      *
  128.      * @Route("/atencion/ajax/precargas/{id}/atencion", name="atencion_ajax_precarga_atencion_update", methods={"PUT"}, condition="request.isXmlHttpRequest()")
  129.      */
  130.     public function putAtencionAction(Request $request$id) {
  131.         $this->validarAtencion();
  132.         $handler $this->get(McPrecargaHandler::class);
  133.         $usuario $this->getUser();
  134.         $precarga $handler->getAtencionPrecargaFromRequest($request,$id$usuario);        
  135.         $result $handler->updateAtencion($precarga$id);        
  136.         $this->response->setData($result);
  137.         $this->response->setCode(Codes::OK);
  138.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  139.         return new Response($serializedEntity);
  140.     }
  141.     /**
  142.      * 
  143.      * Descarga manifiesto de carga
  144.      * 
  145.      * @Route("/atencion/ajax/precargas/{precargaId}/descarga/manifiesto", name="atencion_ajax_precargas_manifiesto_descarga")
  146.      * 
  147.      */
  148.     public function descargaManifiestoPdfAction($precargaId) {        
  149.         try { 
  150.            $this->validarAtencion();           
  151.            return $this->get(McPrecargaHandler::class)->descargaManifiestoPdf($precargaId);
  152.         } catch (Exception $e) {
  153.            return $e->getMessage();
  154.         }
  155.    }
  156.    /**
  157.      * 
  158.      * Descarga Hoja de ruta
  159.      * 
  160.      * @Route("/atencion/ajax/precargas/{precargaId}/descarga/hoja_ruta", name="atencion_ajax_precargas_hoja_ruta_descarga")
  161.      * 
  162.      */
  163.     public function descargaHojaRutaPdfAction($precargaId) {        
  164.         try { 
  165.            $this->validarAtencion();           
  166.            return $this->get(McPrecargaHandler::class)->descargaHojaRutaPdf($precargaId);
  167.         } catch (Exception $e) {
  168.            return $e->getMessage();
  169.         }
  170.    }
  171.    /**
  172.      * 
  173.      * Descarga MCDTA
  174.      * 
  175.      * @Route("/atencion/ajax/precargas/{precargaId}/descarga/mcdta", name="atencion_ajax_precargas_mcdta_descarga")
  176.      * 
  177.      */
  178.     public function descargaMcdtaPdfAction($precargaId) {        
  179.         try { 
  180.            $this->validarAtencion();           
  181.            return $this->get(McPrecargaHandler::class)->descargaMcdtaPdf($precargaId);
  182.         } catch (Exception $e) {
  183.            return $e->getMessage();
  184.         }
  185.    }
  186.     /**
  187.      * 
  188.      * Descarga recibo de atención de precarga
  189.      * 
  190.      * @Route("/atencion/ajax/precargas/{precargaId}/descarga/recibo", name="atencion_ajax_precarga_recibo_descarga")
  191.      * 
  192.     */
  193.     public function descargaReciboAction($precargaId) {        
  194.         try { 
  195.            $this->validarAtencion();           
  196.            return $this->get(McPrecargaHandler::class)->descargaReciboPdf($precargaId);
  197.         } catch (Exception $e) {
  198.            return $e->getMessage();
  199.         }
  200.    }
  201.    /**
  202.      * 
  203.      * Descarga factura de Afip de atención de precarga
  204.      * 
  205.      * @Route("/atencion/ajax/precargas/afip/{precargaId}/tipo/{tipoFactura}/descarga", name="atencion_ajax_precarga_factura_descarga")
  206.      * 
  207.     */
  208.     public function descargaFacturaAfipAction($precargaId$tipoFactura) {        
  209.         try { 
  210.            $this->validarAtencion();           
  211.            return $this->get(McPrecargaHandler::class)->descargaFacturaAfipPdf($precargaId$tipoFactura);
  212.         } catch (Exception $e) {
  213.            return $e->getMessage();
  214.         }
  215.    }
  216.    /**
  217.      * @Route("/atencion/tramites/finalizados", name="atencion_tramites_finalizados_listado")
  218.      * @return type
  219.      */
  220.     public function precargaFinalizadasListadoAction() {
  221.         $this->validarAtencion();
  222.         $usuario $this->getUser();               
  223.         $this->setTitle("Trámites finalizados | InterJama");
  224.         $this->addBreadCrumb("Inicio - Atención"false"atencion_home");
  225.         $this->addBreadCrumb("Trámites finalizados"true);
  226.         $clientes $this->get(McClienteHandler::class)->getClientes();
  227.         $this->data['data'] = null;
  228.         $this->data['clientes'] = $clientes;
  229.          return $this->render(
  230.                         '@NoahtechSistemasInterjama/atencion/precargas/finalizadas/listado.html.twig'$this->data
  231.         );
  232.     }
  233.     /**
  234.      * consulta de tramite finalizado
  235.      *
  236.      * @Route("/atencion/ajax/tramites/finalizados/search", name="atencion_ajax_tramites_finalizados_listado", methods={"POST"}, condition="request.isXmlHttpRequest()")
  237.      */
  238.     public function searchPrecargasFinalizadasAction(Request $request) {
  239.         $this->validarAtencion();
  240.         $searchParam $request->request->all();        
  241.         $usuario $this->getUser();               
  242.         $currentPage $request->query->get('page');
  243.         $sortField $request->query->get('sort');
  244.         $sortDirection $request->query->get('direction');
  245.         $currentPage null == $currentPage $currentPage;
  246.         $offset = ($currentPage 1) * 100;
  247.         $limit 100;
  248.         try {
  249.             /** @var McPrecargaHandler $handler */
  250.             $handler $this->get(McPrecargaHandler::class);
  251.             $lp $handler->searchPrecargasFinalizadas($offset$limit$sortField$sortDirection$searchParam);
  252.             $lp->setCurrentPage($currentPage);
  253.             $lp->setPageSize(100);
  254.             $this->response->setData($lp);
  255.             $this->response->setCode(Codes::OK);
  256.         } catch (Exception $e) {
  257.             $this->response->setCode(Codes::ERROR);
  258.             $this->response->setMessage($e->getMessage());
  259.         }
  260.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  261.         return new Response($serializedEntity);
  262.     }
  263.     /**
  264.      * Devuelve un cliente segun el termino de busqueda
  265.      *
  266.      * @Route("/atencion/ajax/search/clientes/ByTermino", name="atencion_ajax_cliente_by_termino", methods={"GET"}, condition="request.isXmlHttpRequest()")
  267.      */
  268.     public function getClienteByTerminoSerachAction(Request $request) {
  269.         $this->validarAtencion();
  270.         $userCurrent $this->getUser();
  271.         $searchParam $request->query->get('q');
  272.         try {
  273.             $handler $this->get(McClienteHandler::class);
  274.             $clientes $handler->searchClientesByTermino($searchParam);
  275.             $this->response->setData($clientes);
  276.             $this->response->setCode(Codes::OK);
  277.         } catch (Exception $e) {
  278.             $this->response->setCode(Codes::ERROR);
  279.             $this->response->setMessage($e->getMessage());
  280.         }
  281.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  282.         return new Response($serializedEntity);
  283.     }
  284.     /**
  285.      * descarga de archivos de una precarga
  286.      *
  287.      * @Route("/atencion/ajax/precargas/{id}/download/archivos", name="atencion_ajax_precarga_get_by_id_descarga")
  288.      */
  289.     public function downloadFileByPrecargaAction($id) {
  290.         try {
  291.             $this->validarAtencion();
  292.             $handler $this->get(McPrecargaArchivoHandler::class);
  293.             return $handler->downloadFilesByPrecarga($id);
  294.         } catch (Exception $e) {
  295.             return $e->getMessage();
  296.         }
  297.     }
  298.     /**
  299.      * @Route("/atencion/precargas/{id}/archivos", name="atencion_precargas_by_id_archivos")
  300.      * @return type
  301.      */
  302.     public function precargaArchivosListadoAction($id) {
  303.         $this->validarAtencion();
  304.         $usuario $this->getUser();               
  305.         $this->setTitle("Archivos adjuntos");
  306.         $this->addBreadCrumb("Inicio - Atención"false"atencion_home");
  307.         $this->addBreadCrumb("Bandeja de entrada"false"atencion_precargas_listado");        
  308.         $this->addBreadCrumb("Archivos adjuntos"true);
  309.         $precargaArchivos $this->get(McPrecargaArchivoHandler::class)->findAllByPrecarga($id);      
  310.         $this->data['data'] = $id;
  311.         $this->data['archivos'] = $precargaArchivos;
  312.          return $this->render(
  313.                         '@NoahtechSistemasInterjama/atencion/precargas/archivos.html.twig'$this->data
  314.         );
  315.     }
  316.     /**
  317.      * @Route("/atencion/precarga/atencion/{id}/formulario/senasa", name="atencion_precarga_atencion_formulario_senasa")
  318.      * @return type
  319.      */
  320.     public function precargaAtencionSenasaAction($id) {
  321.         $this->validarAtencion();
  322.         $this->setTitle("Formulario Senasa");
  323.         $this->addBreadCrumb("Inicio - Atención"false"atencion_home");
  324.         $this->addBreadCrumb("Listado de precargas"false"atencion_precarga_atenciones_listado");
  325.         $this->addBreadCrumb("Formulario Senasa"true);
  326.         $this->data['data'] = $id;
  327.         return $this->render(
  328.                         '@NoahtechSistemasInterjama/atencion/precargas/atenciones/senasa.html.twig'$this->data
  329.         );
  330.     }
  331.     /**
  332.      * descarga del formulario SENASA
  333.      *
  334.      * @Route("/atencion/ajax/precargas/atencion/{id}/formulario/senasa", name="atencion_ajax_precarga_atencion_formulario_senasa")
  335.      */
  336.     public function downloadSenasaAction(Request $request$id) {
  337.         $request_body file_get_contents('php://input');
  338.         $data json_decode($request_bodytrue);
  339.         try {
  340.             $this->validarAtencion();
  341.             $handler $this->get(McPrecargaHandler::class);
  342.             return $handler->downloadSenasa($data$id);
  343.         } catch (Exception $e) {
  344.             return $e->getMessage();
  345.         }
  346.     }
  347.     /**
  348.      * @Route("/atencion/precarga/atencion/{id}/formulario/anmac", name="atencion_precarga_atencion_formulario_anmac")
  349.      * @return type
  350.      */
  351.     public function precargaAtencionAnmacAction($id) {
  352.         $this->validarAtencion();
  353.         $this->setTitle("Formulario Anmac");
  354.         $this->addBreadCrumb("Inicio - Atención"false"atencion_home");
  355.         $this->addBreadCrumb("Listado de precargas"false"atencion_precarga_atenciones_listado");
  356.         $this->addBreadCrumb("Formulario Anmac"true);
  357.         $this->data['data'] = $id;
  358.         return $this->render(
  359.                         '@NoahtechSistemasInterjama/atencion/precargas/atenciones/anmac.html.twig'$this->data
  360.         );
  361.     }
  362.     /**
  363.      * descarga del formulario ANMAC
  364.      *
  365.      * @Route("/atencion/ajax/precargas/atencion/{id}/formulario/anmac", name="atencion_ajax_precarga_atencion_formulario_anmac")
  366.      */
  367.     public function downloadAnmacAction(Request $request$id) {
  368.         $request_body file_get_contents('php://input');
  369.         $data json_decode($request_bodytrue);
  370.         try {
  371.             $this->validarAtencion();
  372.             $handler $this->get(McPrecargaHandler::class);
  373.             return $handler->downloadAnmac($data$id);
  374.         } catch (Exception $e) {
  375.             return $e->getMessage();
  376.         }
  377.     }
  378.     /**
  379.      * Guarda un chofer
  380.      *
  381.      * @Route("/atencion/ajax/chofer", name="atencion_chofer_save", methods={"POST"}, condition="request.isXmlHttpRequest()")
  382.      */
  383.     public function postChoferSaveAction(Request $request) {
  384.         $this->validarAtencion();
  385.         $this->validarChofer($request->request->get('tipo'), $request->request->get('numero'));
  386.         try {
  387.             $handler $this->get(McChoferHandler::class);            
  388.             $chofer $handler->getChoferFromRequest($requestnullnull);
  389.             $result $handler->save($chofer);
  390.             $this->response->setData($result);
  391.             $this->response->setCode(Codes::OK);            
  392.         } catch (Exception $e) {
  393.             $this->response->setCode(Codes::ERROR);
  394.             $this->response->setMessage($e->getMessage());
  395.         }
  396.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  397.         return new Response($serializedEntity);       
  398.     }
  399.     /**
  400.      * 
  401.      * Descarga archivos de una precarga finalizada
  402.      * 
  403.      * @Route("/atencion/ajax/tramites/finalizados/{precargaId}/download", name="atencion_ajax_tramite_finalizado_download")
  404.      * 
  405.      */
  406.     public function descargaArchivosAction($precargaId) {
  407.         try {
  408.             $this->validarAtencion();
  409.             $handler $this->get(McPrecargaHandler::class);
  410.             return $handler->downloadArchivosFinalizado($precargaId);
  411.         } catch (Exception $e) {
  412.             return $e->getMessage();
  413.         }
  414.    }
  415.    /**
  416.      * @Route("/atencion/tramites/atencion/editar/{id}", name="atencion_tramite_atencion_update")
  417.      * @return type
  418.      */
  419.     public function precargaUpdateAtencionAction($id) {
  420.         $this->validarAtencion();
  421.         $this->setTitle("Editar Trámite");
  422.         $this->addBreadCrumb("Inicio - Atención"false"atencion_home");
  423.         $this->addBreadCrumb("Listado de trámites finalizados"false"atencion_tramites_finalizados_listado");
  424.         $this->addBreadCrumb("Editar Trámite"true);
  425.         $tiposTramite $this->get(McTiposTramiteHandler::class)->getTiposTramite();
  426.         $caja $this->get(McCajaHandler::class)->getCajaAbierta('operador');
  427.         $clientes $this->get(McClienteHandler::class)->getClientes();
  428.         $this->data['data'] = $id;
  429.         $this->data['clientes'] = $clientes;
  430.         $this->data['tiposTramite'] = $tiposTramite;
  431.         $this->data['caja'] = $caja;
  432.         return $this->render(
  433.                         '@NoahtechSistemasInterjama/atencion/precargas/atenciones/updateAtencion.html.twig'$this->data
  434.         );
  435.     }
  436.     /**
  437.      * Modifica una atencion de precarga
  438.      *
  439.      * @Route("/atencion/ajax/precargas/{id}/modificacion/atencion", name="atencion_ajax_precarga_modificacion_atencion_update", methods={"PUT"}, condition="request.isXmlHttpRequest()")
  440.      */
  441.     public function editAtencionPrecargaAction(Request $request$id) {
  442.         $this->validarAtencion();
  443.         $handler $this->get(McPrecargaHandler::class);
  444.         $usuario $this->getUser();
  445.         $precarga $handler->getAtencionPrecargaFromRequest($request,$id$usuario);        
  446.         $result $handler->updateAtencion($precarga$id);        
  447.         $this->response->setData($result);
  448.         $this->response->setCode(Codes::OK);
  449.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  450.         return new Response($serializedEntity);
  451.     }
  452.      /**
  453.      * @Route("/atencion/precarga/finalizar/{id}", name="operador_precargas_atencion_modificacion")
  454.      * @return type
  455.      */
  456.     public function precargaAtencionModificacionAction($id) {
  457.         $this->validarAtencion();
  458.         $this->setTitle("Finalizar Atención");
  459.         $this->addBreadCrumb("Inicio - Atención"false"atencion_home");
  460.         $this->addBreadCrumb("Listado de atenciones"false"atencion_precarga_atenciones_listado");
  461.         $this->addBreadCrumb("Finalizar Atención"true);
  462.         $tiposTramite $this->get(McTiposTramiteHandler::class)->getTiposTramite();
  463.         $this->data['data'] = $id;
  464.         $this->data['tiposTramite'] = $tiposTramite;
  465.         return $this->render(
  466.                         '@NoahtechSistemasInterjama/atencion/precargas_atencion/finalizar.html.twig'$this->data
  467.         );
  468.     }
  469.         /**
  470.      * Devuelve una atención de la precarga
  471.      *
  472.      * @Route("/atencion/ajax/precargas_atencion/{id}", name="atencion_ajax_precarga_atencion_atencion_get_by_id", methods={"GET"}, condition="request.isXmlHttpRequest()")
  473.      */
  474.     public function getPrecargaAtencionByIdAction($id) {
  475.         $this->validarAtencion();
  476.         try {
  477.             $handler $this->get(McPrecargaHandler::class);
  478.             $precarga $handler->getPrecargaAtencionById($id);
  479.             $this->response->setData($precarga);
  480.             $this->response->setCode(Codes::OK);
  481.         } catch (Exception $e) {
  482.             $this->response->setCode(Codes::ERROR);
  483.             $this->response->setMessage($e->getMessage());
  484.         }
  485.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  486.         return new Response($serializedEntity);
  487.     }
  488.     /**
  489.      * Modifica una precarga
  490.      *
  491.      * @Route("/atencion/ajax/precargas_atencion/finalizar/{id}", name="atencion_ajax_precarga_atencion_finalizar", methods={"POST"}, condition="request.isXmlHttpRequest()")
  492.      */
  493.     public function putUpdateAction(Request $request$id) {
  494.         $this->validarAtencion();
  495.         $archivo = (isset($_FILES['archivo'])) ? $_FILES['archivo'] : null;                
  496.         $handler $this->get(McPrecargaHandler::class);
  497.         $usuario $this->getUser();
  498.         $precarga $handler->getAtencionPrecargaFinalizarFromRequest($request$archivo$usuario$id);        
  499.         $result $handler->updateAtencion($precarga$id);        
  500.         $this->response->setData($result);
  501.         $this->response->setCode(Codes::OK);
  502.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  503.         return new Response($serializedEntity);
  504.     }
  505.     /**
  506.      * Guarda una precarga
  507.      *
  508.      * @Route("/atencion/ajax/precargas", name="atencion_ajax_precargas_save", methods={"POST"}, condition="request.isXmlHttpRequest()")
  509.      */
  510.     public function postPrecargaSaveAction(Request $request) {
  511.         $this->validarAtencion();
  512.         try {
  513.             $handler $this->get(McPrecargaHandler::class);
  514.             $usuario $this->getUser();
  515.             $precarga $handler->getPrecargaFromRequest($request$usuario);
  516.             $result $handler->save($precarga$request);
  517.             $this->response->setData($result);
  518.             $this->response->setCode(Codes::OK);
  519.         } catch (Exception $e) {
  520.             $this->response->setCode(Codes::ERROR);
  521.             $this->response->setMessage($e->getMessage());
  522.         }
  523.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  524.         return new Response($serializedEntity);
  525.     }
  526. }