Ajout de la BD OCOM

This commit is contained in:
George Frederick "Buzz" Beurling
2020-03-14 09:51:26 -04:00
parent 7433051f85
commit 8a0e09cb80
12 changed files with 434 additions and 40 deletions

View File

@@ -3,7 +3,9 @@
namespace App\Http\Controllers;
use App\OCOM;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Routing\Redirector;
use function GuzzleHttp\json_encode;
use function GuzzleHttp\Psr7\str;
@@ -26,7 +28,11 @@ class OCOMController extends Controller
*/
public function create()
{
return view('admin.ocom.add');
}
public function generate()
{
$text = "Niveau 1,,,,,,,,,Niveau 2,,,,,,,,,Niveau 3,,,,,,,,,Niveau 4,,,,,,,
N° de l'OREN,Objectif de rendement,N° de lOCOM,Objectif de compétence,Nbredepériode,,Nbre dans horaire,Instructeur,,N° de lOREN,Objectif de rendement,N° de lOCOM,Objectif de compétence,Nbre de période,,Nbre dans horaire,Instructeur,,\"N° de
lOREN\",\"Objectif de
@@ -596,11 +602,11 @@ X20,\"Participer à des activités
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,OREN 490 - Total des périodes dinstruction complémentaires,20,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,S.O.,Participer à une revue annuelle (ACR),,,3,,,";
\App\OCOM::truncate();
OCOM::truncate();
$matches = [];
$orens = [];
preg_match_all('/[X\d]\d\d,[^,]*/',$text,$matches);
preg_match_all('/[X\d]\d\d,[^,]*/',\request('text'),$matches);
foreach ($matches[0] as $match)
{
$match = str_replace('"',"",$match);
@@ -632,6 +638,7 @@ X20,\"Participer à des activités
$obj_competence = str_replace($ocom[0].",","",$match);
$obj_competence = trim(preg_replace('/\s\s+/', ' ', $obj_competence));
$obj_competence = trim($obj_competence,"\\");
$nbPeriode = preg_replace('/[MC]\S\d\d.\d\d[A-Z]?,[^,]*,/','',$match);
$newocom->nbPeriode = $nbPeriode;
@@ -654,21 +661,83 @@ X20,\"Participer à des activités
$newocom->objectif_competence = $obj_competence;
$newocom->objectif_rendement = $orens[$oren[0]];
$newocom->objectif_rendement = trim($newocom->objectif_rendement,"\\");
$newocom->save();
}
}
dd(\App\OCOM::all());
return redirect('/admin/ocom')->with('success','Base de donnée des cours générée avec succès!');
}
public function showgenerate()
{
return view('admin.ocom.generate');
}
public function updateOCOMDB()
{
$ocoms = OCOM::all();
$from = strtotime(\App\Config::getData('instruction_year_begin'));
$to = strtotime(\App\Config::getData('instruction_year_end'));
$allEvent = \App\Event::all();
$events = collect();
foreach ($allEvent as $e)
{
if ($e->use_schedule == 1)
{
if (strtotime($e->date_begin) >= $from)
{
if (strtotime($e->date_begin) <= $to)
{
$events->push($e);
foreach ($e->courses as $c)
{
$r = $ocoms->where('ocom',$c->ocom)->first();
if ($r != null)
{
$r->saveCourse($c);
}
}
}
}
}
}
foreach ($ocoms as $o)
{
$o->save();
}
dd($ocoms);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
$ocom = new OCOM();
$ocom->ocom = $request->ocom;
$ocom->objectif_competence = $request->objectif_competence;
$ocom->nbPeriode = $request->nbPeriode;
$ocom->objectif_rendement = $request->objectif_rendement;
$ocom->oren = $request->oren;
if ($ocom->ocom[0] == 'C' || $ocom->ocom[0] == 'c')
{
$ocom->complementary = true;
}
else
{
$ocom->complementary = false;
}
$ocom->course_id = "";
$ocom->save();
clog('add','success','a ajouter un ocom',\Auth::User()->id);
return redirect('/admin/ocom/'.$ocom->id);
}
/**
@@ -685,40 +754,58 @@ X20,\"Participer à des activités
/**
* Show the form for editing the specified resource.
*
* @param \App\OCOM $oCOM
* @param $id
* @return \Illuminate\Http\Response
*/
public function edit(OCOM $oCOM)
public function edit($id)
{
//
return view('admin.ocom.edit',['ocom' => OCOM::find($id)]);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\OCOM $oCOM
* @return \Illuminate\Http\Response
* @param Request $request
* @param $id
* @return RedirectResponse|Redirector
*/
public function update(Request $request, OCOM $oCOM)
public function update(Request $request,$id)
{
//
$ocom = OCOM::find($id);
$ocom->ocom = $request->ocom;
$ocom->objectif_competence = $request->objectif_competence;
$ocom->nbPeriode = $request->nbPeriode;
$ocom->objectif_rendement = $request->objectif_rendement;
$ocom->oren = $request->oren;
if ($ocom->ocom[0] == 'C' || $ocom->ocom[0] == 'c')
{
$ocom->complementary = true;
}
else
{
$ocom->complementary = false;
}
$ocom->save();
clog('edit','success','a modifié un ocom',\Auth::User()->id);
return redirect('/admin/ocom/'.$id);
}
/**
* Remove the specified resource from storage.
*
* @param \App\OCOM $oCOM
* @param OCOM $oCOM
* @return \Illuminate\Http\Response
*/
public function destroy(OCOM $oCOM)
public function destroy($id)
{
//
OCOM::find($id)->delete();
}
public function jsonList()
{
$ocoms = \App\OCOM::all();
$ocoms = OCOM::all();
$name = [];
@@ -731,7 +818,7 @@ X20,\"Participer à des activités
public function getName(string $ocom)
{
$foo = \App\OCOM::all()->where('ocom','=',$ocom)->first();
$foo = OCOM::all()->where('ocom','=',$ocom)->first();
if($foo != null)
{
return $foo->objectif_competence;