src/Controller/BaseController.php line 29

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Repository\ActivityRepository;
  4. use App\Repository\CommerceActivityRepository;
  5. use App\Repository\ContentRepository;
  6. use App\Repository\EtoileRepository;
  7. use App\Repository\UnderActivityRepository;
  8. use App\Repository\UnderUnderActivityRepository;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. use Symfony\Component\HttpFoundation\Session\Session;
  14. use Symfony\Contracts\HttpClient\HttpClientInterface;
  15. use App\Entity\InfosClient;
  16. use App\Service\coefManager;
  17. use Symfony\Component\Serializer\Serializer;
  18. class BaseController extends AbstractController
  19. {
  20.     /**
  21.      * @Route("/", name="home")
  22.      */
  23.     public function index(ContentRepository $content): Response
  24.     {
  25.         return $this->redirectToRoute('app_login');
  26.         return $this->render('base/index.html.twig', [
  27.             'controller_name' => 'BaseController',
  28.             'text_home' => $content->findOneBy(['name' => 'text_home']),
  29.         ]);
  30.     }
  31.     /**
  32.      * @Route("/evaluation/{eval}/je-suis", name="je-suis")
  33.      */
  34.     public function first($evalActivityRepository $activityRepository): Response
  35.     {
  36.         if ($eval == 'entreprise') {
  37.             $activity $activityRepository->findby(['type'=>'entreprise']);
  38.         }else {
  39.             $activity $activityRepository->findby(['type'=>'commerce']);
  40.         }
  41.         return $this->render('base/form.html.twig', [
  42.             'controller_name' => 'BaseController',
  43.             'eval' => $eval,
  44.             'activity' => $activity
  45.         ]);
  46.     }
  47.     /**
  48.      * @Route("/evaluation/{eval}/under-acitivty", name="under-acitivty")
  49.      */
  50.     public function ajaxGetUnderActivityOrCommerce($eval,ActivityRepository $activityRepository,EtoileRepository $etoileCommerceActivityRepository $commerceActUnderActivityRepository $underActRequest $request)
  51.     {
  52.         $session = new Session();
  53.         $session->set('mode'false);
  54.         if ($eval == 'entreprise') {
  55.             $underActivity $underAct->findBy(['activity' => $request->get('id')]);
  56.             return $this->json($underActivity200, [], ['groups' => 'get:underAct']);
  57.         }else {
  58.             $commerce $activityRepository->find($request->get('id'));
  59.             if ( ($commerce->getName()) == 'hotellerie') {
  60.                 $session->set('mode''etoile');
  61.                 return $this->json($etoile->findAll(), 200, [], ['groups' => 'get:etoile']);
  62.             }else {
  63.                 $session->set('mode''commerce');
  64.                 $otherCommerce $commerceAct->findBy(['activity' => $request->get('id')]);
  65.                 return $this->json($otherCommerce200, [], ['groups' => 'get:comAct']);
  66.             }
  67.         }
  68.         
  69.     }
  70.      /**
  71.      * @Route("/evaluation/{eval}/under-under-acitivty", name="under-under-acitivty")
  72.      */
  73.     public function ajaxGetUnderUnderActivityOrTypeCommerceSession $session ,$eval,EtoileRepository $etoileCommerceActivityRepository $commerceAct,UnderUnderActivityRepository $underActRequest $request)
  74.     {
  75.         //start session
  76.         if ($eval == 'entreprise') {
  77.             $underUnderActivity $underAct->findBy(['underActitivity' => $request->get('id'),'isActive' => 1]);
  78.             return $this->json($underUnderActivity200, [], ['groups' => 'get:underUnderAct']);
  79.         }else {
  80.            if ($session->get('mode') == 'etoile') {
  81.             return $this->json('etoile'200, []);
  82.            }else{
  83.             return $this->json('commerce'200, []);
  84.            }
  85.         }
  86.         
  87.     }
  88.     /**
  89.      * @Route ("/save-step/{eval}", name="save-step")
  90.      */
  91.     public function saveStep(Session $session,$eval,Request $requestUnderUnderActivityRepository $underUnderRepo,EtoileRepository $etoileRepoCommerceActivityRepository $comRepo)
  92.     {
  93.         $recap $request->get('recap');
  94.         if ($eval == 'entreprise') {
  95.             $detailsActivity "Entreprise - ";
  96.             $underUnder =  $underUnderRepo->find($recap['id_sous_sous_activite']);
  97.             $recap['mode'] = 'entreprise';
  98.             $recap['bas'] = $underUnder->getCoefBas();
  99.             $recap['haut'] = $underUnder->getCoefHaut();
  100.         }else{
  101.             $detailsActivity "Commerce - ";
  102.             if ($recap['mode'] == 'etoile') {
  103.                 $object $etoileRepo->find($recap['id_sous_activite']);
  104.                 $detailsActivity .= "hotellerie : ' ".$object->getName()." '";
  105.                 
  106.             }else{
  107.                 $object =  $comRepo->find($recap['id_sous_activite']);
  108.                 $detailsActivity .= " Activité commerce : ' ".$object->getName()." '";
  109.             }
  110.             $findcoef ucfirst($recap['sous_sous_activite']);
  111.             $detailsActivity .= " zone ".$findcoef;
  112.             $findCoefHaut ='getCoefHaut'.$findcoef ;
  113.             $findCoefBas 'getCoefBas'.$findcoef ;
  114.             $recap['bas'] = $object->$findCoefBas();
  115.             $recap['haut'] = $object->$findCoefHaut();
  116.         }
  117.         // details activity for commerce ok we miss details for entreprise
  118.         
  119.         dd($detailsActivity);
  120.         $session->remove('recap'$recap);
  121.         $session->set('recap'$recap);
  122.         $info = new InfosClient;
  123.        $info->setFonction($recap['fonction'])
  124.             ->setNom($recap['nom'])
  125.             ->setTel($recap['tel'])
  126.             ->setEmail($recap['email'])
  127.             ->setSiret($recap['siret'])
  128.             ->setAdresse($recap['adresse'])
  129.             ->setCodePostal($recap['zip'])
  130.             ->setCodeNaf($recap['ape'])
  131.             ->setNomSte($recap['nom_ste'])
  132.             ->setVille($recap['ville_ste'])
  133.             ->setActiviteNaf($recap['act_ste'])
  134.             ->setAdresseSte($recap['adresse_ste'])
  135.             ->setCategorieChoix($detailsActivity);
  136.             dd($info);
  137.         return $this->json($this->generateUrl("step-2", array('slug' => $eval)));
  138.     }
  139.     /**
  140.      * @Route ("/step-2/{slug}", name="step-2")
  141.      */
  142.     public function stepTwo()
  143.     {
  144.        
  145.          return $this->render('base/form-2-commerce.html.twig', []);
  146.            
  147.     }
  148.     
  149.     /**
  150.      * @Route ("/calcule/commerce", name="calcule")
  151.      */
  152.     public function calculeFourchette(Session $session,Request $request)
  153.     {
  154.         $chiffre $request->get('chiffre');
  155.         $recap $session->get('recap');
  156.        
  157.             $EBE $chiffre['res_exp'] + $chiffre['amr'] +$chiffre['sal_cot_dg'];
  158.             $fourchetteBas $EBE $recap['bas'];
  159.             $fourchetteHaut $EBE $recap['haut'];
  160.             $moyenne = ($fourchetteBas $fourchetteHaut)/2;
  161.        
  162.             $rectte = [];
  163.             $recette['moy'] = $moyenne;
  164.             $recette['bas'] = $fourchetteBas;
  165.             $recette['haut'] = $fourchetteHaut;
  166.             $recette['ebe'] = $EBE;
  167.        return $this->json($recette200, []);
  168.     }
  169.     /**
  170.      * @Route ("/INSEE/call", name="insee-siret")
  171.      */
  172.     public function getSiret(Request $req,HttpClientInterface $client)
  173.     {
  174.         $result null;
  175.         $siret $req->get('siret');
  176.         $this->client $client->withOptions([
  177.             'base_uri' => 'https://api.insee.fr/entreprises/sirene/V3/siret/'.$siret,
  178.             'headers' => ['Authorization' => 'Bearer 74650090-b115-3f17-9dc7-22943b883416']
  179.         ]);
  180.         
  181.         try {
  182.             $response $this->client->request(
  183.                 'GET',
  184.                 'https://api.insee.fr/entreprises/sirene/V3/siret/'.$siret.'?champs=siret%2CactivitePrincipaleUniteLegale%2CdenominationUniteLegale%2CnumeroVoieEtablissement%2CindiceRepetitionEtablissement%2CtypeVoieEtablissement%2ClibelleVoieEtablissement%2ClibelleCommuneEtablissement%2CcodePostalEtablissement&masquerValeursNulles=true',
  185.             );
  186.             $this->user_data =  $response->getContent();
  187.     
  188.         } catch (\Exception $e) {
  189.             $erroCode $response->getStatusCode();
  190.             unset($responses);
  191.             return $this->json($erroCode,200,[],[]);
  192.         }
  193.         return $this->json($response->getContent(),$response->getStatusCode(),[],[]);
  194.     }
  195. }