Commit 02c1eb86 authored by Laurent Lécluse's avatar Laurent Lécluse
Browse files

Refonte de l'interface de test de la formule, avec l'affichage des attendus et...

Refonte de l'interface de test de la formule, avec l'affichage des attendus et gestion ders paramètres, plus possibilité d'afficher pour + de lignes
parent dc0d27de
......@@ -77,7 +77,17 @@ CREATE TABLE "FORMULE"
( "ID" NUMBER(*,0) NOT NULL ENABLE,
"LIBELLE" VARCHAR2(100 CHAR) NOT NULL ENABLE,
"PACKAGE_NAME" VARCHAR2(30 CHAR) NOT NULL ENABLE,
"PROCEDURE_NAME" VARCHAR2(30 CHAR) NOT NULL ENABLE
"PROCEDURE_NAME" VARCHAR2(30 CHAR) NOT NULL ENABLE,
"I_PARAM_1_LIBELLE" VARCHAR2(100 CHAR),
"I_PARAM_2_LIBELLE" VARCHAR2(100 CHAR),
"I_PARAM_3_LIBELLE" VARCHAR2(100 CHAR),
"I_PARAM_4_LIBELLE" VARCHAR2(100 CHAR),
"I_PARAM_5_LIBELLE" VARCHAR2(100 CHAR),
"VH_PARAM_1_LIBELLE" VARCHAR2(100 CHAR),
"VH_PARAM_2_LIBELLE" VARCHAR2(100 CHAR),
"VH_PARAM_3_LIBELLE" VARCHAR2(100 CHAR),
"VH_PARAM_4_LIBELLE" VARCHAR2(100 CHAR),
"VH_PARAM_5_LIBELLE" VARCHAR2(100 CHAR)
);
/
......@@ -94,11 +104,11 @@ CREATE TABLE "FORMULE_TEST_INTERVENANT"
"HEURES_SERVICE_STATUTAIRE" FLOAT(126) DEFAULT 0 NOT NULL ENABLE,
"HEURES_SERVICE_MODIFIE" FLOAT(126) DEFAULT 0 NOT NULL ENABLE,
"DEPASSEMENT_SERVICE_DU_SANS_HC" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE,
"PARAM_1" VARCHAR2(50 CHAR),
"PARAM_2" VARCHAR2(50 CHAR),
"PARAM_3" VARCHAR2(50 CHAR),
"PARAM_4" VARCHAR2(50 CHAR),
"PARAM_5" VARCHAR2(50 CHAR),
"PARAM_1" VARCHAR2(100 CHAR),
"PARAM_2" VARCHAR2(100 CHAR),
"PARAM_3" VARCHAR2(100 CHAR),
"PARAM_4" VARCHAR2(100 CHAR),
"PARAM_5" VARCHAR2(100 CHAR),
"A_SERVICE_DU" FLOAT(126) DEFAULT 0 NOT NULL ENABLE,
"C_SERVICE_DU" FLOAT(126),
"DEBUG_INFO" CLOB
......@@ -127,15 +137,14 @@ CREATE TABLE "FORMULE_TEST_VOLUME_HORAIRE"
"TAUX_FI" FLOAT(126) DEFAULT 1 NOT NULL ENABLE,
"TAUX_FA" FLOAT(126) DEFAULT 0 NOT NULL ENABLE,
"TAUX_FC" FLOAT(126) DEFAULT 0 NOT NULL ENABLE,
"TAUX_SERVICE_DU" FLOAT(126) DEFAULT 1 NOT NULL ENABLE,
"TAUX_SERVICE_COMPL" FLOAT(126) DEFAULT 1 NOT NULL ENABLE,
"TYPE_INTERVENTION_CODE" VARCHAR2(15 CHAR),
"PONDERATION_SERVICE_DU" FLOAT(126) DEFAULT 1 NOT NULL ENABLE,
"PONDERATION_SERVICE_COMPL" FLOAT(126) DEFAULT 1 NOT NULL ENABLE,
"PARAM_1" VARCHAR2(50 CHAR),
"PARAM_2" VARCHAR2(50 CHAR),
"PARAM_3" VARCHAR2(50 CHAR),
"PARAM_4" VARCHAR2(50 CHAR),
"PARAM_5" VARCHAR2(50 CHAR),
"PARAM_1" VARCHAR2(100 CHAR),
"PARAM_2" VARCHAR2(100 CHAR),
"PARAM_3" VARCHAR2(100 CHAR),
"PARAM_4" VARCHAR2(100 CHAR),
"PARAM_5" VARCHAR2(100 CHAR),
"HEURES" FLOAT(126) DEFAULT 0 NOT NULL ENABLE,
"A_SERVICE_FI" FLOAT(126),
"A_SERVICE_FA" FLOAT(126),
......@@ -5167,95 +5176,97 @@ GROUP BY
/
CREATE OR REPLACE FORCE VIEW V_FORMULE_VOLUME_HORAIRE AS
SELECT
to_number( 1 || vh.id ) id,
vh.id volume_horaire_id,
null volume_horaire_ref_id,
s.id service_id,
null service_referentiel_id,
s.intervenant_id intervenant_id,
ti.id type_intervention_id,
vh.type_volume_horaire_id type_volume_horaire_id,
vhe.etat_volume_horaire_id etat_volume_horaire_id,
CASE WHEN ep.id IS NOT NULL THEN ep.taux_fi ELSE 1 END taux_fi,
CASE WHEN ep.id IS NOT NULL THEN ep.taux_fa ELSE 0 END taux_fa,
CASE WHEN ep.id IS NOT NULL THEN ep.taux_fc ELSE 0 END taux_fc,
ep.structure_id structure_id,
MAX(COALESCE( m.ponderation_service_du, 1)) ponderation_service_du,
MAX(COALESCE( m.ponderation_service_compl, 1)) ponderation_service_compl,
COALESCE(tf.service_statutaire,1) service_statutaire,
vh.heures heures,
vh.horaire_debut horaire_debut,
vh.horaire_fin horaire_fin,
COALESCE(tis.taux_hetd_service,ti.taux_hetd_service,1) taux_service_du,
COALESCE(tis.taux_hetd_complementaire,ti.taux_hetd_complementaire,1) taux_service_compl
FROM
volume_horaire vh
JOIN service s ON s.id = vh.service_id
JOIN intervenant i ON i.id = s.intervenant_id
JOIN type_intervention ti ON ti.id = vh.type_intervention_id
JOIN v_volume_horaire_etat vhe ON vhe.volume_horaire_id = vh.id
LEFT JOIN element_pedagogique ep ON ep.id = s.element_pedagogique_id
LEFT JOIN etape e ON e.id = ep.etape_id
LEFT JOIN type_formation tf ON tf.id = e.type_formation_id
LEFT JOIN element_modulateur em ON em.element_id = s.element_pedagogique_id
AND em.histo_destruction IS NULL
LEFT JOIN modulateur m ON m.id = em.modulateur_id
LEFT JOIN type_intervention_statut tis ON tis.type_intervention_id = ti.id AND tis.statut_intervenant_id = i.statut_id
WHERE
vh.histo_destruction IS NULL
AND s.histo_destruction IS NULL
AND vh.heures <> 0
AND vh.motif_non_paiement_id IS NULL
AND s.intervenant_id = COALESCE( OSE_FORMULE.GET_INTERVENANT_ID, s.intervenant_id )
GROUP BY
vh.id, s.id, s.intervenant_id, ti.id, vh.type_volume_horaire_id, vhe.etat_volume_horaire_id, ep.id,
ep.taux_fi, ep.taux_fa, ep.taux_fc, ep.structure_id, tf.service_statutaire, vh.heures,
vh.horaire_debut, vh.horaire_fin, tis.taux_hetd_service, tis.taux_hetd_complementaire,
ti.taux_hetd_service, ti.taux_hetd_complementaire
UNION ALL
SELECT
to_number( 2 || vhr.id ) id,
null volume_horaire_id,
vhr.id volume_horaire_ref_id,
null service_id,
sr.id service_referentiel_id,
sr.intervenant_id intervenant_id,
null type_intervention_id,
vhr.type_volume_horaire_id type_volume_horaire_id,
evh.id etat_volume_horaire_id,
0 taux_fi,
0 taux_fa,
0 taux_fc,
sr.structure_id structure_id,
1 ponderation_service_du,
1 ponderation_service_compl,
COALESCE(fr.service_statutaire,1) service_statutaire,
vhr.heures heures,
vhr.horaire_debut horaire_debut,
vhr.horaire_fin horaire_fin,
1 taux_service_du,
1 taux_service_compl
FROM
volume_horaire_ref vhr
JOIN service_referentiel sr ON sr.id = vhr.service_referentiel_id
JOIN v_volume_horaire_ref_etat vher ON vher.volume_horaire_ref_id = vhr.id
JOIN etat_volume_horaire evh ON evh.id = vher.etat_volume_horaire_id
JOIN fonction_referentiel fr ON fr.id = sr.fonction_id
WHERE
vhr.histo_destruction IS NULL
AND sr.histo_destruction IS NULL
AND vhr.heures <> 0
AND sr.intervenant_id = COALESCE( OSE_FORMULE.GET_INTERVENANT_ID, sr.intervenant_id )
SELECT
to_number( 1 || vh.id ) id,
vh.id volume_horaire_id,
null volume_horaire_ref_id,
s.id service_id,
null service_referentiel_id,
s.intervenant_id intervenant_id,
ti.id type_intervention_id,
vh.type_volume_horaire_id type_volume_horaire_id,
vhe.etat_volume_horaire_id etat_volume_horaire_id,
CASE WHEN ep.id IS NOT NULL THEN ep.taux_fi ELSE 1 END taux_fi,
CASE WHEN ep.id IS NOT NULL THEN ep.taux_fa ELSE 0 END taux_fa,
CASE WHEN ep.id IS NOT NULL THEN ep.taux_fc ELSE 0 END taux_fc,
ep.structure_id structure_id,
MAX(COALESCE( m.ponderation_service_du, 1)) ponderation_service_du,
MAX(COALESCE( m.ponderation_service_compl, 1)) ponderation_service_compl,
COALESCE(tf.service_statutaire,1) service_statutaire,
vh.heures heures,
vh.horaire_debut horaire_debut,
vh.horaire_fin horaire_fin,
ti.code type_intervention_code,
COALESCE(tis.taux_hetd_service,ti.taux_hetd_service,1) taux_service_du,
COALESCE(tis.taux_hetd_complementaire,ti.taux_hetd_complementaire,1) taux_service_compl
FROM
volume_horaire vh
JOIN service s ON s.id = vh.service_id
JOIN intervenant i ON i.id = s.intervenant_id
JOIN type_intervention ti ON ti.id = vh.type_intervention_id
JOIN v_volume_horaire_etat vhe ON vhe.volume_horaire_id = vh.id
LEFT JOIN element_pedagogique ep ON ep.id = s.element_pedagogique_id
LEFT JOIN etape e ON e.id = ep.etape_id
LEFT JOIN type_formation tf ON tf.id = e.type_formation_id
LEFT JOIN element_modulateur em ON em.element_id = s.element_pedagogique_id
AND em.histo_destruction IS NULL
LEFT JOIN modulateur m ON m.id = em.modulateur_id
LEFT JOIN type_intervention_statut tis ON tis.type_intervention_id = ti.id AND tis.statut_intervenant_id = i.statut_id
WHERE
vh.histo_destruction IS NULL
AND s.histo_destruction IS NULL
AND vh.heures <> 0
AND vh.motif_non_paiement_id IS NULL
AND s.intervenant_id = COALESCE( OSE_FORMULE.GET_INTERVENANT_ID, s.intervenant_id )
GROUP BY
vh.id, s.id, s.intervenant_id, ti.id, vh.type_volume_horaire_id, vhe.etat_volume_horaire_id, ep.id,
ep.taux_fi, ep.taux_fa, ep.taux_fc, ep.structure_id, tf.service_statutaire, vh.heures,
vh.horaire_debut, vh.horaire_fin, tis.taux_hetd_service, tis.taux_hetd_complementaire,
ti.code, ti.taux_hetd_service, ti.taux_hetd_complementaire
UNION ALL
ORDER BY
SELECT
to_number( 2 || vhr.id ) id,
null volume_horaire_id,
vhr.id volume_horaire_ref_id,
null service_id,
sr.id service_referentiel_id,
sr.intervenant_id intervenant_id,
null type_intervention_id,
vhr.type_volume_horaire_id type_volume_horaire_id,
evh.id etat_volume_horaire_id,
0 taux_fi,
0 taux_fa,
0 taux_fc,
sr.structure_id structure_id,
1 ponderation_service_du,
1 ponderation_service_compl,
COALESCE(fr.service_statutaire,1) service_statutaire,
vhr.heures heures,
vhr.horaire_debut horaire_debut,
vhr.horaire_fin horaire_fin,
null type_intervention_code,
1 taux_service_du,
1 taux_service_compl
FROM
volume_horaire_ref vhr
JOIN service_referentiel sr ON sr.id = vhr.service_referentiel_id
JOIN v_volume_horaire_ref_etat vher ON vher.volume_horaire_ref_id = vhr.id
JOIN etat_volume_horaire evh ON evh.id = vher.etat_volume_horaire_id
JOIN fonction_referentiel fr ON fr.id = sr.fonction_id
WHERE
vhr.histo_destruction IS NULL
AND sr.histo_destruction IS NULL
AND vhr.heures <> 0
AND sr.intervenant_id = COALESCE( OSE_FORMULE.GET_INTERVENANT_ID, sr.intervenant_id )
ORDER BY
horaire_fin, horaire_debut, volume_horaire_id, volume_horaire_ref_id;
/
......
<?php
/**
* @var $this \Application\View\Renderer\PhpRenderer
* @var $controller \Zend\Mvc\Controller\AbstractController
* @var $viewName string
* @var $sl \Zend\ServiceManager\ServiceLocatorInterface
*/
$formuleTestIntervenantId = 109;
$data = "P1 CM 100,00 % 0,00 % 0,00 % Oui 2 h 3 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 2 h 3 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 TD 100,00 % 0,00 % 0,00 % Oui 1,5 h 1,5 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 TP 100,00 % 0,00 % 0,00 % Oui 3 h 3 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 TP 100,00 % 0,00 % 0,00 % Oui 3 h 3 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 TP 100,00 % 0,00 % 0,00 % Oui 3 h 3 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 TP 100,00 % 0,00 % 0,00 % Oui 3 h 3 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 TP 100,00 % 0,00 % 0,00 % Oui 4 h 4 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 2 h 3 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
P1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 TP 100,00 % 0,00 % 0,00 % Oui 4 h 4 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 TP 100,00 % 0,00 % 0,00 % Oui 4 h 4 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 TP 100,00 % 0,00 % 0,00 % Oui 4 h 4 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 TP 100,00 % 0,00 % 0,00 % Oui 4 h 4 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 5 h 7,5 HETD 0 HETD 0 HETD 0 HETD 3,45 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 TD 100,00 % 0,00 % 0,00 % Oui 2 h 2 HETD 0 HETD 0 HETD 0 HETD 0,92 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 3,5 h 5,25 HETD 0 HETD 0 HETD 0 HETD 2,41 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 TP 100,00 % 0,00 % 0,00 % Oui 4 h 2,67 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 TP 100,00 % 0,00 % 0,00 % Oui 4 h 2,67 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 TP 100,00 % 0,00 % 0,00 % Oui 4 h 2,67 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 TP 100,00 % 0,00 % 0,00 % Oui 4 h 2,67 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 TP 100,00 % 0,00 % 0,00 % Oui 4 h 2,67 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 TP 100,00 % 0,00 % 0,00 % Oui 4 h 2,67 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 TP 100,00 % 0,00 % 0,00 % Oui 4 h 2,67 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 TP 100,00 % 0,00 % 0,00 % Oui 4 h 2,67 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C1 CM 100,00 % 0,00 % 0,00 % Oui 2 h 3 HETD 0 HETD 0 HETD 0 HETD 1,38 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 TP 100,00 % 0,00 % 0,00 % Oui 4 h 2,67 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 TP 100,00 % 0,00 % 0,00 % Oui 4 h 2,67 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 TP 100,00 % 0,00 % 0,00 % Oui 4 h 2,67 HETD 0 HETD 0 HETD 0 HETD 1,84 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C2 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C3 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
C1 CM 100,00 % 0,00 % 0,00 % Oui 1,5 h 2,25 HETD 0 HETD 0 HETD 0 HETD 1,03 HETD 0 HETD 0 HETD 0 HETD 0 HETD
";
/*
Structures :
1 Droit
2 Histoire
3 IAE
4 IUT
5 Lettres
6 Santé
7 Sciences
8 SUAPS
9 Université
*/
$data = explode("\n", $data);
?>
<style>
table {
font-size:8pt;
}
</style>
<table class="table table-bordered table-condensed table-extra-condensed table-hover">
<tr>
<th>Composante</th>
<th>Service statutaire</th>
<th>Type d'intervention</th>
<th>Taux FI</th>
<th>Taux FA</th>
<th>Taux FC</th>
<th>Modulateur HC</th>
<th>Heures</th>
<th>SFi</th>
<th>SFa</th>
<th>SFc</th>
<th>SRef</th>
<th>HCFi</th>
<th>HCFa</th>
<th>HCFc</th>
<th>HCFcM</th>
<th>HCRef</th>
<th>Tableau</th>
</tr>
<?php
/** @var \Doctrine\ORM\EntityManager $bdd */
$bdd = $sl->get(\Application\Constants::BDD);
/** @var \Application\Service\FormuleTestIntervenantService $ftiService */
$ftiService = $sl->get(\Application\Service\FormuleTestIntervenantService::class);
$fti = $ftiService->get($formuleTestIntervenantId);
$bdd->getConnection()->exec('DELETE FROM formule_test_volume_horaire WHERE intervenant_test_id = ' . $formuleTestIntervenantId);
foreach ($data as $l) {
if (trim($l)) {
$c = explode("\t", trim($l));
$correspStructs = [
'P1' => 1,
'C1' => 2,
'C2' => 3,
'C3' => 4,
];
$composante = $correspStructs[$c[0]];
$serviceStatutaire = true;
$typeIntervention = $c[1];
$referentiel = false;
$tauxFi = 1;
$tauxFa = 0;
$tauxFc = 0;
$modulateurHC = 1;
$heures = $c[7];
$serviceFi = stringToFloat(substr($c[8],0,-5));
$serviceFa = stringToFloat(substr($c[9],0,-5));
$serviceFc = stringToFloat(substr($c[10],0,-5));
$serviceReferentiel = stringToFloat(substr($c[11],0,-5));
$heuresComplFi = stringToFloat(substr($c[12],0,-5));
$heuresComplFa = stringToFloat(substr($c[13],0,-5));
$heuresComplFc = stringToFloat(substr($c[14],0,-5));
$heuresComplFcMaj = stringToFloat(substr($c[15],0,-5));
$heuresComplReferentiel = stringToFloat(substr($c[16],0,-5));
// Transformations
$heures = substr($heures, 0, -2);
$heures = stringToFloat($heures);
$debug = false;
//$debug = true;
// Traitement et affichage
$composante = $sl->get(\Application\Constants::BDD)->getRepository(\Application\Entity\Db\FormuleTestStructure::class)->find($composante);
if ($debug) {
$c = '<pre>' . var_export($c, true) . '</pre>';
} else {
$c = '';
$vh = new \Application\Entity\Db\FormuleTestVolumeHoraire();
$vh->setIntervenantTest($fti);
$vh->setStructureTest($composante);
$vh->setServiceStatutaire($serviceStatutaire);
$vh->setReferentiel($referentiel);
$vh->setTypeInterventionCode($typeIntervention);
$vh->setTauxFi($tauxFi);
$vh->setTauxFa($tauxFa);
$vh->setTauxFc($tauxFc);
$vh->setPonderationServiceCompl($modulateurHC);
$vh->setHeures($heures);
$vh->setAServiceFi($serviceFi);
$vh->setAServiceFa($serviceFa);
$vh->setAServiceFc($serviceFc);
$vh->setAServiceReferentiel($serviceReferentiel);
$vh->setAHeuresComplFi($heuresComplFi);
$vh->setAHeuresComplFa($heuresComplFa);
$vh->setAHeuresComplFc($heuresComplFc);
$vh->setAHeuresComplFcMajorees($heuresComplFcMaj);
$vh->setAHeuresComplReferentiel($heuresComplReferentiel);
$bdd->persist($vh);
$bdd->flush($vh);
}
?>
<tr>
<td><?= $composante ?></td>
<td><?= $serviceStatutaire ?></td>
<td><?= $typeIntervention ?></td>
<td><?= $tauxFi ?></td>
<td><?= $tauxFa ?></td>
<td><?= $tauxFc ?></td>
<td><?= $modulateurHC ?></td>
<td><?= $heures ?></td>
<td><?= $serviceFi ?></td>
<td><?= $serviceFa ?></td>
<td><?= $serviceFc ?></td>
<td><?= $serviceReferentiel ?></td>
<td><?= $heuresComplFi ?></td>
<td><?= $heuresComplFa ?></td>
<td><?= $heuresComplFc ?></td>
<td><?= $heuresComplFcMaj ?></td>
<td><?= $heuresComplReferentiel ?></td>
<td><?= $c ?></td>
</tr>
<?php
}
}
?>
</table>
......@@ -27,6 +27,8 @@ class FormuleController extends AbstractController
use ContextServiceAwareTrait;
use ParametresServiceAwareTrait;
public function testAction()
{
$fti = $this->getServiceFormuleTestIntervenant()->getList();
......@@ -41,23 +43,23 @@ class FormuleController extends AbstractController
/* @var $formuleTestIntervenant FormuleTestIntervenant */
$formuleTestIntervenant = $this->getEvent()->getParam('formuleTestIntervenant');
$structures = $this->em()->createQuery("SELECT s FROM ".FormuleTestStructure::class." s ORDER BY s.libelle")->execute();
$formules = $this->em()->createQuery("SELECT f FROM ".Formule::class." f ORDER BY f.id")->execute();
$annees = $this->em()->createQuery("SELECT a FROM ".Annee::class." a WHERE a.id BETWEEN 2013 AND 2030 ORDER BY a.id")->execute();
$typesIntervenants = $this->em()->createQuery("SELECT ti FROM ".TypeIntervenant::class." ti ORDER BY ti.id")->execute();
$typesVh = $this->em()->createQuery("SELECT t FROM ".TypeVolumeHoraire::class." t ORDER BY t.id")->execute();
$etatsVh = $this->em()->createQuery("SELECT t FROM ".EtatVolumeHoraire::class." t ORDER BY t.id")->execute();
$annee = $this->getServiceContext()->getAnnee();
$formuleId = $this->getServiceParametres()->get('formule');
$structures = $this->em()->createQuery("SELECT s FROM " . FormuleTestStructure::class . " s ORDER BY s.libelle")->execute();
$formules = $this->em()->createQuery("SELECT f FROM " . Formule::class . " f ORDER BY f.id")->execute();
$annees = $this->em()->createQuery("SELECT a FROM " . Annee::class . " a WHERE a.id BETWEEN 2013 AND 2030 ORDER BY a.id")->execute();
$typesIntervenants = $this->em()->createQuery("SELECT ti FROM " . TypeIntervenant::class . " ti ORDER BY ti.id")->execute();
$typesVh = $this->em()->createQuery("SELECT t FROM " . TypeVolumeHoraire::class . " t ORDER BY t.id")->execute();
$etatsVh = $this->em()->createQuery("SELECT t FROM " . EtatVolumeHoraire::class . " t ORDER BY t.id")->execute();
$annee = $this->getServiceContext()->getAnnee();
$formuleId = $this->getServiceParametres()->get('formule');
if (!$formuleTestIntervenant) {
$title = 'Ajout d\'un test de formule';
$title = 'Ajout d\'un test de formule';
$formuleTestIntervenant = new FormuleTestIntervenant();
} else {
$title = 'Modification d\'un test de formule';
try {
$this->getServiceFormuleTestIntervenant()->calculer($formuleTestIntervenant);
}catch(\Exception $e){
} catch (\Exception $e) {
$this->flashMessenger()->addErrorMessage($this->translate($e));
}
}
......@@ -88,42 +90,44 @@ class FormuleController extends AbstractController
{
/* @var $formuleTestIntervenant FormuleTestIntervenant */
$formuleTestIntervenant = $this->getEvent()->getParam('formuleTestIntervenant');
if (!$formuleTestIntervenant){
if (!$formuleTestIntervenant) {
$formuleTestIntervenant = new FormuleTestIntervenant();
}
$result = ['errors' => '', 'data' => []];
$data = json_decode($this->params()->fromPost('data'), true);
$data = json_decode($this->params()->fromPost('data'), true);
$formuleTestIntervenant->fromArray($data);
$passed = true;
if (!$formuleTestIntervenant->getLibelle()){
if (!$formuleTestIntervenant->getLibelle()) {
$result['errors'][] = 'Libellé manquant';
$passed = false;
$passed = false;
}
if (!$formuleTestIntervenant->getFormule()){
if (!$formuleTestIntervenant->getFormule()) {
$result['errors'][] = 'La formule à utiliser n\'est pas précisée';
$passed = false;
$passed = false;
}
if (!$formuleTestIntervenant->getAnnee()){
if (!$formuleTestIntervenant->getAnnee()) {
$result['errors'][] = 'L\'année doit être renseignée';
$passed = false;
$passed = false;
}
if (!$formuleTestIntervenant->getTypeIntervenant()){