src/Service/Statistiques/StatsService.php line 97

Open in your IDE?
  1. <?php
  2. namespace App\Service\Statistiques;
  3. use Doctrine\ORM\EntityManager;
  4. use Doctrine\ORM\EntityManagerInterface;
  5. use Symfony\Component\DependencyInjection\Container;
  6. use App\Entity\GestionComerciale\Commande;
  7. use App\Entity\GestionComerciale\ArticleCommande;
  8. use App\Entity\Articles\MouvementStock;
  9. use Symfony\Component\Form\FormError;
  10. use Symfony\Component\Validator\ExecutionContext;
  11. class StatsService {
  12.     private $em;
  13.     public function __construct(EntityManagerInterface $em)
  14.     {
  15.         $this->em $em;
  16.     }
  17.     
  18.     public function calculCaPeriode($type,$periode,$integreBl=false,$n1=false) {
  19.         //echo "[".$type["libelle"]."] :".$periode;
  20.         
  21.         $repo_commande $this->em->getRepository(Commande::class);
  22.         
  23.         $totalCa $repo_commande->calculCaPeriode($type,$periode,$integreBl,$n1);
  24.         return round($totalCa,2);
  25.     }
  26.     
  27.       
  28.         
  29.     public function getTopClientn1Details($parametres = [], $article_id$transporteur_id) {
  30.         
  31.         
  32.         $parametres["details_ajax"]=1;
  33.         $parametres["n1"]=0;
  34.         
  35.         
  36.         $retour = ["total" =>"""total_qte" =>""];
  37.         
  38.         $parametres["client"]=$parametres["client_id"];
  39.         $parametres["article"]=$article_id;
  40.         
  41.         
  42.         $dateDebutN1 \DateTime::createFromFormat('d/m/Y',$parametres['date_debut']);
  43.         $dateDebutN1->setTime(00,00,00);
  44.         $dateDebutN1->modify('-1 year');
  45.         $parametres["date_debut"]=$dateDebutN1->format("d/m/Y");
  46.         
  47.         
  48.         $dateFinN1 \DateTime::createFromFormat('d/m/Y',$parametres['date_fin']);
  49.         $dateFinN1->setTime(23,59,59);
  50.         $dateFinN1->modify('-1 year');        
  51.         $parametres["date_fin"]=$dateFinN1->format("d/m/Y");
  52.         
  53.         $repoCommande $this->em->getRepository(Commande::class);
  54.         
  55.         if($transporteur_id != "") {
  56.             $parametres_transport $parametres;
  57.             $parametres_transport["transporteur_id"]=$transporteur_id;        
  58.             $transport =  $repoCommande->topClientsDetailsTransport($parametres_transport);    
  59.             
  60.                     
  61.             if(is_array($transport) && count($transport)==1) {
  62.                 $retour["total"] = $transport[0]["total"];
  63.                 $retour["total_qte"] = $transport[0]["total_qte"];
  64.                 //return $client[0]["total"];
  65.             }
  66.                     
  67.         }
  68.         else {
  69.             $article =  $repoCommande->topClientsDetails($parametres);        
  70.             
  71.             /*
  72.             if($article_id == 213111) {
  73.                 echo "<br></br>";
  74.                 print_r($parametres);
  75.                 echo "<br></br>";
  76.                 print_r($article);
  77.                 exit;
  78.             }
  79.             */
  80.             
  81.             if(is_array($article) && count($article)==1) {
  82.                 $retour["total"] = $article[0]["total"];
  83.                 $retour["total_qte"] = $article[0]["total_qte"];
  84.                 //return $client[0]["total"];
  85.             }            
  86.         }
  87.         return $retour;
  88.     }
  89.     
  90.     public function getTopClientn1($parametres = [], $client_id) {
  91.         
  92.         $retour = ["total" =>"""qte" =>""];
  93.         
  94.         $parametres["client"]=$client_id;
  95.         
  96.         $dateDebutN1 \DateTime::createFromFormat('d/m/Y',$parametres['date_debut']);
  97.         $dateDebutN1->setTime(00,00,00);
  98.         $dateDebutN1->modify('-1 year');
  99.         $parametres["date_debut"]=$dateDebutN1->format("d/m/Y");
  100.         
  101.         
  102.         $dateFinN1 \DateTime::createFromFormat('d/m/Y',$parametres['date_fin']);
  103.         $dateFinN1->setTime(23,59,59);
  104.         $dateFinN1->modify('-1 year');        
  105.         $parametres["date_fin"]=$dateFinN1->format("d/m/Y");
  106.         
  107.         $repoCommande $this->em->getRepository(Commande::class);
  108.         $client = [];
  109.         $client =  $repoCommande->topClients($parametres);
  110.         
  111.         //print_r($client);
  112.         
  113.         if(is_array($client) && count($client)==1) {
  114.             $retour["total"] = $client[0]["total"];
  115.             $retour["qte"] = $client[0]["qte"];
  116.             //return $client[0]["total"];
  117.         }
  118.         
  119.         return $retour;
  120.     }
  121.     
  122.     
  123.     public function getTopArticlen1($parametres = [], $article_id) {
  124.         
  125.         $retour = ["total" =>"""total_quantite" =>""];
  126.         
  127.         $parametres["article"]=$article_id;
  128.         
  129.         $dateDebutN1 \DateTime::createFromFormat('d/m/Y',$parametres['date_debut']);
  130.         $dateDebutN1->setTime(00,00,00);
  131.         $dateDebutN1->modify('-1 year');
  132.         $parametres["date_debut"]=$dateDebutN1->format("d/m/Y");
  133.         
  134.         
  135.         $dateFinN1 \DateTime::createFromFormat('d/m/Y',$parametres['date_fin']);
  136.         $dateFinN1->setTime(23,59,59);
  137.         $dateFinN1->modify('-1 year');        
  138.         $parametres["date_fin"]=$dateFinN1->format("d/m/Y");
  139.         
  140.         $repoCommande $this->em->getRepository(Commande::class);
  141.         
  142.         $article =  $repoCommande->topArticles($parametres);
  143.         
  144.         //print_r($article);
  145.         /*
  146.            total total_quantite 
  147.          */
  148.         
  149.         if(is_array($article) && count($article)==1) {
  150.             $retour["total"] = $article[0]["total"];
  151.             $retour["total_quantite"] = $article[0]["total_quantite"];
  152.             //return $client[0]["total"];
  153.         }
  154.         
  155.         return $retour;
  156.         
  157.     }  
  158.     
  159.       public function getTopMarquen1Details($parametres = [], $article_id) {
  160.                           
  161.         $parametres["details_ajax"]=1;
  162.         $parametres["n1"]=0;                
  163.         $retour = ["total" =>"""total_qte" =>""];
  164.         
  165.         $parametres["marque"]=$parametres["marque_id"];
  166.         $parametres["article"]=$article_id;
  167.         
  168.         
  169.         $dateDebutN1 \DateTime::createFromFormat('d/m/Y',$parametres['date_debut']);
  170.         $dateDebutN1->setTime(00,00,00);
  171.         $dateDebutN1->modify('-1 year');
  172.         $parametres["date_debut"]=$dateDebutN1->format("d/m/Y");
  173.         
  174.         
  175.         $dateFinN1 \DateTime::createFromFormat('d/m/Y',$parametres['date_fin']);
  176.         $dateFinN1->setTime(23,59,59);
  177.         $dateFinN1->modify('-1 year');        
  178.         $parametres["date_fin"]=$dateFinN1->format("d/m/Y");
  179.         
  180.         $repoCommande $this->em->getRepository(Commande::class);
  181.         $article =  $repoCommande->topMarquesDetails($parametres);        
  182.         if(is_array($article) && count($article)==1) {
  183.             $retour["total"] = $article[0]["total"];
  184.             $retour["total_qte"] = $article[0]["total_qte"];
  185.             //return $client[0]["total"];
  186.         }            
  187.         
  188.         return $retour;
  189.     }
  190.     
  191.     
  192.     
  193.     
  194.     
  195.     public function getTopMarquen1($parametres = [], $marque_id) {
  196.         
  197.         $retour = ["total" =>"""total_quantite" =>""];
  198.         
  199.         $parametres["marque"]=$marque_id;
  200.         
  201.         $dateDebutN1 \DateTime::createFromFormat('d/m/Y',$parametres['date_debut']);
  202.         $dateDebutN1->setTime(00,00,00);
  203.         $dateDebutN1->modify('-1 year');
  204.         $parametres["date_debut"]=$dateDebutN1->format("d/m/Y");
  205.         
  206.         
  207.         $dateFinN1 \DateTime::createFromFormat('d/m/Y',$parametres['date_fin']);
  208.         $dateFinN1->setTime(23,59,59);
  209.         $dateFinN1->modify('-1 year');        
  210.         $parametres["date_fin"]=$dateFinN1->format("d/m/Y");
  211.         
  212.         $repoCommande $this->em->getRepository(Commande::class);
  213.         
  214.         $article =  $repoCommande->topMarques($parametres);
  215.         
  216.         //print_r($article);
  217.         /*
  218.            total total_quantite 
  219.          */
  220.         
  221.         if(is_array($article) && count($article)==1) {
  222.             $retour["total"] = $article[0]["total"];
  223.             $retour["total_quantite"] = $article[0]["total_quantite"];
  224.             //return $client[0]["total"];
  225.         }
  226.         
  227.         return $retour;
  228.         
  229.     }  
  230.     
  231.     
  232.     /*public function estRembourse(Commande $avoir) {
  233.          $repo_acompte = $this->em->getRepository('DTCGestionComercialeBundle:Acompte');
  234.          $acompteAvoir = $repo_acompte->findBy(array("commande"=>$avoir->getId()));
  235.                  $montantrembourse = 0;
  236.         foreach($acompteAvoir as $acompte){
  237.                     $montantrembourse += $acompte->getMontant();
  238.                     
  239.                     
  240.                 }
  241.                 $acompteAvoir = $repo_acompte->findBy(array("commande"=>$avoir->getCommande()->getId()));
  242.                 foreach( $acompteAvoir as $acompte){
  243.                     $montantrembourse += $acompte->getMontant();
  244.                     
  245.                     
  246.                 }
  247.                 
  248.                
  249.                 
  250.                 if($montantrembourse <= $avoir->getTotalTtc()){
  251.                      
  252.                      return true;
  253.                 }else{
  254.                     
  255.                 return false;
  256.                 }
  257.          
  258.     }
  259.     */
  260.   
  261.     
  262. }