src/MDS/GreenPatioBundle/Controller/ReservationsServicesController.php line 210

Open in your IDE?
  1. <?php
  2. namespace App\MDS\GreenPatioBundle\Controller;
  3. use App\MDS\GreenPatioBundle\Entity\Reservation;
  4. use App\MDS\GreenPatioBundle\Entity\ReservationLoungeDetails;
  5. use App\MDS\GreenPatioBundle\Entity\ReservationLoungeSimple;
  6. use App\MDS\GreenPatioBundle\Entity\ReservationService;
  7. use Google\Service\MigrationCenterAPI\DateTime;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Doctrine\ORM\EntityManagerInterface;
  12. use Symfony\Contracts\Translation\TranslatorInterface;
  13. class ReservationsServicesController extends AbstractController
  14. {
  15.     /**
  16.      * @Route("reservations/white/services/add/{cat}/{resid}", name="reservations_white_addservices")
  17.      */
  18.     public function listAction($cat$residRequest $request) {
  19.         $em $this->getDoctrine()->getManager();
  20.         $service= new ReservationService();
  21.         $service->setReservationId($resid);
  22.         $service->setSupplierId(0);
  23.         $countcolor null;
  24.         /* MANEJO DE ADICIONALES EN EL DIA DEL EVENTO O DESPUES EL DIA DEL EVENTO */
  25.         $reserva $em->getRepository(Reservation::class)->findOneById($resid);
  26.         $dayEvent $reserva->getDateStart()->format('Y-m-d');
  27.         $today date('Y-m-d');
  28.         if( $today >= $dayEvent){
  29.             $additional "Additional";
  30.         }else{
  31.             $additional "Normal";
  32.         }
  33.         $service->setDateInAt($reserva->getDateStart());
  34.         $service->setDateOutAt($reserva->getDateEnd());
  35.         /* Obtengo usuario logueado */
  36.         $user_logueado $this->get('security.token_storage')->getToken()->getUser();
  37.         $user_id $user_logueado->getId();
  38.         $service->setCreatedId($user_id);
  39.         $service->setUpdatedId($user_id);
  40.         $service->setCreatedAt(new \DateTime("now"));
  41.         $service->setUpdatedAt(new \DateTime("now"));
  42.         /* metemos Services en Blanco *////////////////////////////////////////////////////////////////
  43.         $serviceswhite $cat;
  44.         if(!empty($serviceswhite)){
  45.             $service->setServiceId('0');
  46.             switch ($serviceswhite) {
  47.                 case 1:
  48.                     $service->setServiceCatId('1');
  49.                     $service->setServiceCatName('Accommodation');
  50.                     $countcolor 'teal';
  51.                     break;
  52.                 case 2:
  53.                     $service->setServiceCatId('2');
  54.                     $service->setServiceCatName('Activities');
  55.                     $countcolor 'blue';
  56.                     break;
  57.                 case 3:
  58.                     $service->setServiceCatId('3');
  59.                     $service->setServiceCatName('Av');
  60.                     $countcolor 'slate';
  61.                     break;
  62.                 case 4:
  63.                     $service->setServiceCatId('4');
  64.                     $service->setServiceCatName('Creative');
  65.                     $countcolor 'orange';
  66.                     break;
  67.                 case 5:
  68.                     $service->setServiceCatId('5');
  69.                     $service->setServiceCatName('Cruise');
  70.                     $countcolor 'brown';
  71.                     break;
  72.                 case 6:
  73.                     $service->setServiceCatId('6');
  74.                     $service->setServiceCatName('Entertainment');
  75.                     $countcolor 'green';
  76.                     break;
  77.                 case 7:
  78.                     $service->setServiceCatId('7');
  79.                     $service->setServiceCatName('Gifts');
  80.                     $countcolor 'pink';
  81.                     break;
  82.                 case 8:
  83.                     $service->setServiceCatId('8');
  84.                     $service->setServiceCatName('Guide');
  85.                     $countcolor 'orange';
  86.                     break;
  87.                 case 9:
  88.                     $service->setServiceCatId('9');
  89.                     $service->setServiceCatName('Itineraries');
  90.                     $countcolor 'indigo';
  91.                     break;
  92.                 case 10:
  93.                     $service->setServiceCatId('10');
  94.                     $service->setServiceCatName('Lounge');
  95.                     $countcolor 'warning';
  96.                     break;
  97.                 case 11:
  98.                     $service->setServiceCatId('11');
  99.                     $service->setServiceCatName('Catering');
  100.                     $countcolor 'purple-300';
  101.                     break;
  102.                 case 12:
  103.                     $service->setServiceCatId('12');
  104.                     $service->setServiceCatName('Others');
  105. //                    $countcolor = 'danger';
  106.                     $countcolor 'danger-800';
  107.                     break;
  108.                 case 13:
  109.                     $service->setServiceCatId('13');
  110.                     $service->setServiceCatName('Transport');
  111.                     $countcolor 'grey';
  112.                     break;
  113.                 case 14:
  114.                     $service->setServiceCatId('14');
  115.                     $service->setServiceCatName('Technology');
  116.                     $countcolor 'slate-800';
  117.                     break;
  118.                 case 15:
  119.                     $service->setServiceCatId('15');
  120.                     $service->setServiceCatName('Asistencia');
  121. //                    $countcolor = 'indigo-800';
  122.                     $countcolor 'danger-300';
  123.                     break;
  124.                 case 16:
  125.                     $service->setServiceCatId('16');
  126.                     $service->setServiceCatName('DDR');
  127.                     $countcolor 'green-300';
  128.                     break;
  129.                 case 17:
  130.                     $service->setServiceCatId('17');
  131.                     $service->setServiceCatName('Seguridad');
  132.                     $countcolor 'green-600';
  133.                     break;
  134.                 case 18:
  135.                     $service->setServiceCatId('18');
  136.                     $service->setServiceCatName('WiFi');
  137.                     $countcolor 'green-800';
  138.                     break;
  139.                 case 19:
  140.                     $service->setServiceCatId('19');
  141.                     $service->setServiceCatName('Mobiliario');
  142.                     $countcolor 'orange-300';
  143.                     break;
  144.                 case 20:
  145.                     $service->setServiceCatId('20');
  146.                     $service->setServiceCatName('Parking');
  147.                     $countcolor 'info-300';
  148.                     break;
  149.                 case 21:
  150.                     $service->setServiceCatId('21');
  151.                     $service->setServiceCatName('Limpieza');
  152.                     $countcolor 'green-300';
  153.                     break;
  154.                 default:
  155.                     $service->setServiceCatId('12');
  156.                     $service->setServiceCatName('Others');
  157.                     $countcolor 'danger-800';
  158.                     break;
  159.             }
  160.             if (is_null($countcolor)) {$countcolor 'blue-100';}
  161.             $service->setContcolor($countcolor);
  162.             $service->setName(' ');
  163.             $service->setPrice('0.00');
  164.             $service->setCurrency('Euro');
  165.             $service->setUnits('1');
  166.             $service->setCommission('0');
  167.             $service->setIva('0');
  168.             $service->setPax('0');
  169.             $service->setOver('0');
  170.             $service->setViewInfo(0);
  171.             $em->persist($service);
  172.             $em->flush();
  173.             $em->clear();
  174.         }
  175.         /* salida de data */
  176.         return $this->redirectToRoute('reservations_greenpatio_edit', array(
  177.             'id' => $resid,
  178.             'token' => null,
  179.             '_fragment' => 'btn_srv'
  180.         ));
  181.     }
  182.     /**
  183.      * @Route("reservations/white/services/addclean/{resid}/{loungesimpleid}", name="reservations_white_addservices_cleaning")
  184.      * Carga automatica de los servicios de limpieza
  185.      * Agregar un servicio de limpieza en la reserva resid con la fecha del loungesimpleid, no se mostrara en factura
  186.      */
  187.     public function addCleningAction($resid$loungesimpleidEntityManagerInterface $emRequest $request) {
  188.         // Rafa indica que se debe quitar esta asignación, mas adelante eliminaremos el codigo, despues de que prueben el sistema sin esta funcionalidad
  189.         if (false) {
  190.             $resLoungeSimple $em->getRepository(ReservationLoungeSimple::class)->findOneById($loungesimpleid);
  191.             $service = new ReservationService();
  192.             $service->setReservationId($resid);
  193.             $service->setSupplierId(0);
  194.             $service->setDateInAt($resLoungeSimple->getDateStart());
  195.             $service->setDateOutAt($resLoungeSimple->getDateEnd());
  196.             /* Obtengo usuario logueado */
  197.             $user_logueado $this->get('security.token_storage')->getToken()->getUser();
  198.             $user_id $user_logueado->getId();
  199.             $service->setCreatedId($user_id);
  200.             $service->setUpdatedId($user_id);
  201.             $service->setCreatedAt(new \DateTime("now"));
  202.             $service->setUpdatedAt(new \DateTime("now"));
  203.             $service->setServiceCatId('21');
  204.             $service->setServiceCatName('Limpieza');
  205.             $service->setContcolor('green-300');
  206.             $service->setName('HORAS ( ' $resLoungeSimple->getLoungeName() . ' )');
  207.             $service->setPrice('14');
  208.             $service->setCurrency('Euro');
  209.             $service->setUnits('8');
  210.             $service->setCommission('0');
  211.             $service->setIva('0');
  212.             $service->setPax('0');
  213.             $service->setOver('0');
  214.             $service->setIva('21');
  215.             $service->setOpIva('1');
  216.             $service->setOpCommission('1');
  217.             $service->setCommission('57.14');
  218.             $service->setViewInfo(0);
  219.             $service->setToinvoice(0);
  220.             $service->setServiceId(0);
  221.             $em->persist($service);
  222.             $em->flush();
  223.         }
  224.         return $this->redirectToRoute('reservations_greenpatio_edit', array(
  225.             'id' => $resid,
  226.             'token' => null,
  227.             '_fragment' => 'btn_quotes'
  228.         ));
  229.     }
  230.     /**
  231.      * @Route("/deletesimplecleaning/{idRes}/{idLng}/{dateInAt}/{dateOutAt}", name="reservations_greenpatio_delete_simple_lounge_cleaning")
  232.      * Al eliminar un Reservation Simple Lounge de la cotizacion, se deben eliminar sus horas de limpieza
  233.      */
  234.     public function deleteLoungeCleaningAction($idRes$idLng$dateInAt$dateOutAtEntityManagerInterface $emRequest $request)
  235.     {
  236.         $loungeDetails $em->getRepository(ReservationLoungeDetails::class)->findOneById($idLng);
  237.         $stringName 'HORAS ( '.$loungeDetails->getName().' )';
  238.         $serviceCatIdClean 21;
  239.         $dateInAt = new \DateTime($dateInAt);
  240.         $dateOutAt = new \DateTime($dateOutAt);
  241.         $qb $em->getRepository(ReservationService::class)->createQueryBuilder('rs');
  242.         $serviceClean $qb->where('rs.reservationId = :id')
  243.             ->andWhere('rs.name = :name')
  244.             ->andWhere('rs.dateInAt = :dateInAt')
  245.             ->andWhere('rs.dateOutAt = :dateOutAt')
  246.             ->andWhere('rs.serviceCatId = :serviceCatId')
  247.             ->setParameter('id'$idRes)
  248.             ->setParameter('name'$stringName)
  249.             ->setParameter('dateInAt'$dateInAt)
  250.             ->setParameter('dateOutAt'$dateOutAt)
  251.             ->setParameter('serviceCatId'$serviceCatIdClean)
  252.             ->getQuery()
  253.             ->getResult();
  254.         if (empty($serviceClean)) {
  255.             return $this->redirectToRoute('reservations_greenpatio_edit_simple',
  256.                 array(
  257.                     'id' => $idRes,
  258.                     'token' => null,
  259.                     '_fragment' => 'btn_quotes'
  260.                 ));
  261.         } else {
  262.             // Se elimina el servicio de horas de limpieza de la sala
  263.             $em->remove($serviceClean[0]);
  264.             $em->flush();
  265.             return $this->redirectToRoute('reservations_greenpatio_edit_simple',
  266.                 array(
  267.                     'id' => $idRes,
  268.                     'token' => null,
  269.                     '_fragment' => 'btn_quotes'
  270.                 ));
  271.         }
  272.     }
  273. }