src/Controller/ComponenteController.php line 110

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Usuario;
  4. use App\Service\ComponenteService;
  5. use FOS\RestBundle\Controller\AbstractFOSRestController;
  6. use FOS\RestBundle\Controller\Annotations as Rest;
  7. use FOS\RestBundle\Controller\FOSRestController;
  8. use JMS\Serializer\SerializerBuilder;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\Serializer\SerializerInterface;
  12. use JMS\Serializer\SerializationContext;
  13. class ComponenteController extends  AbstractFOSRestController
  14. {
  15.     private $service;
  16.     private $serializer;
  17.     public function __construct(
  18.         ComponenteService $componenteService,
  19.         SerializerInterface $serializer
  20.     )
  21.     {
  22.         $this->service $componenteService;
  23.         $this->serializer $serializer;
  24.         //$this->serializer = $this->get('jms_serializer');
  25.     }
  26.     /*
  27.      * @Rest\Get("api_inicio/load_inicial/obtenerConvertidores")
  28.      *
  29.      public function getConvertidores(Request $request)
  30.      {
  31.          return $this->obtenerConvertidores($request);
  32.      }
  33. */
  34.     /**
  35.      * @Rest\Get("api/obtenerPastas", name="obtener_pasta_disponibilidad")
  36.      */
  37.     public function obtenerPastas(Request $request)
  38.     {
  39.         $serializer SerializerBuilder::create()->setPropertyNamingStrategy(
  40.             new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
  41.                 new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
  42.             )
  43.         )->build();
  44.         $usr$this->get('security.token_storage')->getToken()->getUser();
  45.         $data $this->service->getPastas($usrtrue);
  46.         if($data)
  47.         {
  48.             $code Response::HTTP_OK;
  49.         }else{
  50.             $code Response::HTTP_NO_CONTENT;
  51.             $data = ['error'=>'no se encontraron mensajes'];
  52.         }
  53.         $serializacion SerializationContext::create()->setGroups(['detalle','envases_group'=>['detalle']]);
  54.         $response =  new Response($serializer->serialize($data"json",$serializacion),$code);
  55.         $response->headers->set('Content-Type''json'); //xml
  56.         $response->prepare($request);
  57.         return $response;
  58.     }
  59.     /**
  60.      * @Rest\Get("api/obtenerPastasSpb", name="obtener_pasta_disponibilidad_Spb")
  61.      */
  62.     public function obtenerPastasSpb(Request $request)
  63.     {
  64.         $serializer SerializerBuilder::create()->setPropertyNamingStrategy(
  65.             new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
  66.                 new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
  67.             )
  68.         )->build();
  69.         $usr$this->get('security.token_storage')->getToken()->getUser();
  70.         $data $this->service->getPastas($usrfalse);
  71.         if($data)
  72.         {
  73.             $code Response::HTTP_OK;
  74.         }else{
  75.             $code Response::HTTP_NO_CONTENT;
  76.             $data = ['error'=>'no se encontraron mensajes'];
  77.         }
  78.         $serializacion SerializationContext::create()->setGroups(['detalle','envases_group'=>['detalle']]);
  79.         $response =  new Response($serializer->serialize($data"json",$serializacion),$code);
  80.         $response->headers->set('Content-Type''json'); //xml
  81.         $response->prepare($request);
  82.         return $response;
  83.     }
  84.     /*
  85.      * api/obtenerComponentesPorCriterioBusqueda (cadenaBusquedaComponente)
  86.      *
  87.      */
  88.     /**
  89.      *
  90.      * @Rest\Get("api/obtenerConvertidores", name="obtener_convertidor_disponibilidad")
  91.      * @param Request idColor Clave del color del que extraer los convertidores.
  92.      *
  93.      */
  94.     public function obtenerConvertidores(Request $request)
  95.     {
  96.        // $serializer = $this->get('jms_serializer');
  97.         $serializer SerializerBuilder::create()->setPropertyNamingStrategy(
  98.             new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
  99.                 new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
  100.             )
  101.         )->build();
  102.         $usr$this->get('security.token_storage')->getToken()->getUser();
  103.         //dd($usr->getCuenta());
  104.         $data $this->service->getConvertidores1($usr);
  105.         if($data)
  106.         {
  107.             $code Response::HTTP_OK;
  108.         }else{
  109.             $code Response::HTTP_NO_CONTENT;
  110.             $data = ['error'=>'no se encontraron mensajes'];
  111.         }
  112.         $serializacion SerializationContext::create()->setGroups(['detalle','envases_group'=>['detalle']]);
  113.         $response =  new Response($serializer->serialize($data"json",$serializacion),$code);
  114.         $response->headers->set('Content-Type''json'); //xml
  115.         $response->prepare($request);
  116.         return $response;
  117.     }
  118.     /*
  119.      * api/obtenerComponentesPorCriterioBusqueda (cadenaBusquedaComponente)
  120.      *
  121.      */
  122.     /**
  123.      * @Rest\Get("api/obtenerComponentesPorCodigo", name="obtener_componentes_por_codigo")
  124.      * @param Request codigo
  125.      *
  126.      */
  127.     public function obtenerComponentesPorCodigo(Request $request)
  128.     {
  129.         $serializer SerializerBuilder::create()->setPropertyNamingStrategy(
  130.             new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
  131.                 new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
  132.             )
  133.         )->build();
  134.         $usr$this->get('security.token_storage')->getToken()->getUser();
  135.         $codigo $request->get('codigo');
  136.         $data $this->service->obtenerComponentesPorCodigo($codigo$usr1);
  137.         $code Response::HTTP_OK;
  138.         if(!$data)
  139.         {
  140.             $data = [];
  141.         }
  142.         $serializacion SerializationContext::create()->setGroups(['detalle']);
  143.         $response =  new Response($serializer->serialize($data"json",$serializacion),$code);
  144.         $response->headers->set('Content-Type''json');
  145.         $response->prepare($request);
  146.         return $response;
  147.     }
  148.     /**
  149.      * @Rest\Get("api/obtenerComponentesPorCodigoSpb", name="obtener_componentes_por_codigo_spb")
  150.      * @param Request codigo
  151.      *
  152.      */
  153.     public function obtenerComponentesPorCodigoSpb(Request $request)
  154.     {
  155.         $serializer SerializerBuilder::create()->setPropertyNamingStrategy(
  156.             new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
  157.                 new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
  158.             )
  159.         )->build();
  160.         $usr$this->get('security.token_storage')->getToken()->getUser();
  161.         $codigo $request->get('codigo');
  162.         // $data = $this->service->obtenerComponentesPorCodigoSpb($codigo, $usr);
  163.         $data $this->service->obtenerComponentesPorCodigo($codigo$usr0);
  164.         $code Response::HTTP_OK;
  165.         if(!$data)
  166.         {
  167.             $data = [];
  168.         }
  169.         $serializacion SerializationContext::create()->setGroups(['detalle']);
  170.         $response =  new Response($serializer->serialize($data"json",$serializacion),$code);
  171.         $response->headers->set('Content-Type''json');
  172.         $response->prepare($request);
  173.         return $response;
  174.     }
  175.     /**
  176.      * @Rest\Get("api/admin/obtenerComponentesPorCodigo", name="obtener_componentes_por_codigo_sinPeronal")
  177.      * @param Request codigo
  178.      *
  179.      */
  180.     public function obtenerComponentesPorCodigosinPersonal(Request $request)
  181.     {
  182.         $usr$this->get('security.token_storage')->getToken()->getUser();
  183.         $serializer SerializerBuilder::create()->setPropertyNamingStrategy(
  184.             new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
  185.                 new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
  186.             )
  187.         )->build();
  188.         $codigo $request->get('codigo');
  189.         $data $this->service->obtenerComponentesPorCodigo($codigo$usr1);
  190.         $data1= [];
  191.         foreach ($data as $item){
  192.             if($item->getDiscriminador() == || $item->getDiscriminador()==2){
  193.                 $data1[]=$item;
  194.             }
  195.         }
  196.         $code Response::HTTP_OK;
  197.         if(!$data1)
  198.         {
  199.             $data1 = [];
  200.         }
  201.         $serializacion SerializationContext::create()->setGroups(['detalle']);
  202.         $response =  new Response($serializer->serialize($data1"json",$serializacion),$code);
  203.         $response->headers->set('Content-Type''json');
  204.         $response->prepare($request);
  205.         return $response;
  206.     }
  207.     /**
  208.      * @Rest\Get("api/componenentesPersonales", name="getListadoComponenentesPersonales")
  209.      */
  210.     public function getListadoComponentesPersonales(Request $request)
  211.     {
  212.         $serializer SerializerBuilder::create()->setPropertyNamingStrategy(
  213.             new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
  214.                 new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
  215.             )
  216.         )->build();
  217.         $usr$this->get('security.token_storage')->getToken()->getUser();
  218.         $data $this->service-> findbyCategoriPersonal($usr);
  219.         $code Response::HTTP_OK;
  220.         if($data)
  221.         {
  222.             $code Response::HTTP_OK;
  223.         }else{
  224.             //$code = Response::HTTP_NO_CONTENT;
  225.             new Response($serializer->serialize([],'json') , Response::HTTP_OK);
  226.         }
  227.         $serializacion SerializationContext::create()->setGroups(['detalle']);
  228.         $response =  new Response($serializer->serialize($data"json",$serializacion),$code);
  229.         $response->headers->set('Content-Type''json'); //xml
  230.         $response->prepare($request);
  231.         return $response;
  232.     }
  233.     /**
  234.      * @Rest\Post("api/updateComponenentesPersonales", name="updateListadoComponenentesPersonales")
  235.      */
  236.     public function updateComponentePersonal(Request $request)
  237.     {
  238.         $correcto null;
  239.         $usr $this->get('security.token_storage')->getToken()->getUser();
  240.         $response =  new Response(Response::HTTP_BAD_REQUEST);
  241.         if (=== strpos($request->headers->get('Content-Type'), 'application/json')) {
  242.             $componentejson_decode($request->getContent(), true);
  243.             $correcto $this ->service ->nuevoModificaComponentePersonal($componente$usr);
  244.         }
  245.         if($correcto != null){
  246.             $response =  new Response('OK'Response::HTTP_OK);
  247.         }else{
  248.             $response =  new Response('KO'Response::HTTP_BAD_REQUEST);
  249.         }
  250.         $response->prepare($request);
  251.         return $response;
  252.     }
  253.     /**
  254.      * @Rest\Get("api/admin/convertidores", name="getListadoConverdiroes")
  255.      */
  256.     public function getListadoConvertidores(Request $request)
  257.     {
  258.         $serializer SerializerBuilder::create()->setPropertyNamingStrategy(
  259.             new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
  260.                 new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
  261.             )
  262.         )->build();
  263.         $data $this->service-> findbyCategori(1);
  264.         if($data)
  265.         {
  266.             $code Response::HTTP_OK;
  267.         }else{
  268.             $code Response::HTTP_NO_CONTENT;
  269.             $data = ['error'=>'no se encontraron mensajes'];
  270.         }
  271.         $serializacion SerializationContext::create()->setGroups(['detalle']);
  272.         $response =  new Response($serializer->serialize($data"json",$serializacion),$code);
  273.         $response->headers->set('Content-Type''json'); //xml
  274.         $response->prepare($request);
  275.         return $response;
  276.     }
  277.     /**
  278.      * @Rest\Get("api/admin/pastas", name="getListadoPastas")
  279.      */
  280.     public function getListadoPastasF(Request $request)
  281.     {
  282.         $serializer SerializerBuilder::create()->setPropertyNamingStrategy(
  283.             new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
  284.                 new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
  285.             )
  286.         )->build();
  287.         $data $this->service-> findbyCategori(2);
  288.         if($data) {
  289.             $code Response::HTTP_OK;
  290.         }
  291.         $serializacion SerializationContext::create()->setGroups(['detalle']);
  292.         $response =  new Response($serializer->serialize($data"json",$serializacion),$code);
  293.         $response->headers->set('Content-Type''json'); //xml
  294.         $response->prepare($request);
  295.         return $response;
  296.     }
  297.     /**
  298.      * @Rest\Get("api/admin/pastas", name="getListadoPastas")
  299.      */
  300.     public function getListadoPastas(Request $request)
  301.     {
  302.         $serializer SerializerBuilder::create()->setPropertyNamingStrategy(
  303.             new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
  304.                 new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
  305.             )
  306.         )->build();
  307.         //$serializer = $this->get('jms_serializer');
  308.         $data $this->service-> findbyCategori(2);
  309.         if($data)
  310.         {
  311.             $code Response::HTTP_OK;
  312.         }else{
  313.             $code Response::HTTP_NO_CONTENT;
  314.             $data = ['error'=>'no se encontraron pastas'];
  315.         }
  316.         $serializacion SerializationContext::create()->setGroups(['detalle']);
  317.         $response =  new Response($serializer->serialize($data"json",$serializacion),$code);
  318.         $response->headers->set('Content-Type''json'); //xml
  319.         $response->prepare($request);
  320.         return $response;
  321.     }
  322.     /**
  323.      * @Rest\Post("api/admin/pastasUpdates", name="CreateOrUpdatePasta")
  324.      */
  325.     public function updatePasta(Request $request)
  326.     {
  327.         $correcto null;
  328.         $status Response::HTTP_BAD_REQUEST;
  329.         $msg "";
  330.         if (=== strpos($request->headers->get('Content-Type'), 'application/json')) {
  331.             $pastajson_decode($request->getContent(), true);
  332.             if(empty($pasta['codigo']))
  333.             {
  334.                 $msg "codigo no valido";
  335.             }else {
  336.                 if ($pasta['id'] != null && $pasta['id'] != '') {
  337.                     //Tenemos Id por lo que es una actulizacion
  338.                     $correcto $this->service->modificaPasta($pasta);
  339.                 } else {
  340.                     $correcto $this->service->nuevaPasta($pasta);
  341.                 }
  342.             }
  343.         }
  344.         if($correcto != null){
  345.             $status =  Response::HTTP_OK;
  346.             $msg "pasta ";
  347.         }else{
  348.             $status =  Response::HTTP_BAD_REQUEST;
  349.         }
  350.         $response = new Response($msg,$status);
  351.         $response->prepare($request);
  352.         return $response;
  353.     }
  354.     /**
  355.      * @Rest\Post("api/admin/convertidorUpdate", name="CreateOrUpdateConvertidor")
  356.      */
  357.     public function updateConvertidor(Request $request)
  358.     {
  359.         $correcto null;
  360.         $response =  new Response(Response::HTTP_BAD_REQUEST);
  361.         if (=== strpos($request->headers->get('Content-Type'), 'application/json')) {
  362.             $convertidorjson_decode($request->getContent(), true);
  363.             if($convertidor['id']!= null && $convertidor['id']!= '' && $convertidor['id']!= '0'){
  364.                 //Tenemos Id por lo que es una actulizacion
  365.                 $correcto $this ->service ->modificaConvertidor($convertidor);
  366.             }else{
  367.                 $correcto $this ->service ->nuevoConvertidor($convertidor);
  368.             }
  369.         }
  370.         if($correcto != null){
  371.             $response =  new Response('OK'Response::HTTP_OK);
  372.         }else{
  373.             $response =  new Response('KO',Response::HTTP_BAD_REQUEST);
  374.         }
  375.         $response->prepare($request);
  376.         return $response;
  377.     }
  378. }