170 lines
6.6 KiB
PHP
170 lines
6.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\MiseEnPlace;
|
|
use App\Aliments;
|
|
use App\Eleveur;
|
|
use App\Moba;
|
|
use Carbon\Carbon;
|
|
|
|
class AjaxController extends Controller
|
|
{
|
|
public function importAliment(Request $request)
|
|
{
|
|
$file = $request->file('fileAliment');
|
|
$flag = true;
|
|
$total = 0;
|
|
$imported = 0;
|
|
$error = 0;
|
|
$errorHtml = "";
|
|
if (($handle = fopen($file, "r")) !== false) {
|
|
while (($data = fgetcsv($handle, 50000, ";", '"')) !== false) {
|
|
if ($flag) {
|
|
$flag = false;
|
|
continue;
|
|
} //end if
|
|
if (isset($data[0]) && isset($data[1]) && isset($data[2]) && strpos($data[1], "/") !== false) {
|
|
$total++;
|
|
$codeLot = $data[0];
|
|
$dateLivraison = $data[1];
|
|
list($d, $m, $y) = explode('/', $dateLivraison);
|
|
$date = $y . '-' . $m . '-' . $d;
|
|
$aliment = $data[2];
|
|
|
|
$alim = new Aliments();
|
|
$alim->code_lot = $codeLot;
|
|
$alim->date_livraison = $date;
|
|
$alim->type_aliment = $aliment;
|
|
|
|
if ($alim->save()) {
|
|
$imported++;
|
|
} else {
|
|
$error++;
|
|
$errorHtml = "<li>Les aliments n'ont pu être importés.</li>";
|
|
}
|
|
}
|
|
}//end while
|
|
}//end if
|
|
return json_encode(array('errors' => $error, 'errorHtml' => $errorHtml, 'total' => $total, 'imported' => $imported));
|
|
}
|
|
|
|
|
|
public function importMep(Request $request)
|
|
{
|
|
$file = $request->file('fileMep');
|
|
// var_dump($file);
|
|
$flag = true;
|
|
$total = 0;
|
|
$imported = 0;
|
|
$error = 0;
|
|
$errorHtml = "";
|
|
if (($handle = fopen($file, "r")) !== false) {
|
|
while (($data = fgetcsv($handle, 50000, ";", '"')) !== false) {
|
|
if ($flag) {
|
|
$flag = false;
|
|
continue;
|
|
} //end if
|
|
$total++;
|
|
$inuavEleveur = $data[10];
|
|
$eleveur = Eleveur::where('code_inuav', 'like', '%' . trim($inuavEleveur) . '%')->first();
|
|
if ($eleveur === null) {
|
|
$error++;
|
|
$errorHtml .= "<li>Eleveur non trouvé : " . $data[1] . " " . $data[2] . "</li>";
|
|
continue;
|
|
} else {
|
|
if (strpos($data[7], "/") !== false && strpos($data[8], "/") !== false) {
|
|
$mep = new MiseEnPlace();
|
|
$mep->eleveurId_pondeuse = $eleveur->id;
|
|
$mep->code_lot_pondeuse = $data[6];
|
|
$mep->hectares_parcours_pondeuse = $data[20];
|
|
switch ($data[21]) {
|
|
case 'OUI':
|
|
$mep->presence_ruche_pondeuse = 1;
|
|
break;
|
|
default:
|
|
$mep->presence_ruche_pondeuse = 0;
|
|
break;
|
|
}
|
|
switch ($data[22]) {
|
|
case 'OUI':
|
|
$mep->zone_mellifere_pondeuse = 1;
|
|
break;
|
|
default:
|
|
$mep->zone_mellifere_pondeuse = 0;
|
|
break;
|
|
}
|
|
$mep->nom_couvoir = $data[11];
|
|
$mep->ville_couvoir = $data[12];
|
|
$mep->cp_couvoir = $data[13];
|
|
$mep->raison_sociale_eleveur_poulettes = $data[14];
|
|
$mep->code_inuav_poulettes = $data[15];
|
|
$mep->nom_eleveur_poulettes = $data[16];
|
|
$mep->prenom_eleveur_poulettes = $data[17];
|
|
$mep->ville_eleveur_poulettes = $data[18];
|
|
$mep->cp_eleveur_poulettes = $data[19];
|
|
|
|
$eleveur->marquage_oeuf = $data[23];
|
|
$eleveur->marquage_b1 = $data[24];
|
|
$eleveur->marquage_b2 = $data[25];
|
|
$eleveur->save();
|
|
|
|
list($d_naissance, $m_naissance, $y_naissance) = explode('/', $data[7]);
|
|
list($d_transfert, $m_transfert, $y_transfert) = explode('/', $data[8]);
|
|
$mep->date_naissance_poulettes = $y_naissance . '-' . $m_naissance . '-' . $d_naissance;
|
|
$mep->date_transfert_poulettes = $y_transfert . '-' . $m_transfert . '-' . $d_transfert;
|
|
|
|
$mep->save();
|
|
$imported++;
|
|
}//end if
|
|
}//end if
|
|
}//end while
|
|
}//end if
|
|
return json_encode(array('errors' => $error, 'errorHtml' => $errorHtml, 'total' => $total, 'imported' => $imported));
|
|
}
|
|
|
|
public function rotateToRight(Request $request)
|
|
{
|
|
$home = url('/');
|
|
$test = $request->filePath;
|
|
// -90deg
|
|
$im = imagecreatefromjpeg($request->filePath);
|
|
$rotate = imagerotate($im, -90, 0);
|
|
imagejpeg($rotate, $test, 100);
|
|
|
|
return json_encode($home . '/' . $test);
|
|
}
|
|
|
|
public function rotateToLeft(Request $request)
|
|
{
|
|
$home = url('/');
|
|
$test = $request->filePath;
|
|
// 90deg
|
|
$im = imagecreatefromjpeg($request->filePath);
|
|
$rotate = imagerotate($im, 90, 0);
|
|
imagejpeg($rotate, $test, 100);
|
|
|
|
return json_encode($home . '/' . $test);
|
|
}
|
|
|
|
public function findMyBox(Request $request)
|
|
{
|
|
$code = $request->code;
|
|
$date = explode('/', $request->date);
|
|
$day = $date[0];
|
|
$month = $date[1];
|
|
|
|
$dateCarbon = Carbon::createFromDate(null, $month, $day)->toArray();
|
|
$year = $dateCarbon['year'];
|
|
$dcr = $year . '-' . $month . '-' . $day;
|
|
|
|
$moba = Moba::where(['code_ede' => $code, 'dcr' => $dcr])->orderBy('id', 'DESC')->first();
|
|
|
|
if (!$moba) {
|
|
return redirect()->route('erreur404');
|
|
}
|
|
|
|
return redirect()->route('FrontPage', ['id' => $moba->code_boite]);
|
|
}
|
|
}
|