Loading front/Mission/Mission.vue +2 −2 Changes for front/Mission/Mission.vue: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ {{ mission.contrat ? 'Contrat établi' : 'Pas de contrat' }} </div> <div> Aucune heure réalisée {{ mission.heuresRealisees}} heure{{ mission.heuresRealisees < 2 ? '' : 's' }} réalisée{{ mission.heuresRealisees < 2 ? '' : 's' }} </div> </div> </div> Loading @@ -111,7 +111,7 @@ </tr> </thead> <tbody> <tr v-for="vh in mission.volumesHoraires" :key="vh.id"> <tr v-for="vh in mission.volumesHorairesPrevus" :key="vh.id"> <td style="text-align: right"> <u-heures :valeur="vh.heures"/> </td> Loading module/Mission/src/Entity/Db/Mission.php +40 −6 Changes for module/Mission/src/Entity/Db/Mission.php: 40 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -65,7 +65,8 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra 'histoCreateur', 'heures', 'heuresValidees', 'volumesHoraires', 'heuresRealisees', 'volumesHorairesPrevus', 'contrat', 'valide', 'validation', Loading Loading @@ -294,7 +295,7 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra public function addValidation(Validation $validation): self { $this->validations[] = $validation; foreach ($this->getVolumesHoraires() as $vh) { foreach ($this->getVolumesHorairesPrevus() as $vh) { if (!$vh->isValide()) { $vh->addValidation($validation); } Loading @@ -308,7 +309,7 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra public function removeValidation(Validation $validation): self { $this->validations->removeElement($validation); foreach ($this->getVolumesHoraires() as $vh) { foreach ($this->getVolumesHorairesPrevus() as $vh) { $vh->removeValidation($validation); } Loading Loading @@ -366,9 +367,26 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra public function getVolumesHoraires(): Collection /** * @return Collection|VolumeHoraireMission[] */ public function getVolumesHorairesPrevus(): Collection { return $this->volumesHoraires; return $this->volumesHoraires->filter(function(VolumeHoraireMission $vhm){ return $vhm->getTypeVolumeHoraire()->isPrevu(); }); } /** * @return Collection|VolumeHoraireMission[] */ public function getVolumesHorairesRealises(): Collection { return $this->volumesHoraires->filter(function(VolumeHoraireMission $vhm){ return $vhm->getTypeVolumeHoraire()->isRealise(); }); } Loading @@ -394,7 +412,7 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra public function hasContrat(): bool { /** @var VolumeHoraireMission[] $vhs */ $vhs = $this->getVolumesHoraires(); $vhs = $this->getVolumesHorairesPrevus(); foreach ($vhs as $vh) { if ($vh->estNonHistorise() && $vh->getContrat() && $vh->getContrat()->estNonHistorise()) { Loading @@ -406,6 +424,22 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra } public function heuresRealisees(): float { $vhs = $this->getVolumesHorairesRealises(); $heures = 0; foreach ($vhs as $vh) { if ($vh->estNonHistorise()) { $heures += $vh->getHeures(); } } return $heures; } public function canSaisie(): bool { Loading module/Mission/src/Service/MissionService.php +4 −6 Changes for module/Mission/src/Service/MissionService.php: 4 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -54,15 +54,15 @@ class MissionService extends AbstractEntityService { $dql = " SELECT m, tm, str, tr, valid, vh, vvh, ctr m, tm, str, tr, valid, vh, vvh, ctr, tvh FROM " . Mission::class . " m JOIN m.typeMission tm JOIN m.structure str JOIN m.tauxRemu tr JOIN " . TypeVolumeHoraire::class . " tvh WITH tvh.code = :typeVolumeHorairePrevu LEFT JOIN m.validations valid WITH valid.histoDestruction IS NULL LEFT JOIN m.volumesHoraires vh WITH vh.histoDestruction IS NULL AND vh.typeVolumeHoraire = tvh LEFT JOIN m.volumesHoraires vh WITH vh.histoDestruction IS NULL LEFT JOIN vh.typeVolumeHoraire tvh LEFT JOIN vh.validations vvh WITH vvh.histoDestruction IS NULL LEFT JOIN vh.contrat ctr WITH ctr.histoDestruction IS NULL WHERE Loading @@ -76,8 +76,6 @@ class MissionService extends AbstractEntityService vh.histoCreation "; $parameters['typeVolumeHorairePrevu'] = TypeVolumeHoraire::CODE_PREVU; return $this->getEntityManager()->createQuery($dql)->setParameters($parameters); } Loading Loading @@ -140,7 +138,7 @@ class MissionService extends AbstractEntityService */ public function save($entity) { foreach ($entity->getVolumesHoraires() as $vh) { foreach ($entity->getVolumesHorairesPrevus() as $vh) { $this->saveVolumeHoraire($vh); } Loading Loading
front/Mission/Mission.vue +2 −2 Changes for front/Mission/Mission.vue: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ {{ mission.contrat ? 'Contrat établi' : 'Pas de contrat' }} </div> <div> Aucune heure réalisée {{ mission.heuresRealisees}} heure{{ mission.heuresRealisees < 2 ? '' : 's' }} réalisée{{ mission.heuresRealisees < 2 ? '' : 's' }} </div> </div> </div> Loading @@ -111,7 +111,7 @@ </tr> </thead> <tbody> <tr v-for="vh in mission.volumesHoraires" :key="vh.id"> <tr v-for="vh in mission.volumesHorairesPrevus" :key="vh.id"> <td style="text-align: right"> <u-heures :valeur="vh.heures"/> </td> Loading
module/Mission/src/Entity/Db/Mission.php +40 −6 Changes for module/Mission/src/Entity/Db/Mission.php: 40 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -65,7 +65,8 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra 'histoCreateur', 'heures', 'heuresValidees', 'volumesHoraires', 'heuresRealisees', 'volumesHorairesPrevus', 'contrat', 'valide', 'validation', Loading Loading @@ -294,7 +295,7 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra public function addValidation(Validation $validation): self { $this->validations[] = $validation; foreach ($this->getVolumesHoraires() as $vh) { foreach ($this->getVolumesHorairesPrevus() as $vh) { if (!$vh->isValide()) { $vh->addValidation($validation); } Loading @@ -308,7 +309,7 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra public function removeValidation(Validation $validation): self { $this->validations->removeElement($validation); foreach ($this->getVolumesHoraires() as $vh) { foreach ($this->getVolumesHorairesPrevus() as $vh) { $vh->removeValidation($validation); } Loading Loading @@ -366,9 +367,26 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra public function getVolumesHoraires(): Collection /** * @return Collection|VolumeHoraireMission[] */ public function getVolumesHorairesPrevus(): Collection { return $this->volumesHoraires; return $this->volumesHoraires->filter(function(VolumeHoraireMission $vhm){ return $vhm->getTypeVolumeHoraire()->isPrevu(); }); } /** * @return Collection|VolumeHoraireMission[] */ public function getVolumesHorairesRealises(): Collection { return $this->volumesHoraires->filter(function(VolumeHoraireMission $vhm){ return $vhm->getTypeVolumeHoraire()->isRealise(); }); } Loading @@ -394,7 +412,7 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra public function hasContrat(): bool { /** @var VolumeHoraireMission[] $vhs */ $vhs = $this->getVolumesHoraires(); $vhs = $this->getVolumesHorairesPrevus(); foreach ($vhs as $vh) { if ($vh->estNonHistorise() && $vh->getContrat() && $vh->getContrat()->estNonHistorise()) { Loading @@ -406,6 +424,22 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra } public function heuresRealisees(): float { $vhs = $this->getVolumesHorairesRealises(); $heures = 0; foreach ($vhs as $vh) { if ($vh->estNonHistorise()) { $heures += $vh->getHeures(); } } return $heures; } public function canSaisie(): bool { Loading
module/Mission/src/Service/MissionService.php +4 −6 Changes for module/Mission/src/Service/MissionService.php: 4 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -54,15 +54,15 @@ class MissionService extends AbstractEntityService { $dql = " SELECT m, tm, str, tr, valid, vh, vvh, ctr m, tm, str, tr, valid, vh, vvh, ctr, tvh FROM " . Mission::class . " m JOIN m.typeMission tm JOIN m.structure str JOIN m.tauxRemu tr JOIN " . TypeVolumeHoraire::class . " tvh WITH tvh.code = :typeVolumeHorairePrevu LEFT JOIN m.validations valid WITH valid.histoDestruction IS NULL LEFT JOIN m.volumesHoraires vh WITH vh.histoDestruction IS NULL AND vh.typeVolumeHoraire = tvh LEFT JOIN m.volumesHoraires vh WITH vh.histoDestruction IS NULL LEFT JOIN vh.typeVolumeHoraire tvh LEFT JOIN vh.validations vvh WITH vvh.histoDestruction IS NULL LEFT JOIN vh.contrat ctr WITH ctr.histoDestruction IS NULL WHERE Loading @@ -76,8 +76,6 @@ class MissionService extends AbstractEntityService vh.histoCreation "; $parameters['typeVolumeHorairePrevu'] = TypeVolumeHoraire::CODE_PREVU; return $this->getEntityManager()->createQuery($dql)->setParameters($parameters); } Loading Loading @@ -140,7 +138,7 @@ class MissionService extends AbstractEntityService */ public function save($entity) { foreach ($entity->getVolumesHoraires() as $vh) { foreach ($entity->getVolumesHorairesPrevus() as $vh) { $this->saveVolumeHoraire($vh); } Loading