src/Controller/EspectroController.php line 36

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Espectro;
  4. use App\Entity\EspectroPersonal;
  5. use FOS\RestBundle\Controller\AbstractFOSRestController;
  6. use FOS\RestBundle\Controller\Annotations as Rest;
  7. use JMS\Serializer\SerializerInterface;
  8. use Swagger\Annotations as SWG;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Nelmio\ApiDocBundle\Annotation\Model;
  12. use App\Service\EspectroService;
  13. use JMS\Serializer\SerializationContext;
  14. /**
  15.  * Conjunto de funciones para el manejo del espectro. 
  16.  *
  17.  * @package App\Controller
  18.  * @Rest\Route("/api")
  19.  */
  20. class EspectroController extends AbstractFOSRestController
  21. {
  22.     use \App\Espectrometria\FuncionesEspectrometria;
  23.     private $serializer;
  24.     private $espectroService;
  25.     public function __construct(SerializerInterface $serialicerEspectroService $espectroService)
  26.     {
  27.         $this->espectroService $espectroService;
  28.         $this->serializer $serialicer;
  29.     }
  30.     /**
  31.      * @Rest\Post("/salvarMedicionOficial")
  32.      */
  33.     public function gardarMedicionOficial(Request $request)
  34.     {
  35.         $espectro json_decode($request->getContent());
  36.         $this->espectroService->guardarEspectro($espectro);
  37.         $response = new Response($this->serializer->serialize("Datos guardados",'json'),Response::HTTP_OK);
  38.         return $response;
  39.     }
  40.    /**
  41.      *  @Rest\Post("/salvarMedicion")
  42.      */
  43.     public function guardaValorEspectral(Request $request)
  44.     {
  45.         $usr $this->get('security.token_storage')->getToken()->getUser();
  46.         $espectros json_decode($request->getContent());
  47.         $espectro $this->espectroService->guardarEspectroPersonal($espectros,$usr);
  48.         $response = new Response($this->serializer->serialize($espectro->getId(),'json'),Response::HTTP_OK);
  49.         return $response;
  50.     }
  51.     /**
  52.      * @Rest\Get("/obtenerMediciones")
  53.      */
  54.     public function obtenerMediciones()
  55.     {
  56.         $usr $this->get('security.token_storage')->getToken()->getUser();
  57.         $data $this->getDoctrine()->getRepository(EspectroPersonal::class)->findBy(['cuenta'=>$usr->getId(),'activo'=>true]);
  58.         $response = new Response($this->serializer->serialize($data,'json',SerializationContext::create()->setGroups('visualizar')),Response::HTTP_OK);
  59.         return $response;
  60.     }
  61.     /**
  62.      * @Rest\Get("/obtenerMedicion")
  63.      */
  64.     public function obtenerMedicion(Request $request)
  65.     {
  66.         $usr $this->get('security.token_storage')->getToken()->getUser();
  67.         $formulaId $request ->query ->get('idFormula');
  68.         $data $this->getDoctrine()->getRepository(Espectro::class)->findBy(['formula'=>$formulaId]);
  69.         $response = new Response($this->serializer->serialize($data,'json'),Response::HTTP_OK);
  70.         return $response;
  71.     }
  72.     /**
  73.      * @Rest\Post("/buscarFormulas")
  74.      */
  75.     public function buscarFormulas(Request $request)
  76.     {
  77.         $cuenta $this->get('security.token_storage')->getToken()->getUser();
  78.         $params json_decode($request->getContent());
  79.         $data $this->espectroService->buscarFormulas($params$cuenta);
  80.         return new Response($this->serializer->serialize($data,'json'),Response::HTTP_OK);
  81.     }
  82.     /**
  83.      * @Rest\Post("/modificaMedicion")
  84.      */
  85.     public function modificaMedicion(Request $request)
  86.     {
  87.         $usr $this->get('security.token_storage')->getToken()->getUser();
  88.         $espectro json_decode($request->getContent());
  89.         if($this->espectroService->modificarEspectroPersonal($espectro,$usr)) {
  90.             return new Response($this->serializer->serialize("Datos actualizados"'json'), Response::HTTP_OK);
  91.         }
  92.         else {
  93.             return new Response($this->serializer->serialize("error al guardar"'json'), Response::HTTP_NOT_MODIFIED);
  94.         }
  95.     }
  96.     /**
  97.      * @Rest\Post("/ajustarFormula", name="ajustarFormula")
  98.      * @param id
  99.      */
  100.     public function realizarAjuste(Request $request)
  101.     {
  102.         $idFormula$request->get('idFormula');
  103.         $idEspectro $request->get('idEspectro');
  104.         $ajuste $this->espectroService->ajustar($idFormula,$idEspectro);
  105.         return new Response($this->serializer->serialize($ajuste,'json'),Response::HTTP_OK);
  106.         //return $this->render('main/ajuste.twig',['formula'=> $formula, 'ajuste'=>$ajuste->init()]);
  107.     }
  108.     /**
  109.      *
  110.      *  @Rest\Post("/desactivaMedidas")
  111.      */
  112.     public function desactivaAllEspectro(Request $request)
  113.     {
  114.         $cuenta $this->get('security.token_storage')->getToken()->getUser();
  115. //        $cuenta = $this->getDoctrine()->getRepository(EspectroPersonal::class)->findBy(['cuenta' => $usr->getId()]);
  116.         $measures json_decode($request->getContent());
  117.         foreach ($measures as $measure) {
  118.             $element $this->getDoctrine()->getRepository(EspectroPersonal::class)->findOneBy(['cuenta'=> $cuenta->getId(),'id'=>$measure->id]);
  119.             if(!$element)
  120.                 continue;
  121.             $element->setActivo(false);
  122.             $this->getDoctrine()->getManager()->persist($element);
  123.             $this->getDoctrine()->getManager()->flush();
  124.         }
  125.         $response = new Response($this->serializer->serialize("Datos guardados"'json'), Response::HTTP_OK);
  126.         return $response;
  127.     }
  128.   }