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

154 lines
5.4 KiB
PHP
Raw Normal View History

2020-01-08 15:13:11 +01:00
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\MiseEnPlace;
use App\Aliments;
use App\Eleveur;
2020-01-30 17:01:44 +01:00
use App\Moba;
use Carbon\Carbon;
2020-01-08 15:13:11 +01:00
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; } //skip first row (headers)
$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>";
}
}
}
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; } //skip first row (headers)
$total++;
$inuavEleveur = $data[10];
2020-01-27 17:20:42 +01:00
$eleveur = Eleveur::where('code_inuav', 'like', '%' . $inuavEleveur . '%')->first();
2020-01-08 15:13:11 +01:00
if($eleveur === null){
$error++;
$errorHtml .= "<li>Eleveur non trouvé : ".$data[1]." ".$data[2]."</li>";
continue;
} else {
$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];
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++;
}
}
}
return json_encode(array('errors' => $error, 'errorHtml' => $errorHtml, 'total' => $total, 'imported' => $imported));
}
2020-01-30 17:01:44 +01:00
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])->first();
if(!isset($moba) || count($moba) == 0 ){
return redirect()->route('erreur404');
}
return redirect()->route('FrontPage', ['id' => $moba->code_boite]);
}
2020-01-08 15:13:11 +01:00
}