<?php

namespace Tda\CommandeBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;

use Spipu\Html2Pdf\Html2Pdf;
use setasign\Fpdi\Fpdi;

use Tda\BaseBundle\Entity\Document;
use Tda\CommandeBundle\Entity\Commande;
use Tda\CommandeBundle\Entity\CommandeDetails;
use Tda\FacturationBundle\Entity\Facture;
use Tda\ClientBundle\Form\ClientType;
use Tda\ClientBundle\Entity\Client;
use Tda\ClientBundle\Form\ClientCommandeType;
use Tda\AdminBundle\Entity\Agence;
use Tda\AdminBundle\Entity\Regie;
use Tda\AdminBundle\Entity\Provenances;
use Tda\BaseBundle\Entity\Log;
use Tda\RendezVousBundle\Entity\RendezVous;
use Tda\CommandeBundle\Form\CommandeType;
use Tda\ClientBundle\Form\EncienClientCommandeType;
use Tda\CommandeBundle\Form\CommandeSCPType;
use Tda\CommandeBundle\Form\CommandeSpecType;
use Tda\CommandeBundle\Form\CommandeIsolType;
use Tda\CommandeBundle\Form\CommandeActType;
use Tda\CommandeBundle\Form\CommandeSpecBisType;

if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'){
    //echo 'This is a server using Windows!';
	
	require_once('../vendor/setasign/fpdf/fpdf.php');
	require_once('../vendor/setasign/fpdi/src/autoload.php');
}else{
    //echo 'This is a server not using Windows!';
	
	//The following two lines only work for UNIX or LINUX servers 
	// Les deux lignes suivantes ne fonctionnent que pour les serveurs UNIX ou LINUX
	$rutasetasign = './vendor/setasign:../vendor/setasign';
	set_include_path(get_include_path() . ':' . $rutasetasign);
	require_once('fpdf/fpdf.php');
	require_once('fpdi/src/autoload.php');
}

//Jorge Manrique
function console_log($data) {
	echo '<script>';
	echo 'console.log('. json_encode($data) .')';
	echo '</script>';
}

