src/Service/AgentService.php line 121

Open in your IDE?
  1. <?php
  2. namespace App\Service;
  3. use App\Repository\CodensRepository;
  4. use App\Repository\CodinseeRepository;
  5. use App\Repository\DepartementRepository;
  6. use App\Repository\RestaurantRepository;
  7. use CallbackFilterIterator;
  8. use DateTime;
  9. use Symfony\Component\Serializer\SerializerInterface;
  10. class AgentService {
  11.     protected $resultRestoRep;
  12.     protected $serializer;
  13.     protected $depRep;
  14.     protected $codensRep;
  15.     protected $cd;
  16.     public function __construct(RestaurantRepository $rep,
  17.     SerializerInterface $serializer
  18.     DepartementRepository $depRep
  19.     CodensRepository $codensRep,
  20.     CodinseeRepository $cd){
  21.            $this->resultRestoRep=$rep;
  22.            $this->serializer=$serializer;
  23.            $this->depRep=$depRep;
  24.            $this->codensRep=$codensRep;
  25.            $this->cd=$cd;
  26.     }
  27.     public function showResultByCP($value){
  28.         $queryResult=$this->resultRestoRep->getItemByCP($value);
  29.         return $this->serializer->serialize($queryResult'json');
  30.     }
  31.     public function showResultByID($id){
  32.         $queryResult=$this->resultRestoRep->getItemById($id);
  33.         return $this->serializer->serialize($queryResult,"json");
  34.     }
  35.     public function alterCodensValue($codens,$id){
  36.         $data=$this->resultRestoRep->updateByCodens($codens,$id);
  37.         $a=["queryResponse"=>$data];
  38.         return $this->serializer->serialize($a,'json');
  39.     }
  40.     public function alterCodensValueForToFileWhoHaveBothCdns($codensSource,$codensTarget){
  41.         $data=$this->resultRestoRep->alterCodensValueForToFileWhoHaveBothCdns($codensSource$codensTarget);
  42.         $a=["queryResponse"=>$data];
  43.         return $this->serializer->serialize($a,'json');
  44.     }
  45.     public function createCodens($dep,$id1,$id2):string{
  46.         
  47.         $newCodens=$this->pushCodens($dep);
  48.         $codens="id_".$dep."_".$newCodens;
  49.         $this->codensRep->setMaxValueCodens($dep,$newCodens);
  50.         $response=$this->resultRestoRep->createByCodens($codens,$id1,$id2);
  51.         $a=["queryResponse"=>$response];
  52.         return $this->serializer->serialize($a,'json');
  53.     }
  54.     /**
  55.      * @return integer id de la fiche dupliquée
  56.      */
  57.     public function duplicateFiche($codens,$id,$dep){
  58.         
  59.         $newCodens=0;
  60.         $codens2="";
  61.         if($codens =="no-cdns"){
  62.             $newCodens=$this->pushCodens($dep);
  63.             $codens2="id_".$dep."_".$newCodens;
  64.             $this->codensRep->setMaxValueCodens($dep,$newCodens);
  65.             $this->resultRestoRep->createCodensWhenDuplicateFiche($codens2,$id);
  66.             
  67.         }
  68.         $id=$this->resultRestoRep->duplicateFiche($codens$id$codens2);
  69.         return $id;
  70.     }
  71.     /*public function createCodensWhenDuplicateFiche($dep,$id,$newCodens):string{
  72.         $codens="id_".$newCodens;
  73.         $this->codensRep->setMaxValueCodens($dep,$newCodens);
  74.         $response=$this->resultRestoRep->createCodensWhenDuplicateFiche($codens,$id);
  75.         $a=["queryResponse"=>$response];
  76.         return $this->serializer->serialize($a,'json');
  77.     }*/
  78.     public function pushCodens($dep){
  79.         $lastCodens=$this->codensRep->getLastCodens($dep);
  80.         $newCodens=++$lastCodens;
  81.         return $newCodens;
  82.     }
  83.     public function dlink($id){
  84.        $response=$this->resultRestoRep->restoreDefaultValueCodens($id);
  85.        $a= ["queryResponse"=>$response];
  86.        return $this->serializer->serialize($a,'json');
  87.     }
  88.     public function dlinkV2($id1,$id2){
  89.         $response=$this->resultRestoRep->restoreDefaultValueCodensIftwo($id1,$id2);
  90.         $a= ["queryResponse"=>$response];
  91.         return $this->serializer->serialize($a,'json');
  92.     }
  93.     public function pushCommentaire($codens,$id,$comments){
  94.         $response=$this->resultRestoRep->pushCommentaire($codens,$id,$comments);
  95.         $a=["queryResponse"=>$response];
  96.         return $this->serializer->serialize($a,'json');
  97.     }
  98.     public function deleteCommentaire($id,$cdns){
  99.         $response=$this->resultRestoRep->deleteCommentaire($id,$cdns);
  100.         $a=["queryResponse"=>$response];
  101.         return $this->serializer->serialize($a,'json');
  102.     }
  103.     public function setEvenement($evenement$codeSaisie,$codens,$comment,$id){
  104.         $response=$this->resultRestoRep->setEvenement($evenement$codeSaisie,$codens,$comment,$id);
  105.         $a=["queryResponse"=>$response];
  106.         return $this->serializer->serialize($a,'json');
  107.     }
  108.     public function closeEtab($id,$codens,$comment){
  109.         $response=$this->resultRestoRep->closeEtab($id,$codens,$comment);
  110.         $a=["queryResponse"=>$response];
  111.         return $this->serializer->serialize($a,'json');
  112.     }
  113.     public function setPasGarder($id,$codens){
  114.         $response=$this->resultRestoRep->setPasGarder($id,$codens);
  115.         $a=["queryResponse"=>$response];
  116.         return $this->serializer->serialize($a,'json');
  117.     }
  118.     public function undoPasGarder($id,$codens){
  119.         $response=$this->resultRestoRep->undoPasGarder($id,$codens);
  120.         $a=["queryResponse"=>$response];
  121.         return $this->serializer->serialize($a,'json');
  122.     }
  123.     
  124.     public function deleteEvenement($codens,$id){
  125.         $response =$this->resultRestoRep->supprEvenement($codens,$id);
  126.         $a=["queryResponse"=>$response];
  127.         return $this->serializer->serialize($a,'json');
  128.     }
  129.     public function getRappel($dep){
  130.         $response=$this->resultRestoRep->getRappel($dep);
  131.         return $this->serializer->serialize($response,'json');
  132.     }
  133.     public function setRappel($codens$id){
  134.        $response=$this->resultRestoRep->setToRappel($codens,$id);
  135.        $a=["queryResponse"=>$response];
  136.        return $this->serializer->serialize($a,'json');
  137.     }
  138.     
  139.     public function getFicheToValidate($dep){
  140.         return $this->resultRestoRep->getFicheToValidate($dep);
  141.     }
  142.     public function setFicheValidated($codens,$id){
  143.        $dateValidation=(new DateTime("now"))->format("Y-m-d H:i:s");
  144.       $response=$this->resultRestoRep->setFicheValidated($codens,$id,$dateValidation);
  145.        $a=["queryResponse"=>$response];
  146.        return $this->serializer->serialize($a,'json');
  147.     }
  148.     public function reverseRappel($codens,$id){
  149.         $response=$this->resultRestoRep->reverseRappel($codens,$id);
  150.         $a=["queryResponse"=>$response];
  151.         return $this->serializer->serialize($a,'json');
  152.     }
  153.     public function getDepByUserId($id){
  154.         $response=$this->depRep->getDepByUseridRes($id);
  155.         return $this->serializer->serialize($response,'json');
  156.     }
  157.     public function getAccountToDo($dep){
  158.         $response=$this->resultRestoRep->getAccountToDo($dep); 
  159.         $a=["count"=>$response]; 
  160.         return $this->serializer->serialize($a,'json');
  161.     }
  162.     public function getAccountDepDone($dep){
  163.         $response=$this->resultRestoRep->getAccountDepDone($dep); 
  164.         $a=["count"=>$response];
  165.         return $this->serializer->serialize($a,'json');
  166.     }
  167.     public function getAccountRappel($dep){
  168.         $response=$this->resultRestoRep->getAccountRappel($dep); 
  169.         $a=["count"=>$response];
  170.         return $this->serializer->serialize($a,'json');
  171.     }
  172.     public function setChagementAdresse($id,$cdns){
  173.         $response=$this->resultRestoRep->setChagementAddress($id,$cdns);
  174.         $a=["response"=>$response];
  175.         return $this->serializer->serialize($a,'json');
  176.     }
  177.     
  178.     public function setCheckBoxFastFood($id,$isFastFood){
  179.         $response=$this->resultRestoRep->setCheckBoxFastFood($id,$isFastFood);
  180.         $a=["response"=>$response];
  181.         return $this->serializer->serialize($a,'json');
  182.     }
  183.     public function setCheckBoxRestaurant($id,$isRestaurant){
  184.         $response=$this->resultRestoRep->setCheckBoxRestaurant($id,$isRestaurant);
  185.         $a=["response"=>$response];
  186.         return $this->serializer->serialize($a,'json');
  187.     }
  188.     public function setCheckBoxCreperie($id,$isCreperie){
  189.         $response=$this->resultRestoRep->setCheckBoxCreperie($id,$isCreperie);
  190.         $a=["response"=>$response];
  191.         return $this->serializer->serialize($a,'json');
  192.     }
  193.     public function setCheckBoxBrasserie($id,$isBrasserie){
  194.         $response=$this->resultRestoRep->setCheckBoxBrasserie($id,$isBrasserie);
  195.         $a=["response"=>$response];
  196.         return $this->serializer->serialize($a,'json');
  197.     }
  198.     public function setCheckBoxPizzeria($id,$isPizzeria){
  199.         $response=$this->resultRestoRep->setCheckBoxPizzeria($id,$isPizzeria);
  200.         $a=["response"=>$response];
  201.         return $this->serializer->serialize($a,'json');
  202.     }
  203.     public function setCheckBoxBoulangerie($id,$isBoulangerie){
  204.         $response=$this->resultRestoRep->setCheckBoxBoulangerie($id,$isBoulangerie);
  205.         $a=["response"=>$response];
  206.         return $this->serializer->serialize($a,'json');
  207.     }
  208.     public function setCheckBoxBar($id,$isBar){
  209.         $response=$this->resultRestoRep->setCheckBoxBar($id,$isBar);
  210.         $a=["response"=>$response];
  211.         return $this->serializer->serialize($a,'json');
  212.     }
  213.     public function setCheckBoxMonde($id,$isCM){
  214.         $response=$this->resultRestoRep->setCheckBoxMonde($id,$isCM);
  215.         $a=["response"=>$response];
  216.         return $this->serializer->serialize($a,'json');
  217.     }
  218.     public function setCheckBoxCafe($id,$isCafe){
  219.         $response=$this->resultRestoRep->setCheckBoxCafe($id,$isCafe);
  220.         $a=["response"=>$response];
  221.         return $this->serializer->serialize($a,'json');
  222.     }
  223.     public function setCheckBoxSalonThe($id,$isSalonThe){
  224.         $response=$this->resultRestoRep->setCheckBoxSalonThe($id,$isSalonThe);
  225.         $a=["response"=>$response];
  226.         return $this->serializer->serialize($a,'json');
  227.     }
  228.     public function seeAllAboutFiche($id){
  229.         $response=$this->resultRestoRep->getItemById($id);
  230.        
  231.         return $this->serializer->serialize($response,'json');
  232.     }
  233.     public function showHistorical($dep){
  234.         $response =$this->resultRestoRep->showHistorical($dep);
  235.         return $this->serializer->serialize($response,'json');
  236.     }
  237.     
  238.     public function showRestoByCodens($codens){
  239.         $response=$this->resultRestoRep->findByCodens($codens);
  240.         return $this->serializer->serialize($response,'json');
  241.     }
  242.     public function removeToListFicheValided($codens$id){
  243.         $response=$this->resultRestoRep->removeToListFicheValided($codens,$id);
  244.         $a=["response"=>$response];
  245.         return $this->serializer->serialize($a,'json');
  246.     }
  247.     public function undo($id){
  248.         $response=$this->resultRestoRep->undo($id);
  249.         $a=["response"=>$response];
  250.         return $this->serializer->serialize($a,'json');
  251.     }
  252.     public function changeName($id,$newDenomination){
  253.         $response=$this->resultRestoRep->updateDenominationF($id,$newDenomination);
  254.         $a=["response"=>$response];
  255.         return $this->serializer->serialize($a,'json');
  256.     }
  257.     public function changeAddress($id,$numvoie,$typevoie,$nomvoie,$codpost,$commune,$villenorm,$compvoie){
  258.         $response=$this->resultRestoRep-> updateAdresse($id,$numvoie,$typevoie,$nomvoie,$codpost,$commune,$villenorm,$compvoie);
  259.         $a=["response"=>$response];
  260.         return $this->serializer->serialize($a,'json');
  261.     }
  262.     public function setNomOk($id){
  263.        $response=$this->resultRestoRep->setNomOK($id);
  264.        $a=["response"=>$response];
  265.        return $this->serializer->serialize($a,'json');
  266.     }
  267.     public function unSetNomOk($id){
  268.         $response=$this->resultRestoRep->unSetNomOK($id);
  269.         $a=["response"=>$response];
  270.         return $this->serializer->serialize($a,'json');
  271.      }
  272.     public function setAdresseOk($id){
  273.         $response=$this->resultRestoRep->setAdresseOK($id);
  274.         $a=["response"=>$response];
  275.         return $this->serializer->serialize($a,'json');
  276.      }
  277.  
  278.     public function unsetAdresseOk($id){
  279.         $response=$this->resultRestoRep->unsetAdresseOK($id);
  280.         $a=["response"=>$response];
  281.         return $this->serializer->serialize($a,'json');
  282.     }
  283.     public function setSirenOk($id,$siren){
  284.         $response=$this->resultRestoRep->setSirenOk($id,$siren);
  285.         $a=["response"=>$response];
  286.         return $this->serializer->serialize($a,'json');
  287.     }
  288.     public function unsetSirenOk($id,$siren){
  289.         $response=$this->resultRestoRep->unsetSirenOk($id,$siren);
  290.         $a=["response"=>$response];
  291.         return $this->serializer->serialize($a,'json');
  292.     }
  293.     public function undoSirenOk($id){
  294.         $response=$this->resultRestoRep->undoSirenOk($id);
  295.         $a=["response"=>$response];
  296.         return $this->serializer->serialize($a,'json');
  297.     }
  298.     public function setTelOk($id,$tel){
  299.         $response=$this->resultRestoRep->setTelOk($id,$tel);
  300.         $a=["response"=>$response];
  301.         return $this->serializer->serialize($a,'json');
  302.     }
  303.     public function changeTelOk($id,$tel){
  304.         $response=$this->resultRestoRep->changeTelOk($id,$tel);
  305. $a=["response"=>$response];
  306.         return $this->serializer->serialize($a,'json');
  307.     }
  308.     public function undoTelOk($id){
  309.         $response=$this->resultRestoRep->undoTelOk($id);
  310.         $a=["response"=>$response];
  311.         return $this->serializer->serialize($a,'json');
  312.     }
  313.     public function supprTel($id,$tel){
  314.         $response=$this->resultRestoRep->supprTel($id,$tel);
  315.         $a=["response"=>$response];
  316.         return $this->serializer->serialize($a,'json');
  317.     }
  318.     public function createMltiCodens($jsons):string{
  319.         //var_dump($jsons);
  320.         $array=[];
  321.         $dep="";
  322.         $tmps=$jsons[1];
  323.         foreach( $tmps as $json ){
  324.             array_push($array,$json['id']);
  325.            
  326.         }
  327.         var_dump($array);
  328.         $dep=$jsons[0]["dep"];
  329.         var_dump($dep);
  330.         $newCodens=$this->pushCodens($dep);
  331.         var_dump($newCodens);
  332.         $codens="id_".$dep."_".$newCodens;
  333.         $this->codensRep->setMaxValueCodens($dep,$newCodens);
  334.         $this->resultRestoRep->createMultiCodens($codens,$array);
  335.         $a=["queryResponse"=>"1"];
  336.         return $this->serializer->serialize($a,'json');
  337.     }
  338.     public function dlinkAllIdLinked($datas){
  339.         
  340.         $array=[];
  341.         foreach($datas as $data ){
  342.             array_push($array,$data['id']);
  343.         }
  344.         var_dump($array);
  345.         $r$this->resultRestoRep->dlinkAllIdLinked($array);
  346.         $a=["queryResponse"=>$r];
  347.         return $this->serializer->serialize($a,'json');
  348.     }
  349.     public function getCodinseeByDep($dep){
  350.         return $this->cd->getCodinseeByDep($dep);
  351.     }
  352.     public function getFicheFromSpecialDepToValidate($dep,$codinsee){
  353.         return $this->resultRestoRep->getFicheTovalidateForSpecifiqueDepartement($dep,$codinsee);
  354.     }
  355.     public function getNombreFicheTOvalidateByCodinsee($dep,$codinsee){
  356.         return $this->resultRestoRep->getNombreFicheTOvalidateByCodinsee($dep,$codinsee);
  357.     }
  358.     public function getIdForExecuteProprietiesModificationFromMap(array $contents)
  359.     {
  360.     try {
  361.             $id null;
  362.             if ($contents["cdns"] === "no-cdns") {
  363.                 $id $this->duplicateFiche($contents["cdns"], $contents["id"], $contents["dep"]);
  364.             } elseif($contents["cdns"] != "no-cdns" ) {
  365.               
  366.                 $items $this->resultRestoRep->findBy(["codens" => $contents["cdns"]]);
  367.                 if (!empty($items)) {
  368.                     $duplicatedItems array_filter($items, function ($item) {
  369.                         return $item->getDuplicated();
  370.                     });
  371.                     $ids array_map(function ($item) {
  372.                         return $item->getId();
  373.                     }, $duplicatedItems);
  374.                     if (!empty($ids)) {
  375.                         $id reset($ids);
  376.                     }
  377.                 }
  378.                 if(empty($id)) {
  379.                     $id $this->duplicateFiche($contents["cdns"], $contents["id"], $contents["dep"]);
  380.                     return $id;
  381.                 }
  382.             }
  383.             if (empty($id)) {
  384.                 throw new \Exception("ID non défini pour la mise à jour du POI.");
  385.             }
  386.             return $id;
  387.         } catch (\Exception $e) {
  388.           
  389.              return $this->serializer->serialize(["erreur" => $e->getMessage()], 'json');
  390.         }
  391.     }
  392. }