ldc-bogt/app/Http/Controllers/AjaxController.php

171 lines
6.6 KiB
PHP
Raw Normal View History

2020-01-08 15:13:11 +01:00
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
2022-03-08 11:40:52 +01:00
use App\Models\MiseEnPlace;
use App\Models\Aliment;
use App\Models\Eleveur;
2022-03-09 10:54:00 +01:00
use App\TracaOeuf;
2020-01-30 17:01:44 +01:00
use Carbon\Carbon;
2020-01-08 15:13:11 +01:00
class AjaxController extends Controller
{
2022-03-08 09:42:26 +01:00
public function importAliment(Request $request)
{
$file = $request->file('fileAliment');
$flag = true;
$total = 0;
$imported = 0;
$error = 0;
2020-01-08 15:13:11 +01:00
$errorHtml = "";
2022-03-08 09:42:26 +01:00
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) {
2020-02-04 10:04:00 +01:00
$total++;
2022-03-08 09:42:26 +01:00
$codeLot = $data[0];
$dateLivraison = $data[1];
2020-02-04 10:04:00 +01:00
list($d, $m, $y) = explode('/', $dateLivraison);
2022-03-08 09:42:26 +01:00
$date = $y . '-' . $m . '-' . $d;
$aliment = $data[2];
2020-02-04 10:04:00 +01:00
2022-03-08 11:40:52 +01:00
$alim = new Aliment();
2022-03-08 09:42:26 +01:00
$alim->code_lot = $codeLot;
2020-02-04 10:04:00 +01:00
$alim->date_livraison = $date;
2022-03-08 09:42:26 +01:00
$alim->type_aliment = $aliment;
2022-03-08 09:42:26 +01:00
if ($alim->save()) {
2020-02-04 10:04:00 +01:00
$imported++;
} else {
$error++;
$errorHtml = "<li>Les aliments n'ont pu être importés.</li>";
}
2020-01-08 15:13:11 +01:00
}
2022-03-08 09:42:26 +01:00
}//end while
}//end if
2020-01-08 15:13:11 +01:00
return json_encode(array('errors' => $error, 'errorHtml' => $errorHtml, 'total' => $total, 'imported' => $imported));
}
2022-03-08 09:42:26 +01:00
public function importMep(Request $request)
{
2020-01-08 15:13:11 +01:00
$file = $request->file('fileMep');
2022-03-08 09:42:26 +01:00
// var_dump($file);
$flag = true;
$total = 0;
$imported = 0;
$error = 0;
2020-01-08 15:13:11 +01:00
$errorHtml = "";
2022-03-08 09:42:26 +01:00
if (($handle = fopen($file, "r")) !== false) {
while (($data = fgetcsv($handle, 50000, ";", '"')) !== false) {
if ($flag) {
$flag = false;
continue;
} //end if
2020-01-08 15:13:11 +01:00
$total++;
$inuavEleveur = $data[10];
2022-03-08 09:42:26 +01:00
$eleveur = Eleveur::where('code_inuav', 'like', '%' . trim($inuavEleveur) . '%')->first();
if ($eleveur === null) {
2020-01-08 15:13:11 +01:00
$error++;
2022-03-08 09:42:26 +01:00
$errorHtml .= "<li>Eleveur non trouvé : " . $data[1] . " " . $data[2] . "</li>";
2020-01-08 15:13:11 +01:00
continue;
} else {
2022-03-08 09:42:26 +01:00
if (strpos($data[7], "/") !== false && strpos($data[8], "/") !== false) {
$mep = new MiseEnPlace();
2022-03-09 10:54:00 +01:00
$mep->eleveur_id = $eleveur->id;
2022-03-08 09:42:26 +01:00
$mep->code_lot_pondeuse = $data[6];
2020-02-04 10:09:16 +01:00
$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;
}
2022-03-08 09:42:26 +01:00
$mep->nom_couvoir = $data[11];
$mep->ville_couvoir = $data[12];
$mep->cp_couvoir = $data[13];
2020-02-04 10:09:16 +01:00
$mep->raison_sociale_eleveur_poulettes = $data[14];
2022-03-08 09:42:26 +01:00
$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];
2020-01-08 15:13:11 +01:00
2020-10-30 16:31:19 +01:00
$eleveur->marquage_oeuf = $data[23];
2022-03-08 09:42:26 +01:00
$eleveur->marquage_b1 = $data[24];
$eleveur->marquage_b2 = $data[25];
2020-10-30 16:31:19 +01:00
$eleveur->save();
2020-10-30 16:27:10 +01:00
2020-02-04 10:09:16 +01:00
list($d_naissance, $m_naissance, $y_naissance) = explode('/', $data[7]);
list($d_transfert, $m_transfert, $y_transfert) = explode('/', $data[8]);
2022-03-08 09:42:26 +01:00
$mep->date_naissance_poulettes = $y_naissance . '-' . $m_naissance . '-' . $d_naissance;
$mep->date_transfert_poulettes = $y_transfert . '-' . $m_transfert . '-' . $d_transfert;
2020-01-08 15:13:11 +01:00
2020-02-04 10:09:16 +01:00
$mep->save();
$imported++;
2022-03-08 09:42:26 +01:00
}//end if
}//end if
}//end while
}//end if
2020-01-08 15:13:11 +01:00
return json_encode(array('errors' => $error, 'errorHtml' => $errorHtml, 'total' => $total, 'imported' => $imported));
}
2020-01-30 17:01:44 +01:00
2022-03-08 09:42:26 +01:00
public function rotateToRight(Request $request)
{
2020-01-30 17:01:44 +01:00
$home = url('/');
$test = $request->filePath;
// -90deg
2022-03-08 09:42:26 +01:00
$im = imagecreatefromjpeg($request->filePath);
2020-01-30 17:01:44 +01:00
$rotate = imagerotate($im, -90, 0);
imagejpeg($rotate, $test, 100);
2022-03-08 09:42:26 +01:00
return json_encode($home . '/' . $test);
2020-01-30 17:01:44 +01:00
}
2022-03-08 09:42:26 +01:00
public function rotateToLeft(Request $request)
{
2020-01-30 17:01:44 +01:00
$home = url('/');
$test = $request->filePath;
// 90deg
2022-03-08 09:42:26 +01:00
$im = imagecreatefromjpeg($request->filePath);
2020-01-30 17:01:44 +01:00
$rotate = imagerotate($im, 90, 0);
imagejpeg($rotate, $test, 100);
2022-03-08 09:42:26 +01:00
return json_encode($home . '/' . $test);
2020-01-30 17:01:44 +01:00
}
2022-03-08 09:42:26 +01:00
public function findMyBox(Request $request)
{
$code = $request->code;
$date = explode('/', $request->date);
$day = $date[0];
2020-01-30 17:01:44 +01:00
$month = $date[1];
$dateCarbon = Carbon::createFromDate(null, $month, $day)->toArray();
2022-03-08 09:42:26 +01:00
$year = $dateCarbon['year'];
$dcr = $year . '-' . $month . '-' . $day;
2020-01-30 17:01:44 +01:00
2022-03-09 10:54:00 +01:00
$moba = TracaOeuf::where(['code_ede' => $code, 'dcr' => $dcr])->orderBy('id', 'DESC')->first();
2020-01-30 17:01:44 +01:00
2022-03-08 09:42:26 +01:00
if (!$moba) {
2020-01-30 17:01:44 +01:00
return redirect()->route('erreur404');
}
return redirect()->route('FrontPage', ['id' => $moba->code_boite]);
}
2020-01-08 15:13:11 +01:00
}