src/Controller/Dysfonctionnement/EnregistrerConstatController.php line 86

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Dysfonctionnement;
  3. use App\Entity\bilan\Entity;
  4. use App\Entity\Domain;
  5. use App\Entity\Dysfonctionnement\Constat;
  6. use App\Entity\Processus;
  7. use App\Entity\Source;
  8. use App\Entity\User;
  9. use App\Notification\SendNotification;
  10. use App\Repository\Dysfonctionnement\ConstatRepository;
  11. use App\Utils\Utility;
  12. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  13. use Symfony\Component\HttpFoundation\Request;
  14. use Symfony\Component\HttpFoundation\Response;
  15. use Symfony\Component\Routing\Annotation\Route;
  16. /**
  17.  * @Route("/dysfonctionnement")
  18.  */
  19. class EnregistrerConstatController extends AbstractController
  20. {
  21.     /**
  22.      * @var SendNotification
  23.      */
  24.     private $notifyConstat;
  25.     public function __construct(SendNotification $notifyConstat)
  26.     {
  27.         $this->notifyConstat$notifyConstat;
  28.     }
  29.     /**
  30.      * @Route("/enregistrer/constat_dysfonctionnement", name="enregistrer_dysfonctionnement_constat")
  31.      */
  32.     public function enregistrerDysfonctionnementConstat(): Response
  33.     {
  34.         $constat = new Constat();
  35.         $utility = new Utility;
  36.         $lastId=0;
  37.         $lastConstat $this->getDoctrine()->getRepository(Constat::class)->findOneBy([], ['id' => 'desc']);
  38.         if(is_object($lastConstat))
  39.         {
  40.             $lastId $lastConstat->getId();
  41.         }
  42.         $reference $utility->generateRef($lastId,Constat::PREFIX_CONSTAT);
  43.          $constat->setReference($reference);
  44.         /* end genretate ref*/
  45.         $entites_list $this->getDoctrine()->getRepository(Entity::class)->findAll();
  46.         $users_list $this->getDoctrine()->getRepository(User::class)->findAll();
  47.         $sources_list $this->getDoctrine()->getRepository(Source::class)->findAll();
  48.         $domaines_list $this->getDoctrine()->getRepository(Domain::class)->findAll();
  49.         $users_list_array = [];
  50.         foreach($users_list as $user) {
  51.             $fonction =  str_replace('"'""$user->getFonction());
  52.             $users_list_array[$user->getId()] = $fonction;
  53.         }
  54.         $menu="ameliorer";
  55.         $left_menu="dysfonctionnement_constat";
  56.         return $this->render('dysfonctionnementTemplate/enregistrer_constat/dysfonctionnement_constat.html.twig', [
  57.             'menu'=>$menu,
  58.             'left_menu'=>$left_menu,
  59.             'entites_list'=>$entites_list,
  60.             'users_list'=>$users_list,
  61.             'sources_list'=>$sources_list,
  62.             'domaines_list'=>$domaines_list,
  63.             'users_list_array'=>$users_list_array,
  64.             'reference' => $reference
  65.         ]);
  66.     }
  67.     /**
  68.      * @Route("/enregistrer/constat_amelioration", name="enregistrer_amelioration_constat")
  69.      */
  70.     public function enregistrerAmeliorationConstat(): Response
  71.     {
  72.         $constat = new Constat();
  73.         $utility = new Utility;
  74.         $lastId=0;
  75.         $lastConstat $this->getDoctrine()->getRepository(Constat::class)->findOneBy([], ['id' => 'desc']);
  76.         if(is_object($lastConstat))
  77.         {
  78.             $lastId $lastConstat->getId();
  79.         }
  80.         $reference $utility->generateRef($lastId,Constat::PREFIX_CONSTAT);
  81.         $constat->setReference($reference);
  82.         /* end genretate ref*/
  83.         $entites_list $this->getDoctrine()->getRepository(Entity::class)->findAll();
  84.         $users_list $this->getDoctrine()->getRepository(User::class)->findAll();
  85.         $sources_list $this->getDoctrine()->getRepository(Source::class)->findAll();
  86.         $domaines_list $this->getDoctrine()->getRepository(Domain::class)->findAll();
  87.         $users_list_array = [];
  88.         foreach($users_list as $user) {
  89.             $fonction =  str_replace('"'""$user->getFonction());
  90.             $users_list_array[$user->getId()] = $fonction;
  91.         }
  92.         $menu="ameliorer";
  93.         $left_menu="amelioration_constat";
  94.         return $this->render('dysfonctionnementTemplate/enregistrer_constat/amelioration_constat.html.twig', [
  95.             'menu'=>$menu,
  96.             'left_menu'=>$left_menu,
  97.             'entites_list'=>$entites_list,
  98.             'users_list'=>$users_list,
  99.             'sources_list'=>$sources_list,
  100.             'domaines_list'=>$domaines_list,
  101.             'users_list_array'=>$users_list_array,
  102.             'reference' => $reference
  103.         ]);
  104.     }
  105.     /**
  106.      * @Route("/enregistrer/constat_reclamation", name="enregistrer_reclamation_constat")
  107.      */
  108.     public function enregistrerReclamationConstat(): Response
  109.     {
  110.         $constat = new Constat();
  111.         $utility = new Utility;
  112.         $lastId=0;
  113.         $lastConstat $this->getDoctrine()->getRepository(Constat::class)->findOneBy([], ['id' => 'desc']);
  114.         if(is_object($lastConstat))
  115.         {
  116.             $lastId $lastConstat->getId();
  117.         }
  118.         $reference $utility->generateRef($lastId,Constat::PREFIX_CONSTAT);
  119.         $constat->setReference($reference);
  120.         $entites_list $this->getDoctrine()->getRepository(Entity::class)->findAll();
  121.         $users_list $this->getDoctrine()->getRepository(User::class)->findAll();
  122.         $domaines_list $this->getDoctrine()->getRepository(Domain::class)->findAll();
  123.         $users_list_array = [];
  124.         foreach($users_list as $user) {
  125.             $fonction =  str_replace('"'""$user->getFonction());
  126.             $users_list_array[$user->getId()] = $fonction;
  127.         }
  128.         $menu="ameliorer";
  129.         $left_menu="reclamation_constat";
  130.         return $this->render('dysfonctionnementTemplate/enregistrer_constat/reclamation_constat.html.twig', [
  131.             'menu'=>$menu,
  132.             'left_menu'=>$left_menu,
  133.             'entites_list'=>$entites_list,
  134.             'users_list'=>$users_list,
  135.             'domaines_list'=>$domaines_list,
  136.             'users_list_array'=>$users_list_array,
  137.             'reference' => $reference
  138.         ]);
  139.     }
  140.     /**
  141.      * @Route("/enregistrer/constat_accident", name="enregistrer_accident_constat")
  142.      */
  143.     public function enregistrer_accident(): Response
  144.     {
  145.         $constat = new Constat();
  146.         $utility = new Utility;
  147.         $lastId=0;
  148.         $lastConstat $this->getDoctrine()->getRepository(Constat::class)->findOneBy([], ['id' => 'desc']);
  149.         if(is_object($lastConstat))
  150.         {
  151.             $lastId $lastConstat->getId();
  152.         }
  153.         $reference $utility->generateRef($lastId,Constat::PREFIX_ACC);
  154.         $constat->setReference($reference);
  155.         $entites_list $this->getDoctrine()->getRepository(Entity::class)->findAll();
  156.         $processus_list $this->getDoctrine()->getRepository(Processus::class)->findAll();
  157.         $users_list $this->getDoctrine()->getRepository(User::class)->findAll();
  158.         $domaines_list $this->getDoctrine()->getRepository(Domain::class)->findAll();
  159.         $users_list_array = [];
  160.         foreach($users_list as $user) {
  161.             $fonction =  str_replace('"'""$user->getFonction());
  162.             $users_list_array[$user->getId()] = $fonction;
  163.         }
  164.         $menu="ameliorer";
  165.         $left_menu="accident_constat";
  166.         return $this->render('dysfonctionnementTemplate/enregistrer_constat/accident.html.twig',[
  167.             'menu'=>$menu,
  168.             'left_menu'=>$left_menu,
  169.             'entites_list'=>$entites_list,
  170.             'processus_list'=>$processus_list,
  171.             'users_list'=>$users_list,
  172.             'domaines_list'=>$domaines_list,
  173.             'users_list_array'=>$users_list_array,
  174.             'reference' => $reference
  175.         ]);
  176.     }
  177.     /**
  178.      * @Route("/enregistrer/new", name="new_constat", methods={"GET","POST"})
  179.      */
  180.     public function createConstat(Request $requestConstatRepository $constatRepository): Response
  181.     {
  182.         $em $this->getDoctrine()->getManager();
  183.         $lastId=0;
  184.         $lastConstat $this->getDoctrine()->getRepository(Constat::class)->findOneBy([], ['id' => 'desc']);
  185.         if(is_object($lastConstat))
  186.         {
  187.             $lastId $lastConstat->getId();
  188.         }
  189.         $utility = new Utility;
  190.         $reference $utility->generateRef($lastId,Constat::PREFIX_CONSTAT);
  191.         $entite_id $request->request->get('entite');
  192.         $entite $em->getRepository(Entity::class)->find($entite_id);
  193.         $domain_id $request->request->get('domain') ?? 8;
  194.         $domain $em->getRepository(Domain::class)->find($domain_id);
  195.         $typeConstat $request->request->get('type');
  196.         if ($typeConstat == "dysfonctionnement" || $typeConstat=="amelioration") {
  197.             $declarant_id $request->request->get('declarant');
  198.             $declarant $em->getRepository(User::class)->find($declarant_id);
  199.             $source_id $request->request->get('source')?? 11;
  200.             $source $em->getRepository(Source::class)->find($source_id);
  201.         }
  202.         $decisionnaire_id $request->request->get('decisionnaire') ?? 2;
  203.         $decisionnaire $em->getRepository(User::class)->find($decisionnaire_id);
  204.         //$date_constat = $request->request->get('dateConstat');
  205.         $description $request->request->get('description');
  206.         $action $request->request->get('actionImmediates');
  207.         $commentaire $request->request->get('commentaireSuggestion');
  208.         $name_organisme $request->request->get('name_organisme');
  209.         $adress_organisme $request->request->get('adress_organisme');
  210.         $complements_organisme $request->request->get('complements_organisme');
  211.         $pays_organisme $request->request->get('pays_organisme');
  212.         $ville_organisme $request->request->get('ville_organisme');
  213.         $codPostal_organisme $request->request->get('codPostal_organisme');
  214.         $contact_ext $request->request->get('contact_ext');
  215.         $fonction_contact $request->request->get('fonction_contact');
  216.         $email_contact $request->request->get('email_contact');
  217.         $numberPhoneContact $request->request->get('numberPhoneContact');
  218.         $typeConstat $request->request->get('type');
  219.         $typeSST $request->request->get('type_sst');
  220.         $constat = new Constat();
  221.         //dd($date_constat);
  222.         //$constat->setDateConstat($date_constat->format("m/d/Y"));
  223.         $constat->setDateConstat(new \DateTime('now'));
  224.         $constat->setReference($reference);
  225.         $constat->setEntite($entite);
  226.         $constat->setDomain($domain);
  227.         if ($typeConstat == "dysfonctionnement" || $typeConstat=="amelioration") {
  228.             $constat->setSource($source);
  229.             $constat->setDeclarant($declarant);
  230.         }
  231.         if ($typeConstat == "reclamation") {
  232.             $constat->setNameOrganisme($name_organisme);
  233.             $constat->setAdresseOrganisme($adress_organisme);
  234.             $constat->setComplementsOrganisme($complements_organisme);
  235.             $constat->setPaysOrganisme($pays_organisme);
  236.             $constat->setVilleOrganisme($ville_organisme);
  237.             $constat->setCodePostalOrganisme($codPostal_organisme);
  238.             $constat->setContactExt($contact_ext);
  239.             $constat->setFonctionContact($fonction_contact);
  240.             $constat->setEmailContact($email_contact);
  241.             $constat->setNumberPhoneContact($numberPhoneContact);
  242.         }
  243.         $constat->setDecisionnaire($decisionnaire);
  244.         $constat->setDescription($description);
  245.         $constat->setActionImmediates($action);
  246.         $constat->setCommentaireSuggestion($commentaire);
  247.         $constat->setType($typeConstat);
  248.         $constat->setTypeSst($typeSST);
  249.         $em->persist($constat);
  250.         /*$this->notifyConstat->notifyCreateConstat(
  251.             $constat->getDeclarant()->getEmail(),
  252.             $constat->getDecisionnaire()->getEmail(),
  253.             $constat->getReference(),
  254.             $constat->getDecisionnaire()->getFonction()
  255.         );*/
  256.         $em->flush();
  257.         return $this->redirectToRoute("analyse",["id"=>$constat->getId()]);
  258.     }
  259.     /**
  260.      * @Route("/{id}", name="update_dysfonctionnement_constat")
  261.      */
  262.     public function updateDysfonctionnementConstat(Constat $constat): Response
  263.     {
  264.         $entites_list $this->getDoctrine()->getRepository(Entity::class)->findAll();
  265.         $users_list $this->getDoctrine()->getRepository(User::class)->findAll();
  266.         $sources_list $this->getDoctrine()->getRepository(Source::class)->findAll();
  267.         $domaines_list $this->getDoctrine()->getRepository(Domain::class)->findAll();
  268.         $users_list_array = [];
  269.         foreach($users_list as $user) {
  270.             $fonction =  str_replace('"'""$user->getFonction());
  271.             $users_list_array[$user->getId()] = $fonction;
  272.         }
  273.         $menu="ameliorer";
  274.         $left_menu="enregistrer_constat";
  275.         return $this->render('dysfonctionnementTemplate/update_constat/dysfonctionnement_constat_edit.html.twig', [
  276.             'menu'=>$menu,
  277.             'left_menu'=>$left_menu,
  278.             'entites_list'=>$entites_list,
  279.             'users_list'=>$users_list,
  280.             'sources_list'=>$sources_list,
  281.             'domaines_list'=>$domaines_list,
  282.             'users_list_array'=>$users_list_array,
  283.             'constat' => $constat
  284.         ]);
  285.     }
  286.     /**
  287.      * @Route("/update/constat/{id}", name="update_constat", methods={"GET","POST"})
  288.      */
  289.     public function updateConstat(Request $requestConstat $constat): Response
  290.     {
  291.         $em $this->getDoctrine()->getManager();
  292.         if (!$constat) {
  293.             throw $this->createNotFoundException(
  294.                 'There are no constat with the following id: ' $constat->getId()
  295.             );
  296.         }
  297.         $entite_id $request->request->get('entite');
  298.         $entite $em->getRepository(Entity::class)->find($entite_id);
  299.         $domain_id $request->request->get('domain');
  300.         $domain $em->getRepository(Domain::class)->find($domain_id);
  301.         $typeConstat $request->request->get('type');
  302.         if ($typeConstat == "dysfonctionnement" || $typeConstat=="amelioration") {
  303.             $declarant_id $request->request->get('declarant');
  304.             $declarant $em->getRepository(User::class)->find($declarant_id);
  305.             $source_id $request->request->get('source');
  306.             $source $em->getRepository(Source::class)->find($source_id);
  307.         }
  308.         $decisionnaire_id $request->request->get('decisionnaire');
  309.         $decisionnaire $em->getRepository(User::class)->find($decisionnaire_id);
  310.         //$date_constat = $request->request->get('dateConstat');
  311.         $description $request->request->get('description');
  312.         $action $request->request->get('actionImmediates');
  313.         $commentaire $request->request->get('commentaireSuggestion');
  314.         $name_organisme $request->request->get('name_organisme');
  315.         $adress_organisme $request->request->get('adress_organisme');
  316.         $complements_organisme $request->request->get('complements_organisme');
  317.         $pays_organisme $request->request->get('pays_organisme');
  318.         $ville_organisme $request->request->get('ville_organisme');
  319.         $codPostal_organisme $request->request->get('codPostal_organisme');
  320.         $contact_ext $request->request->get('contact_ext');
  321.         $fonction_contact $request->request->get('fonction_contact');
  322.         $email_contact $request->request->get('email_contact');
  323.         $numberPhoneContact $request->request->get('numberPhoneContact');
  324.         $typeConstat $request->request->get('type');
  325.         $typeSST $request->request->get('type_sst');
  326.         //$constat->setDateConstat($date_constat->format("m/d/Y"));
  327.         $constat->setDateConstat(new \DateTime('now'));
  328.         $constat->setEntite($entite);
  329.         $constat->setDomain($domain);
  330.         if ($typeConstat == "dysfonctionnement" || $typeConstat=="amelioration") {
  331.             $constat->setSource($source);
  332.             $constat->setDeclarant($declarant);
  333.         }
  334.         if ($typeConstat == "reclamation") {
  335.             $constat->setNameOrganisme($name_organisme);
  336.             $constat->setAdresseOrganisme($adress_organisme);
  337.             $constat->setComplementsOrganisme($complements_organisme);
  338.             $constat->setPaysOrganisme($pays_organisme);
  339.             $constat->setVilleOrganisme($ville_organisme);
  340.             $constat->setCodePostalOrganisme($codPostal_organisme);
  341.             $constat->setContactExt($contact_ext);
  342.             $constat->setFonctionContact($fonction_contact);
  343.             $constat->setEmailContact($email_contact);
  344.             $constat->setNumberPhoneContact($numberPhoneContact);
  345.         }
  346.         $constat->setDecisionnaire($decisionnaire);
  347.         $constat->setDescription($description);
  348.         $constat->setActionImmediates($action);
  349.         $constat->setCommentaireSuggestion($commentaire);
  350.         $constat->setType($typeConstat);
  351.         $constat->setTypeSst($typeSST);
  352.         $em->flush();
  353.         return $this->redirectToRoute("analyse",["id"=>$constat->getId()]);
  354.     }
  355.     
  356. }