%PDF- %PDF-
Direktori : /home/emtnaeewxm/www/src/EEM/FonctionnaliteBundle/Controller/ |
Current File : /home/emtnaeewxm/www/src/EEM/FonctionnaliteBundle/Controller/CaisseController.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; /** * Reglement controller. * * @Route("/admin") */ class CaisseController extends Controller { /** * Lists all reglement entities. * * @Route("/", 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("/benefice", name="benefice") * @Method("GET") * @Security("has_role('ROLE_USER')") */ 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) { $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(); } else { $new_montant = $maintenance->getAvance(); } $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("/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(); $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(); } $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 ($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; } 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', '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, )); } }