2020-10-05 14:59:44 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Controllers\Bo;
|
|
|
|
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
use App\Models\Traceability;
|
|
|
|
|
use Carbon\Carbon;
|
|
|
|
|
|
|
|
|
|
class TraceabilityController extends Controller
|
|
|
|
|
{
|
|
|
|
|
private $responseType = [1 => "Produit trouvé", 2 => "Produit non trouvé", 3 => "Produit élaboré", 4 => "Eleveur non trouvé", 5 => "CP Eleveur manquant"];
|
|
|
|
|
|
|
|
|
|
public function index() {
|
2021-01-05 14:51:15 +01:00
|
|
|
$t = Traceability::orderBy('created_at', 'DESC')->paginate(40);
|
2020-10-05 14:59:44 +02:00
|
|
|
$c = $this->countRequest();
|
|
|
|
|
$dateDebut = null;
|
|
|
|
|
$dateFin = null;
|
|
|
|
|
return view('bo.traceability.index', compact('t', 'c', 'dateDebut', 'dateFin'))->with('responseType', $this->responseType);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function filter(Request $request) {
|
|
|
|
|
$dateDebut = $request->date_debut;
|
|
|
|
|
$dateFin = $request->date_fin;
|
|
|
|
|
$cDateDebut = null;
|
|
|
|
|
$cDateFin = null;
|
|
|
|
|
|
|
|
|
|
if ($dateDebut !== null)
|
|
|
|
|
$cDateDebut = Carbon::createFromFormat('Y-m-d', $dateDebut);
|
|
|
|
|
if ($dateFin !== null)
|
|
|
|
|
$cDateFin = Carbon::createFromFormat('Y-m-d', $dateFin);
|
|
|
|
|
|
|
|
|
|
if ($dateDebut !== null && $dateFin !== null) {
|
|
|
|
|
$t = Traceability::whereBetween('created_at', [$cDateDebut, $cDateFin])->paginate(40);
|
|
|
|
|
} elseif ($dateDebut !== null) {
|
|
|
|
|
$t = Traceability::whereDate('created_at', '>=', $cDateDebut)->paginate(40);
|
|
|
|
|
} elseif ($dateFin !== null) {
|
|
|
|
|
$t = Traceability::whereDate('created_at', '<=', $cDateFin)->paginate(40);
|
|
|
|
|
} else {
|
|
|
|
|
$t = Traceability::all();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$c = $this->countRequest();
|
|
|
|
|
|
|
|
|
|
return view('bo.traceability.index', compact('t', 'c', 'dateDebut', 'dateFin'))->with('responseType', $this->responseType);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function countRequest() {
|
|
|
|
|
$counts = [];
|
|
|
|
|
|
|
|
|
|
$counts[1] = Traceability::where('response_type', 1)->count();
|
|
|
|
|
$counts[2] = Traceability::where('response_type', 2)->count();
|
|
|
|
|
$counts[3] = Traceability::where('response_type', 3)->count();
|
|
|
|
|
$counts[4] = Traceability::where('response_type', 4)->count();
|
|
|
|
|
$counts[5] = Traceability::where('response_type', 5)->count();
|
|
|
|
|
|
|
|
|
|
return $counts;
|
|
|
|
|
}
|
|
|
|
|
}
|