ldc-bogt/app/Http/Controllers/Fo/EggController.php
2022-10-21 11:20:26 +02:00

176 lines
6.1 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('/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::whereIn('inuav_code', $inuavs)
->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
]);
}
}