class CommandeController extends Controller
{
	/* Jorge Manrique */
	private function mergePdf(array $files, $fname) {
		$pdf = new Fpdi();
		foreach ($files as $file) {
		  $pageCount = $pdf->setSourceFile($file);
		  for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
			$templateId = $pdf->importPage($pageNo);
			$size = $pdf->getTemplateSize($templateId);
			$pdf->AddPage($size['orientation'], $size);
			$pdf->useTemplate($templateId); 
		  }
		}
		$pdf->Output($fname,'D');
	}
	/* JM */

	public function listeAction()
    {         
        $granted_acces = 0;
		//$userNonLock = $user->isAccountNonLocked();
        foreach($this->container->get('security.token_storage')->getToken()->getUser()->getAccess() as $key => $value){
            if($value->getAcces() == 'menu_commande')
                $granted_acces = 1;
        }
        //print_r($userNonLock);
        //if(($granted_acces==1)&&($userNonLock==1)){
        if($granted_acces==1){
            $user= $this->container->get('security.token_storage')->getToken()->getUser();
            $userAgences = $user->getAgences();
			$userRegies = $user->getRegies();
            $familles =  $this->getDoctrine()
                           ->getManager()
                           ->getRepository('TdaCommandeBundle:Famille')
                           ->findAll(); 
            return $this->render('TdaCommandeBundle:Commande:liste.html.twig', array(
                'familles' => $familles,
                'agences' => $userAgences,
				'regies' => $userRegies,
            ));
        }
        else{
            return $this->redirect($this->generateUrl("_homepage"));
        }
    }
    
	public function listedoubleAction()
    {         
        $granted_acces = 0;
        foreach($this->container->get('security.token_storage')->getToken()->getUser()->getAccess() as $key => $value){
            if($value->getAcces() == 'menu_commande')
                $granted_acces = 1;
        }
        
        if($granted_acces==1){
            
            $user= $this->container->get('security.token_storage')->getToken()->getUser();
            $userAgences = $user->getAgences();
			$userRegies = $user->getRegies();
            $familles =  $this->getDoctrine()
                           ->getManager()
                           ->getRepository('TdaCommandeBundle:Famille')
                           ->findAll();
			/*				
			$commandes=$this->getDoctrine()
                           ->getManager()
                           ->getRepository('TdaCommandeBundle:Commande')
                           ->getDbcommande();
			print_r($commandes);
			*/
            return $this->render('TdaCommandeBundle:Commande:listedouble.html.twig', array(
                'familles' => $familles,
                'agences' => $userAgences,
				'regies' => $userRegies,
				//'commandes' => $commandes,
            ));
        }
        else{
            return $this->redirect($this->generateUrl("_homepage"));
        }
    }
	
    public function newAction(Request $request)
    {
        $client = new Client();

        //$form = $this->createForm('clientCommande', $client , array(
        $form = $this->createForm(ClientCommandeType::class, $client , array(
            'action' => $this->generateUrl('tda_new_commande_sans_client'),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
        ));

        $form->handleRequest($request);

        if ($request->isMethod('POST')) {
        //if ($form->isSubmitted() && $form->isValid()) {
        
            $client = $request->request->get('clientCommande');

            //if(!empty($client['new'])){
            if($form->get('new')->isClicked()){
                if (!empty($client['agence'])){
                    //return $this->redirect($this->generateUrl("tda_new_commande_new_client", array('agenceId'=> $client['agence'])));
                    return $this->redirect($this->generateUrl("tda_famille_new_commande_new_client", array('agenceId'=> $client['agence'], 'regieId'=> $client['regie'])));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner une agence', '5000'));
                }
            }
            //else if(!empty($client['save'])){
            else if($form->get('save')->isClicked()){
                //if ((!empty($client['client']))&&(!empty($client['agence']))){
                if (($form->has('client'))&&(!empty($client['agence']))){
                   // return $this->redirect($this->generateUrl("tda_new_commande_client", array('clientId'=> $client['client'])));
                    //return $this->redirect($this->generateUrl("tda_famille_new_commande_client", array('agenceId'=> $client['agence'], 'regieId'=> $client['regie'], 'clientId'=> $client['client'])));
                    return $this->redirect($this->generateUrl("tda_famille_new_commande_client", array('agenceId'=> $client['agence'], 'regieId'=> $client['regie'], 'clientId'=> $form->get('client')->getViewData())));
				}
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un client ,une agence et une regie', '5000'));
                }
            }
        }
        return $this->render('TdaCommandeBundle:Commande:new.html.twig', array(
            'form' => $form->createView(),
        ));
    }
	
	public function encienClientAction($clientId, Request $request)
    {
		/*
		$encien = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaClientBundle:Client')
                       ->find($clientId);
		//$client = new Client();			   
        $form = $this->createForm('encienCommande', $encien , array(
            'action' => $this->generateUrl('tda_new_commande_avec_client', array('clientId'=> $encien->getId())),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
			'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
			'clientId' =>$encien->getId(),
        ));
		*/
        $client = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaClientBundle:Client')
                       ->find($clientId);
		$clientBis = $client;			   
		//$client = new Client();
        //$form = $this->createForm('encienClientCommande', $client , array(
        //$form = $this->createForm('Tda\ClientBundle\Form\EncienClientCommandeType', $client , array(
        $form = $this->createForm(EncienClientCommandeType::class, $client , array(
        	'action' => $this->generateUrl('tda_new_commande_avec_client',array('clientId' => $clientId)),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
        ));

        $form->handleRequest($request);

        if ($request->isMethod('POST')) {

            $client = $request->request->get('encienClientCommande');
            //$client = $request->request->get('Tda\ClientBundle\Form\EncienClientCommandeType');
            //$client = $request->request->get(EncienClientCommandeType::class);

            //if(!empty($client['save'])){
                if ((!empty($client['agence'])) && (!empty($client['regie']))){
                   // return $this->redirect($this->generateUrl("tda_new_commande_client", array('clientId'=> $client['client'])));
                    return $this->redirect($this->generateUrl("tda_famille_new_commande_client", array('agenceId'=> $client['agence'], 'regieId'=> $client['regie'], 'clientId'=> $clientId)));
				}
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un client ,une agence et une regie', '5000'));
                }
            //}
        }
        return $this->render('TdaCommandeBundle:Commande:encienClient.html.twig', array(
            'form' => $form->createView(),
			//'clientId' =>$clientId,
			'client' => $clientBis,
        ));
    }
    
    public function selFamilleNewSCAction(Request $request, $agenceId, $regieId)
    {
        $familles =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->findBy(array('etat' => '1')); 
					   
        return $this->render('TdaCommandeBundle:Commande:selFamilleSC.html.twig', array(
            'familles' => $familles,
            'agence' => $agenceId,
			'regie' => $regieId,
        ));
    }
    
    public function selFamilleFromRdvAction(Request $request, $agenceId, $regieId, $rdvId)
    {
        $familles =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->findBy(array('etat' => '1')); 
        
        return $this->render('TdaCommandeBundle:Commande:selFamilleFromRdv.html.twig', array(
            'familles' => $familles,
            'agence' => $agenceId,
			'regie' => $regieId,
            'rdv' => $rdvId,
        ));
    }
    
    public function selFamilleNewACAction(Request $request, $agenceId, $regieId, $clientId)
    {
        $familles =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->findBy(array('etat' => '1')); 
        return $this->render('TdaCommandeBundle:Commande:selFamilleAC.html.twig', array(
            'agence' => $agenceId,
			'regie' => $regieId,
			'familles' => $familles,
            'client' => $clientId,
        ));
    }
    
    public function newACAction(Request $request, $clientId, $familleId, $agenceId ,$regieId)
    {
		$user= $this->container->get('security.token_storage')->getToken()->getUser();
		function initiales($string)
		{
				$initiale = $string{0};
		
			return strtoupper($initiale);
		}
		function initiales2($string)
		{
			$words = $string{0}.$string{1};
	
			return strtoupper($words);
		}
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		$commande = new Commande();
		
		$agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
        
		$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
		
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
		
        $client = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaClientBundle:Client')
                       ->find($clientId);
		
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
		
        $commande->setClient($client);
        $commande->setFamille($famille);
        //$commande->setAgence($client->getAgence());
		$commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setTotalTTC(0);
        $commande->setTotalHT(0);
        $commande->setTotalTVA(0);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
        $commandeDetails->setPuHT('0.00');
        $commandeDetails->setPvHT('0.00');
        $commande->addCommandeDetail($commandeDetails);
        $Lenom = array();
		/**/
		// Devis pre-remplie par role
		$commandedb = 0;
		if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_COMMERCIAL')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_TELEPRO')){
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_SUPER_COMER')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_GERANT')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		else
		{
			
		}
		
		/**/
		$arrayCommerciaux = array();
        //$form = $this->createForm( new CommandeType(), $commande , array(
        $form = $this->createForm(CommandeType::class, $commande , array(
            'action' => $this->generateUrl('tda_new_commande_client', array('clientId'=> $clientId, 'familleId' => $famille->getId(), 'agenceId'=> $agenceId, 'regieId'=> $regieId)),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'actualTelepro' => 0,
            'actualOrganisme' => 0,
            'actualOrganisme2' => 0,
            'actualOrganisme3' => 0,
            'commandeId' => 0,
            'actualTitreCommande' => 0,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
			'id_agence' => $agenceId,
			'id_regie' => $regieId,
			'id_provenances' => 0,
            'famille_id' => $familleId,
        ));
        $form->handleRequest($request);
        if ($request->isMethod('POST')) {

            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
				
                if(!empty($commerciaux)){
                    $logDetails="";
                    foreach($commande->getCommandeDetails() as $detail){
                        if(!empty($detail->getProduit()->getReference()))
						{
							$detail->setReference($detail->getProduit()->getReference());
						}else
						{
							$detail->setReference(null);
						}
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
                        $detail->setPuNET($detail->getQuantite() * $detail->getPuHT());
                        $detail->setPvTVA($detail->getPvHT() * $detail->getTva());
                        $detail->setPvTTC($detail->getPvHT() + $detail->getPvTVA());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						array_push($arrayCommerciaux, $commercial->getId());
						$lenom[] = $commercial->getUserNom();
                    }
						
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";
						
						/* Total TTC en lettres */
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie3 = int2str($TTC);
							} else {
								$partie3 = int2str($TTC).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					/* avoir les DE ou les TE */
						$nbComer = count($arrayCommerciaux,0);
						$nbNom = count($lenom,0);
						//echo $nbComer;
						//print_r(array_count_values($arrayCommerciaux));
						$HT = $commande->getTotalHT();
						if (($nbComer == 1)&&($nbNom == 1))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
						}
						elseif(($nbComer == 2)&&($nbNom == 2))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/2);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/2);
						}
						elseif(($nbComer == 3)&&($nbNom == 3))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/3);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/3);
							$commande->setComerC($lenom['2']);
							$commande->setTotTE($HT/3);
						}
						else{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
							}
					/**/
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $em->flush();
					
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();
					
                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));

                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
		 
        return $this->render('TdaCommandeBundle:Commande:newAC.html.twig', array(
            'form' => $form->createView(),
            'client' => $client,
            'commande' => $commande,
			'id_agence' => $agenceId,
			'id_regie' => $regieId,
			'commandedb' => $commandedb,
        ));
    }
        
    public function newSCAction(Request $request, $agenceId, $regieId, $familleId)
    {
        $user= $this->container->get('security.token_storage')->getToken()->getUser();
		function initiales($string)
		{
				$initiale = $string{0};
		
			return strtoupper($initiale);
		}
		
		function initiales2($string)
		{
			$words = $string{0}.$string{1};
	
			return strtoupper($words);
		}
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		$commande = new Commande();
        
        $client = new Client();
        
        
        $agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
        
		$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
		
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
					   
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
		
        $client->setRegie($regie);        
        //$client->setAgence($agence);
        $commande->setClient($client);
        $commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setFamille($famille);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
		
		/*
			$commandeDetails->setPuTTC('0.00');
			$commandeDetails->setPvTTC('0.00');
	
			$commandeDetails->setPuHT('0.00');
			$commandeDetails->setPvHT('0.00');
		*/
        
		$commandeDetails->setPuHT('0.00');
		$commandeDetails->setPvHT('0.00');
		
        $commande->addCommandeDetail($commandeDetails);
		$Lenom = array();
        /**/
		// Devis pre-remplie par role
		$commandedb	= 0;
		if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_COMMERCIAL')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			/*
			$commande->setDevis($aNum.$cNum);
			$user->setCommandeNum(($cNum+1));							
			*/
			// Foire de tours
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}								
		}elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_TELEPRO')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			/*
			$commande->setDevis($aNum.$cNum);
			$user->setCommandeNum(($cNum+1));							
			*/
			// Foire de tours
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}								
		}elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_SUPER_COMER'))
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}			
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_GERANT'))
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}			
		}else
		{
			
		}
		/**/
		$arrayCommerciaux = array();     
        //$form = $this->createForm( new CommandeType(), $commande , array(
        $form = $this->createForm(CommandeType::class, $commande , array(
            'action' => $this->generateUrl('tda_new_commande_new_client', array('agenceId' => $agence->getId(), 'regieId' => $regie->getId(), 'familleId' => $famille->getId())),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'id_agence' => $agence->getId(),
			'id_regie' => $regie->getId(),
            'actualTelepro' => 0,
            'actualOrganisme' => 0,
            'actualOrganisme2' => 0,
            'commandeId' => 0,
            'actualOrganisme3' => 0,
            'actualTitreCommande' => 0,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
            'famille_id' => $familleId,
			'id_provenances' => 0,
        ));
        
        $form2 = $this->createForm(ClientType::class, $client );
        
        $form->handleRequest($request);
        $form2->handleRequest($request);
        
        if ($request->isMethod('POST')) {			
            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
                if(!empty($commerciaux)){
                
                    $logDetails="";                         
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
                        $detail->setPuNET($detail->getQuantite() * $detail->getPuHT());
                        $detail->setPvTVA($detail->getPvHT() * $detail->getTva());
                        $detail->setPvTTC($detail->getPvHT() + $detail->getPvTVA());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						array_push($arrayCommerciaux, $commercial->getId());
						$lenom[] = $commercial->getUserNom();
                    }
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";
					
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($client);
                    $em->flush();
                    $log1 = new Log();
                    $log1->setIntitule('Création fiche client : '.$client->getNom());
                    $log1->setDetails('id:'.$client->getId().' ### '
                                        . 'nom:'.$client->getNom().' ### '
                                        . 'prenom:'.$client->getPrenom().' ### '
                                        . 'adresse:'.$client->getAdresse1().' ### '
                                        . 'code postal:'.$client->getCodePostal().' ### '
                                        . 'commune:'.$client->getVille().' ### '
                                        . 'telephone:'.$client->getTelephone().' ### '
                                        . 'portable:'.$client->getPortable().' ### '
                                        . 'portable2:'.$client->getPortable2().' ### '
										//. 'agence:'.$client->getAgence().' ### '
                                        . 'etat:'.$client->getEtat());
                    $log1->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log1->setAgence($commande->getAgence());
					$log1->setRegie($commande->getRegie());
                    $em->persist($log1);
                    $commande->setClient($client);
					
						/* Total TTC en lettres */
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie3 = int2str($TTC);
							} else {
								$partie3 = int2str($TTC).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					/* avoir les DE ou les TE */
						$nbComer = count($arrayCommerciaux,0);
						$nbNom = count($lenom,0);
						//echo $nbComer;
						//print_r(array_count_values($arrayCommerciaux));
						$HT = $commande->getTotalHT();
						if (($nbComer == 1)&&($nbNom == 1))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
						}
						elseif(($nbComer == 2)&&($nbNom == 2))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/2);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/2);
						}
						elseif(($nbComer == 3)&&($nbNom == 3))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/3);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/3);
							$commande->setComerC($lenom['2']);
							$commande->setTotTE($HT/3);
						}
						else{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
							}
					/**/
                    $em->persist($commande);
                    $em->flush();
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));
                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
               
        return $this->render('TdaCommandeBundle:Commande:newSC.html.twig', array(
            'form' => $form->createView(),
            'form2' => $form2->createView(),
            'client' => $client,
            'commande' => $commande,
			'commandedb' => $commandedb,
        ));
    }
    
    public function newFromRdvAction(Request $request, $agenceId, $regieId, $familleId, $rdvId)
    {
        function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		
		$commande = new Commande();
        
        $client = new Client();
                
        $agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
        
		$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
		
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
        
        $rdv = $this->getDoctrine()
                    ->getManager()
                    ->getRepository('TdaRendezVousBundle:RendezVous')
                    ->find($rdvId);
					
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
		
        //$client->setAgence($agence);
        $commande->setClient($client);
        $commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setFamille($famille);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
        $commandeDetails->setPuHT('0.00');
        $commandeDetails->setPvHT('0.00');
        $commande->addCommandeDetail($commandeDetails);
        // Devis pre-rempli     
		$commandedb = 0;
		if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_COMMERCIAL')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_TELEPRO')){
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_SUPER_COMER')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_GERANT')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		else
		{
			
		}
        //$form = $this->createForm( new CommandeType(), $commande , array(
        $form = $this->createForm(CommandeType::class, $commande , array(
            'action' => $this->generateUrl('tda_new_commande_new_client', array('agenceId' => $agence->getId(), 'regieId' => $regie->getId(), 'familleId' => $famille->getId())),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'id_agence' => $agence->getId(),
			'id_regie' => $regie->getId(),
            'actualTelepro' => 0,
            'actualOrganisme' => 0,
            'actualOrganisme2' => 0,
            'commandeId' => 0,
            'actualOrganisme3' => 0,
            'actualTitreCommande' => 0,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
            'famille_id' => $familleId,
			'id_provenances' => 0,
        ));
        
        $form2 = $this->createForm(ClientType::class, $client );
        
        $form->handleRequest($request);
        $form2->handleRequest($request);
        
        if ($request->isMethod('POST')) {			
            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
                if(!empty($commerciaux)){
                
                    $logDetails="";                         
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
                        $detail->setPuNET($detail->getQuantite() * $detail->getPuHT());
                        $detail->setPvTVA($detail->getPvHT() * $detail->getTva());
                        $detail->setPvTTC($detail->getPvHT() + $detail->getPvTVA());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $Lenom = array();
					$logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						$lenom[] = $value->getUserNom();
                    }
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $em = $this->getDoctrine()->getManager();
                    $em->persist($client);
                    $em->flush();
                    $log1 = new Log();
                    $log1->setIntitule('Création fiche client : '.$client->getNom());
                    $log1->setDetails('id:'.$client->getId().' ### '
                                        . 'nom:'.$client->getNom().' ### '
                                        . 'prenom:'.$client->getPrenom().' ### '
                                        . 'adresse:'.$client->getAdresse1().' ### '
                                        . 'code postal:'.$client->getCodePostal().' ### '
                                        . 'commune:'.$client->getVille().' ### '
                                        . 'telephone:'.$client->getTelephone().' ### '
                                        . 'portable:'.$client->getPortable().' ### '
                                        . 'portable2:'.$client->getPortable2().' ### '
										//. 'agence:'.$client->getAgence().' ### '
                                        . 'etat:'.$client->getEtat());
                    $log1->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log1->setAgence($commande->getAgence());
					$log1->setRegie($commande->getRegie());
                    $em->persist($log1);
                    $commande->setClient($client);
					
						/* Total TTC en lettres */
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie3 = int2str($TTC);
							} else {
								$partie3 = int2str($TTC).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					/* avoir les DE ou les TE */
					$nbComer = count($arrayCommerciaux,0);
					$nbNom = count($lenom,0);
					//echo $nbComer;
					//print_r(array_count_values($arrayCommerciaux));
					$HT = $commande->getTotalHT();
					if (($nbComer == 1)&&($nbNom == 1))
					{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT);
					}
					elseif(($nbComer == 2)&&($nbNom == 2))
					{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT/2);
						$commande->setComerB($lenom['1']);
						$commande->setTotDE($HT/2);
					}
					elseif(($nbComer == 3)&&($nbNom == 3))
					{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT/3);
						$commande->setComerB($lenom['1']);
						$commande->setTotDE($HT/3);
						$commande->setComerC($lenom['2']);
						$commande->setTotTE($HT/3);
					}
					else{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT);
						}
					/**/
                    $em->persist($commande);
                    $em->flush();
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRagie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));
                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
         
        return $this->render('TdaCommandeBundle:Commande:newFromRdv.html.twig', array(
            'form' => $form->createView(),
            'form2' => $form2->createView(),
            'client' => $client,
            'commande' => $commande,
			'id_agence' => $agenceId,
			'id_regie' => $regieId,
            'rdv' => $rdv,
			'commandedb' => $commandedb,
        ));
    }
	public function newSpecFromRdvAction(Request $request, $agenceId, $regieId, $familleId, $rdvId)
    {
        function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		
		$commande = new Commande();
        
        $client = new Client();
                
        $agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
        
		$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
		
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
					   
        $produitSpec = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Produit')
                       ->find('140');
		
        $rdv = $this->getDoctrine()
                    ->getManager()
                    ->getRepository('TdaRendezVousBundle:RendezVous')
                    ->find($rdvId);
					
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
		
        //$client->setAgence($agence);
        $commande->setClient($client);
        $commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setFamille($famille);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
        $commandeDetails->setPuHT('0.00');
        $commandeDetails->setPvHT('0.00');
		$commandeDetails->setProduit($produitSpec);
        $commande->addCommandeDetail($commandeDetails);
        // Devis pre-rempli     
		$commandedb = 0;
		if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_COMMERCIAL')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_TELEPRO')){
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_SUPER_COMER')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_GERANT')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		else
		{
			
		}
        //$form = $this->createForm( new CommandeSpecType(), $commande , array(
        $form = $this->createForm(CommandeSpecType::class, $commande , array(
            'action' => $this->generateUrl('tda_new_commandeSpec_new_client', array('agenceId' => $agence->getId(), 'regieId' => $regie->getId(), 'familleId' => $famille->getId())),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'id_agence' => $agence->getId(),
			'id_regie' => $regie->getId(),
            'actualTelepro' => 0,
            'actualOrganisme' => 0,
            'actualOrganisme2' => 0,
            'commandeId' => 0,
            'actualOrganisme3' => 0,
            'actualTitreCommande' => 0,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
            'famille_id' => $familleId,
			'id_provenances' => 0,
        ));
        
        $form2 = $this->createForm(ClientType::class, $client );
        
        $form->handleRequest($request);
        $form2->handleRequest($request);
        
        if ($request->isMethod('POST')) {			
            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
                if(!empty($commerciaux)){
                
                    $logDetails="";                         
                    foreach($commande->getCommandeDetails() as $detail){
						$detail->setProduit($produitSpec);
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
                        $detail->setPuNET($detail->getQuantite() * $detail->getPuHT());
                        $detail->setPvTVA($detail->getPvHT() * $detail->getTva());
                        $detail->setPvTTC($detail->getPvHT() + $detail->getPvTVA());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $Lenom = array();
					$logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						$lenom[] = $value->getUserNom();
                    }
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $em = $this->getDoctrine()->getManager();
                    $em->persist($client);
                    $em->flush();
                    $log1 = new Log();
                    $log1->setIntitule('Création fiche client : '.$client->getNom());
                    $log1->setDetails('id:'.$client->getId().' ### '
                                        . 'nom:'.$client->getNom().' ### '
                                        . 'prenom:'.$client->getPrenom().' ### '
                                        . 'adresse:'.$client->getAdresse1().' ### '
                                        . 'code postal:'.$client->getCodePostal().' ### '
                                        . 'commune:'.$client->getVille().' ### '
                                        . 'telephone:'.$client->getTelephone().' ### '
                                        . 'portable:'.$client->getPortable().' ### '
                                        . 'portable2:'.$client->getPortable2().' ### '
										//. 'agence:'.$client->getAgence().' ### '
                                        . 'etat:'.$client->getEtat());
                    $log1->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log1->setAgence($commande->getAgence());
					$log1->setRegie($commande->getRegie());
                    $em->persist($log1);
                    $commande->setClient($client);
					
						/* Total TTC en lettres */
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie3 = int2str($TTC);
							} else {
								$partie3 = int2str($TTC).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					/* avoir les DE ou les TE */
					$nbComer = count($arrayCommerciaux,0);
					$nbNom = count($lenom,0);
					//echo $nbComer;
					//print_r(array_count_values($arrayCommerciaux));
					$HT = $commande->getTotalHT();
					if (($nbComer == 1)&&($nbNom == 1))
					{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT);
					}
					elseif(($nbComer == 2)&&($nbNom == 2))
					{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT/2);
						$commande->setComerB($lenom['1']);
						$commande->setTotDE($HT/2);
					}
					elseif(($nbComer == 3)&&($nbNom == 3))
					{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT/3);
						$commande->setComerB($lenom['1']);
						$commande->setTotDE($HT/3);
						$commande->setComerC($lenom['2']);
						$commande->setTotTE($HT/3);
					}
					else{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT);
						}
					/**/
                    $em->persist($commande);
                    $em->flush();
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRagie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));
                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
         
        return $this->render('TdaCommandeBundle:Commande:newSpecFromRdv.html.twig', array(
            'form' => $form->createView(),
            'form2' => $form2->createView(),
            'client' => $client,
            'commande' => $commande,
			'id_agence' => $agenceId,
			'id_regie' => $regieId,
            'rdv' => $rdv,
			'commandedb' => $commandedb,
        ));
    }
    /***/
	public function newIsolFromRdvAction(Request $request, $agenceId, $regieId, $familleId, $rdvId)
    {
        function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		
		$commande = new Commande();
        
        $client = new Client();
                
        $agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
        
		$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
		
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
        
        $rdv = $this->getDoctrine()
                    ->getManager()
                    ->getRepository('TdaRendezVousBundle:RendezVous')
                    ->find($rdvId);
					
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
		
        //$client->setAgence($agence);
		$commande->setClient($client);
        $commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setFamille($famille);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
		$commandeDetails->setPuTTC('0.00');
		$commandeDetails->setMtPRC('0.00');
		$commandeDetails->setMtPR('0.00');
		$commandeDetails->setPvTTC('0.00');
        $commande->addCommandeDetail($commandeDetails);
        // Devis pre-rempli     
		$commandedb = 0;
		if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_COMMERCIAL')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_TELEPRO')){
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_SUPER_COMER')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_GERANT')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		else
		{
			
		}
        //$form = $this->createForm( new CommandeType(), $commande , array(
        $form = $this->createForm(CommandeIsolType::class, $commande , array(
            'action' => $this->generateUrl('tda_new_commandeIsol_new_client', array('agenceId' => $agence->getId(), 'regieId' => $regie->getId(), 'familleId' => $famille->getId())),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'id_agence' => $agence->getId(),
			'id_regie' => $regie->getId(),
            'actualTelepro' => 0,
            'actualOrganisme' => 0,
            'actualOrganisme2' => 0,
            'commandeId' => 0,
            'actualOrganisme3' => 0,
            'actualTitreCommande' => 0,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
            'famille_id' => $familleId,
			'id_provenances' => 0,
        ));
        
        $form2 = $this->createForm(ClientType::class, $client );
        
        $form->handleRequest($request);
        $form2->handleRequest($request);
        
        if ($request->isMethod('POST')) {			
            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
                if(!empty($commerciaux)){
                
                    $logDetails="";                         
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
                        $detail->setPuNET($detail->getQuantite() * $detail->getPuHT());
                        $detail->setPvTVA($detail->getPvHT() * $detail->getTva());
                        $detail->setPvTTC($detail->getPvHT() + $detail->getPvTVA());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $Lenom = array();
					$logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						$lenom[] = $value->getUserNom();
                    }
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $em = $this->getDoctrine()->getManager();
                    $em->persist($client);
                    $em->flush();
                    $log1 = new Log();
                    $log1->setIntitule('Création fiche client : '.$client->getNom());
                    $log1->setDetails('id:'.$client->getId().' ### '
                                        . 'nom:'.$client->getNom().' ### '
                                        . 'prenom:'.$client->getPrenom().' ### '
                                        . 'adresse:'.$client->getAdresse1().' ### '
                                        . 'code postal:'.$client->getCodePostal().' ### '
                                        . 'commune:'.$client->getVille().' ### '
                                        . 'telephone:'.$client->getTelephone().' ### '
                                        . 'portable:'.$client->getPortable().' ### '
                                        . 'portable2:'.$client->getPortable2().' ### '
										//. 'agence:'.$client->getAgence().' ### '
                                        . 'etat:'.$client->getEtat());
                    $log1->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log1->setAgence($commande->getAgence());
					$log1->setRegie($commande->getRegie());
                    $em->persist($log1);
                    $commande->setClient($client);
					
						/* Total TTC en lettres */
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie3 = int2str($TTC);
							} else {
								$partie3 = int2str($TTC).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					/* avoir les DE ou les TE */
					$nbComer = count($arrayCommerciaux,0);
					$nbNom = count($lenom,0);
					//echo $nbComer;
					//print_r(array_count_values($arrayCommerciaux));
					$HT = $commande->getTotalHT();
					if (($nbComer == 1)&&($nbNom == 1))
					{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT);
					}
					elseif(($nbComer == 2)&&($nbNom == 2))
					{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT/2);
						$commande->setComerB($lenom['1']);
						$commande->setTotDE($HT/2);
					}
					elseif(($nbComer == 3)&&($nbNom == 3))
					{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT/3);
						$commande->setComerB($lenom['1']);
						$commande->setTotDE($HT/3);
						$commande->setComerC($lenom['2']);
						$commande->setTotTE($HT/3);
					}
					else{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT);
						}
					/**/
                    $em->persist($commande);
                    $em->flush();
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRagie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));
                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
         
        return $this->render('TdaCommandeBundle:Commande:newIsolFromRdv.html.twig', array(
            'form' => $form->createView(),
            'form2' => $form2->createView(),
            'client' => $client,
            'commande' => $commande,
			'id_agence' => $agenceId,
			'id_regie' => $regieId,
            'rdv' => $rdv,
			'commandedb' => $commandedb,
        ));
    }
	/***/
	public function newActFromRdvAction(Request $request, $agenceId, $regieId, $familleId, $rdvId)
    {
        function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		
		$commande = new Commande();
        
        $client = new Client();
                
        $agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
        
		$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
		
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
        
        $rdv = $this->getDoctrine()
                    ->getManager()
                    ->getRepository('TdaRendezVousBundle:RendezVous')
                    ->find($rdvId);
					
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
		
        //$client->setAgence($agence);
        $commande->setClient($client);
        $commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setFamille($famille);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
        $commandeDetails->setPuTTC('0.00');
		$commandeDetails->setMtPRC('0.00');
		$commandeDetails->setMtPR('0.00');
		$commandeDetails->setPvTTC('0.00');
        $commande->addCommandeDetail($commandeDetails);
        // Devis pre-rempli     
		$commandedb = 0;
		if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_COMMERCIAL')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_TELEPRO')){
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_SUPER_COMER')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_GERANT')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		else
		{
			
		}
        //$form = $this->createForm( new CommandeType(), $commande , array(
        $form = $this->createForm(CommandeActType::class, $commande , array(
            'action' => $this->generateUrl('tda_new_commandeAct_new_client', array('agenceId' => $agence->getId(), 'regieId' => $regie->getId(), 'familleId' => $famille->getId())),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'id_agence' => $agence->getId(),
			'id_regie' => $regie->getId(),
            'actualTelepro' => 0,
            'actualOrganisme' => 0,
            'actualOrganisme2' => 0,
            'commandeId' => 0,
            'actualOrganisme3' => 0,
            'actualTitreCommande' => 0,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
            'famille_id' => $familleId,
			'id_provenances' => 0,
        ));
        
        $form2 = $this->createForm(ClientType::class, $client );
        
        $form->handleRequest($request);
        $form2->handleRequest($request);
        
        if ($request->isMethod('POST')) {			
            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
                if(!empty($commerciaux)){
                
                    $logDetails="";                         
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
                        $detail->setPuNET($detail->getQuantite() * $detail->getPuHT());
                        $detail->setPvTVA($detail->getPvHT() * $detail->getTva());
                        $detail->setPvTTC($detail->getPvHT() + $detail->getPvTVA());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $Lenom = array();
					$logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						$lenom[] = $value->getUserNom();
                    }
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $em = $this->getDoctrine()->getManager();
                    $em->persist($client);
                    $em->flush();
                    $log1 = new Log();
                    $log1->setIntitule('Création fiche client : '.$client->getNom());
                    $log1->setDetails('id:'.$client->getId().' ### '
                                        . 'nom:'.$client->getNom().' ### '
                                        . 'prenom:'.$client->getPrenom().' ### '
                                        . 'adresse:'.$client->getAdresse1().' ### '
                                        . 'code postal:'.$client->getCodePostal().' ### '
                                        . 'commune:'.$client->getVille().' ### '
                                        . 'telephone:'.$client->getTelephone().' ### '
                                        . 'portable:'.$client->getPortable().' ### '
                                        . 'portable2:'.$client->getPortable2().' ### '
										//. 'agence:'.$client->getAgence().' ### '
                                        . 'etat:'.$client->getEtat());
                    $log1->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log1->setAgence($commande->getAgence());
					$log1->setRegie($commande->getRegie());
                    $em->persist($log1);
                    $commande->setClient($client);
					
						/* Total TTC en lettres */
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie3 = int2str($TTC);
							} else {
								$partie3 = int2str($TTC).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					/* avoir les DE ou les TE */
					$nbComer = count($arrayCommerciaux,0);
					$nbNom = count($lenom,0);
					//echo $nbComer;
					//print_r(array_count_values($arrayCommerciaux));
					$HT = $commande->getTotalHT();
					if (($nbComer == 1)&&($nbNom == 1))
					{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT);
					}
					elseif(($nbComer == 2)&&($nbNom == 2))
					{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT/2);
						$commande->setComerB($lenom['1']);
						$commande->setTotDE($HT/2);
					}
					elseif(($nbComer == 3)&&($nbNom == 3))
					{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT/3);
						$commande->setComerB($lenom['1']);
						$commande->setTotDE($HT/3);
						$commande->setComerC($lenom['2']);
						$commande->setTotTE($HT/3);
					}
					else{
						$commande->setComerA($lenom['0']);
						$commande->setTotAE($HT);
						}
					/**/
                    $em->persist($commande);
                    $em->flush();
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRagie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));
                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
         
        return $this->render('TdaCommandeBundle:Commande:newActFromRdv.html.twig', array(
            'form' => $form->createView(),
            'form2' => $form2->createView(),
            'client' => $client,
            'commande' => $commande,
			'id_agence' => $agenceId,
			'id_regie' => $regieId,
            'rdv' => $rdv,
			'commandedb' => $commandedb,
        ));
    }
	/***/
	public function newACSpecAction(Request $request, $clientId, $familleId, $agenceId, $regieId)
    {
        $user= $this->container->get('security.token_storage')->getToken()->getUser();
		function initiales($string)
		{
				$initiale = $string{0};
		
			return strtoupper($initiale);
		}
		
		function initiales2($string)
		{
			$words = $string{0}.$string{1};
	
			return strtoupper($words);
		}
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		$commande = new Commande();
        
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
        
        $client = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaClientBundle:Client')
                       ->find($clientId);
        
        $produitSpec = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Produit')
                       ->find('140');
					   
        $agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
					   
		 $regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
					   
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
         
        $commande->setClient($client);
        $commande->setFamille($famille);
        $commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setTotalTTC(0);
        $commande->setTotalHT(0);
        $commande->setTotalTVA(0);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
        $commandeDetails->setPuHT('0.00');
        $commandeDetails->setPvHT('0.00');
        $commandeDetails->setProduit($produitSpec);
        $commande->addCommandeDetail($commandeDetails);
		$Lenom = array();
        /**/
		// Devis pre-remplie par role
		$commandedb = 0;
		if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_COMMERCIAL')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			/*
			$commande->setDevis($aNum.$cNum);
			$user->setCommandeNum(($cNum+1));							
			*/
			// Foire de tours
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}							
		}elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_TELEPRO')){
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			/*
			$commande->setDevis($aNum.$cNum);
			$user->setCommandeNum(($cNum+1));							
			*/
			// Foire de tours
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}							
		}elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_SUPER_COMER'))
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}			
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_GERANT'))
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}			
		}
		else
		{
			
		}
		/**/
		$arrayCommerciaux = array();		
        //$form = $this->createForm( new CommandeSpecType(), $commande , array(
        $form = $this->createForm(CommandeSpecType::class, $commande , array(
            'action' => $this->generateUrl('tda_new_commandeSpec_client', array('clientId'=> $clientId , 'familleId' => $famille->getId(), 'agenceId'=> $agenceId, 'regieId'=> $regieId)),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            //'id_agence' => $client->getAgence()->getId(),
            'actualTelepro' => 0,
            'actualOrganisme' => 0,
            'actualOrganisme2' => 0,
            'actualOrganisme3' => 0,
            'commandeId' => 0,
            'actualTitreCommande' => 0,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
			'id_regie'=> $regieId,
			'id_agence'=> $agenceId,
            'famille_id' => $familleId,
			'id_provenances' => 0,
        ));
        
        $form->handleRequest($request);
        
        if ($request->isMethod('POST')) {
            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
                if(!empty($commerciaux)){
                    $logDetails="";                         
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setProduit($produitSpec);
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        //$detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getUnite());
                        $detail->setPuNET($detail->getQuantite() * $detail->getPuHT());
                        $detail->setPvTVA($detail->getPvHT() * $detail->getTva());
                        $detail->setPvTTC($detail->getPvHT() + $detail->getPvTVA());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						array_push($arrayCommerciaux, $commercial->getId());
						$lenom[] = $commercial->getUserNom();
                    }
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";
					
						/* Total TTC en lettres */
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie3 = int2str($TTC);
							} else {
								$partie3 = int2str($TTC).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					/* avoir les DE ou les TE */
						$nbComer = count($arrayCommerciaux,0);
						$nbNom = count($lenom,0);
						//echo $nbComer;
						//print_r(array_count_values($arrayCommerciaux));
						$HT = $commande->getTotalHT();
						if (($nbComer == 1)&&($nbNom == 1))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
						}
						elseif(($nbComer == 2)&&($nbNom == 2))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/2);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/2);
						}
						elseif(($nbComer == 3)&&($nbNom == 3))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/3);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/3);
							$commande->setComerC($lenom['2']);
							$commande->setTotTE($HT/3);
						}
						else{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
							}
					/**/
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $em->flush();
					
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();
					
                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));

                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
               
        return $this->render('TdaCommandeBundle:Commande:newACSpec.html.twig', array(
            'form' => $form->createView(),
            'client' => $client,
            'commande' => $commande,
			'id_agence'=> $agenceId,
			'id_regie'=> $regieId,
			'commandedb' => $commandedb,
        ));
    }
	
    public function newSCSpecAction(Request $request, $agenceId, $regieId, $familleId)
    {
        $user= $this->container->get('security.token_storage')->getToken()->getUser();
		function initiales($string)
		{
				$initiale = $string{0};
		
			return strtoupper($initiale);
		}
		function initiales2($string)
		{
			$words = $string{0}.$string{1};
	
			return strtoupper($words);
		}
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		$commande = new Commande();
        
        $client = new Client();
        
        
        $agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
					   
		$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
        
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
        
        $produitSpec = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Produit')
                       ->find('140');
					   
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
		
        $client->setRegie($regie);        
        //$client->setAgence($agence);
        $commande->setClient($client);
        $commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setFamille($famille);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
        $commandeDetails->setPuHT('0.00');
        $commandeDetails->setPvHT('0.00');
        $commandeDetails->setProduit($produitSpec);
        $commande->addCommandeDetail($commandeDetails);
		$Lenom = array();
        /**/
		// Devis pre-remplie par role
		$commandedb = 0;
		if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_COMMERCIAL')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			/*
			$commande->setDevis($aNum.$cNum);
			$user->setCommandeNum(($cNum+1));							
			*/
			// Foire de tours
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}
			}			
		}elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_TELEPRO')){
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			/*
			$commande->setDevis($aNum.$cNum);
			$user->setCommandeNum(($cNum+1));							
			*/
			// Foire de tours
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}
			}			
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_SUPER_COMER')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}
			}
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_GERANT'))
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}
			}
		}
		else
		{
			
		}
		/**/
		$arrayCommerciaux = array();
		
				//$form = $this->createForm( new CommandeSpecType(), $commande , array(
				$form = $this->createForm(CommandeSpecType::class, $commande , array(
				'action' => $this->generateUrl('tda_new_commandeSpec_new_client', array('agenceId' => $agence->getId(), 'regieId' => $regie->getId(), 'familleId' => $famille->getId())),
				'method' => 'POST',
				'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
				'id_agence' => $agence->getId(),
				'id_regie' => $regie->getId(),
				'actualTelepro' => 0,
				'actualOrganisme' => 0,
				'actualOrganisme2' => 0,
				'commandeId' => 0,
				'actualOrganisme3' => 0,
				'actualTitreCommande' => 0,
				'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
				'famille_id' => $familleId,
				'id_provenances' => 0,
			));
		
        $form2 = $this->createForm(ClientType::class, $client );

        $form->handleRequest($request);
        $form2->handleRequest($request);
        
        if ($request->isMethod('POST')) {			
            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
                if(!empty($commerciaux)){
                
                    $logDetails="";                         
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setProduit($produitSpec);
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        //$detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getUnite());
                        $detail->setPuNET($detail->getQuantite() * $detail->getPuHT());
                        $detail->setPvTVA($detail->getPvHT() * $detail->getTva());
                        $detail->setPvTTC($detail->getPvHT() + $detail->getPvTVA());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						array_push($arrayCommerciaux, $commercial->getId());
						$lenom[] = $commercial->getUserNom();	
						
                    }
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $em = $this->getDoctrine()->getManager();
                    $em->persist($client);
                    $em->flush();
                    $log1 = new Log();
                    $log1->setIntitule('Création fiche client : '.$client->getNom());
                    $log1->setDetails('id:'.$client->getId().' ### '
                                        . 'nom:'.$client->getNom().' ### '
                                        . 'prenom:'.$client->getPrenom().' ### '
                                        . 'adresse:'.$client->getAdresse1().' ### '
                                        . 'code postal:'.$client->getCodePostal().' ### '
                                        . 'commune:'.$client->getVille().' ### '
                                        . 'telephone:'.$client->getTelephone().' ### '
                                        . 'portable:'.$client->getPortable().' ### '
                                        . 'portable2:'.$client->getPortable2().' ### '
										//. 'agence:'.$client->getAgence().' ### '
                                        . 'etat:'.$client->getEtat());
                    $log1->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log1->setAgence($commande->getAgence());
					$log1->setRegie($commande->getRegie());
                    $em->persist($log1);
                    $commande->setClient($client);
					
						/* Total TTC en lettres */
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie3 = int2str($TTC);
							} else {
								$partie3 = int2str($TTC).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					/* avoir les DE ou les TE */
						$nbComer = count($arrayCommerciaux,0);
						$nbNom = count($lenom,0);
						//echo $nbComer;
						//print_r(array_count_values($arrayCommerciaux));
						$HT = $commande->getTotalHT();
						if (($nbComer == 1)&&($nbNom == 1))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
						}
						elseif(($nbComer == 2)&&($nbNom == 2))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/2);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/2);
						}
						elseif(($nbComer == 3)&&($nbNom == 3))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/3);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/3);
							$commande->setComerC($lenom['2']);
							$commande->setTotTE($HT/3);
						}
						else{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
							}
					/**/
                    $em->persist($commande);
                    $em->flush();
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));
                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
               
        return $this->render('TdaCommandeBundle:Commande:newSCSpec.html.twig', array(
            'form' => $form->createView(),
            'form2' => $form2->createView(),
            'client' => $client,
            'commande' => $commande,
			'commandedb' => $commandedb,
        ));
    }
	/** nouvelle commande pour la famille isolation a un euro **/
	public function newACIsolAction(Request $request, $clientId, $familleId, $agenceId ,$regieId)
    {
		$user= $this->container->get('security.token_storage')->getToken()->getUser();
		function initiales($string)
		{
				$initiale = $string{0};
		
			return strtoupper($initiale);
		}
		function initiales2($string)
		{
			$words = $string{0}.$string{1};
	
			return strtoupper($words);
		}
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		$commande = new Commande();
		
		$agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
        
		$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
		
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
		
        $client = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaClientBundle:Client')
                       ->find($clientId);
		
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
		
        $commande->setClient($client);
        $commande->setFamille($famille);
        //$commande->setAgence($client->getAgence());
		$commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setTotalTTC(0);
        $commande->setTotalHT(0);
        $commande->setTotalTVA(0);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
		$commandeDetails->setPuTTC('0.00');
		$commandeDetails->setMtPRC('0.00');
		$commandeDetails->setMtPR('0.00');
		$commandeDetails->setPvTTC('0.00');
        $commande->addCommandeDetail($commandeDetails);
        $Lenom = array();
		/**/
		// Devis pre-remplie par role
		$commandedb = 0;
		if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_COMMERCIAL')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_TELEPRO')){
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_SUPER_COMER')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_GERANT')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		else
		{
			
		}
		
		/**/
		$arrayCommerciaux = array();
        //$form = $this->createForm( new CommandeType(), $commande , array(
        $form = $this->createForm(CommandeIsolType::class, $commande , array(
            'action' => $this->generateUrl('tda_new_commandeIsol_client', array('clientId'=> $clientId, 'familleId' => $famille->getId(), 'agenceId'=> $agenceId, 'regieId'=> $regieId)),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'actualTelepro' => 0,
            'actualOrganisme' => 0,
            'actualOrganisme2' => 0,
            'actualOrganisme3' => 0,
            'commandeId' => 0,
            'actualTitreCommande' => 0,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
			'id_agence' => $agenceId,
			'id_regie' => $regieId,
			'id_provenances' => 0,
            'famille_id' => $familleId,
        ));
        $form->handleRequest($request);
        if ($request->isMethod('POST')) {

            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
				
                if(!empty($commerciaux)){
                    $logDetails="";
                    foreach($commande->getCommandeDetails() as $detail){
                        if(!empty($detail->getProduit()->getReference()))
						{
							$detail->setReference($detail->getProduit()->getReference());
						}else
						{
							$detail->setReference(null);
						}
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
						$detail->setPvTTC($detail->getPuTTC() * $detail->getQuantite());
						$detail->setPuNET($detail->getPvTTC() / $detail->getTva());
						$detail->setPuHT($detail->getPvTTC() / $detail->getTva());
						$detail->setPvHT($detail->getPvTTC() / $detail->getTva());
                        $detail->setPvTVA($detail->getPvTTC() - $detail->getPvHT());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						array_push($arrayCommerciaux, $commercial->getId());
						$lenom[] = $commercial->getUserNom();
                    }
						
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";
						
						/* Total TTC en lettres isol*/
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setEnlettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie5 = int2str($TTC);
							} else {
								$partie5 = int2str($TTC).' euros';
							}
							 $commande->setEnlettres($partie5);
						}
						
					}
					/* Le reste en lettres isol*/
					$Lereste = $commande->getReste();
					if($Lereste=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($Lereste)){
							if (preg_match("/\beuros\b/i", int2str($Lereste))) {
								$partie3 = int2str($Lereste);
							} else {
								$partie3 = int2str($Lereste).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					$Lerestebis = $commande->getRestebis();
					if($Lerestebis=='0.00')
					{
						$commande->setLettresbis('zero euro');
					}else{
						if(!empty($Lerestebis)){
							if (preg_match("/\beuros\b/i", int2str($Lerestebis))) {
								$partie4 = int2str($Lerestebis);
							} else {
								$partie4 = int2str($Lerestebis).' euros';
							}
							 $commande->setLettresbis($partie4);
						}
					}
					/* avoir les DE ou les TE */
						$nbComer = count($arrayCommerciaux,0);
						$nbNom = count($lenom,0);
						//echo $nbComer;
						//print_r(array_count_values($arrayCommerciaux));
						$HT = $commande->getTotalHT();
						if (($nbComer == 1)&&($nbNom == 1))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
						}
						elseif(($nbComer == 2)&&($nbNom == 2))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/2);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/2);
						}
						elseif(($nbComer == 3)&&($nbNom == 3))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/3);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/3);
							$commande->setComerC($lenom['2']);
							$commande->setTotTE($HT/3);
						}
						else{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
							}
					/**/
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $em->flush();
					
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();
					
                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));

                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
		 
        return $this->render('TdaCommandeBundle:Commande:newACIsol.html.twig', array(
            'form' => $form->createView(),
            'client' => $client,
            'commande' => $commande,
			'id_agence' => $agenceId,
			'id_regie' => $regieId,
			'commandedb' => $commandedb,
        ));
    }
        
    public function newSCIsolAction(Request $request, $agenceId, $regieId, $familleId)
    {
        $user= $this->container->get('security.token_storage')->getToken()->getUser();
		function initiales($string)
		{
				$initiale = $string{0};
		
			return strtoupper($initiale);
		}
		
		function initiales2($string)
		{
			$words = $string{0}.$string{1};
	
			return strtoupper($words);
		}
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		$commande = new Commande();
        
        $client = new Client();
        
        
        $agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
        
		$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
		
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
					   
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
					  
        $client->setRegie($regie);        
        //$client->setAgence($agence);
        $commande->setClient($client);
        $commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setFamille($famille);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
		$commandeDetails->setPuTTC('0.00');
		$commandeDetails->setMtPRC('0.00');
		$commandeDetails->setMtPR('0.00');
		$commandeDetails->setPvTTC('0.00');
        $commande->addCommandeDetail($commandeDetails);
		$Lenom = array();
        /**/
		// Devis pre-remplie par role
		$commandedb	= 0;
		if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_COMMERCIAL')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			/*
			$commande->setDevis($aNum.$cNum);
			$user->setCommandeNum(($cNum+1));							
			*/
			// Foire de tours
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}								
		}elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_TELEPRO')){
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			/*
			$commande->setDevis($aNum.$cNum);
			$user->setCommandeNum(($cNum+1));							
			*/
			// Foire de tours
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}								
		}elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_SUPER_COMER'))
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}			
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_GERANT'))
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}			
		}else
		{
			
		}
		/**/
		$arrayCommerciaux = array();     
        //$form = $this->createForm( new CommandeType(), $commande , array(
        $form = $this->createForm(CommandeIsolType::class, $commande , array(
            'action' => $this->generateUrl('tda_new_commandeIsol_new_client', array('agenceId' => $agence->getId(), 'regieId' => $regie->getId(), 'familleId' => $famille->getId())),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'id_agence' => $agence->getId(),
			'id_regie' => $regie->getId(),
            'actualTelepro' => 0,
            'actualOrganisme' => 0,
            'actualOrganisme2' => 0,
            'commandeId' => 0,
            'actualOrganisme3' => 0,
            'actualTitreCommande' => 0,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
            'famille_id' => $familleId,
			'id_provenances' => 0,
        ));
        
        $form2 = $this->createForm(ClientType::class, $client );
        
        $form->handleRequest($request);
        $form2->handleRequest($request);
        
        if ($request->isMethod('POST')) {			
            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
                if(!empty($commerciaux)){
                
                    $logDetails="";                         
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
						$detail->setPvTTC($detail->getPuTTC() * $detail->getQuantite());
						$detail->setPuNET($detail->getPvTTC() / $detail->getTva());
						$detail->setPuHT($detail->getPvTTC() / $detail->getTva());
						$detail->setPvHT($detail->getPvTTC() / $detail->getTva());
                        $detail->setPvTVA($detail->getPvTTC() - $detail->getPvHT());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						array_push($arrayCommerciaux, $commercial->getId());
						$lenom[] = $commercial->getUserNom();
                    }
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";
					
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($client);
                    $em->flush();
                    $log1 = new Log();
                    $log1->setIntitule('Création fiche client : '.$client->getNom());
                    $log1->setDetails('id:'.$client->getId().' ### '
                                        . 'nom:'.$client->getNom().' ### '
                                        . 'prenom:'.$client->getPrenom().' ### '
                                        . 'adresse:'.$client->getAdresse1().' ### '
                                        . 'code postal:'.$client->getCodePostal().' ### '
                                        . 'commune:'.$client->getVille().' ### '
                                        . 'telephone:'.$client->getTelephone().' ### '
                                        . 'portable:'.$client->getPortable().' ### '
                                        . 'portable2:'.$client->getPortable2().' ### '
										//. 'agence:'.$client->getAgence().' ### '
                                        . 'etat:'.$client->getEtat());
                    $log1->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log1->setAgence($commande->getAgence());
					$log1->setRegie($commande->getRegie());
                    $em->persist($log1);
                    $commande->setClient($client);
					
						/* Total TTC en lettres isol*/
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setEnlettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie5 = int2str($TTC);
							} else {
								$partie5 = int2str($TTC).' euros';
							}
							 $commande->setEnlettres($partie5);
						}
						
					}
					/* Le reste en lettres isol*/
					$Lereste = $commande->getReste();
					if($Lereste=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($Lereste)){
							if (preg_match("/\beuros\b/i", int2str($Lereste))) {
								$partie3 = int2str($Lereste);
							} else {
								$partie3 = int2str($Lereste).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					$Lerestebis = $commande->getRestebis();
					if($Lerestebis=='0.00')
					{
						$commande->setLettresbis('zero euro');
					}else{
						if(!empty($Lerestebis)){
							if (preg_match("/\beuros\b/i", int2str($Lerestebis))) {
								$partie4 = int2str($Lerestebis);
							} else {
								$partie4 = int2str($Lerestebis).' euros';
							}
							 $commande->setLettresbis($partie4);
						}
					}
					/* avoir les DE ou les TE */
						$nbComer = count($arrayCommerciaux,0);
						$nbNom = count($lenom,0);
						//echo $nbComer;
						//print_r(array_count_values($arrayCommerciaux));
						$HT = $commande->getTotalHT();
						if (($nbComer == 1)&&($nbNom == 1))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
						}
						elseif(($nbComer == 2)&&($nbNom == 2))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/2);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/2);
						}
						elseif(($nbComer == 3)&&($nbNom == 3))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/3);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/3);
							$commande->setComerC($lenom['2']);
							$commande->setTotTE($HT/3);
						}
						else{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
							}
					/**/
                    $em->persist($commande);
                    $em->flush();
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));
                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
               
        return $this->render('TdaCommandeBundle:Commande:newSCIsol.html.twig', array(
            'form' => $form->createView(),
            'form2' => $form2->createView(),
            'client' => $client,
            'commande' => $commande,
			'commandedb' => $commandedb,
        ));
    }
	/** fin isolation a un euro ( nouvelle commande ) **/
    /**  nouvelle commande entre l'agence et la SCP  **/
	public function newACSCPAction(Request $request, $clientId, $familleId, $agenceId ,$regieId)
    {
		$user= $this->container->get('security.token_storage')->getToken()->getUser();
		function initiales($string)
		{
				$initiale = $string{0};
		
			return strtoupper($initiale);
		}
		function initiales2($string)
		{
			$words = $string{0}.$string{1};
	
			return strtoupper($words);
		}
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		$commande = new Commande();
		
		$agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
        
		
		
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
        if($agenceId==1)
		{
			$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find(9);
		}
		elseif($agenceId==2)
		{
			$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find(10);
		}
		elseif($agenceId==3)
		{
			$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find(11);
		}
		else
		{
			$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
		}
		if($regieId==4)
		{
			$ScpCli='7670';
		}
		elseif($regieId==5)
		{
			
		}
		else
		{
			
		}
		
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
		
        $client = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaClientBundle:Client')
                       ->find($ScpCli);

        $commande->setClient($client);
        $commande->setFamille($famille);

		$commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setTotalTTC(0);
        $commande->setTotalHT(0);
        $commande->setTotalTVA(0);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
        $commandeDetails->setPuHT('0.00');
        $commandeDetails->setPvHT('0.00');
        $commande->addCommandeDetail($commandeDetails);
        $Lenom = array();
		$arrayCommerciaux = array();
        //$form = $this->createForm( new CommandeSCPType(), $commande , array(
        $form = $this->createForm(CommandeSCPType::class, $commande , array(
            'action' => $this->generateUrl('tda_new_commandeSCP_client', array('clientId'=> $clientId, 'familleId' => $famille->getId(), 'agenceId'=> $agenceId, 'regieId'=> $regieId)),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'actualTelepro' => 0,
            'actualOrganisme' => 0,
            'actualOrganisme2' => 0,
            'actualOrganisme3' => 0,
            'commandeId' => 0,
            'actualTitreCommande' => 0,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
			'id_agence' => $agenceId,
			'id_regie' => $regieId,
            'famille_id' => $familleId,
			'id_provenances' => 0,
        ));
        $form->handleRequest($request);
        if ($request->isMethod('POST')) {

            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
				
                if(!empty($commerciaux)){
                    $logDetails="";
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
                        $detail->setPuNET($detail->getQuantite() * $detail->getPuHT());
                        $detail->setPvTVA($detail->getPvHT() * $detail->getTva());
                        $detail->setPvTTC($detail->getPvHT() + $detail->getPvTVA());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						array_push($arrayCommerciaux, $commercial->getId());
						$lenom[] = $commercial->getUserNom();
                    }
						
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";
						
						/* Total TTC en lettres */
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie3 = int2str($TTC);
							} else {
								$partie3 = int2str($TTC).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					/* avoir les DE ou les TE */
						$nbComer = count($arrayCommerciaux,0);
						$nbNom = count($lenom,0);
						//echo $nbComer;
						//print_r(array_count_values($arrayCommerciaux));
						$HT = $commande->getTotalHT();
						if (($nbComer == 1)&&($nbNom == 1))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
						}
						elseif(($nbComer == 2)&&($nbNom == 2))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/2);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/2);
						}
						elseif(($nbComer == 3)&&($nbNom == 3))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/3);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/3);
							$commande->setComerC($lenom['2']);
							$commande->setTotTE($HT/3);
						}
						else{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
							}
					/**/
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $em->flush();
					
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();
					
                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));

                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
		 
        return $this->render('TdaCommandeBundle:Commande:newACSCP.html.twig', array(
            'form' => $form->createView(),
            'client' => $client,
            'commande' => $commande,
			'id_agence' => $agenceId,
			'id_regie' => $regieId,
        ));
    }
	/** fin de la nouvelle commande entre l'agence et la SCP **/
	/** nouvelle commande pour la famille action logement **/
	public function newACActAction(Request $request, $clientId, $familleId, $agenceId ,$regieId)
    {
		$user= $this->container->get('security.token_storage')->getToken()->getUser();
		function initiales($string)
		{
				$initiale = $string{0};
		
			return strtoupper($initiale);
		}
		function initiales2($string)
		{
			$words = $string{0}.$string{1};
	
			return strtoupper($words);
		}
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		$commande = new Commande();
		
		$agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
        
		$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
		
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
		
        $client = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaClientBundle:Client')
                       ->find($clientId);
		
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
		
        $commande->setClient($client);
        $commande->setFamille($famille);
        //$commande->setAgence($client->getAgence());
		$commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setTotalTTC(0);
        $commande->setTotalHT(0);
        $commande->setTotalTVA(0);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
		$commandeDetails->setPuTTC('0.00');
		$commandeDetails->setMtPRC('0.00');
		$commandeDetails->setMtPR('0.00');
		$commandeDetails->setPvTTC('0.00');
        $commande->addCommandeDetail($commandeDetails);
        $Lenom = array();
		/**/
		// Devis pre-remplie par role
		$commandedb = 0;
		if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_COMMERCIAL')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_TELEPRO')){
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_SUPER_COMER')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_GERANT')) 
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
				
			}
			
		}
		else
		{
			
		}
		
		/**/
		$arrayCommerciaux = array();
        $form = $this->createForm(CommandeActType::class, $commande , array(
            'action' => $this->generateUrl('tda_new_commandeAct_client', array('clientId'=> $clientId, 'familleId' => $famille->getId(), 'agenceId'=> $agenceId, 'regieId'=> $regieId)),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'actualTelepro' => 0,
            'actualOrganisme' => 0,
            'actualOrganisme2' => 0,
            'actualOrganisme3' => 0,
            'commandeId' => 0,
            'actualTitreCommande' => 0,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
			'id_agence' => $agenceId,
			'id_regie' => $regieId,
			'id_provenances' => 0,
            'famille_id' => $familleId,
        ));
        $form->handleRequest($request);
        if ($request->isMethod('POST')) {

            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
				
                if(!empty($commerciaux)){
                    $logDetails="";
                    foreach($commande->getCommandeDetails() as $detail){
                        if(!empty($detail->getProduit()->getReference()))
						{
							$detail->setReference($detail->getProduit()->getReference());
						}else
						{
							$detail->setReference(null);
						}
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
						$detail->setPvTTC($detail->getPuTTC() * $detail->getQuantite());
						$detail->setPuNET($detail->getPvTTC() / $detail->getTva());
						$detail->setPuHT($detail->getPvTTC() / $detail->getTva());
						$detail->setPvHT($detail->getPvTTC() / $detail->getTva());
                        $detail->setPvTVA($detail->getPvTTC() - $detail->getPvHT());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						array_push($arrayCommerciaux, $commercial->getId());
						$lenom[] = $commercial->getUserNom();
                    }
						
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";
						
						/* Total TTC en lettres act*/
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setEnlettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie5 = int2str($TTC);
							} else {
								$partie5 = int2str($TTC).' euros';
							}
							 $commande->setEnlettres($partie5);
						}
						
					}
					/* Le reste en lettres act*/
					$Lereste = $commande->getReste();
					if($Lereste=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($Lereste)){
							if (preg_match("/\beuros\b/i", int2str($Lereste))) {
								$partie3 = int2str($Lereste);
							} else {
								$partie3 = int2str($Lereste).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					$Lerestebis = $commande->getRestebis();
					if($Lerestebis=='0.00')
					{
						$commande->setLettresbis('zero euro');
					}else{
						if(!empty($Lerestebis)){
							if (preg_match("/\beuros\b/i", int2str($Lerestebis))) {
								$partie4 = int2str($Lerestebis);
							} else {
								$partie4 = int2str($Lerestebis).' euros';
							}
							 $commande->setLettresbis($partie4);
						}
					}
					/* avoir les DE ou les TE */
						$nbComer = count($arrayCommerciaux,0);
						$nbNom = count($lenom,0);
						//echo $nbComer;
						//print_r(array_count_values($arrayCommerciaux));
						$HT = $commande->getTotalHT();
						if (($nbComer == 1)&&($nbNom == 1))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
						}
						elseif(($nbComer == 2)&&($nbNom == 2))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/2);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/2);
						}
						elseif(($nbComer == 3)&&($nbNom == 3))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/3);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/3);
							$commande->setComerC($lenom['2']);
							$commande->setTotTE($HT/3);
						}
						else{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
							}
					/**/
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $em->flush();
					
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();
					
                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));

                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
		 
        return $this->render('TdaCommandeBundle:Commande:newACAct.html.twig', array(
            'form' => $form->createView(),
            'client' => $client,
            'commande' => $commande,
			'id_agence' => $agenceId,
			'id_regie' => $regieId,
			'commandedb' => $commandedb,
        ));
    }
        
    public function newSCActAction(Request $request, $agenceId, $regieId, $familleId)
    {
        $user= $this->container->get('security.token_storage')->getToken()->getUser();
		function initiales($string)
		{
				$initiale = $string{0};
		
			return strtoupper($initiale);
		}
		
		function initiales2($string)
		{
			$words = $string{0}.$string{1};
	
			return strtoupper($words);
		}
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		$commande = new Commande();
        
        $client = new Client();
        
        
        $agence = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Agence')
                       ->find($agenceId);
        
		$regie = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Regie')
                       ->find($regieId);
		
        $famille = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Famille')
                       ->find($familleId);
					   
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
					  
        $client->setRegie($regie);        
        //$client->setAgence($agence);
        $commande->setClient($client);
        $commande->setAgence($agence);
		$commande->setRegie($regie);
        $commande->setFamille($famille);
        $commandeDetails = new CommandeDetails();
        $commandeDetails->setQuantite(1);
		$commandeDetails->setPuTTC('0.00');
		$commandeDetails->setMtPRC('0.00');
		$commandeDetails->setMtPR('0.00');
		$commandeDetails->setPvTTC('0.00');
        $commande->addCommandeDetail($commandeDetails);
		$Lenom = array();
        /**/
		// Devis pre-remplie par role
		$commandedb	= 0;
		if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_COMMERCIAL')){	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			
			// Foire de tours
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}								
		}elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_TELEPRO')){
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			
			// Foire de tours
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}								
		}elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_SUPER_COMER'))
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}
		}			
		elseif ($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_GERANT'))
		{	
			$cNum = $user->getCommandeNum();
			$aNum = $user->getCommandeFix();
			$aFam = $commande->getProvenances();
			if($aFam == 'FAM')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FAX')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			elseif($aFam == 'FDT17')
			{
				$commande->setDevis($aFam.$aNum.$cNum);
				$user->setCommandeNum(($cNum+1));
			}
			else
			{
				$commanded = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
				if($commanded > 0)
				{
					$commandedb = $commanded;
					while($commandedb > 0)
					{
						$cNum=$cNum+1;
						$commandedb = $this->getDoctrine()
						   ->getManager()
						   ->getRepository('TdaCommandeBundle:Commande')
						   ->getNBDevis($aNum.$cNum);
						$commande->setDevis($aNum.$cNum);
						$user->setCommandeNum(($cNum+1));
					}	   
					
					
				}else
				{
					$commande->setDevis($aNum.$cNum);
					$user->setCommandeNum(($cNum+1));
				}		   
			}			
		}else
		{
			
		}
		/**/
		$arrayCommerciaux = array();     
        $form = $this->createForm(CommandeActType::class, $commande , array(
            'action' => $this->generateUrl('tda_new_commandeAct_new_client', array('agenceId' => $agence->getId(), 'regieId' => $regie->getId(), 'familleId' => $famille->getId())),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'id_agence' => $agence->getId(),
			'id_regie' => $regie->getId(),
            'actualTelepro' => 0,
            'actualOrganisme' => 0,
            'actualOrganisme2' => 0,
            'commandeId' => 0,
            'actualOrganisme3' => 0,
            'actualTitreCommande' => 0,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
            'famille_id' => $familleId,
			'id_provenances' => 0,
        ));
        
        $form2 = $this->createForm(ClientType::class, $client );
        
        $form->handleRequest($request);
        $form2->handleRequest($request);
        
        if ($request->isMethod('POST')) {			
            if ($form->isValid()){
                $data = $form->getData();
                
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
                
                $commerciaux = $commande->getCommerciaux();
                if(!empty($commerciaux)){
                
                    $logDetails="";                         
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
						$detail->setPvTTC($detail->getPuTTC() * $detail->getQuantite());
						$detail->setPuNET($detail->getPvTTC() / $detail->getTva());
						$detail->setPuHT($detail->getPvTTC() / $detail->getTva());
						$detail->setPvHT($detail->getPvTTC() / $detail->getTva());
                        $detail->setPvTVA($detail->getPvTTC() - $detail->getPvHT());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						array_push($arrayCommerciaux, $commercial->getId());
						$lenom[] = $commercial->getUserNom();
                    }
                    $logMention = "";
                    if($commande->getMentionCommande()){
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";
					
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($client);
                    $em->flush();
                    $log1 = new Log();
                    $log1->setIntitule('Création fiche client : '.$client->getNom());
                    $log1->setDetails('id:'.$client->getId().' ### '
                                        . 'nom:'.$client->getNom().' ### '
                                        . 'prenom:'.$client->getPrenom().' ### '
                                        . 'adresse:'.$client->getAdresse1().' ### '
                                        . 'code postal:'.$client->getCodePostal().' ### '
                                        . 'commune:'.$client->getVille().' ### '
                                        . 'telephone:'.$client->getTelephone().' ### '
                                        . 'portable:'.$client->getPortable().' ### '
                                        . 'portable2:'.$client->getPortable2().' ### '
										//. 'agence:'.$client->getAgence().' ### '
                                        . 'etat:'.$client->getEtat());
                    $log1->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log1->setAgence($commande->getAgence());
					$log1->setRegie($commande->getRegie());
                    $em->persist($log1);
                    $commande->setClient($client);
					
						/* Total TTC en lettres act*/
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setEnlettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie5 = int2str($TTC);
							} else {
								$partie5 = int2str($TTC).' euros';
							}
							 $commande->setEnlettres($partie5);
						}
						
					}
					/* Le reste en lettres isol*/
					$Lereste = $commande->getReste();
					if($Lereste=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($Lereste)){
							if (preg_match("/\beuros\b/i", int2str($Lereste))) {
								$partie3 = int2str($Lereste);
							} else {
								$partie3 = int2str($Lereste).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					$Lerestebis = $commande->getRestebis();
					if($Lerestebis=='0.00')
					{
						$commande->setLettresbis('zero euro');
					}else{
						if(!empty($Lerestebis)){
							if (preg_match("/\beuros\b/i", int2str($Lerestebis))) {
								$partie4 = int2str($Lerestebis);
							} else {
								$partie4 = int2str($Lerestebis).' euros';
							}
							 $commande->setLettresbis($partie4);
						}
					}
					/* avoir les DE ou les TE */
						$nbComer = count($arrayCommerciaux,0);
						$nbNom = count($lenom,0);
						//echo $nbComer;
						//print_r(array_count_values($arrayCommerciaux));
						$HT = $commande->getTotalHT();
						if (($nbComer == 1)&&($nbNom == 1))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
						}
						elseif(($nbComer == 2)&&($nbNom == 2))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/2);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/2);
						}
						elseif(($nbComer == 3)&&($nbNom == 3))
						{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT/3);
							$commande->setComerB($lenom['1']);
							$commande->setTotDE($HT/3);
							$commande->setComerC($lenom['2']);
							$commande->setTotTE($HT/3);
						}
						else{
							$commande->setComerA($lenom['0']);
							$commande->setTotAE($HT);
							}
					/**/
                    $em->persist($commande);
                    $em->flush();
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer une nouvelle commande', '5000'));
                    return $this->redirect($this->generateUrl("tda_new_fiche_travaux", array('id'=> $commande->getId())));
                }
                else{
                    $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Vous devez sélectionner un commercial', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue dans la création de la commande', '5000'));
            }
        }
               
        return $this->render('TdaCommandeBundle:Commande:newSCAct.html.twig', array(
            'form' => $form->createView(),
            'form2' => $form2->createView(),
            'client' => $client,
            'commande' => $commande,
			'commandedb' => $commandedb,
        ));
    }
	/** fin action logement ( nouvelle commande ) **/
    public function editAction(Request $request, $id)
    {
		//$user= $this->container->get('security.token_storage')->getToken()->getUser();
		//$userNonLock = $user->isAccountNonLocked();
		///print_r($userNonLock);
		//if($userNonLock==1){
		/**/
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			}elseif ($a<20){
					return 'dix-'.int2str($a-10);
			}elseif ($a<100){
					if ($a%10==0){
						switch ($a){
							case 20: return 'vingt';
							case 30: return 'trente';
							case 40: return 'quarante';
							case 50: return 'cinquante';
							case 60: return 'soixante';
							case 70: return 'soixante-dix';
							case 80: return 'quatre-vingt';
							case 90: return 'quatre-vingt-dix';
						}
					}elseif (substr($a, -1)==1){
						if( ((int)($a/10)*10)<70 ){
							return int2str((int)($a/10)*10).'-et-un';
						}elseif ($a==71) {
							return 'soixante-et-onze';
						}elseif ($a==81) {
							return 'quatre-vingt-un';
						}elseif ($a==91) {
							return 'quatre-vingt-onze';
						}
					}elseif ($a<70){
						// valeur 1.29 ~1.28
						if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
							$p=substr($a, -1);
							$p1=$a-$p;
							return 'vingt-'.int2str($p);
						}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
							$p=substr($a, -1);
							$p1=((substr($a, 0, -1))*10);
							return 'vingt-'.int2str($p);
						}else{
							return int2str($a-($a%10)).'-'.int2str($a%10);
						}
					}elseif ($a<80){
						return int2str(60).'-'.int2str($a%20);
					}else{
						return int2str(80).'-'.int2str($a%20);
					}
			}elseif ($a==100){
					return 'cent';
			}elseif ($a<200){
				return int2str(100).' '.int2str($a%100);
			}elseif ($a<1000){
				return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
			}elseif ($a==1000){
				return 'mille';
			}elseif ($a<2000){
				return int2str(1000).' '.int2str($a%1000).' ';
			}elseif ($a<1000000){
				return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
			}elseif ($a==1000000){
				return 'millions';
			}elseif ($a<2000000){
				return int2str(1000000).' '.int2str($a%1000000).' ';
			}elseif ($a<1000000000){
				return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
			}
		}
		//echo int2str(1.28);
		$commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);

        $ficheTravaux = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:FicheTravaux')
                       ->findOneBy(array('commande' => $commande));
        
        $facture = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaFacturationBundle:Facture')
                       ->findBy(array('commande' => $commande, 'avoir' => '0', 'etat' => '1'));
					   
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
		
        /* Total TTC en lettres */
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie3 = int2str($TTC);
							} else {
								$partie3 = int2str($TTC).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
        /* TEST SI TOUT A ETE FACTURE */
        $facturePartielle = 0; $newFacture = 0;$produitsFacture= array();
        if($facture){
            if($commande->getEtat()!='3'){
                foreach($facture as $key2 => $value2){
                    /* //encienne limite 
					if($value2->getId()>'482'){ // la facture avec l'id 483 ne sera pas affiché avec une commande.
                        foreach($value2->getFactureDetails() as $key3 => $value3){
                            $produitsFacture[$value3->getCommandeDetails()->getId()]=1;
                            $newFacture=1;
                        }
                    }
					*/
					if($value2->getId()>'12676'){
                        foreach($value2->getFactureDetails() as $key3 => $value3){
                            $produitsFacture[$value3->getCommandeDetails()->getId()]=1;
                            $newFacture=1;
                        }
                    }
                }
                if($newFacture==1){
                    foreach($commande->getCommandeDetails() as $key => $value){
                        if(!array_key_exists($value->getId(),$produitsFacture)){
                            $facturePartielle = 1;
                        }
                    }
                }
            }
        }
        else $facturePartielle = 2;
        
        $accuseReceptionTravaux = $this->getDoctrine()
                                ->getManager()
                                ->getRepository('TdaCommandeBundle:AccuseReceptionTravaux')
                                ->findOneBy(array('commande' => $commande));
                        
        $client = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaClientBundle:Client')
                       ->find($commande->getClient()->getId());
            
        $arrayProduits = array();
        foreach($commande->getCommandeDetails() as $detail)
            array_push($arrayProduits, $detail->getProduit()->getId());
        if(empty($arrayProduits)) $arrayProduits = array(null);
		$lenom = array();
        $arrayCommerciaux = array();
        foreach($commande->getCommerciaux() as $key => $value){
			array_push($arrayCommerciaux, $value->getId());
			$lenom[] = $value->getUserNom();
			$cNum = $value->getCommandeNum();
			$aNum = $value->getCommandeFix();
		}
		if(empty($arrayCommerciaux)) $arrayCommerciaux = array(null);
		if(empty($lenom)) $lenom = array(null);
		/* avoir les DE ou les TE */
		$nbComer = count($arrayCommerciaux,0);
		$nbNom = count($lenom,0);
		//echo $nbComer;
		//print_r(array_count_values($arrayCommerciaux));
		$HT = $commande->getTotalHT();
		if (($nbComer == 1)&&($nbNom == 1))
		{
			$commande->setComerA($lenom['0']);
			$commande->setTotAE($HT);
		}
		elseif(($nbComer == 2)&&($nbNom == 2))
		{
			$commande->setComerA($lenom['0']);
			$commande->setTotAE($HT/2);
			$commande->setComerB($lenom['1']);
			$commande->setTotDE($HT/2);
		}
		elseif(($nbComer == 3)&&($nbNom == 3))
		{
			$commande->setComerA($lenom['0']);
			$commande->setTotAE($HT/3);
			$commande->setComerB($lenom['1']);
			$commande->setTotDE($HT/3);
			$commande->setComerC($lenom['2']);
			$commande->setTotTE($HT/3);
		}
		else{
			$commande->setComerA($lenom['0']);
			$commande->setTotAE($HT);
			}
        /**/
					
        if($commande->getTelepro()){
            $actualOperatrice = $commande->getTelepro()->getId();
        }
        else $actualOperatrice =0;
        
        if($commande->getOrganismeFinancement()){
            $actualOrganisme = $commande->getOrganismeFinancement()->getId();
        }
        else $actualOrganisme =0;
        
        if($commande->getOrganismeFinancement2()){
            $actualOrganisme2 = $commande->getOrganismeFinancement2()->getId();
        }
        else $actualOrganisme2 =0;
        
        if($commande->getOrganismeFinancement3()){
            $actualOrganisme3 = $commande->getOrganismeFinancement3()->getId();
        }
        else $actualOrganisme3 =0;
        
        if($commande->getTitre()){
            $actualTitreCommande = $commande->getTitre()->getId();
        }
        else $actualTitreCommande =0;
        //$form = $this->createForm( new CommandeType(), $commande , array(
        $form = $this->createForm(CommandeType::class, $commande , array(
            'action' => $this->generateUrl('tda_commande_fiche', array('id'=> $id)),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'id_agence' => $commande->getAgence()->getId(),
			'id_regie' => $commande->getRegie()->getId(),
            'actualCommerciaux' => $arrayCommerciaux,
            'actualTelepro' => $actualOperatrice,
            'actualProduits' => $arrayProduits,
            'actualOrganisme' => $actualOrganisme,
            'actualOrganisme2' => $actualOrganisme2,
            'commandeId' => $id,
            'actualOrganisme3' => $actualOrganisme3,
            'actualTitreCommande' => $actualTitreCommande,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
            'famille_id' => $commande->getFamille()->getId(),
			'id_provenances' => $commande->getProvenances()->getId(),
        ));
        $form->handleRequest($request);
		if ($request->isMethod('POST')) {
            if ($form->isValid()){
                $data = $form->getData();
				//$data2= $request->request->all(); //$postCommande  = $data2["commande"];//$postCommande = $request->request->get(CommandeType::class);
                $postCommande = $request->request->get('commande');//var_dump($postCommande);
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
				
					
					$Ledevis = $commande->getDevis();
					$commande->setDevis($Ledevis);
  				
                if(!empty($postCommande['passageFacture'])){
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $commande->setEtat(2);
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Passage COMMANDE en état facturé: '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                . 'etat:'.$commande->getEtat().' ### '
                                . 'famille:'.$commande->getFamille().' ### '
                                . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                . 'totalHT:'.$commande->getTotalHT().' ### '
                                . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                . 'remise:'.$commande->getRemise().' ### '
                                . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                . 'client:'.$commande->getClient()->getId().' ### '
                                . 'devis:'.$commande->getDevis().' ### '
                                . 'telepro:'.$commande->getTelepro().' ### '
                                . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                . 'notes:'.$commande->getNotes().' ### '
                                . 'provenance:'.$commande->getProvenances().' ### '
                                . 'agence:'.$commande->getAgence().' ### '
								. 'regie:'.$commande->getRegie().' ### '
                                . 'comptant:'.$commande->getComptant().' ### '
                                . 'financement:'.$commande->getFinancement().' ### '
                                . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                . 'annulation:'.$commande->getAnnulation().' ### '
                                . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                . 'titre:'.$commande->getTitre().' ### '
                                . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                . 'financement2:'.$commande->getFinancement2().' ### '
                                . 'financement3:'.$commande->getFinancement3().' ### '
                                . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                . 'mention: '.$logMention .''
                                . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande facturée!', 'Modification de la commande effectuée', '5000'));
                }elseif(!empty($postCommande['annuler'])){
                    $annulation = $commande->getAnnulation();
                    $dateAnnulation = $commande->getDateAnnulation();
                    if((!empty($annulation)) && (!empty($dateAnnulation))){
           
                        $logCommerciaux = "";
                        foreach($commande->getCommerciaux() as $commercial){
                            $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                        }
                        $logMention = "";
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                        if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                        else $logDateAnnulation="";
                        if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                        else $logDatePrecaleDeb="";
                        if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                        else $logDatePrecaleFin="";
                        
                        $commande->setEtat(3);
                        $em = $this->getDoctrine()->getManager();
                        $em->persist($commande);
                        $log = new Log();
                        $log->setIntitule('Annulation COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                        $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                        $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                        $log->setAgence($commande->getAgence());
						$log->setRegie($commande->getRegie());
                        $em->persist($log);
                        $em->flush();
                        
                        $this->container->get('session')->getFlashBag()->add('success', array( 'Commande annulée!', 'Annulation de la commande effectuée', '5000'));
                    }
                    else{
                        $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue lors de la suppression de la commande : vous devez indiquer la date et la suite à donner', '5000'));
                    }
                }elseif(!empty($postCommande['delete'])){
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $commande->setEtat(0);
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Suppression COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande supprimée!', 'Suppression de la commande effectuée', '5000'));
                }elseif(!empty($postCommande['save'])){
                    $logDetails="";                                        
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
                        $detail->setPuNET($detail->getQuantite() * $detail->getPuHT());
                        $detail->setPvTVA($detail->getPvHT() * $detail->getTva());
                        $detail->setPvTTC($detail->getPvHT() + $detail->getPvTVA());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y'); else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y'); else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y'); else $logDatePrecaleFin="";

                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Modification COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande modifiée!', 'Vous venez de modifier la commande', '5000'));
                }else
				{
					$this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue', '5000'));
				}
            }else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue lors de la modification de la commande (Formulaire non valide)', '5000'));
            }
        }
        
        return $this->render('TdaCommandeBundle:Commande:edit.html.twig', array(
            'form' => $form->createView(),
            'client' => $client,
            'commande' => $commande,
            'fichetravaux' => $ficheTravaux,
            'accusereceptiontravaux' => $accuseReceptionTravaux,
            'facture' => $facture,
            'facturePartielle' => $facturePartielle,
            'produitsFacture' => $produitsFacture,
            'accusetravaux' => false,
        ));
		/*
		}else{
			return $this->redirect($this->generateUrl("_homepage"));
		}*/
    }
    
    public function editSpecAction(Request $request, $id)
    {
		//$user= $this->container->get('security.token_storage')->getToken()->getUser();
		//$userNonLock = $user->isAccountNonLocked();
		///print_r($userNonLock);
		//if($userNonLock==1){
		/**/
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			} else if ($a<20){
					return 'dix-'.int2str($a-10);
				} else if ($a<100){
						if ($a%10==0){
							switch ($a){
								case 20: return 'vingt';
								case 30: return 'trente';
								case 40: return 'quarante';
								case 50: return 'cinquante';
								case 60: return 'soixante';
								case 70: return 'soixante-dix';
								case 80: return 'quatre-vingt';
								case 90: return 'quatre-vingt-dix';
							}
						} elseif (substr($a, -1)==1){
							if( ((int)($a/10)*10)<70 ){
								return int2str((int)($a/10)*10).'-et-un';
							} elseif ($a==71) {
								return 'soixante-et-onze';
							} elseif ($a==81) {
								return 'quatre-vingt-un';
							} elseif ($a==91) {
								return 'quatre-vingt-onze';
							}
						} elseif ($a<70){
							// valeur 1.29 ~1.28
							if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=$a-$p;
								return 'vingt-'.int2str($p);
							}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
								$p=substr($a, -1);
								$p1=((substr($a, 0, -1))*10);
								return 'vingt-'.int2str($p);
							}else{
								return int2str($a-($a%10)).'-'.int2str($a%10);
							}
						} elseif ($a<80){
							return int2str(60).'-'.int2str($a%20);
						} else{
							return int2str(80).'-'.int2str($a%20);
						}
				} else if ($a==100){
						return 'cent';
				} else if ($a<200){
					return int2str(100).' '.int2str($a%100);
				} else if ($a<1000){
					return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
				} else if ($a==1000){
					return 'mille';
				} else if ($a<2000){
					return int2str(1000).' '.int2str($a%1000).' ';
				} else if ($a<1000000){
					return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
				}else if ($a==1000000){
					return 'millions';
				}else if ($a<2000000){
					return int2str(1000000).' '.int2str($a%1000000).' ';
				}else if ($a<1000000000){
					return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
				}
		}
		
		$commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);

        $ficheTravaux = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:FicheTravaux')
                       ->findOneBy(array('commande' => $commande));
        
        $facture = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaFacturationBundle:Facture')
                       ->findBy(array('commande' => $commande, 'avoir' => '0', 'etat' => '1'));
					   
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
					   
         /* Total TTC en lettres */
					$TTC = $commande->getTotalTTC();
					if($TTC=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie3 = int2str($TTC);
							} else {
								$partie3 = int2str($TTC).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
        /* TEST SI TOUT A ETE FACTURE */
        $facturePartielle = 0; $newFacture = 0;$produitsFacture= array();
        if($facture){
            if($commande->getEtat()!='3'){
                foreach($facture as $key2 => $value2){
                    if($value2->getId()>'12676'){ //if($value2->getId()>'482'){
                        foreach($value2->getFactureDetails() as $key3 => $value3){
                            $produitsFacture[$value3->getCommandeDetails()->getId()]=1;
                            $newFacture=1;
                        }
                    }
                }
                if($newFacture==1){
                    foreach($commande->getCommandeDetails() as $key => $value){
                        if(!array_key_exists($value->getId(),$produitsFacture)){
                            $facturePartielle = 1;
                        }
                    }
                }
            }
        }
        else $facturePartielle = 2;
        
        $accuseReceptionTravaux = $this->getDoctrine()
                                ->getManager()
                                ->getRepository('TdaCommandeBundle:AccuseReceptionTravaux')
                                ->findOneBy(array('commande' => $commande));
                        
        $client = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaClientBundle:Client')
                       ->find($commande->getClient()->getId());
            
        $arrayProduits = array();
        foreach($commande->getCommandeDetails() as $detail)
            array_push($arrayProduits, $detail->getProduit()->getId());
        if(empty($arrayProduits)) $arrayProduits = array(null);	
        $Lenom = array();
		$arrayCommerciaux = array();
        foreach($commande->getCommerciaux() as $key => $value){
			array_push($arrayCommerciaux, $value->getId());
			$lenom[] = $value->getUserNom();
			$cNum = $value->getCommandeNum();
			$aNum = $value->getCommandeFix();
		}
        if(empty($arrayCommerciaux)) $arrayCommerciaux = array(null);
		
        /* avoir les DE ou les TE */
		$nbComer = count($arrayCommerciaux,0);
		$nbNom = count($lenom,0);
		//$nbNom = count(1,0);
		//echo $nbComer;
		//print_r(array_count_values($arrayCommerciaux));
		$HT = $commande->getTotalHT();
			if (($nbComer == 1)&&($nbNom == 1))
			{
				$commande->setComerA($lenom['0']);
				$commande->setTotAE($HT);
			}
			elseif(($nbComer == 2)&&($nbNom == 2))
			{
				$commande->setComerA($lenom['0']);
				$commande->setTotAE($HT/2);
				$commande->setComerB($lenom['1']);
				$commande->setTotDE($HT/2);
			}
			elseif(($nbComer == 3)&&($nbNom == 3))
			{
				$commande->setComerA($lenom['0']);
				$commande->setTotAE($HT/3);
				$commande->setComerB($lenom['1']);
				$commande->setTotDE($HT/3);
				$commande->setComerC($lenom['2']);
				$commande->setTotTE($HT/3);
			}
			else{
				$commande->setComerA($lenom['0']);
				$commande->setTotAE($HT);
				}
		
		/**/
        if($commande->getTelepro()){
            $actualOperatrice = $commande->getTelepro()->getId();
        }
        else $actualOperatrice =0;
        
        if($commande->getOrganismeFinancement()){
            $actualOrganisme = $commande->getOrganismeFinancement()->getId();
        }
        else $actualOrganisme =0;
        
        if($commande->getOrganismeFinancement2()){
            $actualOrganisme2 = $commande->getOrganismeFinancement2()->getId();
        }
        else $actualOrganisme2 =0;
        
        if($commande->getOrganismeFinancement3()){
            $actualOrganisme3 = $commande->getOrganismeFinancement3()->getId();
        }
        else $actualOrganisme3 =0;
        
        if($commande->getTitre()){
            $actualTitreCommande = $commande->getTitre()->getId();
        }
        else $actualTitreCommande =0;
        
        
        //$form = $this->createForm( new CommandeSpecType(), $commande , array(
        $form = $this->createForm(CommandeSpecType::class, $commande , array(
            'action' => $this->generateUrl('tda_commande_ficheSpec', array('id'=> $id)),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'id_agence' => $commande->getAgence()->getId(),
			'id_regie' => $commande->getRegie()->getId(),
            'actualCommerciaux' => $arrayCommerciaux,
            'actualTelepro' => $actualOperatrice,
            'actualProduits' => $arrayProduits,
            'actualOrganisme' => $actualOrganisme,
            'actualOrganisme2' => $actualOrganisme2,
            'commandeId' => $id,
            'actualOrganisme3' => $actualOrganisme3,
            'actualTitreCommande' => $actualTitreCommande,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
            'famille_id' => $commande->getFamille()->getId(),
			'id_provenances' => $commande->getProvenances()->getId(),
        ));
        $form->handleRequest($request);
        
        if ($request->isMethod('POST')) {
            if ($form->isValid()){
                $data = $form->getData();
                //$postCommande = $request->request->get('Tda\CommandeBundle\Form\CommandeSpecType');
                //$postCommande = $request->request->get(CommandeSpecType::class);  
				$postCommande = $request->request->get('commande_spec');  //var_dump($postCommande);
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
					$Ledevis = $commande->getDevis();
					$commande->setDevis($Ledevis);
					
                if(!empty($postCommande['passageFacture'])){
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $commande->setEtat(2);
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Passage COMMANDE en état facturé: '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                . 'etat:'.$commande->getEtat().' ### '
                                . 'famille:'.$commande->getFamille().' ### '
                                . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                . 'totalHT:'.$commande->getTotalHT().' ### '
                                . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                . 'remise:'.$commande->getRemise().' ### '
                                . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                . 'client:'.$commande->getClient()->getId().' ### '
                                . 'devis:'.$commande->getDevis().' ### '
                                . 'telepro:'.$commande->getTelepro().' ### '
                                . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                . 'notes:'.$commande->getNotes().' ### '
                                . 'provenance:'.$commande->getProvenances().' ### '
                                . 'agence:'.$commande->getAgence().' ### '
								. 'regie:'.$commande->getRegie().' ### '
                                . 'comptant:'.$commande->getComptant().' ### '
                                . 'financement:'.$commande->getFinancement().' ### '
                                . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                . 'annulation:'.$commande->getAnnulation().' ### '
                                . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                . 'titre:'.$commande->getTitre().' ### '
                                . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                . 'financement2:'.$commande->getFinancement2().' ### '
                                . 'financement3:'.$commande->getFinancement3().' ### '
                                . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                . 'mention: '.$logMention .''
                                . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande facturée!', 'Modification de la commande effectuée', '5000'));
                }
                else if(!empty($postCommande['annuler'])){
                    $annulation = $commande->getAnnulation();
                    $dateAnnulation = $commande->getDateAnnulation();
                    if(!empty($annulation) && !empty($dateAnnulation)){
           
                        $logCommerciaux = "";
                        foreach($commande->getCommerciaux() as $commercial){
                            $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                        }
                        $logMention = "";
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                        if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                        else $logDateAnnulation="";
                        if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                        else $logDatePrecaleDeb="";
                        if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                        else $logDatePrecaleFin="";
                        
                        $commande->setEtat(3);
                        $em = $this->getDoctrine()->getManager();
                        $em->persist($commande);
                        $log = new Log();
                        $log->setIntitule('Annulation COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                        $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                        $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                        $log->setAgence($commande->getAgence());
						$log->setRegie($commande->getRegie());
                        $em->persist($log);
                        $em->flush();
                        
                        $this->container->get('session')->getFlashBag()->add('success', array( 'Commande annulée!', 'Annulation de la commande effectuée', '5000'));
                    }
                    else{
                        $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue lors de la suppression de la commande : vous devez indiquer la date et la suite à donner', '5000'));
                    }
                }
                else if(!empty($postCommande['delete'])){
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $commande->setEtat(0);
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Suppression COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande supprimée!', 'Suppression de la commande effectuée', '5000'));
                }
                else if(!empty($postCommande['save'])){
                    $logDetails="";                                        
                    foreach($commande->getCommandeDetails() as $detail){
                        $produitSpec = $this->getDoctrine()
                            ->getManager()
                            ->getRepository('TdaCommandeBundle:Produit')
                            ->find('140');
                        $detail->setReference("SPEC");
                        $detail->setProduit($produitSpec);
                        //$detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getUnite());
                        $detail->setPuNET($detail->getQuantite() * $detail->getPuHT());
                        $detail->setPvTVA($detail->getPvHT() * $detail->getTva());
                        $detail->setPvTTC($detail->getPvHT() + $detail->getPvTVA());
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
						/* modif assistance encienne commande */
						
						if($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_ASSISTANTE'))
						{
							
						}
						elseif($this->container->get('security.token_storage')->getToken()->getUser()->hasRole('ROLE_ADMIN'))
						{
							
						}else
						{
							//$commande->setDevis($aNum.$cNum);
							$LedevisSpc =$aNum.$cNum;
							$commande->setDevis($LedevisSpc);
						}
						
					}
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Modification COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande modifiée!', 'Vous venez de modifier la commande', '5000'));
                }
            }
            else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue lors de la modification de la commande', '5000'));
            }
        }
        
        return $this->render('TdaCommandeBundle:Commande:editSpec.html.twig', array(
            'form' => $form->createView(),
            'client' => $client,
            'commande' => $commande,
            'fichetravaux' => $ficheTravaux,
            'accusereceptiontravaux' => $accuseReceptionTravaux,
            'facture' => $facture,
            'facturePartielle' => $facturePartielle,
            'produitsFacture' => $produitsFacture,
            'accusetravaux' => false,
        ));
		/*}else{
			return $this->redirect($this->generateUrl("_homepage"));
		}*/
    }
    /** edition de commande pour la famille isolation a un euro **/
	public function editIsolAction(Request $request, $id)
    {
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			}elseif ($a<20){
					return 'dix-'.int2str($a-10);
			}elseif ($a<100){
					if ($a%10==0){
						switch ($a){
							case 20: return 'vingt';
							case 30: return 'trente';
							case 40: return 'quarante';
							case 50: return 'cinquante';
							case 60: return 'soixante';
							case 70: return 'soixante-dix';
							case 80: return 'quatre-vingt';
							case 90: return 'quatre-vingt-dix';
						}
					}elseif (substr($a, -1)==1){
						if( ((int)($a/10)*10)<70 ){
							return int2str((int)($a/10)*10).'-et-un';
						}elseif ($a==71) {
							return 'soixante-et-onze';
						}elseif ($a==81) {
							return 'quatre-vingt-un';
						}elseif ($a==91) {
							return 'quatre-vingt-onze';
						}
					}elseif ($a<70){
						// valeur 1.29 ~1.28
						if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
							$p=substr($a, -1);
							$p1=$a-$p;
							return 'vingt-'.int2str($p);
						}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
							$p=substr($a, -1);
							$p1=((substr($a, 0, -1))*10);
							return 'vingt-'.int2str($p);
						}else{
							return int2str($a-($a%10)).'-'.int2str($a%10);
						}
					}elseif ($a<80){
						return int2str(60).'-'.int2str($a%20);
					}else{
						return int2str(80).'-'.int2str($a%20);
					}
			}elseif ($a==100){
					return 'cent';
			}elseif ($a<200){
				return int2str(100).' '.int2str($a%100);
			}elseif ($a<1000){
				return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
			}elseif ($a==1000){
				return 'mille';
			}elseif ($a<2000){
				return int2str(1000).' '.int2str($a%1000).' ';
			}elseif ($a<1000000){
				return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
			}elseif ($a==1000000){
				return 'millions';
			}elseif ($a<2000000){
				return int2str(1000000).' '.int2str($a%1000000).' ';
			}elseif ($a<1000000000){
				return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
			}
		}
		//echo int2str(1.28);
		$commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);

        $ficheTravaux = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:FicheTravaux')
                       ->findOneBy(array('commande' => $commande));
        
        $facture = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaFacturationBundle:Facture')
                       ->findBy(array('commande' => $commande, 'avoir' => '0', 'etat' => '1'));
					
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
					
					/* Total TTC en lettres isol*/
					
					$TTC = $commande->getTotalTTC();
					
					if($TTC=='0.00')
					{
						$commande->setEnlettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie5 = int2str($TTC);
							} else {
								$partie5 = int2str($TTC).' euros';
							}
							 $commande->setEnlettres($partie5);
						}
						
					}
					/* Le reste en lettres isol*/
					$Lereste = $commande->getReste();
					if($Lereste=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($Lereste)){
							if (preg_match("/\beuros\b/i", int2str($Lereste))) {
								$partie3 = int2str($Lereste);
							} else {
								$partie3 = int2str($Lereste).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					$Lerestebis = $commande->getRestebis();
					if($Lerestebis=='0.00')
					{
						$commande->setLettresbis('zero euro');
					}else{
						if(!empty($Lerestebis)){
							if (preg_match("/\beuros\b/i", int2str($Lerestebis))) {
								$partie4 = int2str($Lerestebis);
							} else {
								$partie4 = int2str($Lerestebis).' euros';
							}
							 $commande->setLettresbis($partie4);
						}
					}
        /* TEST SI TOUT A ETE FACTURE */
        $facturePartielle = 0; $newFacture = 0;$produitsFacture= array();
        if($facture){
            if($commande->getEtat()!='3'){
                foreach($facture as $key2 => $value2){
                    /* //encienne limite 
					if($value2->getId()>'482'){ // la facture avec l'id 483 ne sera pas affiché avec une commande.
                        foreach($value2->getFactureDetails() as $key3 => $value3){
                            $produitsFacture[$value3->getCommandeDetails()->getId()]=1;
                            $newFacture=1;
                        }
                    }
					*/
					if($value2->getId()>'12676'){
                        foreach($value2->getFactureDetails() as $key3 => $value3){
                            $produitsFacture[$value3->getCommandeDetails()->getId()]=1;
                            $newFacture=1;
                        }
                    }
                }
                if($newFacture==1){
                    foreach($commande->getCommandeDetails() as $key => $value){
                        if(!array_key_exists($value->getId(),$produitsFacture)){
                            $facturePartielle = 1;
                        }
                    }
                }
            }
        }
        else $facturePartielle = 2;
        
        $accuseReceptionTravaux = $this->getDoctrine()
                                ->getManager()
                                ->getRepository('TdaCommandeBundle:AccuseReceptionTravaux')
                                ->findOneBy(array('commande' => $commande));
                        
        $client = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaClientBundle:Client')
                       ->find($commande->getClient()->getId());
            
        $arrayProduits = array();
        foreach($commande->getCommandeDetails() as $detail)
            array_push($arrayProduits, $detail->getProduit()->getId());
        if(empty($arrayProduits)) $arrayProduits = array(null);
		$lenom = array();
        $arrayCommerciaux = array();
        foreach($commande->getCommerciaux() as $key => $value){
			array_push($arrayCommerciaux, $value->getId());
			$lenom[] = $value->getUserNom();
			$cNum = $value->getCommandeNum();
			$aNum = $value->getCommandeFix();
		}
		if(empty($arrayCommerciaux)) $arrayCommerciaux = array(null);
		if(empty($lenom)) $lenom = array(null);
		/* avoir les DE ou les TE */
		$nbComer = count($arrayCommerciaux,0);
		$nbNom = count($lenom,0);
		//echo $nbComer;
		//print_r(array_count_values($arrayCommerciaux));
		$HT = $commande->getTotalHT();
		if (($nbComer == 1)&&($nbNom == 1))
		{
			$commande->setComerA($lenom['0']);
			$commande->setTotAE($HT);
		}
		elseif(($nbComer == 2)&&($nbNom == 2))
		{
			$commande->setComerA($lenom['0']);
			$commande->setTotAE($HT/2);
			$commande->setComerB($lenom['1']);
			$commande->setTotDE($HT/2);
		}
		elseif(($nbComer == 3)&&($nbNom == 3))
		{
			$commande->setComerA($lenom['0']);
			$commande->setTotAE($HT/3);
			$commande->setComerB($lenom['1']);
			$commande->setTotDE($HT/3);
			$commande->setComerC($lenom['2']);
			$commande->setTotTE($HT/3);
		}
		else{
			$commande->setComerA($lenom['0']);
			$commande->setTotAE($HT);
			}
        /**/
					
        if($commande->getTelepro()){
            $actualOperatrice = $commande->getTelepro()->getId();
        }
        else $actualOperatrice =0;
        
        if($commande->getOrganismeFinancement()){
            $actualOrganisme = $commande->getOrganismeFinancement()->getId();
        }
        else $actualOrganisme =0;
        
        if($commande->getOrganismeFinancement2()){
            $actualOrganisme2 = $commande->getOrganismeFinancement2()->getId();
        }
        else $actualOrganisme2 =0;
        
        if($commande->getOrganismeFinancement3()){
            $actualOrganisme3 = $commande->getOrganismeFinancement3()->getId();
        }
        else $actualOrganisme3 =0;
        
        if($commande->getTitre()){
            $actualTitreCommande = $commande->getTitre()->getId();
        }
        else $actualTitreCommande =0;
        //$form = $this->createForm( new CommandeType(), $commande , array(
        $form = $this->createForm(CommandeIsolType::class, $commande , array(
            'action' => $this->generateUrl('tda_commande_ficheIsol', array('id'=> $id)),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'id_agence' => $commande->getAgence()->getId(),
			'id_regie' => $commande->getRegie()->getId(),
            'actualCommerciaux' => $arrayCommerciaux,
            'actualTelepro' => $actualOperatrice,
            'actualProduits' => $arrayProduits,
            'actualOrganisme' => $actualOrganisme,
            'actualOrganisme2' => $actualOrganisme2,
            'commandeId' => $id,
            'actualOrganisme3' => $actualOrganisme3,
            'actualTitreCommande' => $actualTitreCommande,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
            'famille_id' => $commande->getFamille()->getId(),
			'id_provenances' => $commande->getProvenances()->getId(),
        ));
        $form->handleRequest($request);
		if ($request->isMethod('POST')) {
            if ($form->isValid()){
                $data = $form->getData();
				//$data2= $request->request->all(); //$postCommande  = $data2["commande"];//$postCommande = $request->request->get(CommandeType::class);
                $postCommande = $request->request->get('commande_isol');//var_dump($postCommande);
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
				
					
					$Ledevis = $commande->getDevis();
					$commande->setDevis($Ledevis);
  				
                if(!empty($postCommande['passageFacture'])){
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $commande->setEtat(2);
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Passage COMMANDE en état facturé: '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                . 'etat:'.$commande->getEtat().' ### '
                                . 'famille:'.$commande->getFamille().' ### '
                                . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                . 'totalHT:'.$commande->getTotalHT().' ### '
                                . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                . 'remise:'.$commande->getRemise().' ### '
                                . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                . 'client:'.$commande->getClient()->getId().' ### '
                                . 'devis:'.$commande->getDevis().' ### '
                                . 'telepro:'.$commande->getTelepro().' ### '
                                . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                . 'notes:'.$commande->getNotes().' ### '
                                . 'provenance:'.$commande->getProvenances().' ### '
                                . 'agence:'.$commande->getAgence().' ### '
								. 'regie:'.$commande->getRegie().' ### '
                                . 'comptant:'.$commande->getComptant().' ### '
                                . 'financement:'.$commande->getFinancement().' ### '
                                . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                . 'annulation:'.$commande->getAnnulation().' ### '
                                . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                . 'titre:'.$commande->getTitre().' ### '
                                . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                . 'financement2:'.$commande->getFinancement2().' ### '
                                . 'financement3:'.$commande->getFinancement3().' ### '
                                . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                . 'mention: '.$logMention .''
                                . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande facturée!', 'Modification de la commande effectuée', '5000'));
                }elseif(!empty($postCommande['annuler'])){
                    $annulation = $commande->getAnnulation();
                    $dateAnnulation = $commande->getDateAnnulation();
                    if((!empty($annulation)) && (!empty($dateAnnulation))){
           
                        $logCommerciaux = "";
                        foreach($commande->getCommerciaux() as $commercial){
                            $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                        }
                        $logMention = "";
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                        if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                        else $logDateAnnulation="";
                        if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                        else $logDatePrecaleDeb="";
                        if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                        else $logDatePrecaleFin="";
                        
                        $commande->setEtat(3);
                        $em = $this->getDoctrine()->getManager();
                        $em->persist($commande);
                        $log = new Log();
                        $log->setIntitule('Annulation COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                        $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                        $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                        $log->setAgence($commande->getAgence());
						$log->setRegie($commande->getRegie());
                        $em->persist($log);
                        $em->flush();
                        
                        $this->container->get('session')->getFlashBag()->add('success', array( 'Commande annulée!', 'Annulation de la commande effectuée', '5000'));
                    }
                    else{
                        $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue lors de la suppression de la commande : vous devez indiquer la date et la suite à donner', '5000'));
                    }
                }elseif(!empty($postCommande['delete'])){
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $commande->setEtat(0);
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Suppression COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande supprimée!', 'Suppression de la commande effectuée', '5000'));
                }elseif(!empty($postCommande['save'])){
                    $logDetails="";                                        
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
						$detail->setPvTTC($detail->getPuTTC() * $detail->getQuantite());
						$detail->setPuNET($detail->getPvTTC() / $detail->getTva());
						$detail->setPuHT($detail->getPvTTC() / $detail->getTva());
						$detail->setPvHT($detail->getPvTTC() / $detail->getTva());
                        $detail->setPvTVA($detail->getPvTTC() - $detail->getPvHT());
						
                        
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y'); else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y'); else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y'); else $logDatePrecaleFin="";
                    $em = $this->getDoctrine()->getManager();
					
					if($commande->getMontantAcompteSolde() != null){
						if($commande->getDevis() == $commande->getReferenceAcompte()){
							
							$commande->setDevis('');
						}else{
							if($commande->getReferenceAcompte() != ''){
								
							}else{
								$commande->setReferenceAcompte($commande->getDevis());
							}
						}
					}else{
						$commande->setReferenceAcompte('');
					}

                    $em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Modification COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande modifiée!', 'Vous venez de modifier la commande', '5000'));
					return $this->redirect($this->generateUrl("tda_commande_ficheIsol", array('id'=> $commande->getId())));
                /*}elseif(!empty($postCommande['acompte'])){
					
					//table commande
					$copie    = new Commande();
					$document = new Document();
					$document2 = new Document();
					$copie->setCommandeAncienne($commande);
					$copie->setEtat($commande->getEtat());
					$copie->setDate($commande->getDate());
					$copie->setTotalHT($commande->getTotalHT());
					$copie->setTotalTVA($commande->getTotalTVA());
					$copie->setTotalTTC($commande->getTotalTTC());
					$copie->setRemise($commande->getRemise());
					$copie->setClient($commande->getClient());
					$copie->setDevis('AC'.$commande->getDevis());
					$copie->setFamille($commande->getFamille());
					$copie->setTelepro($commande->getTelepro());
					$copie->setAdressetravaux($commande->getAdressetravaux());
					if($commande->getScanCommande()->getPath() != null){
						//$document->setPath($commande->getScanCommande()->getPath());
						$copie->setScanCommande($document);
					}else{
						$copie->setScanCommande($document);
					}
					$copie->setRegie($commande->getRegie());
					$copie->setProvenances($commande->getProvenances());
					$copie->setAgence($commande->getAgence());
					$copie->setComptant($commande->getComptant());
					$copie->setFinancement($commande->getFinancement());
					$copie->setOrganismeFinancement($commande->getOrganismeFinancement()); 
					$copie->setScanAft($document2);
					$copie->setAnnulation($commande->getAnnulation());
					$copie->setDateAnnulation($commande->getDateAnnulation());
					$copie->setTitre($commande->getTitre());
					$copie->setNotes($commande->getNotes());
					$copie->setRemiseTva($commande->getRemiseTva());
					$copie->setDetailsFinancement($commande->getDetailsFinancement());
					$copie->setDatePrecaleDeb($commande->getDatePrecaleDeb());
					$copie->setDatePrecaleFin($commande->getDatePrecaleFin());
					$copie->setNbFinancement($commande->getNbFinancement());
					$copie->setFinancement2($commande->getFinancement2());
					$copie->setFinancement3($commande->getFinancement3());
					$copie->setOrganismeFinancement2($commande->getOrganismeFinancement2());
					$copie->setOrganismeFinancement3($commande->getOrganismeFinancement3());
					$copie->setDecaisse($commande->getDecaisse());
					$copie->setBip($commande->getBip());
					$copie->setVersementFinancement1($commande->getVersementFinancement1());
					$copie->setVersementFinancement2($commande->getVersementFinancement2());
					$copie->setVersementFinancement3($commande->getVersementFinancement3());
					$copie->setLettres($commande->getLettres());
					$copie->setComerA($commande->getComerA());
					$copie->setComerB($commande->getComerB());
					$copie->setComerC($commande->getComerC());
					$copie->setTotAE($commande->getTotAE());
					$copie->setTotDE($commande->getTotDE());
					$copie->setTotTE($commande->getTotTE());
					$copie->setRemisecee($commande->getRemisecee());
					$copie->setRemiserenov($commande->getRemiserenov());
					$copie->setReste($commande->getReste());
					$copie->setRestebis($commande->getRestebis());
					$copie->setLettresbis($commande->getLettresbis());
					$copie->setEnlettres($commande->getEnlettres());
					
					$copie->setDateEncaissement($commande->getDateEncaissement());
					//$copie->setTotalHT($commande->getTotalHT());
					
                    $logDetails="";                                        
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setUnite($detail->getProduit()->getUnite());
						$detail->setPvTTC($detail->getPuTTC() * $detail->getQuantite());
						$detail->setPuNET($detail->getPvTTC() / $detail->getTva());
						$detail->setPuHT($detail->getPvTTC() / $detail->getTva());
						$detail->setPvHT($detail->getPvTTC() / $detail->getTva());
                        $detail->setPvTVA($detail->getPvTTC() - $detail->getPvHT());
						
                        
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
						
						//table CommandeDetails
						$commandeDetails = new CommandeDetails();
						$commandeDetails->setEtat($detail->getEtat());
						$commandeDetails->setReference($detail->getReference());
						$commandeDetails->setIntitule($detail->getIntitule());
						$commandeDetails->setUnite($detail->getUnite());
						$commandeDetails->setQuantite($detail->getQuantite());
						$commandeDetails->setRemise($detail->getRemise());
						$commandeDetails->setPuHT($detail->getPuHT());
						$commandeDetails->setPuNET($detail->getPuNET());
						$commandeDetails->setPvHT($detail->getPvHT());
						$commandeDetails->setPvTVA($detail->getPvTVA());
						$commandeDetails->setTva($detail->getTva());
						$commandeDetails->setPvTTC($detail->getPvTTC());
						$commandeDetails->setProduit($detail->getProduit());
						$commandeDetails->setDescription($detail->getDescription());
						$commandeDetails->setPuTTC($detail->getPuTTC());
						$commandeDetails->setMtPRC($detail->getMtPRC());
						$commandeDetails->setMtPR($detail->getMtPR());
						$copie->addCommandeDetail($commandeDetails);
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						$copie->addCommerciaux($commercial);
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
						$copie->addMentionCommande($mention);
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y'); else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y'); else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y'); else $logDatePrecaleFin="";

                    $em = $this->getDoctrine()->getManager();
                    $em->persist($copie);
					$commande->setCommandeAcompte($copie);// Id precedent cf RDV
					$em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE Acompte : '.$copie->getDevis().' ('.$copie->getId().')');
                    $log->setDetails('id:'.$copie->getId().' ### '
                                    . 'etat:'.$copie->getEtat().' ### '
                                    . 'famille:'.$copie->getFamille().' ### '
                                    . 'date:'.$copie->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$copie->getTotalHT().' ### '
                                    . 'totalTVA:'.$copie->getTotalTVA().' ### '
                                    . 'totalTTC:'.$copie->getTotalTTC().' ### '
                                    . 'remise:'.$copie->getRemise().' ### '
                                    . 'remiseTVA:'.$copie->getRemiseTva().' ### '
                                    . 'client:'.$copie->getClient()->getId().' ### '
                                    . 'devis:'.$copie->getDevis().' ### '
                                    . 'telepro:'.$copie->getTelepro().' ### '
                                    . 'adresseTravaux:'.$copie->getAdresseTravaux().' ### '
                                    . 'scan:'.$copie->getScanCommande()->getId().' / '.$copie->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$copie->getNotes().' ### '
                                    . 'provenance:'.$copie->getProvenances().' ### '
                                    . 'agence:'.$copie->getAgence().' ### '
									. 'regie:'.$copie->getRegie().' ### '
                                    . 'comptant:'.$copie->getComptant().' ### '
                                    . 'financement:'.$copie->getFinancement().' ### '
                                    . 'organismeFinancement:'.$copie->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$copie->getScanAft()->getId().' / '.$copie->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$copie->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$copie->getTitre().' ### '
                                    . 'detailFinancement:'.$copie->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$copie->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$copie->getFinancement2().' ### '
                                    . 'financement3:'.$copie->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$copie->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$copie->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($copie->getAgence());
					$log->setRegie($copie->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer la nouvelle commande avec l acompte', '5000'));
					 return $this->redirect($this->generateUrl("tda_commande_ficheIsol", array('id'=> $copie->getId())));
					 */
                }else
				{
					$this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue', '5000'));
				}
            }else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue lors de la modification de la commande (Formulaire non valide)', '5000'));
            }
        }
        
        return $this->render('TdaCommandeBundle:Commande:editIsol.html.twig', array(
            'form' => $form->createView(),
            'client' => $client,
            'commande' => $commande,
            'fichetravaux' => $ficheTravaux,
            'accusereceptiontravaux' => $accuseReceptionTravaux,
            'facture' => $facture,
            'facturePartielle' => $facturePartielle,
            'produitsFacture' => $produitsFacture,
            'accusetravaux' => false,
        ));
		/*
		}else{
			return $this->redirect($this->generateUrl("_homepage"));
		}*/
    }
	/** fin isolation a un euro (édition commande) **/
	/** edition de commande pour la famille action logement **/
	public function editActAction(Request $request, $id)
    {
		function int2str($a)
		{
			$convert = explode('.',$a);
			if (isset($convert[1]) && $convert[1]!=''){
				$partie2 = 100*number_format(($a - $convert[0]), 2, '.', ''); 
				if($partie2 > 0){
					return int2str($convert[0]).' euros'.' et '.int2str($partie2).' cents ';
				}
				else{
					return int2str($convert[0]).' euros';
				}
			} 
			if ($a<0) return 'moins '.int2str(-$a);
			if ($a<17){
				switch ($a){
					case 0: return '';
					case 1: return 'un';
					case 2: return 'deux';
					case 3: return 'trois';
					case 4: return 'quatre';
					case 5: return 'cinq';
					case 6: return 'six';
					case 7: return 'sept';
					case 8: return 'huit';
					case 9: return 'neuf';
					case 10: return 'dix';
					case 11: return 'onze';
					case 12: return 'douze';
					case 13: return 'treize';
					case 14: return 'quatorze';
					case 15: return 'quinze';
					case 16: return 'seize';
				}
			}elseif ($a<20){
					return 'dix-'.int2str($a-10);
			}elseif ($a<100){
					if ($a%10==0){
						switch ($a){
							case 20: return 'vingt';
							case 30: return 'trente';
							case 40: return 'quarante';
							case 50: return 'cinquante';
							case 60: return 'soixante';
							case 70: return 'soixante-dix';
							case 80: return 'quatre-vingt';
							case 90: return 'quatre-vingt-dix';
						}
					}elseif (substr($a, -1)==1){
						if( ((int)($a/10)*10)<70 ){
							return int2str((int)($a/10)*10).'-et-un';
						}elseif ($a==71) {
							return 'soixante-et-onze';
						}elseif ($a==81) {
							return 'quatre-vingt-un';
						}elseif ($a==91) {
							return 'quatre-vingt-onze';
						}
					}elseif ($a<70){
						// valeur 1.29 ~1.28
						if((substr($a, -1)==9)&&(substr($a, 0,-1)==2)){
							$p=substr($a, -1);
							$p1=$a-$p;
							return 'vingt-'.int2str($p);
						}elseif((substr($a, -1)==8)&&(substr($a, 0,-1)==2)){
							$p=substr($a, -1);
							$p1=((substr($a, 0, -1))*10);
							return 'vingt-'.int2str($p);
						}else{
							return int2str($a-($a%10)).'-'.int2str($a%10);
						}
					}elseif ($a<80){
						return int2str(60).'-'.int2str($a%20);
					}else{
						return int2str(80).'-'.int2str($a%20);
					}
			}elseif ($a==100){
					return 'cent';
			}elseif ($a<200){
				return int2str(100).' '.int2str($a%100);
			}elseif ($a<1000){
				return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
			}elseif ($a==1000){
				return 'mille';
			}elseif ($a<2000){
				return int2str(1000).' '.int2str($a%1000).' ';
			}elseif ($a<1000000){
				return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
			}elseif ($a==1000000){
				return 'millions';
			}elseif ($a<2000000){
				return int2str(1000000).' '.int2str($a%1000000).' ';
			}elseif ($a<1000000000){
				return int2str((int)($a/1000000)).' '.int2str(1000000).' '.int2str($a%1000000);
			}
		}
		//echo int2str(1.28);
		$commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);

        $ficheTravaux = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:FicheTravaux')
                       ->findOneBy(array('commande' => $commande));
        
        $facture = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaFacturationBundle:Facture')
                       ->findBy(array('commande' => $commande, 'avoir' => '0', 'etat' => '1'));
					
		$provenances =  $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaAdminBundle:Provenances')
                       ->findBy(array('etat' => '1'));
					
					/* Total TTC en lettres act*/
					
					$TTC = $commande->getTotalTTC();
					
					if($TTC=='0.00')
					{
						$commande->setEnlettres('zero euro');
					}else{
						if(!empty($TTC)){
							if (preg_match("/\beuros\b/i", int2str($TTC))) {
								$partie5 = int2str($TTC);
							} else {
								$partie5 = int2str($TTC).' euros';
							}
							 $commande->setEnlettres($partie5);
						}
						
					}
					/* Le reste en lettres isol*/
					$Lereste = $commande->getReste();
					if($Lereste=='0.00')
					{
						$commande->setLettres('zero euro');
					}else{
						if(!empty($Lereste)){
							if (preg_match("/\beuros\b/i", int2str($Lereste))) {
								$partie3 = int2str($Lereste);
							} else {
								$partie3 = int2str($Lereste).' euros';
							}
							 $commande->setLettres($partie3);
						}
						
					}
					$Lerestebis = $commande->getRestebis();
					if($Lerestebis=='0.00')
					{
						$commande->setLettresbis('zero euro');
					}else{
						if(!empty($Lerestebis)){
							if (preg_match("/\beuros\b/i", int2str($Lerestebis))) {
								$partie4 = int2str($Lerestebis);
							} else {
								$partie4 = int2str($Lerestebis).' euros';
							}
							 $commande->setLettresbis($partie4);
						}
					}
        /* TEST SI TOUT A ETE FACTURE */
        $facturePartielle = 0; $newFacture = 0;$produitsFacture= array();
        if($facture){
            if($commande->getEtat()!='3'){
                foreach($facture as $key2 => $value2){
                    /* //encienne limite 
					if($value2->getId()>'482'){ // la facture avec l'id 483 ne sera pas affiché avec une commande.
                        foreach($value2->getFactureDetails() as $key3 => $value3){
                            $produitsFacture[$value3->getCommandeDetails()->getId()]=1;
                            $newFacture=1;
                        }
                    }
					*/
					if($value2->getId()>'12676'){
                        foreach($value2->getFactureDetails() as $key3 => $value3){
                            $produitsFacture[$value3->getCommandeDetails()->getId()]=1;
                            $newFacture=1;
                        }
                    }
                }
                if($newFacture==1){
                    foreach($commande->getCommandeDetails() as $key => $value){
                        if(!array_key_exists($value->getId(),$produitsFacture)){
                            $facturePartielle = 1;
                        }
                    }
                }
            }
        }
        else $facturePartielle = 2;
        
        $accuseReceptionTravaux = $this->getDoctrine()
                                ->getManager()
                                ->getRepository('TdaCommandeBundle:AccuseReceptionTravaux')
                                ->findOneBy(array('commande' => $commande));
                        
        $client = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaClientBundle:Client')
                       ->find($commande->getClient()->getId());
            
        $arrayProduits = array();
        foreach($commande->getCommandeDetails() as $detail)
            array_push($arrayProduits, $detail->getProduit()->getId());
        if(empty($arrayProduits)) $arrayProduits = array(null);
		$lenom = array();
        $arrayCommerciaux = array();
        foreach($commande->getCommerciaux() as $key => $value){
			array_push($arrayCommerciaux, $value->getId());
			$lenom[] = $value->getUserNom();
			$cNum = $value->getCommandeNum();
			$aNum = $value->getCommandeFix();
		}
		if(empty($arrayCommerciaux)) $arrayCommerciaux = array(null);
		if(empty($lenom)) $lenom = array(null);
		/* avoir les DE ou les TE */
		$nbComer = count($arrayCommerciaux,0);
		$nbNom = count($lenom,0);
		//echo $nbComer;
		//print_r(array_count_values($arrayCommerciaux));
		$HT = $commande->getTotalHT();
		if (($nbComer == 1)&&($nbNom == 1))
		{
			$commande->setComerA($lenom['0']);
			$commande->setTotAE($HT);
		}
		elseif(($nbComer == 2)&&($nbNom == 2))
		{
			$commande->setComerA($lenom['0']);
			$commande->setTotAE($HT/2);
			$commande->setComerB($lenom['1']);
			$commande->setTotDE($HT/2);
		}
		elseif(($nbComer == 3)&&($nbNom == 3))
		{
			$commande->setComerA($lenom['0']);
			$commande->setTotAE($HT/3);
			$commande->setComerB($lenom['1']);
			$commande->setTotDE($HT/3);
			$commande->setComerC($lenom['2']);
			$commande->setTotTE($HT/3);
		}
		else{
			$commande->setComerA($lenom['0']);
			$commande->setTotAE($HT);
			}
        /**/
					
        if($commande->getTelepro()){
            $actualOperatrice = $commande->getTelepro()->getId();
        }
        else $actualOperatrice =0;
        
        if($commande->getOrganismeFinancement()){
            $actualOrganisme = $commande->getOrganismeFinancement()->getId();
        }
        else $actualOrganisme =0;
        
        if($commande->getOrganismeFinancement2()){
            $actualOrganisme2 = $commande->getOrganismeFinancement2()->getId();
        }
        else $actualOrganisme2 =0;
        
        if($commande->getOrganismeFinancement3()){
            $actualOrganisme3 = $commande->getOrganismeFinancement3()->getId();
        }
        else $actualOrganisme3 =0;
        
        if($commande->getTitre()){
            $actualTitreCommande = $commande->getTitre()->getId();
        }
        else $actualTitreCommande =0;
        //$form = $this->createForm( new CommandeType(), $commande , array(
        $form = $this->createForm(CommandeActType::class, $commande , array(
            'action' => $this->generateUrl('tda_commande_ficheAct', array('id'=> $id)),
            'method' => 'POST',
            'attr' => array('novalidate' => 'novalidate', 'id' => 'formID'),
            'id_agence' => $commande->getAgence()->getId(),
			'id_regie' => $commande->getRegie()->getId(),
            'actualCommerciaux' => $arrayCommerciaux,
            'actualTelepro' => $actualOperatrice,
            'actualProduits' => $arrayProduits,
            'actualOrganisme' => $actualOrganisme,
            'actualOrganisme2' => $actualOrganisme2,
            'commandeId' => $id,
            'actualOrganisme3' => $actualOrganisme3,
            'actualTitreCommande' => $actualTitreCommande,
            'cheminAjaxFonctions' => $this->generateUrl('ajax_fonctions'),
            'famille_id' => $commande->getFamille()->getId(),
			'id_provenances' => $commande->getProvenances()->getId(),
        ));
        $form->handleRequest($request);
		if ($request->isMethod('POST')) {
            if ($form->isValid()){
                $data = $form->getData();
				//$data2= $request->request->all(); //$postCommande  = $data2["commande"];//$postCommande = $request->request->get(CommandeType::class);
                $postCommande = $request->request->get('commande_act');//var_dump($postCommande);
                if($commande->getNbFinancement()>0){
                     if($commande->getNbFinancement()>1){
                         if($commande->getNbFinancement()==2){
                            $commande->setFinancement3(null);
                            $commande->setOrganismeFinancement3(null);
                         }
                     }
                     else{
                        $commande->setFinancement2(null);
                        $commande->setFinancement3(null);
                        $commande->setOrganismeFinancement2(null);
                        $commande->setOrganismeFinancement3(null);
                     }
                }
                else{
                    $commande->setFinancement(null);
                    $commande->setFinancement2(null);
                    $commande->setFinancement3(null);
                    $commande->setOrganismeFinancement(null);
                    $commande->setOrganismeFinancement2(null);
                    $commande->setOrganismeFinancement3(null);
                }
				
					
					$Ledevis = $commande->getDevis();
					$commande->setDevis($Ledevis);
  				
                if(!empty($postCommande['passageFacture'])){
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $commande->setEtat(2);
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Passage COMMANDE en état facturé: '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                . 'etat:'.$commande->getEtat().' ### '
                                . 'famille:'.$commande->getFamille().' ### '
                                . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                . 'totalHT:'.$commande->getTotalHT().' ### '
                                . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                . 'remise:'.$commande->getRemise().' ### '
                                . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                . 'client:'.$commande->getClient()->getId().' ### '
                                . 'devis:'.$commande->getDevis().' ### '
                                . 'telepro:'.$commande->getTelepro().' ### '
                                . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                . 'notes:'.$commande->getNotes().' ### '
                                . 'provenance:'.$commande->getProvenances().' ### '
                                . 'agence:'.$commande->getAgence().' ### '
								. 'regie:'.$commande->getRegie().' ### '
                                . 'comptant:'.$commande->getComptant().' ### '
                                . 'financement:'.$commande->getFinancement().' ### '
                                . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                . 'annulation:'.$commande->getAnnulation().' ### '
                                . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                . 'titre:'.$commande->getTitre().' ### '
                                . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                . 'financement2:'.$commande->getFinancement2().' ### '
                                . 'financement3:'.$commande->getFinancement3().' ### '
                                . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                . 'mention: '.$logMention .''
                                . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande facturée!', 'Modification de la commande effectuée', '5000'));
                }elseif(!empty($postCommande['annuler'])){
                    $annulation = $commande->getAnnulation();
                    $dateAnnulation = $commande->getDateAnnulation();
                    if((!empty($annulation)) && (!empty($dateAnnulation))){
           
                        $logCommerciaux = "";
                        foreach($commande->getCommerciaux() as $commercial){
                            $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                        }
                        $logMention = "";
                        foreach($commande->getMentionCommande() as $mention){
                            $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                        }
                        if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                        else $logDateAnnulation="";
                        if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                        else $logDatePrecaleDeb="";
                        if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                        else $logDatePrecaleFin="";
                        
                        $commande->setEtat(3);
                        $em = $this->getDoctrine()->getManager();
                        $em->persist($commande);
                        $log = new Log();
                        $log->setIntitule('Annulation COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                        $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                        $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                        $log->setAgence($commande->getAgence());
						$log->setRegie($commande->getRegie());
                        $em->persist($log);
                        $em->flush();
                        
                        $this->container->get('session')->getFlashBag()->add('success', array( 'Commande annulée!', 'Annulation de la commande effectuée', '5000'));
                    }
                    else{
                        $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue lors de la suppression de la commande : vous devez indiquer la date et la suite à donner', '5000'));
                    }
                }elseif(!empty($postCommande['delete'])){
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y');
                    else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y');
                    else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y');
                    else $logDatePrecaleFin="";

                    $commande->setEtat(0);
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Suppression COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande supprimée!', 'Suppression de la commande effectuée', '5000'));
                }elseif(!empty($postCommande['save'])){
                    $logDetails="";                                        
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setunite($detail->getProduit()->getUnite());
						$detail->setPvTTC($detail->getPuTTC() * $detail->getQuantite());
						$detail->setPuNET($detail->getPvTTC() / $detail->getTva());
						$detail->setPuHT($detail->getPvTTC() / $detail->getTva());
						$detail->setPvHT($detail->getPvTTC() / $detail->getTva());
                        $detail->setPvTVA($detail->getPvTTC() - $detail->getPvHT());
						
                        
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y'); else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y'); else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y'); else $logDatePrecaleFin="";
                    $em = $this->getDoctrine()->getManager();
					
					if($commande->getMontantAcompteSolde() != null){
						if($commande->getDevis() == $commande->getReferenceAcompte()){
							
							$commande->setDevis('');
						}else{
							if($commande->getReferenceAcompte() != ''){
								
							}else{
								$commande->setReferenceAcompte($commande->getDevis());
							}
						}
					}else{
						$commande->setReferenceAcompte('');
					}

                    $em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Modification COMMANDE : '.$commande->getDevis().' ('.$commande->getId().')');
                    $log->setDetails('id:'.$commande->getId().' ### '
                                    . 'etat:'.$commande->getEtat().' ### '
                                    . 'famille:'.$commande->getFamille().' ### '
                                    . 'date:'.$commande->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$commande->getTotalHT().' ### '
                                    . 'totalTVA:'.$commande->getTotalTVA().' ### '
                                    . 'totalTTC:'.$commande->getTotalTTC().' ### '
                                    . 'remise:'.$commande->getRemise().' ### '
                                    . 'remiseTVA:'.$commande->getRemiseTva().' ### '
                                    . 'client:'.$commande->getClient()->getId().' ### '
                                    . 'devis:'.$commande->getDevis().' ### '
                                    . 'telepro:'.$commande->getTelepro().' ### '
                                    . 'adresseTravaux:'.$commande->getAdresseTravaux().' ### '
                                    . 'scan:'.$commande->getScanCommande()->getId().' / '.$commande->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$commande->getNotes().' ### '
                                    . 'provenance:'.$commande->getProvenances().' ### '
                                    . 'agence:'.$commande->getAgence().' ### '
									. 'regie:'.$commande->getRegie().' ### '
                                    . 'comptant:'.$commande->getComptant().' ### '
                                    . 'financement:'.$commande->getFinancement().' ### '
                                    . 'organismeFinancement:'.$commande->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$commande->getScanAft()->getId().' / '.$commande->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$commande->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$commande->getTitre().' ### '
                                    . 'detailFinancement:'.$commande->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$commande->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$commande->getFinancement2().' ### '
                                    . 'financement3:'.$commande->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$commande->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$commande->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($commande->getAgence());
					$log->setRegie($commande->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande modifiée!', 'Vous venez de modifier la commande', '5000'));
					return $this->redirect($this->generateUrl("tda_commande_ficheAct", array('id'=> $commande->getId())));
                /*}elseif(!empty($postCommande['acompte'])){
					
					//table commande
					$copie    = new Commande();
					$document = new Document();
					$document2 = new Document();
					$copie->setCommandeAncienne($commande);
					$copie->setEtat($commande->getEtat());
					$copie->setDate($commande->getDate());
					$copie->setTotalHT($commande->getTotalHT());
					$copie->setTotalTVA($commande->getTotalTVA());
					$copie->setTotalTTC($commande->getTotalTTC());
					$copie->setRemise($commande->getRemise());
					$copie->setClient($commande->getClient());
					$copie->setDevis('AC'.$commande->getDevis());
					$copie->setFamille($commande->getFamille());
					$copie->setTelepro($commande->getTelepro());
					$copie->setAdressetravaux($commande->getAdressetravaux());
					if($commande->getScanCommande()->getPath() != null){
						//$document->setPath($commande->getScanCommande()->getPath());
						$copie->setScanCommande($document);
					}else{
						$copie->setScanCommande($document);
					}
					$copie->setRegie($commande->getRegie());
					$copie->setProvenances($commande->getProvenances());
					$copie->setAgence($commande->getAgence());
					$copie->setComptant($commande->getComptant());
					$copie->setFinancement($commande->getFinancement());
					$copie->setOrganismeFinancement($commande->getOrganismeFinancement()); 
					$copie->setScanAft($document2);
					$copie->setAnnulation($commande->getAnnulation());
					$copie->setDateAnnulation($commande->getDateAnnulation());
					$copie->setTitre($commande->getTitre());
					$copie->setNotes($commande->getNotes());
					$copie->setRemiseTva($commande->getRemiseTva());
					$copie->setDetailsFinancement($commande->getDetailsFinancement());
					$copie->setDatePrecaleDeb($commande->getDatePrecaleDeb());
					$copie->setDatePrecaleFin($commande->getDatePrecaleFin());
					$copie->setNbFinancement($commande->getNbFinancement());
					$copie->setFinancement2($commande->getFinancement2());
					$copie->setFinancement3($commande->getFinancement3());
					$copie->setOrganismeFinancement2($commande->getOrganismeFinancement2());
					$copie->setOrganismeFinancement3($commande->getOrganismeFinancement3());
					$copie->setDecaisse($commande->getDecaisse());
					$copie->setBip($commande->getBip());
					$copie->setVersementFinancement1($commande->getVersementFinancement1());
					$copie->setVersementFinancement2($commande->getVersementFinancement2());
					$copie->setVersementFinancement3($commande->getVersementFinancement3());
					$copie->setLettres($commande->getLettres());
					$copie->setComerA($commande->getComerA());
					$copie->setComerB($commande->getComerB());
					$copie->setComerC($commande->getComerC());
					$copie->setTotAE($commande->getTotAE());
					$copie->setTotDE($commande->getTotDE());
					$copie->setTotTE($commande->getTotTE());
					$copie->setRemisecee($commande->getRemisecee());
					$copie->setRemiserenov($commande->getRemiserenov());
					$copie->setReste($commande->getReste());
					$copie->setRestebis($commande->getRestebis());
					$copie->setLettresbis($commande->getLettresbis());
					$copie->setEnlettres($commande->getEnlettres());
					
					$copie->setDateEncaissement($commande->getDateEncaissement());
					//$copie->setTotalHT($commande->getTotalHT());
					
                    $logDetails="";                                        
                    foreach($commande->getCommandeDetails() as $detail){
                        $detail->setReference($detail->getProduit()->getReference());
                        $detail->setIntitule($detail->getProduit()->getIntitule());
                        $detail->setDescription($detail->getProduit()->getDescription());
                        $detail->setUnite($detail->getProduit()->getUnite());
						$detail->setPvTTC($detail->getPuTTC() * $detail->getQuantite());
						$detail->setPuNET($detail->getPvTTC() / $detail->getTva());
						$detail->setPuHT($detail->getPvTTC() / $detail->getTva());
						$detail->setPvHT($detail->getPvTTC() / $detail->getTva());
                        $detail->setPvTVA($detail->getPvTTC() - $detail->getPvHT());
						
                        
                        $logDetails.= $detail->getProduit()->getIntitule()." (".$detail->getProduit()->getId().") qte: ".$detail->getQuantite()."-----";
						
						//table CommandeDetails
						$commandeDetails = new CommandeDetails();
						$commandeDetails->setEtat($detail->getEtat());
						$commandeDetails->setReference($detail->getReference());
						$commandeDetails->setIntitule($detail->getIntitule());
						$commandeDetails->setUnite($detail->getUnite());
						$commandeDetails->setQuantite($detail->getQuantite());
						$commandeDetails->setRemise($detail->getRemise());
						$commandeDetails->setPuHT($detail->getPuHT());
						$commandeDetails->setPuNET($detail->getPuNET());
						$commandeDetails->setPvHT($detail->getPvHT());
						$commandeDetails->setPvTVA($detail->getPvTVA());
						$commandeDetails->setTva($detail->getTva());
						$commandeDetails->setPvTTC($detail->getPvTTC());
						$commandeDetails->setProduit($detail->getProduit());
						$commandeDetails->setDescription($detail->getDescription());
						$commandeDetails->setPuTTC($detail->getPuTTC());
						$commandeDetails->setMtPRC($detail->getMtPRC());
						$commandeDetails->setMtPR($detail->getMtPR());
						$copie->addCommandeDetail($commandeDetails);
                    }
                    $logCommerciaux = "";
                    foreach($commande->getCommerciaux() as $commercial){
                        $logCommerciaux .= $commercial->getId()." ".$commercial->getUserNom()." ---- ";
						$copie->addCommerciaux($commercial);
                    }
                    $logMention = "";
                    foreach($commande->getMentionCommande() as $mention){
                        $logMention .= $mention->getId()." ".$mention->getTitre()." ---- ";
						$copie->addMentionCommande($mention);
                    }
                    if($commande->getDateAnnulation()) $logDateAnnulation = $commande->getDateAnnulation()->format('d/m/Y'); else $logDateAnnulation="";
                    if($commande->getDatePrecaleDeb()) $logDatePrecaleDeb = $commande->getDatePrecaleDeb()->format('d/m/Y'); else $logDatePrecaleDeb="";
                    if($commande->getDatePrecaleFin()) $logDatePrecaleFin = $commande->getDatePrecaleFin()->format('d/m/Y'); else $logDatePrecaleFin="";

                    $em = $this->getDoctrine()->getManager();
                    $em->persist($copie);
					$commande->setCommandeAcompte($copie);// Id precedent cf RDV
					$em->persist($commande);
                    $log = new Log();
                    $log->setIntitule('Création COMMANDE Acompte : '.$copie->getDevis().' ('.$copie->getId().')');
                    $log->setDetails('id:'.$copie->getId().' ### '
                                    . 'etat:'.$copie->getEtat().' ### '
                                    . 'famille:'.$copie->getFamille().' ### '
                                    . 'date:'.$copie->getDate()->format('d/m/Y').' ### '
                                    . 'totalHT:'.$copie->getTotalHT().' ### '
                                    . 'totalTVA:'.$copie->getTotalTVA().' ### '
                                    . 'totalTTC:'.$copie->getTotalTTC().' ### '
                                    . 'remise:'.$copie->getRemise().' ### '
                                    . 'remiseTVA:'.$copie->getRemiseTva().' ### '
                                    . 'client:'.$copie->getClient()->getId().' ### '
                                    . 'devis:'.$copie->getDevis().' ### '
                                    . 'telepro:'.$copie->getTelepro().' ### '
                                    . 'adresseTravaux:'.$copie->getAdresseTravaux().' ### '
                                    . 'scan:'.$copie->getScanCommande()->getId().' / '.$copie->getScanCommande()->getPath().' ### '
                                    . 'notes:'.$copie->getNotes().' ### '
                                    . 'provenance:'.$copie->getProvenances().' ### '
                                    . 'agence:'.$copie->getAgence().' ### '
									. 'regie:'.$copie->getRegie().' ### '
                                    . 'comptant:'.$copie->getComptant().' ### '
                                    . 'financement:'.$copie->getFinancement().' ### '
                                    . 'organismeFinancement:'.$copie->getOrganismeFinancement().' ### '
                                    . 'scanAFT:'.$copie->getScanAft()->getId().' / '.$copie->getScanAft()->getPath().' ### '
                                    . 'annulation:'.$copie->getAnnulation().' ### '
                                    . 'dateAnnulation:'.$logDateAnnulation.' ### '
                                    . 'titre:'.$copie->getTitre().' ### '
                                    . 'detailFinancement:'.$copie->getDetailsFinancement().' ### '
                                    . 'nbFinancement:'.$copie->getNbFinancement().' ### '
                                    . 'datePrecalageDeb:'.$logDatePrecaleDeb.' ### '
                                    . 'datePrecalageFin:'.$logDatePrecaleFin.' ### '
                                    . 'financement2:'.$copie->getFinancement2().' ### '
                                    . 'financement3:'.$copie->getFinancement3().' ### '
                                    . 'organismeFinancement2:'.$copie->getOrganismeFinancement2().' ### '
                                    . 'organismeFinancement3:'.$copie->getOrganismeFinancement3().' ### '
                                    . 'details: '. $logDetails. ''
                                    . 'mention: '.$logMention .''
                                    . 'commerciaux: '.$logCommerciaux);
                    $log->setUser($this->container->get('security.token_storage')->getToken()->getUser());
                    $log->setAgence($copie->getAgence());
					$log->setRegie($copie->getRegie());
                    $em->persist($log);
                    $em->flush();

                    $this->container->get('session')->getFlashBag()->add('success', array( 'Commande créée!', 'Vous venez de créer la nouvelle commande avec l acompte', '5000'));
					 return $this->redirect($this->generateUrl("tda_commande_ficheAct", array('id'=> $copie->getId())));
					 */
                }else
				{
					$this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue', '5000'));
				}
            }else{
                $this->container->get('session')->getFlashBag()->add('error', array( 'Erreur!', 'Une erreur est survenue lors de la modification de la commande (Formulaire non valide)', '5000'));
            }
        }
        
        return $this->render('TdaCommandeBundle:Commande:editAct.html.twig', array(
            'form' => $form->createView(),
            'client' => $client,
            'commande' => $commande,
            'fichetravaux' => $ficheTravaux,
            'accusereceptiontravaux' => $accuseReceptionTravaux,
            'facture' => $facture,
            'facturePartielle' => $facturePartielle,
            'produitsFacture' => $produitsFacture,
            'accusetravaux' => false,
        ));
		/*
		}else{
			return $this->redirect($this->generateUrl("_homepage"));
		}*/
    }
	/** fin action logement (édition commande) **/
    public function JSONlisteAction(Request $request)
    {
        
        $user= $this->container->get('security.token_storage')->getToken()->getUser();
        $userRegies = $user->getRegies();
        
        $arrayRegies = array();
        foreach($userRegies as $key => $value)
            array_push($arrayRegies, $value->getId());
        if(empty($arrayRegies)) $arrayRegies = array(null);
        
        $perPage = $request->query->get('perPage');
        $offset = $request->query->get('offset');
        $queries = $request->query->get('queries');
        $sorts = $request->query->get('sorts');
		
		// les FAM
		$listeFAM = $this->getDoctrine()
			->getManager()
			->getRepository('TdaCommandeBundle:Commande')
			->getNumDevisFAM($perPage,$offset,$queries,$sorts);
		$totalListeFAM = $this->getDoctrine()
			->getManager()
			->getRepository('TdaCommandeBundle:Commande')
			->getCommandesCountFAM($perPage,$offset,$queries,$sorts);
		
		// les FAX
		$listeFAX = $this->getDoctrine()
			->getManager()
			->getRepository('TdaCommandeBundle:Commande')
			->getNumDevisFAX($perPage,$offset,$queries,$sorts);
		$totalListeFAX = $this->getDoctrine()
			->getManager()
			->getRepository('TdaCommandeBundle:Commande')
			->getCommandesCountFAX($perPage,$offset,$queries,$sorts);
		
		// les FDT17
		$listeFDT = $this->getDoctrine()
			->getManager()
			->getRepository('TdaCommandeBundle:Commande')
			->getNumDevisFDT($perPage,$offset,$queries,$sorts);
		$totalListeFDT = $this->getDoctrine()
			->getManager()
			->getRepository('TdaCommandeBundle:Commande')
			->getCommandesCountFDT($perPage,$offset,$queries,$sorts);		
		// SOMME FAX+FAM+FDT17
		$listeFA1 = array_merge($listeFAM, $listeFDT);
		$totalListeFA1 = $totalListeFAM + $totalListeFDT;
		$listeFA = array_merge($listeFA1, $listeFAX);
		$totalListeFA = $totalListeFA1 + $totalListeFAX;
		$comer = $user->getId();
		$CommandeFix = $user->getCommandeFix();
		
		//test
		switch($comer)
		{
			case '4'://Mehdi  (FAM + FAX) {MDT} PHIMD
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisPHIMD($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountPHIMD($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesPHIMD($arrayRegies);
					break;
			case '48'://Michel PASCUAL (FAM)
					$listeM1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMPT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeM1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMPT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeM2 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIILT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeM2 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIILT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeM3 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMITAT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeM3 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMITAT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeM4 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIMDCP($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeM4 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIMDCP($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeM5 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIAJM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeM5 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIAJM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeM6 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIALL($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeM6 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIALL($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeM7 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIADH($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeM7 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIADH($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeM8 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIACP($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeM8 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIACP($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeM9 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIAMM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeM9 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIAMM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeMp = array_merge($listeM2, $listeM1);
					$totalListeMp = $totalListeM2+$totalListeM1;
					$listeMp1 = array_merge($listeMp, $listeM3);
					$totalListeMp1 = $totalListeM3+$totalListeMp;
					$listeMp2 = array_merge($listeMp1, $listeM4);
					$totalListeMp2 = $totalListeM4+$totalListeMp1;
					$listeMp3 = array_merge($listeM5, $listeMp2);
					$totalListeMp3 = $totalListeM5+$totalListeMp2;
					$listeMp4 = array_merge($listeM6, $listeMp3);
					$totalListeMp4 = $totalListeM6+$totalListeMp3;
					$listeMp5 = array_merge($listeM7, $listeMp4);
					$totalListeMp5 = $totalListeM7+$totalListeMp4;
					$listeMp6 = array_merge($listeM8, $listeMp5);
					$totalListeMp6 = $totalListeM8+$totalListeMp5;
					$listeMp7 = array_merge($listeM9, $listeMp6);
					$totalListeMp7 = $totalListeM9+$totalListeMp6;
					$liste = array_merge($listeFAM, $listeMp7);
					$totalListe = $totalListeFAM+$totalListeMp7;
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMPT($arrayRegies);
					break;
			case '92'://Hakim
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisHST($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountHST($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesHST($arrayRegies);
					break;
			case '41'://Gabriel
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisGBT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountGBT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesGBT($arrayRegies);
					break;
			case '93'://Thomas
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisTBT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountTBT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesTBT($arrayRegies);
					break;
			case '165'://Jimmy
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisJMT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountJMT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesJMT($arrayRegies);
					break;
			case '26'://Akli SADADOU
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisAST($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountAST($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesAST($arrayRegies);
						//$liste = array_merge(array_diff($listeK2, $liste26));
						//foreach ( $listeK2 as $key => $value ) 
							//{ 
							//unset ( $liste[$key] ) ; 
							//}
					break;
			case '20'://Arnaud LOPES
					$liste1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisALT1($perPage,$offset,$queries,$sorts,$arrayRegies);
					$liste2 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisALT2($perPage,$offset,$queries,$sorts,$arrayRegies);
					
					$totalListe1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountALT1($perPage,$offset,$queries,$sorts,$arrayRegies);    
					$totalListe2 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountALT2($perPage,$offset,$queries,$sorts,$arrayRegies);    
					
					$liste3 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSLLB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe3 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSLLB($perPage,$offset,$queries,$sorts,$arrayRegies);
					
					$liste4 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSLDA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe4 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSLDA($perPage,$offset,$queries,$sorts,$arrayRegies);
					
					//liste1 ALT..
					//liste2 MSL..
					//liste3 LUKIATU Broline
					//liste4 DUHAUPAS Alexandre
					$listebis1 =  array_merge($liste2, $liste1);
					$listebis2 =  array_merge($liste4, $liste3);
					$liste =  array_merge($listebis1, $listebis2);
					$totalListebis1 = $totalListe2+$totalListe1;
					$totalListebis2 = $totalListe4+$totalListe3;
					$totalListe = $totalListebis2+$totalListebis1;
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesALT1($arrayRegies);
					break;
			case '23'://Karim SEKHSOUKH  (FAM + [FAX])
					$listeK1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisKST1($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeK1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountKST1($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeK2 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisKST2($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeK2 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountKST2($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeK3 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisKST3($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeK3 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountKST3($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeK4 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKLN94($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeK4 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKLN94($perPage,$offset,$queries,$sorts,$arrayRegies);

					$listeK5 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKMZ94($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeK5 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKMZ94($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeK6 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKDMT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeK6 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKDMT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeK7 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKBPA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeK7 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKBPA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeK8 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKTTHR($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeK8 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKTTHR($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeK9 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKBO($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeK9 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKBO($perPage,$offset,$queries,$sorts,$arrayRegies);	
					$listeK10 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKSH($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeK10 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKSH($perPage,$offset,$queries,$sorts,$arrayRegies);
					
					$listebKa = array_merge($listeK4, $listeK5);
					$totalListebKa = $totalListeK4+$totalListeK5;
					$listebKb = array_merge($listeK1, $listeK2);
					$totalListebKb = $totalListeK2+$totalListeK1;
					
					$listebKc = array_merge($listebKa, $listeK6);
					$totalListebKc = $totalListebKa+$totalListeK6;
					$listebKca = array_merge($listebKc, $listeK7);
					$totalListebKca = $totalListebKc+$totalListeK7;
					
					$listebKcb = array_merge($listebKca, $listeK8);
					$totalListebKcb = $totalListebKca+$totalListeK8;
					
					$listebKcc = array_merge($listebKcb, $listeK9);
					$totalListebKcc = $totalListebKcb+$totalListeK9;
					
					$listebKcd = array_merge($listebKcc, $listeK10);
					$totalListebKcd = $totalListebKcc+$totalListeK10;
					$listebi = array_merge($listebKcd, $listebKb);
					$totalListebi = $totalListebKcd+$totalListebKb;
					$listebis1 = array_merge($listebi, $listeK3);
					$totalListebis1 = $totalListeK3+$totalListebi;
					$liste = array_merge($listeFA, $listebis1);
					$totalListe = $totalListeFA+$totalListebis1;	
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesKST($arrayRegies);
					break;
			case '17'://Nadir  (FAM)
					$listeN1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisNCT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeN1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountNCT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$liste = array_merge($listeN1, $listeFAM);
					$totalListe = $totalListeFAM+$totalListeN1;							
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesNCT($arrayRegies);
					break;
			case '62'://Michael
					$listeMic1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMTT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeMic1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMTT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeMic2 = $this->getDoctrine()
								   ->getManager()
								   ->getRepository('TdaCommandeBundle:Commande')
								   ->getNumDevisMIKCC95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeMic2 = $this->getDoctrine()
									   ->getManager()
									   ->getRepository('TdaCommandeBundle:Commande')
									   ->getCommandesCountMIKCC95($perPage,$offset,$queries,$sorts,$arrayRegies);			   
					$listeMic3 = $this->getDoctrine()
								   ->getManager()
								   ->getRepository('TdaCommandeBundle:Commande')
								   ->getNumDevisMIKDV($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeMic3 = $this->getDoctrine()
									   ->getManager()
									   ->getRepository('TdaCommandeBundle:Commande')
									   ->getCommandesCountMIKDV($perPage,$offset,$queries,$sorts,$arrayRegies);
					$liste1 = array_merge($listeMic1, $listeMic2);
					$totalListe1 = $totalListeMic1+$totalListeMic2;
					$liste = array_merge($liste1, $listeMic3);
					$totalListe = $totalListe1+$totalListeMic3;
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMTT($arrayRegies);
					break;
			case '12'://Valentin ANICE
					$listeV1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisVAT1($perPage,$offset,$queries,$sorts,$arrayRegies);	
					$totalListeV1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountVAT1($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeV2 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisVAT2($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeV2 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountVAT2($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeV3 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisVAT3($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeV3 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountVAT3($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeV4 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisVAT4($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeV4 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountVAT4($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeV5 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisVAT5($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeV5 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountVAT5($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeV6 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisVAT6($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeV6 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountVAT6($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeV7 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSYDB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeV7 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSYDB($perPage,$offset,$queries,$sorts,$arrayRegies);	
						
					$listeV8 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSYMDMJ($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeV8 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSYMDMJ($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeV9 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSYMDY($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeV9 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSYMDY($perPage,$offset,$queries,$sorts,$arrayRegies);
					$liste1 = array_merge($listeV2, $listeV1);
					$liste2 = array_merge($liste1, $listeV3);
					$liste3 = array_merge($liste2, $listeV5);
					$liste4 = array_merge($liste3, $listeV6);
					$liste5 = array_merge($liste4, $listeV7);
					$liste6 = array_merge($liste5, $listeV8);
					$liste7 = array_merge($liste6, $listeV9);
					$liste = array_merge($liste7, $listeV4);
					$totalListe7 = $totalListeV9 + $totalListeV2;
					$totalListe6 = $totalListeV8 + $totalListe7;
					$totalListe5 = $totalListeV7 + $totalListe6;
					$totalListe4 = $totalListeV6 + $totalListe5;
					$totalListe3 = $totalListe4 + $totalListeV5;
					$totalListe2 = $totalListe3 + $totalListeV1; 
					$totalListe1 = $totalListe2 + $totalListeV3;	
					$totalListe	= $totalListe1 + $totalListeV4;					
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesVAT($arrayRegies);
					break;
			case '15'://Mohamad BANAT (FAM + [FAX])
					$listeMo1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMBT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeMo1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMBT1($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeMo2 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMBT1($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeMo2 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMBT($perPage,$offset,$queries,$sorts,$arrayRegies);
					 // + Nadir CHELGHOUF
					$listeMo3 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCHACN($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeMo3 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCHACN($perPage,$offset,$queries,$sorts,$arrayRegies);
					// + Gianni DE BELLIS
					$listeMo4 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCHDBG95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeMo4 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCHDBG95($perPage,$offset,$queries,$sorts,$arrayRegies);
					// + Anthony ANTUNES 
					$listeMo5 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCHAA95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeMo5 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCHAA95($perPage,$offset,$queries,$sorts,$arrayRegies);
					// + MSADEK Rayane 
					$listeMo6 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCHMR($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeMo6 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCHMR($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listebis1 = array_merge($listeMo1, $listeFA);
					$totalListebis1 = $totalListeFA+$totalListeMo1+$totalListeFAX;
					$listebis2 = array_merge($listeMo2, $listebis1);
					$totalListebis2 = $totalListeMo2+$totalListebis1;
					$listebis3 = array_merge($listeMo3, $listebis2);
					$totalListebis3 = $totalListeMo3+$totalListebis2;
					$listebis4 = array_merge($listeMo4, $listebis3);
					$totalListebis4 = $totalListeMo4+$totalListebis3;
					$listebis5 = array_merge($listeMo5, $listebis4);
					$totalListebis5 = $totalListeMo5+$totalListebis4;
					$liste = array_merge($listeMo6, $listebis5);
					$totalListe = $totalListeMo6+$totalListebis5;
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMBT($arrayRegies);
					break;
			case '14': //FOSSE Julien BAYJF00 BAYACRENO
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandes($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCount($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandes($arrayRegies);
					break; 
			case '67': //MOULLA Idris IMC00 COUV'AIR
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandes($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCount($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandes($arrayRegies);
					break; 
			case '68': //MOULLA Ahcène Admin
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandes($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCount($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandes($arrayRegies);
					break;
			case '134': // Virginie Marques dos santos (Bertrand) VMT
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisVMT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountVMT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesVMT($arrayRegies);
					break;
			case '160'://BEDREDDINE Arnaud
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisBAT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountBAT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesBAT($arrayRegies);
					break;
			case '161'://ABBAR Samir
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSSAT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSSAT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSSAT($arrayRegies);
					break;
			case '175'://DE LUCA Clément (MSLCDL + MSKCD)
					$listeDl1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSLCDL($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeDl1 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSLCDL($perPage,$offset,$queries,$sorts,$arrayRegies);
					$listeDl2 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKCD($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeDl2 = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKCD($perPage,$offset,$queries,$sorts,$arrayRegies);
					$liste = array_merge($listeDl1, $listeDl2);
					$totalListe = $totalListeDl1+$totalListeDl2;
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSKCD($arrayRegies);
					break;
			case '172'://WACH Alexis
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisAWT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountAWT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesAWT($arrayRegies);
					break;
			case '174'://DOS SANTOS Nicolas
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKND($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKND($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSKND($arrayRegies);
					break;
			//case '177'://BOUFOUDI Mevy
					//$liste = $this->getDoctrine()
                        //->getManager()
                        //->getRepository('TdaCommandeBundle:Commande')
                        //->getNumDevisSMBT($perPage,$offset,$queries,$sorts,$arrayRegies);
					//$totalListe = $this->getDoctrine()
                        //->getManager()
                        //->getRepository('TdaCommandeBundle:Commande')
                        //->getCommandesCountSMBT($perPage,$offset,$queries,$sorts,$arrayRegies);
					//$totalListeQuery= $this->getDoctrine()
                        //->getManager()
                        //->getRepository('TdaCommandeBundle:Commande')
                        //->getNbCommandesSMBT($arrayRegies);
					//break;
			case '182': //CROCHEMAR Christophe
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSYCCT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSYCCT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSYCCT($arrayRegies);
					break;
			case '205': //DA COSTA PINTO Michael SOCOM
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSOPMT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSOPMT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSOPMT($arrayRegies);
					break;
			case '215': //LOUISIUS Laurent  MIALL
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIALL($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIALL($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMIALL($arrayRegies);
					break;
			case '231': //LAZAR Ahmed 
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSLLA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSLLA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSLLA($arrayRegies);
					break;
			case '232': //MAZHAR Avais 
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSLMS($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSLMS($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSLMS($arrayRegies);
					break;
			case '238': //BRAS Andre 
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSLBA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSLBA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSLBA($arrayRegies);
					break;
			case '239': //ARNAUD Baptiste 
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKAB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKAB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSKAB($arrayRegies);
					break;
			case '243': //NIAY Axel 
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSANT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSANT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSANT77($arrayRegies);
					break;
			case '246': //MAUREL Marlon
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSMMT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSMMT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSMMT77($arrayRegies);
					break;	
			case '257': //MEZEDJRI Kevin
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCHMKT95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCHMKT95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesCHMKT95($arrayRegies);
					break;
			case '262': //IDRISSI Lyazid MIILT77
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIILT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIILT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMIILT77($arrayRegies);
					break;	
			case '268': //Farès BELKHIRI MSKFB94
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSLFB94($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSLFB94($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSLFB94($arrayRegies);
					break;
			case '274': //Jérôme LE SAOUT SYLSJ95
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSYLSJ95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSYLSJ95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSYLSJ95($arrayRegies);
					break;
			case '275': //Nadal PEREZ SOPNT77
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSOPNT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSOPNT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSOPNT77($arrayRegies);
					break;
			case '276': //Gianni De BELISS CHDBG95
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCHDBG95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCHDBG95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesCHDBG95($arrayRegies);
					break;
			case '287': //SARL ABBAR SAMIR
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSARLSA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSARLSA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSARLSA($arrayRegies);
					break;
			case '288': //Ragie sattelite PRECORENO
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisPRECORENO($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountPRECORENO($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesPRECORENO($arrayRegies);
					break;
			case '289': //Nadir CHELGHOUF CHACN
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCHACN($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCHACN($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesCHACN($arrayRegies);
					break;
			case '291': //Brayan ALMEIDA SYASB95 
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSYASB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSYASB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSYASB($arrayRegies);
					break;
			case '294': //Aymeric THIBAUD MITAT77 SYASB95
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMITAT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMITAT77($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMITAT77($arrayRegies);
					break;
			case '295': //Nadir LADJICI MSKLN94
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKLN94($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKLN94($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSKLN94($arrayRegies);
					break;
			case '299': //Zunair MAZHAR MSKMZ94
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKMZ94($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKMZ94($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSKMZ94($arrayRegies);
					break;
			case '303': //CROCHEMAR Christophe MIKCC95
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIKCC95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIKCC95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMIKCC95($arrayRegies);
					break;
			//case '308': //BENJELLOUL MOHAMED xxx95 (EN ATTENTE DES INFORMATIONS)
						//$liste = $this->getDoctrine()
                        //->getManager()
                        //->getRepository('TdaCommandeBundle:Commande')
                        //->getNumDevisMIKCC95($perPage,$offset,$queries,$sorts,$arrayRegies);
					//$totalListe = $this->getDoctrine()
                        //->getManager()
                        //->getRepository('TdaCommandeBundle:Commande')
                        //->getCommandesCountMIKCC95($perPage,$offset,$queries,$sorts,$arrayRegies);
					//$totalListeQuery= $this->getDoctrine()
                        //->getManager()
                        //->getRepository('TdaCommandeBundle:Commande')
                        //->getNbCommandesMIKCC95($arrayRegies);
					//break;
			case '310': //ERRAY KAIS SYEK95
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSYEK95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSYEK95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSYEK95($arrayRegies);
					break;
			case '313': //Mourad TANDA TM99
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisTM99($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountTM99($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesTM99($arrayRegies);
					break;
			case '316': //Michael MEDJANI SOMM77
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisPHIMM75($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountPHIMM75($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesPHIMM75($arrayRegies);
					break;
			case '318': //Thomas DE MACEDO MSKDMT
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKDMT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKDMT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSKDMT($arrayRegies);
					break;
			case '319': //Anthony ANTUNES CHAA95
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCHAA95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCHAA95($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesCHAA95($arrayRegies);
					break;
			case '320': // KAPAMBA JEAN-MARIE SYJMK95
						$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSYJMK($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSYJMK($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSYJMK($arrayRegies);
					break;
			case '329'://BOUFOUDI Mevy ATLAN SOBM77
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSOBM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSOBM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSOBM($arrayRegies);
					break;
			case '337'://BRARD Julien MSL&Co MSLBJ94
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSLBJ($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSLBJ($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSLBJ($arrayRegies);
					break;
			case '340'://BIER Mathieu So.CoM SOBIMA77
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSOBIMA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSOBIMA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSOBIMA($arrayRegies);
					break;
			case '347': //DA COSTA PINTO Michael MIAME MIMDCP77
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIMDCP($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIMDCP($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMIMDCP($arrayRegies);
					break;
			case '343': //BRACONNIER Florent MSL&CO MSLBF94
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSLBF($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSLBF($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSLBF($arrayRegies);
					break;
			case '353': //BROSSARD Pierre-Axel MSK MSKBPA
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKBPA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKBPA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSKBPA($arrayRegies);
					break;
			case '354': //TANG TONG HI Rudy MSK MSKTTHR
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKTTHR($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKTTHR($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSKTTHR($arrayRegies);
					break;
			case '355': //BRABAN Olivier MSK MSKBO
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKBO($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKBO($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSKBO($arrayRegies);
					break;
			case '352': //MAILLET John MIA.ME MIAJM
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIAJM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIAJM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMIAJM($arrayRegies);
					break;
			case '358': //DIOVADA Vecchio MIKL MIKDV
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIKDV($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIKDV($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMIKDV($arrayRegies);
					break;
			case '363': //DENY Benjamin SYDB95 
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSYDB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSYDB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSYDB($arrayRegies);
					break;
			case '367': //LUKIATU Broline MSLLB
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSLLB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSLLB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSLLB($arrayRegies);
					break;
			case '371': //SEKHSOUKH Hakim MSKSH
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSKSH($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSKSH($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSKSH($arrayRegies);
					break;
			case '372': //DUHAUPAS Alexandre MSLDA 
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMSLDA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMSLDA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMSLDA($arrayRegies);
					break;
			case '370': //MSADEK Rayane CHMR 
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCHMR($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCHMR($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesCHMR($arrayRegies);
					break;
			case '379': //PONS Henrick PHIHP 
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisPHIHP($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountPHIHP($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesPHIHP($arrayRegies);
					break;
			case '380': //DI MEO Julien SYMDMJ Symenco
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSYMDMJ($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSYMDMJ($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSYMDMJ($arrayRegies);
					break;
			case '381': //LOTETE Jonathan BAYJL BAYACRENO
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisBAYJL($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountBAYJL($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesBAYJL($arrayRegies);
					break;
			case '390': //MOULLA Yacine COUVYM COUV'AIR
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCOUVYM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCOUVYM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesCOUVYM($arrayRegies);
					break;
			case '391': //ANDRUSIOW Alexis PHIAA PHIBAT
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisPHIAA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountPHIAA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesPHIAA($arrayRegies);
					break;
			case '392': //HASSAN Daoud MIADH MIA.ME
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIADH($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIADH($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMIADH($arrayRegies);
					break;
			case '393': //PASCUAL Cédric MIACP MIA.ME
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIACP($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIACP($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMIACP($arrayRegies);
					break;
			case '394': //DURCIN YANN SYMDY SYMENCO
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisSYMDY($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountSYMDY($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesSYMDY($arrayRegies);
					break;
			case '395': //MONTEIRO Marty MIAMM MIA.ME
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisMIAMM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountMIAMM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesMIAMM($arrayRegies);
					break;
			case '396': //TOURE Ibrahima BAYIT BAYACRENO
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisBAYIT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountBAYIT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesBAYIT($arrayRegies);
					break;
			case '398': //DA SILVA BARROS Donovan BAYDDSB BAYACRENO
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisBAYDDSB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountBAYDDSB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesBAYDDSB($arrayRegies);
					break;	
			case '400': //HAVET Kelly KELH  (BAYACRENO et COUV' AIR)
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisKELH($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountKELH($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesKELH($arrayRegies);
					break;
			case '401': //Hamdi MOHAMMED HAMM (BAYACRENO et COUV' AIR)
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisHAMM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountHAMM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesHAMM($arrayRegies);
					break;
			case '402': //Djilali MOHAMMED DJIM (BAYACRENO et COUV'AIR)
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisDJIM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountDJIM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesDJIM($arrayRegies);
					break;
			case '404': //Anis BOUSTA PHIAB (PHIBAT et COUV'AIR)
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisPHIAB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountPHIAB($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesPHIAB($arrayRegies);
					break;
			case '412': //GABORIT Tibo BAYGT BAYACRENO
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisBAYGT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountBAYGT($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesBAYGT($arrayRegies);
					break;
			case '414': //AMIOT ELODIE COUVEA COUV'AIR
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCOUVEA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCOUVEA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesCOUVEA($arrayRegies);
					break;	
			case '418': //FAVERO Jacques COUVJF COUV'AIR
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCOUVJF($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCOUVJF($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesCOUVJF($arrayRegies);
					break;
			case '419': //NEAU Danny COUVND COUV'AIR
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCOUVND($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCOUVND($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesCOUVND($arrayRegies);
					break;
			case '423': //OUARAB Adrien COUVOA COUV'AIR
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCOUVOA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCOUVOA($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesCOUVOA($arrayRegies);
					break;
			case '425': //PEREIRA SOUSA Marie COUVPM COUV'AIR
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNumDevisCOUVPM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountCOUVPM($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesCOUVPM($arrayRegies);
					break;
			default:
			/*
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandes($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCount($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandes($arrayRegies);
					break; 
			*/
			if($CommandeFix != null){
				$queries['search']=$CommandeFix;
				//automatisation pour les nouveau commerciaux (Si $CommandeFix) 
				$liste = $this->getDoctrine()
					->getManager()
					->getRepository('TdaCommandeBundle:Commande')
					->getNumDevisComercial($perPage,$offset,$queries,$sorts,$arrayRegies);
				$totalListe = $this->getDoctrine()
					->getManager()
					->getRepository('TdaCommandeBundle:Commande')
					->getCommandesCountComercial($perPage,$offset,$queries,$sorts,$arrayRegies);
				$totalListeQuery= $this->getDoctrine()
					->getManager()
					->getRepository('TdaCommandeBundle:Commande')
					->getNbCommandesComercial($arrayRegies);
			}else{
				$liste = $this->getDoctrine()
					->getManager()
					->getRepository('TdaCommandeBundle:Commande')
					->getCommandes($perPage,$offset,$queries,$sorts,$arrayRegies);
				$totalListe = $this->getDoctrine()
					->getManager()
					->getRepository('TdaCommandeBundle:Commande')
					->getCommandesCount($perPage,$offset,$queries,$sorts,$arrayRegies);
				$totalListeQuery= $this->getDoctrine()
					->getManager()
					->getRepository('TdaCommandeBundle:Commande')
					->getNbCommandes($arrayRegies);
			}			
		}
		
        return $this->render('TdaCommandeBundle:JSON:listeCommande.json.twig', array(
			 'listes' => $liste,
             'totalListe' => $totalListeQuery,
			 'totalListeQuery' => $totalListe
            ));
    }
    /**/
	/******/
	public function JSONlistedoubleAction(Request $request)
    {
        
        $user= $this->container->get('security.token_storage')->getToken()->getUser();
        $userRegies = $user->getRegies();
        
        $arrayRegies = array();
        foreach($userRegies as $key => $value)
            array_push($arrayRegies, $value->getId());
        if(empty($arrayRegies)) $arrayRegies = array(null);
        
        $perPage = $request->query->get('perPage');
        $offset = $request->query->get('offset');
        $queries = $request->query->get('queries');
        $sorts = $request->query->get('sorts');
						
			$commandes=$this->getDoctrine()
                           ->getManager()
                           ->getRepository('TdaCommandeBundle:Commande')
                           ->getDbcommande();
			$lescommandes=$this->getDoctrine()
                           ->getManager()
                           ->getRepository('TdaCommandeBundle:Commande')
                           ->getSbcommande();
		
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesdoubles($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesdoublesCount($perPage,$offset,$queries,$sorts,$arrayRegies);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesdoubles($arrayRegies);
				
		
        return $this->render('TdaCommandeBundle:JSON:listedoubleCommande.json.twig', array(
			 'lescommandes' => $lescommandes,
			 'commandes' => $commandes,
			 'listes' => $liste,
             'totalListe' => $totalListeQuery,
			 'totalListeQuery' => $totalListe
            ));
    }
	public function listeclientAction()
    {         
        $granted_acces = 0;
        foreach($this->container->get('security.token_storage')->getToken()->getUser()->getAccess() as $key => $value){
            if($value->getAcces() == 'menu_client')
                $granted_acces = 1;
        }
        
        if($granted_acces==1){
            
            $user= $this->container->get('security.token_storage')->getToken()->getUser();
            $userAgences = $user->getAgences();
			
            $familles =  $this->getDoctrine()
                           ->getManager()
                           ->getRepository('TdaCommandeBundle:Famille')
                           ->getFamillesListe();
						   
            return $this->render('TdaCommandeBundle:Commande:listeclient.html.twig', array(
				'familles' => $familles,
                'agences' => $userAgences,
            ));
        }
        else{
            return $this->redirect($this->generateUrl("_homepage"));
        }
    }
	public function JSONlisteclientAction(Request $request)
    {
        
        $user= $this->container->get('security.token_storage')->getToken()->getUser();
        $userAgences = $user->getAgences();
        
        $arrayAgences = array();
        foreach($userAgences as $key => $value)
            array_push($arrayAgences, $value->getId());
        if(empty($arrayAgences)) $arrayAgences = array(null);
        
        $perPage = $request->query->get('perPage');
        $offset = $request->query->get('offset');
        $queries = $request->query->get('queries');
        $sorts = $request->query->get('sorts');
						   
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesClient($perPage,$offset,$queries,$sorts,$arrayAgences);
						
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountClient($perPage,$offset,$queries,$sorts,$arrayAgences);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesClient($arrayAgences);
					
					$factures = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaFacturationBundle:Facture')
                       ->findBy(array('commande' => $liste, 'avoir' => '0', 'etat' => '1'));
					   
					$avoirs = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaFacturationBundle:Facture')
                       ->findBy(array('commande' => $liste, 'avoir' => '1', 'etat' => '1'));
					   
        return $this->render('TdaCommandeBundle:JSON:listeCommandeClient.json.twig', array(
			'avoirs' => $avoirs,
			'factures' => $factures,
			'listes' => $liste,
            'totalListe' => $totalListeQuery,
            'totalListeQuery' => $totalListe
            ));
    }
	public function listeclientcommuneAction()
    {         
        $granted_acces = 0;
        foreach($this->container->get('security.token_storage')->getToken()->getUser()->getAccess() as $key => $value){
            if($value->getAcces() == 'menu_client')
                $granted_acces = 1;
        }
        
        if($granted_acces==1){
            
            $user= $this->container->get('security.token_storage')->getToken()->getUser();
            $userAgences = $user->getAgences();
			
            return $this->render('TdaCommandeBundle:Commande:listeclientcommune.html.twig', array(
                'agences' => $userAgences,
            ));
        }
        else{
            return $this->redirect($this->generateUrl("_homepage"));
        }
    }
	public function JSONlisteclientcommuneAction(Request $request)
    {
        
        $user= $this->container->get('security.token_storage')->getToken()->getUser();
        $userAgences = $user->getAgences();
        
        $arrayAgences = array();
        foreach($userAgences as $key => $value)
            array_push($arrayAgences, $value->getId());
        if(empty($arrayAgences)) $arrayAgences = array(null);
        
        $perPage = $request->query->get('perPage');
        $offset = $request->query->get('offset');
        $queries = $request->query->get('queries');
        $sorts = $request->query->get('sorts');
						   
					$liste = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesClientCommune($perPage,$offset,$queries,$sorts,$arrayAgences);
					$totalListe = $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getCommandesCountClientCommune($perPage,$offset,$queries,$sorts,$arrayAgences);
					$totalListeQuery= $this->getDoctrine()
                        ->getManager()
                        ->getRepository('TdaCommandeBundle:Commande')
                        ->getNbCommandesClientCommune($arrayAgences);
         
					$lescontroleannuels = $this->getDoctrine()
									   ->getManager()
									   ->getRepository('TdaControleAnnuelBundle:ControleAnnuel')
									   ->findBy(array('commande' => $liste));

        return $this->render('TdaCommandeBundle:JSON:listeCommandeClientCommune.json.twig', array(
			'lescontroleannuels' => $lescontroleannuels,
			'listes' => $liste,
            'totalListe' => $totalListeQuery,
            'totalListeQuery' => $totalListe
            ));
    }

	/* Jorge Manrique */
    public function pdfCommandeAction($id){
        $files = [];        
        $commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);
		$regie = $commande->getRegie()->getId();
		
		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page_').'.pdf';
        $page = $this->renderView(
            'TdaCommandeBundle:PDF:commande.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);
	
		switch ($regie) {
			case 2:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-SYMENCO.pdf';
				break;
			case 3:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-MIAME.pdf';
				break;
			case 8:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-BAYACRENO.pdf';
				break;
			case 12:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-AB.pdf';
				break;
			case 14:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-COUVAIR.pdf';
				break;
			case 18:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-PHIBAT.pdf';
				break;
			default:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/'.uniqid('eraseme_').'.pdf';
				$page2 = $this->renderView(
    				'TdaCommandeBundle:REGIE:conditions-generales.html.twig',
    				array(
        				'commande' => $commande,
    				)
				);
				$html2pdf = new Html2Pdf('P', 'A4', 'fr');
				$html2pdf->pdf->SetDisplayMode('fullpage');
				$html2pdf->writeHTML($page2);
				$html2pdf->output($fileout,'F');	
		}
		array_push($files,$fileout);

		$fileout = 'BonDeCommande-'.$commande->getDevis().'.pdf';
		$this->mergePdf($files, $fileout);
		unlink($files[0]);
		if (strpos($files[1],'eraseme') !== false) unlink($files[1]);
    }
	/* JM */

	/* Jorge Manrique */
	public function regieCommandeAction($id) {    
		$files = [];      
        $commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);
		$regie = $commande->getRegie()->getId();
		
		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page_').'.pdf';
        $page = $this->renderView(
            'TdaCommandeBundle:REGIE:commande.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		switch ($regie) {
			case 2:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-SYMENCO.pdf';
				break;
			case 3:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-MIAME.pdf';
				break;
			case 8:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-BAYACRENO.pdf';
				break;
			case 12:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-AB.pdf';
				break;
			case 14:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-COUVAIR.pdf';
				break;
			case 18:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-PHIBAT.pdf';
				break;
			default:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/'.uniqid('eraseme_').'.pdf';
				$page2 = $this->renderView(
    				'TdaCommandeBundle:REGIE:conditions-generales.html.twig',
    				array(
        				'commande' => $commande,
    				)
				);
				$html2pdf = new Html2Pdf('P', 'A4', 'fr');
				$html2pdf->pdf->SetDisplayMode('fullpage');
				$html2pdf->writeHTML($page2);
				$html2pdf->output($fileout,'F');	
		}
		array_push($files,$fileout);

		$fileout = 'Devis-'.$commande->getDevis().'.pdf';
		$this->mergePdf($files, $fileout);
		unlink($files[0]);
		if (strpos($files[1],'eraseme') !== false) unlink($files[1]);
    }
	/* JM */

	/*test pdf pour Regiecommande */
	public function testpdfcommandeAction($id)
    {         
        $granted_acces = 0;
        foreach($this->container->get('security.token_storage')->getToken()->getUser()->getAccess() as $key => $value){
            if($value->getAcces() == 'menu_commande')
                $granted_acces = 1;
        }
        
        if($granted_acces==1){
            $commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);
					   
			$regie = $commande->getRegie()->getId();
            $user= $this->container->get('security.token_storage')->getToken()->getUser();
            $userAgences = $user->getAgences();
			
            return $this->render('TdaCommandeBundle:REGIE:testpdfcommande.html.twig', array(
                'commande' => $commande,
            ));
        }
        else{
            return $this->redirect($this->generateUrl("_homepage"));
        }
    }
	
	public function voirpdfcommandeAction($id)
    {         
        $granted_acces = 0;
        foreach($this->container->get('security.token_storage')->getToken()->getUser()->getAccess() as $key => $value){
            if($value->getAcces() == 'menu_commande')
                $granted_acces = 1;
        }
        
        if($granted_acces==1){
            $commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);
					   
			$regie = $commande->getRegie()->getId();
            $user= $this->container->get('security.token_storage')->getToken()->getUser();
            $userAgences = $user->getAgences();
			
            
			 $page = $this->renderView(
            'TdaCommandeBundle:REGIE:voirpdfcommande.html.twig',
            array(
                'commande' => $commande,
            )
        );
        
        //$html2pdf = $this->get('html2pdf')->get();
        $html2pdf = new Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('fullpage');
        $html2pdf->writeHTML($page);
        $html2pdf->Output('Test-commande-'.$commande->getDevis().'.pdf', 'D');
        
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');
		
        }
        else{
            return $this->redirect($this->generateUrl("_homepage"));
        }
    }
	/* fin du test */
    /*FAM PDF*/
	
	 public function famCommandeAction($id){
                
        $commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);
        
        $page = $this->renderView(
            'TdaCommandeBundle:FAM:commande.html.twig',
            array(
                'commande' => $commande,
            )
        );
        
        //$html2pdf = $this->get('html2pdf')->get();
        $html2pdf = new Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('fullpage');
        //$html2pdf->setModeDebug();
        $html2pdf->writeHTML($page);
        //$html2pdf->Output('BC-'.$id.'.pdf', 'D');
        //$html2pdf->Output('PDF/BC-'.$id.'.pdf', 'F');
        $filename = $this->getParameter('html2pdf_chemin').'/web/PDF/BC-'.$id.'.pdf';
        $html2pdf->Output($filename, 'F');
        
        //$fpdi = new \fpdi\FPDI();
        $fpdi = new Fpdi();
        
        function ajouteFichier($pdf,$file)
        {
            $nbPage = $pdf->setSourceFile($file);
            for ($i = 1; $i <= $nbPage; $i++) {
                $tplidx = $pdf->importPage($i);
                $size = $pdf->getTemplatesize($tplidx);
                //$pdf->AddPage('P', array($size['w'], $size['h']));
                //$pdf->AddPage('P', array($size['width'], $size['height']));
                $pdf->AddPage($size['orientation'], $size);
                $pdf->useTemplate($tplidx);
            }
        }
        function combineFichier($pdf,$file, $file2)
        {
            $nbPage = $pdf->setSourceFile($file);
            for ($i = 1; $i <= $nbPage; $i++) {
                $tplidx = $pdf->importPage($i);
                $size = $pdf->getTemplatesize($tplidx);
                //$pdf->AddPage('P', array($size['w'], $size['h']));
                //$pdf->AddPage('P', array($size['width'], $size['height']));
                $pdf->AddPage($size['orientation'], $size);
                $pdf->useTemplate($tplidx);
                //ajouteFichier($pdf,$file2);
                //$pdf->setSourceFile($file);
            }
            ajouteFichier($pdf,$file2);
        }
		combineFichier($fpdi,"PDF/BC-".$id.".pdf","img/ABP/CONDITIONS-GENERALES-FAM-02052016.pdf");
        $fpdi->Output('BonDeCommande-'.$commande->getDevis().'.pdf','D');
        unlink("PDF/BC-".$id.".pdf");
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');
    }
	/*FAX PDF*/
	
	 public function faxCommandeAction($id){
                
        $commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);
        
        $page = $this->renderView(
            'TdaCommandeBundle:FAX:commande.html.twig',
            array(
                'commande' => $commande,
            )
        );
        
        //$html2pdf = $this->get('html2pdf')->get();
        $html2pdf = new Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('fullpage');
        //$html2pdf->setModeDebug();
        $html2pdf->writeHTML($page);
        //$html2pdf->Output('BC-'.$id.'.pdf', 'D');
        //$html2pdf->Output('PDF/BC-'.$id.'.pdf', 'F');
        $filename = $this->getParameter('html2pdf_chemin').'/web/PDF/BC-'.$id.'.pdf';
        $html2pdf->Output($filename, 'F');

        //$fpdi = new \fpdi\FPDI();
        $fpdi = new Fpdi();
        
        function ajouteFichier($pdf,$file)
        {
            $nbPage = $pdf->setSourceFile($file);
            for ($i = 1; $i <= $nbPage; $i++) {
                $tplidx = $pdf->importPage($i);
                $size = $pdf->getTemplatesize($tplidx);
                //$pdf->AddPage('P', array($size['w'], $size['h']));
                //$pdf->AddPage('P', array($size['width'], $size['height']));
                $pdf->AddPage($size['orientation'], $size);
                $pdf->useTemplate($tplidx);
            }
        }
        function combineFichier($pdf,$file, $file2)
        {
            $nbPage = $pdf->setSourceFile($file);
            for ($i = 1; $i <= $nbPage; $i++) {
                $tplidx = $pdf->importPage($i);
                $size = $pdf->getTemplatesize($tplidx);
                //$pdf->AddPage('P', array($size['w'], $size['h']));
                //$pdf->AddPage('P', array($size['width'], $size['height']));
                $pdf->AddPage($size['orientation'], $size);
                $pdf->useTemplate($tplidx);
                //ajouteFichier($pdf,$file2);
                //$pdf->setSourceFile($file);
            }
            ajouteFichier($pdf,$file2);
        }
		combineFichier($fpdi,"PDF/BC-".$id.".pdf","img/ABP/CONDITIONS-GENERALES-FAM-02052016.pdf");
        $fpdi->Output('BonDeCommande-'.$commande->getDevis().'.pdf','D');
        unlink("PDF/BC-".$id.".pdf");
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');
    }
	/**/
	/*FDT17 PDF*/
	
	 public function fdtCommandeAction($id){
                
        $commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);
        
        $page = $this->renderView(
            'TdaCommandeBundle:FDT:commande.html.twig',
            array(
                'commande' => $commande,
            )
        );
        
        //$html2pdf = $this->get('html2pdf')->get();
        $html2pdf = new Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('fullpage');
        //$html2pdf->setModeDebug();
        $html2pdf->writeHTML($page);
        //$html2pdf->Output('BC-'.$id.'.pdf', 'D');
        //$html2pdf->Output('PDF/BC-'.$id.'.pdf', 'F');
        $filename = $this->getParameter('html2pdf_chemin').'/web/PDF/BC-'.$id.'.pdf';
        $html2pdf->Output($filename, 'F');
        /*header('Content-Type: application/pdf');
        $this->get('knp_snappy.pdf')->generateFromHtml($page, 'PDF/BC-'.$id.'.pdf');*/

        //$fpdi = new \fpdi\FPDI();
        $fpdi = new Fpdi();
        
        function ajouteFichier($pdf,$file)
        {
            $nbPage = $pdf->setSourceFile($file);
            for ($i = 1; $i <= $nbPage; $i++) {
                $tplidx = $pdf->importPage($i);
                $size = $pdf->getTemplatesize($tplidx);
                //$pdf->AddPage('P', array($size['w'], $size['h']));
                //$pdf->AddPage('P', array($size['width'], $size['height']));
                $pdf->AddPage($size['orientation'], $size);
                $pdf->useTemplate($tplidx);
            }
        }
        function combineFichier($pdf,$file, $file2)
        {
            $nbPage = $pdf->setSourceFile($file);
            for ($i = 1; $i <= $nbPage; $i++) {
                $tplidx = $pdf->importPage($i);
                $size = $pdf->getTemplatesize($tplidx);
                //$pdf->AddPage('P', array($size['w'], $size['h']));
                //$pdf->AddPage('P', array($size['width'], $size['height']));
                $pdf->AddPage($size['orientation'], $size);
                $pdf->useTemplate($tplidx);
                //ajouteFichier($pdf,$file2);
                //$pdf->setSourceFile($file);
            }
            ajouteFichier($pdf,$file2);
        }
		combineFichier($fpdi,"PDF/BC-".$id.".pdf","img/ABP/CONDITIONS-GENERALES-FAM-02052016.pdf");
        $fpdi->Output('BonDeCommande-'.$commande->getDevis().'.pdf','D');
        unlink("PDF/BC-".$id.".pdf");
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');
    }
    protected function getErrorsAsArray($form)
    {
        $errors = array();
        foreach ($form->getErrors() as $error)
            $errors[] = $error->getMessage();
 
        foreach ($form->all() as $key => $child) {
            if ($err = $this->getErrorsAsArray($child))
                $errors[$key] = $err;
        }
        return $errors;
    }
	
	public function pdfcadreContributionParticulierAction($id){
                
        $commande = $this->getDoctrine() 
                            ->getManager()
                            ->getRepository('TdaCommandeBundle:Commande')
                            ->find($id);
        
        $page = $this->renderView(
            'TdaCommandeBundle:PDF:cadreContributionParticulier.html.twig',
            array(
                'commande' => $commande,
            )
        );
        
        //$html2pdf = $this->get('html2pdf')->get();
        $html2pdf = new Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('fullpage');
		//console_log($page);
        $html2pdf->writeHTML($page);
        $html2pdf->Output('Cadre-contribution-'.$commande->getDevis().'.pdf', 'D');
        
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');

    }
	
	/*PDF Regie fin*/
	public function pdfdossierpremierAction($id){
                
        $commande = $this->getDoctrine() 
                            ->getManager()
                            ->getRepository('TdaCommandeBundle:Commande')
                            ->find($id);
        
        $page = $this->renderView(
            'TdaCommandeBundle:PDF:dossierpremier.html.twig',
            array(
                'commande' => $commande,
            )
        );
        
        //$html2pdf = $this->get('html2pdf')->get();
        $html2pdf = new Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('fullpage');
        $html2pdf->writeHTML($page);
        $html2pdf->Output('Dossier-Premier-'.$commande->getDevis().'.pdf', 'D');
        
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');

    }
	public function pdfdossierdeuxiemeAction($id){
                
        $commande = $this->getDoctrine() 
                            ->getManager()
                            ->getRepository('TdaCommandeBundle:Commande')
                            ->find($id);
        
        $page = $this->renderView(
            'TdaCommandeBundle:PDF:dossierdeuxieme.html.twig',
            array(
                'commande' => $commande,
            )
        );
        
        //$html2pdf = $this->get('html2pdf')->get();
        $html2pdf = new Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('fullpage');
        $html2pdf->writeHTML($page);
        $html2pdf->Output('Dossier-Deuxieme-'.$commande->getDevis().'.pdf', 'D');
        
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');

    }
	public function pdfdechargeAction($id){
                
        $commande = $this->getDoctrine() 
                            ->getManager()
                            ->getRepository('TdaCommandeBundle:Commande')
                            ->find($id);
        
        $page = $this->renderView(
            'TdaCommandeBundle:PDF:decharge.html.twig',
            array(
                'commande' => $commande,
            )
        );
        
        //$html2pdf = $this->get('html2pdf')->get();
        $html2pdf = new Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('fullpage');
        $html2pdf->writeHTML($page);
        $html2pdf->Output('Décharge-'.$commande->getDevis().'.pdf', 'D');
        
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');

    }
	public function pdfautorisationimageAction($id){
                
        $commande = $this->getDoctrine() 
                            ->getManager()
                            ->getRepository('TdaCommandeBundle:Commande')
                            ->find($id);
        
        $page = $this->renderView(
            'TdaCommandeBundle:PDF:autorisationimage.html.twig',
            array(
                'commande' => $commande,
            )
        );
        
        //$html2pdf = $this->get('html2pdf')->get();
        $html2pdf = new Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('fullpage');
        $html2pdf->writeHTML($page);
        $html2pdf->Output('AUTORISATION_DE_DROIT_D’UTILISATION_D’IMAGES-'.$commande->getDevis().'.pdf', 'D');
        
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');

    }
	public function pdfattestationsimplifieeAction($id){
                
        $commande = $this->getDoctrine() 
                            ->getManager()
                            ->getRepository('TdaCommandeBundle:Commande')
                            ->find($id);
        
        $page = $this->renderView(
            'TdaCommandeBundle:PDF:attestationsimplifiee.html.twig',
            array(
                'commande' => $commande,
            )
        );
        
        //$html2pdf = $this->get('html2pdf')->get();
        $html2pdf = new Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('fullpage');
        $html2pdf->writeHTML($page);
        $html2pdf->Output('ATTESTATION SIMPLIFIEE-'.$commande->getDevis().'.pdf', 'D');
        
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');

    }
	public function pdfacompteAction($id){
                
        $commande = $this->getDoctrine() 
                            ->getManager()
                            ->getRepository('TdaCommandeBundle:Commande')
                            ->find($id);
        
        $page = $this->renderView(
            'TdaCommandeBundle:PDF:acompte.html.twig',
            array(
                'commande' => $commande,
            )
        );
        
        //$html2pdf = $this->get('html2pdf')->get();
        $html2pdf = new Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('fullpage');
        $html2pdf->writeHTML($page);
        $html2pdf->Output('ACOMPTE-AC'.$commande->getDevis().'.pdf', 'D');
        
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');

    }
	public function pdfengagementsmaprimerenovAction($id){
                
        $commande = $this->getDoctrine() 
                            ->getManager()
                            ->getRepository('TdaCommandeBundle:Commande')
                            ->find($id);
        
        $page = $this->renderView(
            'TdaCommandeBundle:PDF:engagementsmaprimerenov.html.twig',
            array(
                'commande' => $commande,
            )
        );
        
        //$html2pdf = $this->get('html2pdf')->get();
        $html2pdf = new Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('fullpage');
        $html2pdf->writeHTML($page);
        $html2pdf->Output('Engagements_à_MaPrimeRénov-'.$commande->getDevis().'.pdf', 'D');
        
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');

    }
	/* JM */

	//Jorge Manrique
	public function regieCommandeIsolAction($id) {
        $files = [];   
        $commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);	   
        $regie = $commande->getRegie()->getId();

		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page_').'.pdf';
		//console_log($fileout);
        $page = $this->renderView(
            'TdaCommandeBundle:REGIE:commandeIsol.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		switch ($regie) {
			case 2:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-SYMENCO.pdf';
				break;
			case 3:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-MIAME.pdf';
				break;
			case 8:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-BAYACRENO.pdf';
				break;
			case 12:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-AB.pdf';
				break;
			case 14:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-COUVAIR.pdf';
				break;
			case 18:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-PHIBAT.pdf';
				break;
			default:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/'.uniqid('eraseme_').'.pdf';
				$pagecgv = $this->renderView(
    				'TdaCommandeBundle:REGIE:conditions-generales.html.twig',
    				array(
        				'commande' => $commande,
    				)
				);
				$html2pdf = new Html2Pdf('P', 'A4', 'fr');
				$html2pdf->pdf->SetDisplayMode('fullpage');
				$html2pdf->writeHTML($pagecgv);
				$html2pdf->output($filecgv,'F');	
		}
		array_push($files,$filecgv);

		$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/'.uniqid('page1_').'.pdf';
		$page1 = $this->renderView(
    		'TdaCommandeBundle:REGIE:commandeIsolClient.html.twig',
    		array(
        		'commande' => $commande,
    		)
		);
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page1);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);
		array_push($files,$filecgv);

		$filemandat = $_SERVER['DOCUMENT_ROOT'].'web/PDF/mandat.pdf';
		array_push($files,$filemandat);
		
		$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/'.uniqid('page5_').'.pdf';
		//console_log($fileout);
		$page5 = $this->renderView(
            'TdaCommandeBundle:PDF:autorisationimage.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page5);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/'.uniqid('page6_').'.pdf';
		$page6 = $this->renderView(
            'TdaCommandeBundle:PDF:attestationsimplifiee.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page6);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/'.uniqid('page7_').'.pdf';
		$page7 = $this->renderView(
            'TdaCommandeBundle:PDF:engagementsmaprimerenov.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page7);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		$fileout = 'Devis-'.$commande->getDevis().'.pdf';
		$this->mergePdf($files, $fileout);
		unlink($files[0]);
		if (strpos($files[1],'eraseme') !== false) unlink($files[1]);
		unlink($files[2]);
		unlink($files[5]);
		unlink($files[6]);
		unlink($files[7]);
    }
	/* JM */

	public function regieCommandeActAction($id){
		$files = [];  
        $commande = $this->getDoctrine()
                       ->getManager()
                       ->getRepository('TdaCommandeBundle:Commande')
                       ->find($id);
        $regie = $commande->getRegie()->getId();
		
		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page_').'.pdf';
        $page = $this->renderView(
            'TdaCommandeBundle:REGIE:commandeAct.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		switch ($regie) {
			case 2:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-SYMENCO.pdf';
				break;
			case 3:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-MIAME.pdf';
				break;
			case 8:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-BAYACRENO.pdf';
				break;
			case 12:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-AB.pdf';
				break;
			case 14:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-COUVAIR.pdf';
				break;
			case 18:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-PHIBAT.pdf';
				break;
			default:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/'.uniqid('pagecgv_').'.pdf';
				$pagecgv = $this->renderView(
    				'TdaCommandeBundle:REGIE:conditions-generales.html.twig',
    				array(
        				'commande' => $commande,
    				)
				);
				$html2pdf = new Html2Pdf('P', 'A4', 'fr');
				$html2pdf->pdf->SetDisplayMode('fullpage');
				$html2pdf->writeHTML($pagecgv);
				$html2pdf->output($filecgv,'F');	
		}
		array_push($files,$filecgv);

		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page1_').'.pdf';
		$page1 = $this->renderView(
            'TdaCommandeBundle:REGIE:commandeActClient.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page1);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);
		array_push($files,$filecgv);

		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page5_').'.pdf';
		$page5 = $this->renderView(
            'TdaCommandeBundle:PDF:autorisationimage.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page5);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page6_').'.pdf';
		$page6 = $this->renderView(
            'TdaCommandeBundle:PDF:attestationsimplifiee.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page6);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		$fileout = 'Devis-'.$commande->getDevis().'.pdf';
		//console_log($files);
		$this->mergePdf($files, $fileout);
		unlink($files[0]);
		unlink($files[2]);
		unlink($files[4]);
		unlink($files[5]);
    }

	/* Jorge Manrique */
	public function pdfdossierAction($id){
        $files = [];
        $commande = $this->getDoctrine() 
            ->getManager()
            ->getRepository('TdaCommandeBundle:Commande')
            ->find($id);
		$regie = $commande->getRegie()->getId();
		
		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page1_').'.pdf';
		$page1 = $this->renderView(
            'TdaCommandeBundle:PDF:dossierpremier.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page1);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		switch ($regie) {
			case 2:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-SYMENCO.pdf';
				break;
			case 3:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-MIAME.pdf';
				break;
			case 8:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-BAYACRENO.pdf';
				break;
			case 12:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-AB.pdf';
				break;
			case 14:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-COUVAIR.pdf';
				break;
			case 18:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-PHIBAT.pdf';
				break;
			default:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/'.uniqid('eraseme_').'.pdf';
				$pagecgv = $this->renderView(
    				'TdaCommandeBundle:REGIE:conditions-generales.html.twig',
    				array(
        				'commande' => $commande,
    				)
				);
				$html2pdf = new Html2Pdf('P', 'A4', 'fr');
				$html2pdf->pdf->SetDisplayMode('fullpage');
				$html2pdf->writeHTML($pagecgv);
				$html2pdf->output($filecgv,'F');	
		}
		array_push($files,$filecgv);
		
		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page2_').'.pdf';
		$page2 = $this->renderView(
            'TdaCommandeBundle:PDF:dossierdeuxieme.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page2);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);
		array_push($files,$filecgv);
	
		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page_').'.pdf';
		$page = $this->renderView(
            'TdaCommandeBundle:PDF:dossier.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);
		array_push($files,$filecgv);
		array_push($files,$fileout);
		array_push($files,$filecgv);
			
		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page3_').'.pdf';
		$page3 = $this->renderView(
            'TdaCommandeBundle:PDF:cadreContributionParticulier.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page3);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);
		
		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page4_').'.pdf';
		$page4 = $this->renderView(
            'TdaCommandeBundle:PDF:decharge.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page4);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);
		
		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page5_').'.pdf';
		$page5 = $this->renderView(
            'TdaCommandeBundle:PDF:autorisationimage.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page5);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page6_').'.pdf';
		$page6 = $this->renderView(
            'TdaCommandeBundle:PDF:attestationsimplifiee.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page6);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page7_').'.pdf';
		$page7 = $this->renderView(
            'TdaCommandeBundle:PDF:engagementsmaprimerenov.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page7);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		$fileout = 'Dossier-'.$commande->getDevis().'.pdf';
		//console_log($files);
		$this->mergePdf($files, $fileout);
		unlink($files[0]);
		if (strpos($files[1],'eraseme') !== false) unlink($files[1]);
		unlink($files[2]);
		unlink($files[4]);
		unlink($files[6]);
		unlink($files[8]);
		unlink($files[9]);
		unlink($files[10]);
		unlink($files[11]);
		unlink($files[12]);

        return $this->render('TdaBaseBundle:Default:pdf.html.twig');
    }
	/* JM */

	/* Jorge Manrique */
	public function pdfdossierActAction($id){
        $files = [];  
        $commande = $this->getDoctrine() 
                            ->getManager()
                            ->getRepository('TdaCommandeBundle:Commande')
                            ->find($id);
		$regie = $commande->getRegie()->getId();

		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page1_').'.pdf';
        $page1 = $this->renderView(
            'TdaCommandeBundle:PDF:dossierpremierAct.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page1);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		switch ($regie) {
			case 2:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-SYMENCO.pdf';
				break;
			case 3:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-MIAME.pdf';
				break;
			case 8:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-BAYACRENO.pdf';
				break;
			case 12:
				$fileout = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-AB.pdf';
				break;
			case 14:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-COUVAIR.pdf';
				break;
			case 18:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/CGV-PHIBAT.pdf';
				break;
			default:
				$filecgv = $_SERVER['DOCUMENT_ROOT'].'web/PDF/'.uniqid('eraseme_').'.pdf';
				$pagecgv = $this->renderView(
    				'TdaCommandeBundle:REGIE:conditions-generales.html.twig',
    				array(
        				'commande' => $commande,
    				)
				);
				$html2pdf = new Html2Pdf('P', 'A4', 'fr');
				$html2pdf->pdf->SetDisplayMode('fullpage');
				$html2pdf->writeHTML($pagecgv);
				$html2pdf->output($filecgv,'F');	
		}
		array_push($files,$filecgv);

		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page2_').'.pdf';
		$page2 = $this->renderView(
            'TdaCommandeBundle:PDF:dossierdeuxiemeAct.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page2);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);
		array_push($files,$filecgv);
		
		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page3_').'.pdf';
		$page3 = $this->renderView(
            'TdaCommandeBundle:PDF:cadreContributionParticulier.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page3);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page4_').'.pdf';
		$page4 = $this->renderView(
            'TdaCommandeBundle:PDF:decharge.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page4);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page5_').'.pdf';
		$page5 = $this->renderView(
            'TdaCommandeBundle:PDF:autorisationimage.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page5);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);

		$fileout = $_SERVER['DOCUMENT_ROOT'].'/web/PDF/'.uniqid('page6_').'.pdf';
		$page6 = $this->renderView(
            'TdaCommandeBundle:PDF:attestationsimplifiee.html.twig',
            array(
                'commande' => $commande,
            )
        );
		$html2pdf = new Html2Pdf('P', 'A4', 'fr');
		$html2pdf->pdf->SetDisplayMode('fullpage');
		$html2pdf->writeHTML($page6);
		$html2pdf->output($fileout,'F');
		array_push($files,$fileout);
		
		$fileout = 'Dossier-'.$commande->getDevis().'.pdf';
		//console_log($files);
		$this->mergePdf($files, $fileout);
		unlink($files[0]);
		if (strpos($files[1],'eraseme') !== false) unlink($files[1]);
		unlink($files[2]);
		unlink($files[4]);
		unlink($files[5]);
		unlink($files[6]);
		unlink($files[7]);
        
        return $this->render('TdaBaseBundle:Default:pdf.html.twig');
    }
	/* JM */
}
