<?php
namespace App\Controller;
use App\Service\PetitsOutils;
use App\Model\ParamMoucheModele;
use App\Form\ModeleMoucheFormType;
use App\Repository\SiteRepository;
use Symfony\Component\HttpFoundation\Request;
// use App\Model\DataMoucheModele;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Service\ModeleMouche\CalculModeleMouche;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\StreamedResponse;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class ModeleMoucheController extends AbstractController
{
private $siteRepository;
private $petitsOutils;
private $calculModeleMouche;
private $requestStack;
public function __construct(SiteRepository $siteRepository, PetitsOutils $petitsOutils, CalculModeleMouche $calculModeleMouche, RequestStack $requestStack )
{
$this->SiteRepository = $siteRepository;
$this->petitsOutils = $petitsOutils;
$this->calculModeleMouche = $calculModeleMouche;
$this->requestStack = $requestStack;
}
/**
* Saisie des paramètres pour le calcul du modèle.
*
* @param Request $request
* @Route("/admin/mouche/params",name="mouche-params")
*/
function datasModeleMoucheAction (Request $request)
{
$defaultData = array();
$param = new ParamMoucheModele();
$form = $this->createForm(ModeleMoucheFormType::class, $param);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$datas = $form->getData();
//dd($datas);
$french = $datas->getBiofix();
if ($french != null) {
$biofix = $this->petitsOutils->frenchDateToEnglish($french);
$param->setBiofix($biofix);
$french = $datas->getFin();
$fin = $this->petitsOutils->frenchDateToEnglish($french);
$param->setFin($fin);
}
$session = $this->requestStack->getSession();
$session->set('ParamMouche', $param);
// dump($sortie);exit;
$sortie = "graph";
$sens = "F";
$retour = $this->calculModeleMouche->retour();
//dd(json_encode($retour['datatMinJour']));
if($sortie == 'graph'){
return $this->render('modele_mouche/graphique.html.twig',
array(
//'site' => $site,
'sens' => $sens,
'datatMinJour' => json_encode($retour['datatMinJour']),
'datatMaxJour' => json_encode($retour['datatMaxJour']),
'datatMoyJour' => json_encode($retour['datatMoyJour']),
'oeuf' => json_encode($retour['oeuf']),
'larve' => json_encode($retour['larve']),
'pupe' => json_encode($retour['pupe']),
'sortie' => $sortie
));
}
if($sortie == 'csv' ){
return $this->redirectToRoute('jm_mesures_modelejsonScp',
array(
'siteId' => $siteId,
'sens' => $sens,
'sortie' => $sortie
));
}
}
return $this->renderForm('modele_mouche/datasModele.html.twig',
array(
'form' => $form
));
}
}