179 lines
6.3 KiB
PHP
179 lines
6.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Fo;
|
|
|
|
use App\Enums\BreederCivilty;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\CafelEggBreeder;
|
|
use App\Models\CafelEggMiseEnPlace;
|
|
use App\Models\CafelFood;
|
|
use Illuminate\Http\Request;
|
|
use App\Models\TraceaEgg;
|
|
use App\Models\VisuelLibelle;
|
|
use Carbon\Carbon;
|
|
|
|
class EggController extends Controller
|
|
{
|
|
/**
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse
|
|
*/
|
|
public function findMyBox(Request $request)
|
|
{
|
|
$code = $request->code;
|
|
$date = explode('/', $request->date);
|
|
$day = $date[0];
|
|
$month = $date[1];
|
|
|
|
$moba = TraceaEgg::where('ede_code', '=', $code)
|
|
->where('dcr', Carbon::createFromDate(null, $month, $day)->format('Y-m-d'))
|
|
->orderBy('box_code', 'DESC')->first();
|
|
|
|
if (!$moba) {
|
|
return view('front.egg.notFound');
|
|
}
|
|
|
|
return redirect()->route('egg.FrontPage', ['id' => $moba->box_code]);
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param mixed $id
|
|
* @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse|\Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory
|
|
*/
|
|
public function indexId($id)
|
|
{
|
|
$multiple = false;
|
|
/** @var \App\Models\TraceaEgg|null */
|
|
$mobas = TraceaEgg::where('box_code', $id)->orderBy('box_code', 'DESC')->first();
|
|
|
|
if (!$mobas) {
|
|
return redirect()->route('egg.search');
|
|
}
|
|
|
|
$edes = $mobas->code_edes;
|
|
|
|
// * check if Bio or not
|
|
$code_ede = $mobas->ede_code;
|
|
$code_prod = substr($code_ede, 0, 1);
|
|
|
|
if ($code_prod === 0) {
|
|
session(['subColor' => 'green']);
|
|
} else {
|
|
session(['subColor' => 'blue']);
|
|
}
|
|
|
|
$datePonte = $mobas->laying_date;
|
|
$date_emballage = $mobas->packing_date;
|
|
// * Compare DCR et Today
|
|
$date_dcr = $mobas->dcr;
|
|
$date_today = Carbon::now();
|
|
$dcrGood = $date_today < $date_dcr;
|
|
|
|
$eleveurs = CafelEggBreeder::whereIn('ede_code', $edes)->get();
|
|
|
|
if (!$eleveurs->count()) {
|
|
return view('front.egg.notFound');
|
|
}
|
|
|
|
$uniqueEleveurs = $eleveurs->unique('code_ede');
|
|
if (count($uniqueEleveurs) > 1) {
|
|
$multiple = true;
|
|
}
|
|
|
|
$inuavs = $eleveurs->pluck('inuavs')->flatten(1);
|
|
|
|
$mep = CafelEggMiseEnPlace::query();
|
|
collect($inuavs)->map(function ($inuav) use ($mep) {
|
|
$mep->where('inuav_codes', 'LIKE', "%{$inuav}%");
|
|
});
|
|
$mep = $mep->where('transfert_date', '<', $datePonte)
|
|
->orderBy('transfert_date', 'DESC')->first();
|
|
|
|
if ($mep) {
|
|
$aliment = CafelFood::where('batch_code', $mep->batch_code)->orderBy('delivery_date', 'DESC')->first();
|
|
} else {
|
|
$mep = '';
|
|
$aliment = "";
|
|
}
|
|
$dataVisuel = VisuelLibelle::where('ean_13', $mobas->ean_13)->first();
|
|
|
|
return view('front.egg.index_id', [
|
|
'id' => $id,
|
|
'multiple' => $multiple,
|
|
'datePonte' => $datePonte,
|
|
'dcr' => $date_dcr,
|
|
'dcrGood' => $dcrGood,
|
|
'eleveurs' => $eleveurs,
|
|
'mep' => $mep,
|
|
'aliment' => $aliment,
|
|
'dataVisuel' => $dataVisuel,
|
|
'date_emballage' => $date_emballage
|
|
]);
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param mixed $id
|
|
* @param mixed $eleveurId
|
|
* @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory
|
|
*/
|
|
public function eleveurPortrait($id, $eleveurId)
|
|
{
|
|
$dateToday = Carbon::now()->toArray();
|
|
$currentYear = $dateToday['year'];
|
|
|
|
$eleveur = CafelEggBreeder::where('cafel_code', $eleveurId)->first();
|
|
|
|
if (isset($eleveur->naissance) && !empty($eleveur->naissance)) {
|
|
$date_naissance = Carbon::createFromFormat('d/m/Y', $eleveur->naissance)->toArray();
|
|
$year = $date_naissance['year'];
|
|
$age = $currentYear - $year;
|
|
} else {
|
|
$age = false;
|
|
}
|
|
if (isset($eleveur->elv_date_debut) && !empty($eleveur->elv_date_debut)) {
|
|
$date_elevage = Carbon::createFromFormat('d/m/Y', $eleveur->elv_date_debut)->toArray();
|
|
$year_elevage = $date_elevage['year'];
|
|
$age_elevage = $currentYear - $year_elevage;
|
|
} else {
|
|
$age_elevage = false;
|
|
}
|
|
|
|
$questions = array();
|
|
if ($eleveur->aboutyou != null && !empty($eleveur->aboutyou)) {
|
|
array_push($questions, array('Parle nous un peu de toi...', $eleveur->aboutyou));
|
|
}
|
|
if ($eleveur->vocation != null && !empty($eleveur->vocation)) {
|
|
switch ($eleveur->civilite) {
|
|
case BreederCivilty::elle():
|
|
array_push($questions, array('Tu as toujours été éleveuse ?', $eleveur->vocation));
|
|
break;
|
|
case BreederCivilty::il():
|
|
array_push($questions, array('Tu as toujours été éleveur ?', $eleveur->vocation));
|
|
break;
|
|
case BreederCivilty::elles():
|
|
array_push($questions, array('Vous avez toujours été éleveuses ?', $eleveur->vocation));
|
|
break;
|
|
case BreederCivilty::ils():
|
|
array_push($questions, array('Vous avez toujours été éleveurs ?', $eleveur->vocation));
|
|
break;
|
|
default:
|
|
array_push($questions, array('Tu as toujours été éleveur ?', $eleveur->vocation));
|
|
break;
|
|
}
|
|
}
|
|
if ($eleveur->likeinjob != null && !empty($eleveur->likeinjob)) {
|
|
array_push($questions, array('Dis nous ce que tu aimes dans ton travail', $eleveur->likeinjob));
|
|
}
|
|
if ($eleveur->loue_means != null && !empty($eleveur->loue_means)) {
|
|
array_push($questions, array('Si je te dis Loué, ça te fait penser à quoi ?', $eleveur->loue_means));
|
|
}
|
|
|
|
return view('front.egg.elevages.portrait', [
|
|
'id' => $id, 'eleveur' => $eleveur, 'age' => $age,
|
|
'ageElevage' => $age_elevage, 'questions' => $questions
|
|
]);
|
|
}
|
|
}
|