%PDF- %PDF-
Direktori : /home/emtnaeewxm/www/src/EEM/FonctionnaliteBundle/Controller/ |
Current File : /home/emtnaeewxm/www/src/EEM/FonctionnaliteBundle/Controller/FonctionnaliteController.php |
<?php namespace EEM\FonctionnaliteBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Component\HttpFoundation\Request; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security; use EEM\FonctionnaliteBundle\Form\HistoriqueSearchType; /** * * @Route("/") */ class FonctionnaliteController extends Controller { /** * Lists all reglement entities. * * @Route("/", name="front") * @Method("GET") */ public function AccueilFrontAction(Request $request) { return $this->render('@EEMFonctionnalite/front/accueil.html.twig', array( )); } /** * Lists all reglement entities. * * @Route("/admin/", name="accueil") * @Method("GET") * @Security("has_role('ROLE_USER')") */ public function accueilAction(Request $request) { return $this->render('@EEMFonctionnalite/caisse/accueil.html.twig', array( )); } /** * Lists all reglement entities. * * @Route("/admin/mouvement-article", name="mouvement_article") * @Method("GET") * @Security("has_role('ROLE_USER')") */ public function HistoriqueAction(Request $request) { $form = $this->createForm('EEM\FonctionnaliteBundle\Form\HistoriqueSearchType'); $form->handleRequest($request); if ($form->isSubmitted()) { $url = $this->buildSearchUrl($request->request->all()); if (!empty($url)) { return $this->redirectToRoute('mouvement_article', $url); } } $em = $this->getDoctrine()->getManager(); $historiques = $em->getRepository('EEMFonctionnaliteBundle:Historique')->MyFindAll($request->query->all()); return $this->render('@EEMFonctionnalite/historique/mouvement.html.twig', array( 'historiques' => $historiques, 'form' => $form->createView(), )); } /** * Lists all reglement entities. * * @Route("/admin/benefice", name="benefice") * @Method("GET") * @Security("has_role('ROLE_ADMIN')") */ public function beneficeAction(Request $request) { $em = $this->getDoctrine()->getManager(); $tab_benefice = []; $ventes = $em->getRepository('EEMVenteBundle:Vente')->findAll(); $recharges = $em->getRepository('EEMRechargeBundle:Recharge')->findBy(['type' => 'vente']); $maintenances = $em->getRepository('EEMMaintenanceBundle:Maintenance')->findAll(); foreach ($ventes as $vente) { $date_vente = strtotime($vente->getDateVente()->format('Y-m-d')); $total_vente = 0; $total_vente_gros = 0; $total_vente_maintenance = 0; foreach ($vente->getLigneVentes() as $ligneVente) { if ($ligneVente->getArticle()->getFamille()->getPieceRechange() == true) { $total_vente_maintenance += $ligneVente->getQte() * ($ligneVente->getPrixVente() - $ligneVente->getPrixAchat()); } else { if($vente->getType()=='detail'){ $total_vente += $ligneVente->getQte() * ($ligneVente->getPrixVente() - $ligneVente->getPrixAchat()); } if($vente->getType()=='gros'){ $total_vente_gros += $ligneVente->getQte() * ($ligneVente->getPrixVente() - $ligneVente->getPrixAchat()); } } } if ($total_vente != 0) { if (isset($tab_benefice[$date_vente]['vente_detail'])) { $new_montant = $tab_benefice[$date_vente]['vente_detail'] + $total_vente; } else { $new_montant = $total_vente; } $tab_benefice[$date_vente]['vente_detail'] = $new_montant; } if ($total_vente_gros != 0) { if (isset($tab_benefice[$date_vente]['vente_gros'])) { $new_montant = $tab_benefice[$date_vente]['vente_gros'] + $total_vente_gros; } else { $new_montant = $total_vente_gros; } $tab_benefice[$date_vente]['vente_gros'] = $new_montant; } if ($total_vente_maintenance != 0) { if (isset($tab_benefice[$date_vente]['maintenance'])) { $new_montant = $tab_benefice[$date_vente]['maintenance'] + $total_vente_maintenance; } else { $new_montant = $total_vente_maintenance; } $tab_benefice[$date_vente]['maintenance'] = $new_montant; } } foreach ($maintenances as $maintenance) { if($maintenance->getDateSortie()){ $date_sortie = strtotime($maintenance->getDateSortie()->format('Y-m-d')); if (isset($tab_benefice[$date_sortie]['maintenance'])) { $new_montant = $tab_benefice[$date_sortie]['maintenance'] + $maintenance->getBenefice(); } else { $new_montant = $maintenance->getBenefice(); } $tab_benefice[$date_sortie]['maintenance'] = $new_montant; } } /*foreach ($maintenances as $maintenance) { $date_reception = strtotime($maintenance->getDateReception()->format('Y-m-d')); if (isset($tab_benefice[$date_reception]['maintenance'])) { $new_montant = $tab_benefice[$date_reception]['maintenance'] + $maintenance->getBenefice(); echo $maintenance->getDateReception()->format('Y-m-d')."-benefice-".$maintenance->getBenefice().'<br>'; } else { $new_montant = $maintenance->getAvance(); echo $maintenance->getDateReception()->format('Y-m-d')."-avance-".$maintenance->getAvance().'<br>'; } $tab_benefice[$date_reception]['maintenance'] = $new_montant; }*/ foreach ($recharges as $recharge) { $date_recharge = strtotime($recharge->getDateRecharge()->format('Y-m-d')); $total_recharge = 0; foreach ($recharge->getLigneRecharges() as $ligneRecharge) { $total_recharge += $ligneRecharge->getQte() * ($ligneRecharge->getMontant() - $ligneRecharge->getMontantAchat()); } if (isset($tab_benefice[$date_recharge]['recharge'])) { $new_montant = $tab_benefice[$date_recharge]['recharge'] + $total_recharge; } else { $new_montant = $total_recharge; } $tab_benefice[$date_recharge]['recharge'] = $new_montant; } krsort($tab_benefice); //echo "<pre>" . print_r($tab_benefice, 1) . "</pre>"; $tab_source = [ 'recharge' => 'Recharge', 'vente_detail' => 'Vente détail', 'vente_gros' => 'Vente gros', 'maintenance' => 'Maintenance', ]; return $this->render('@EEMFonctionnalite/caisse/benefice.html.twig', array( 'tab_benefice' => $tab_benefice, 'tab_source' => $tab_source, )); } /** * Lists all reglement entities. * * @Route("/admin/caisse", name="caisse_index") * @Method("GET") * @Security("has_role('ROLE_USER')") */ public function caisseAction(Request $request) { $em = $this->getDoctrine()->getManager(); $ventes = $em->getRepository('EEMVenteBundle:Vente')->findAll(); $traites = $em->getRepository('EEMTraiteBundle:Traite')->findAll(); $ligneTraites = $em->getRepository('EEMTraiteBundle:LigneTraite')->findBy(['etat' => 1]); $recharges = $em->getRepository('EEMRechargeBundle:Recharge')->findBy(['type' => 'vente']); $maintenances = $em->getRepository('EEMMaintenanceBundle:Maintenance')->findAll(); $changements = $em->getRepository('EEMVenteBundle:Changement')->findAll(); //$factures = $em->getRepository('EEMPieceBundle:Piece')->findBy(['typePiece'=>'facture']); //$bonLivraisons = $em->getRepository('EEMPieceBundle:Piece')->findBy(['typePiece'=>'bon_livraison']); $tab_caisse = []; foreach ($ventes as $vente) { $date_vente = strtotime($vente->getDateVente()->format('Y-m-d')); $total_vente = 0; //$total_vente_gros = 0; $total_maintenance = 0; foreach ($vente->getLigneVentes() as $ligneVente) { if ($ligneVente->getArticle()->getFamille()->getPieceRechange() == true) { $total_maintenance += $ligneVente->getQte() * $ligneVente->getPrixVente(); } else { if($vente->getType()=='detail'){ $total_vente += $ligneVente->getQte() * $ligneVente->getPrixVente(); } /*if($vente->getType()=='gros'){ $total_vente_gros += $ligneVente->getQte() * $ligneVente->getPrixVente(); }*/ } } if ($total_vente != 0) { if (isset($tab_caisse[$date_vente]['vente_detail'])) { $new_montant = $tab_caisse[$date_vente]['vente_detail'] + $total_vente; } else { $new_montant = $total_vente; } $tab_caisse[$date_vente]['vente_detail'] = $new_montant; } /*if ($total_vente_gros != 0) { if (isset($tab_caisse[$date_vente]['vente_gros'])) { $new_montant = $tab_caisse[$date_vente]['vente_gros'] + $total_vente_gros; } else { $new_montant = $total_vente_gros; } $tab_caisse[$date_vente]['vente_gros'] = $new_montant; }*/ if ($total_maintenance != 0) { if (isset($tab_caisse[$date_vente]['maintenance'])) { $new_montant = $tab_caisse[$date_vente]['maintenance'] + $total_maintenance; } else { $new_montant = $total_maintenance; } $tab_caisse[$date_vente]['maintenance'] = $new_montant; } } foreach ($recharges as $recharge) { $date_recharge = strtotime($recharge->getDateRecharge()->format('Y-m-d')); $total_recharge = 0; foreach ($recharge->getLigneRecharges() as $ligneRecharge) { $total_recharge += $ligneRecharge->getQte() * $ligneRecharge->getMontant(); } if (isset($tab_caisse[$date_recharge]['recharge'])) { $new_montant = $tab_caisse[$date_recharge]['recharge'] + $total_recharge; } else { $new_montant = $total_recharge; } $tab_caisse[$date_recharge]['recharge'] = $new_montant; } foreach ($maintenances as $maintenance) { //avance maintenance $date_reception = strtotime($maintenance->getDateReception()->format('Y-m-d')); if (isset($tab_caisse[$date_reception]['maintenance'])) { $new_montant = $tab_caisse[$date_reception]['maintenance'] + $maintenance->getAvance(); } else { $new_montant = $maintenance->getAvance(); } //echo $maintenance->getDateReception()->format('Y-m-d').' -- '.$maintenance->getAvance()."<br>"; $tab_caisse[$date_reception]['maintenance'] = $new_montant; //reste maintenance if (!empty($maintenance->getDateSortie()) && $maintenance->getRestePayer() > 0) { $date_sortie = strtotime($maintenance->getDateSortie()->format('Y-m-d')); if (isset($tab_caisse[$date_sortie]['maintenance'])) { $new_montant = $tab_caisse[$date_sortie]['maintenance'] + $maintenance->getRestePayer(); } else { $new_montant = $maintenance->getRestePayer(); } $tab_caisse[$date_sortie]['maintenance'] = $new_montant; } } foreach ($traites as $traite) { $date_traite = strtotime($traite->getDateTraite()->format('Y-m-d')); if (isset($tab_caisse[$date_traite]['avance_traite'])) { $new_montant = $tab_caisse[$date_traite]['avance_traite'] + $traite->getMontantAvance(); } else { $new_montant = $traite->getMontantAvance(); } $tab_caisse[$date_traite]['avance_traite'] = $new_montant; } /*foreach ($factures as $facture) { $date_facture = strtotime($facture->getDatePiece()->format('Y-m-d')); $total_facture=0; foreach ($facture->getLignePieces() as $ligne){ $total_facture +=$ligne->getTotalPrix(); } if (isset($tab_caisse[$date_facture]['facture'])) { $new_montant = $tab_caisse[$date_facture]['facture'] + $total_facture; } else { $new_montant = $total_facture; } $tab_caisse[$date_facture]['facture'] = $new_montant; } foreach ($bonLivraisons as $bonLivraison) { $date_bl = strtotime($bonLivraison->getDatePiece()->format('Y-m-d')); $total_bl=0; foreach ($bonLivraison->getLignePieces() as $ligne){ $total_bl +=$ligne->getTotalPrix(); } if (isset($tab_caisse[$date_bl]['bl'])) { $new_montant = $tab_caisse[$date_bl]['bl'] + $total_facture; } else { $new_montant = $total_bl; } $tab_caisse[$date_bl]['bl'] = $new_montant; }*/ foreach ($ligneTraites as $ligne_traite) { $date_ligne_traite = strtotime($ligne_traite->getDatePaiement()->format('Y-m-d')); if (isset($tab_caisse[$date_ligne_traite]['traite'])) { $new_montant = $tab_caisse[$date_ligne_traite]['traite'] + $ligne_traite->getMontant(); } else { $new_montant = $ligne_traite->getMontant(); } $tab_caisse[$date_ligne_traite]['traite'] = $new_montant; } foreach ($changements as $changement) { $date_changement = strtotime($changement->getDateChangement()->format('Y-m-d')); $difference = ($changement->getPrixChangee() * $changement->getQteChangee()) - ($changement->getPrixAChangee() * $changement->getQteAChangee()); if (isset($tab_caisse[$date_changement]['changement'])) { $new_montant = $tab_caisse[$date_changement]['changement'] + $difference; } else { $new_montant = $difference; } $tab_caisse[$date_changement]['changement'] = $new_montant; } //exit(); krsort($tab_caisse); //echo "<pre>" . print_r($tab_caisse, 1) . "</pre>"; $tab_source = [ 'reglement' => 'Réglement', 'recharge' => 'Recharge', 'vente_detail' => 'Vente détail', 'vente_gros' => 'Vente gros', 'facture' => 'Facture', /*'bl' => 'Bon livraison',*/ 'traite' => 'Traite', 'avance_traite' => 'Avance traite', 'maintenance' => 'Maintenance', 'changement' => 'Changement', ]; return $this->render('@EEMFonctionnalite/caisse/index.html.twig', array( 'tab_caisse' => $tab_caisse, 'tab_source' => $tab_source, )); } private function buildSearchUrl($data) { $url = []; foreach ($data as $k => $v) { if (isset($data['search_historique']['dateDu']) && !empty($data['search_historique']['dateDu'])) { $url['dateDu'] = $data['search_historique']['dateDu']; } if (isset($data['search_historique']['dateAu']) && !empty($data['search_historique']['dateAu'])) { $url['dateAu'] = $data['search_historique']['dateAu']; } if (isset($data['search_historique']['article']) && !empty($data['search_historique']['article'])) { $url['article'] = $data['search_historique']['article']; } } return $url; } }