Commit 7f9cdb4a authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Merge branch 'develop'

parents eb07a158 9519680b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
        <field name="etatThese" type="string" column="ETAT_THESE" length="20" nullable="false"/>
        <field name="resultat" type="integer" column="RESULTAT" nullable="true"/>
        <field name="datePremiereInscription" type="datetime" column="DATE_PREM_INSC" nullable="true"/>
        <field name="anneeUniv1ereInscription" type="integer" column="ANNEE_UNIV_1ERE_INSC" nullable="true"/>
        <field name="libelleDiscipline" type="string" column="LIB_DISC" length="200" nullable="true"/>
        <field name="datePrevisionSoutenance" type="datetime" column="DATE_PREV_SOUTENANCE" nullable="true"/>
        <field name="dateSoutenance" type="datetime" column="DATE_SOUTENANCE" nullable="true"/>
@@ -49,6 +50,7 @@
        <one-to-many field="rdvBus" target-entity="Application\Entity\Db\RdvBu" mapped-by="these"/>
        <one-to-many field="validations" target-entity="Application\Entity\Db\Validation" mapped-by="these"/>
        <one-to-many field="titreAcces" target-entity="Application\Entity\Db\TitreAcces" mapped-by="these"/>
        <one-to-many field="anneesUnivInscription" target-entity="Application\Entity\Db\TheseAnneeUniv" mapped-by="these"/>

        <many-to-one field="etablissement" target-entity="Application\Entity\Db\Etablissement" fetch="LAZY">
            <join-columns>
+49 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">

    <entity name="Application\Entity\Db\TheseAnneeUniv" table="THESE_ANNEE_UNIV">

        <id name="id" type="integer" column="ID">
            <generator strategy="SEQUENCE"/>
        </id>

        <field name="anneeUniv" type="integer" column="ANNEE_UNIV"/>

        <field name="histoCreation" type="datetime" column="HISTO_CREATION"/>
        <field name="histoDestruction" type="datetime" column="HISTO_DESTRUCTION" nullable="true"/>
        <field name="histoModification" type="datetime" column="HISTO_MODIFICATION"/>

        <field name="sourceCode" column="SOURCE_CODE" length="64" nullable="true"/>

        <many-to-one field="these" target-entity="Application\Entity\Db\These">
            <join-columns>
                <join-column name="THESE_ID" referenced-column-name="ID"/>
            </join-columns>
        </many-to-one>

        <many-to-one field="source" target-entity="Application\Entity\Db\Source">
            <join-columns>
                <join-column name="SOURCE_ID" referenced-column-name="ID"/>
            </join-columns>
        </many-to-one>

        <many-to-one field="histoModificateur" target-entity="Application\Entity\Db\Utilisateur">
            <join-columns>
                <join-column name="HISTO_MODIFICATEUR_ID" referenced-column-name="ID"/>
            </join-columns>
        </many-to-one>
        <many-to-one field="histoDestructeur" target-entity="Application\Entity\Db\Utilisateur">
            <join-columns>
                <join-column name="HISTO_DESTRUCTEUR_ID" referenced-column-name="ID"/>
            </join-columns>
        </many-to-one>
        <many-to-one field="histoCreateur" target-entity="Application\Entity\Db\Utilisateur">
            <join-columns>
                <join-column name="HISTO_CREATEUR_ID" referenced-column-name="ID"/>
            </join-columns>
        </many-to-one>

    </entity>
</doctrine-mapping>
+2 −2
Original line number Diff line number Diff line
@@ -49,9 +49,9 @@ class IndividuRepository extends DefaultEntityRepository
        $text = Util::reduce($text);
        $criteres = explode(' ', $text);

        $sql = sprintf('SELECT * FROM INDIVIDU i JOIN INDIVIDU_RECH ir on ir.id = i.id WHERE rownum <= %s ', (int)$limit);
        $sql = sprintf('SELECT * FROM INDIVIDU i JOIN INDIVIDU_RECH ir on ir.id = i.id WHERE i.HISTO_DESTRUCTION IS NULL AND rownum <= %s ', (int)$limit);
        if ($type !== null) {
            $sql = sprintf('SELECT * FROM INDIVIDU i JOIN INDIVIDU_RECH ir on ir.id = i.id WHERE i.type = \'%s\' AND  rownum <= %s ', $type, (int)$limit);
            $sql = sprintf('SELECT * FROM INDIVIDU i JOIN INDIVIDU_RECH ir on ir.id = i.id WHERE i.HISTO_DESTRUCTION IS NULL AND  i.type = \'%s\' AND  rownum <= %s ', $type, (int)$limit);
            $tmp = null;
        }
        $sqlCri  = [];
+25 −0
Original line number Diff line number Diff line
@@ -62,6 +62,31 @@ class TheseRepository extends DefaultEntityRepository
        return $results;
    }

    /**
     * @param Etablissement|null $etablissement
     * @return int[]
     */
    public function fetchDistinctAnneesUniv1ereInscription(Etablissement $etablissement = null)
    {
        $qb = $this->createQueryBuilder('t');
        $qb
            ->distinct()
            ->select("t.anneeUniv1ereInscription")
            ->orderBy("t.anneeUniv1ereInscription");

        if ($etablissement !== null) {
            $qb
                ->join('t.etablissement', 'etab', Join::WITH, 'etab = :etablissement')
                ->setParameter('etablissement', $etablissement);
        }

        $results = array_map(function($value) {
            return current($value);
        }, $qb->getQuery()->getScalarResult());

        return $results;
    }

    /**
     * @param Etablissement|null $etablissement
     * @return int[]
+59 −1
Original line number Diff line number Diff line
@@ -2,7 +2,6 @@

namespace Application\Entity\Db;

use UnicaenImport\Entity\Db\Traits\SourceAwareTrait;
use Application\Filter\TitreApogeeFilter;
use Assert\Assertion;
use DateTime;
@@ -12,6 +11,7 @@ use UnicaenApp\Entity\HistoriqueAwareInterface;
use UnicaenApp\Entity\HistoriqueAwareTrait;
use UnicaenApp\Exception\RuntimeException;
use UnicaenApp\Util;
use UnicaenImport\Entity\Db\Traits\SourceAwareTrait;
use Zend\Permissions\Acl\Resource\ResourceInterface;

/**
@@ -98,6 +98,11 @@ class These implements HistoriqueAwareInterface, ResourceInterface
     */
    private $datePremiereInscription;

    /**
     * @var integer
     */
    private $anneeUniv1ereInscription;

    /**
     * @var string
     */
@@ -223,6 +228,11 @@ class These implements HistoriqueAwareInterface, ResourceInterface
     */
    private $financements;

    /**
     * @var ArrayCollection
     */
    private $anneesUnivInscription;

    /**
     * @return TitreApogeeFilter
     */
@@ -245,6 +255,7 @@ class These implements HistoriqueAwareInterface, ResourceInterface
        $this->miseEnLignes = new ArrayCollection();
        $this->acteurs = new ArrayCollection();
        $this->rdvBus = new ArrayCollection();
        $this->anneesUnivInscription = new ArrayCollection();
    }

    /**
@@ -1099,6 +1110,33 @@ class These implements HistoriqueAwareInterface, ResourceInterface
        return $this;
    }

    /**
     * @return int
     */
    public function getAnneeUniv1ereInscription()
    {
        return $this->anneeUniv1ereInscription;
    }

    /**
     * @return int
     */
    public function getAnneeUniv1ereInscriptionToString()
    {
        return $this->anneeUniv1ereInscription . '/' . ($this->anneeUniv1ereInscription + 1);
    }

    /**
     * @param int $anneeUniv1ereInscription
     * @return These
     */
    public function setAnneeUniv1ereInscription($anneeUniv1ereInscription)
    {
        $this->anneeUniv1ereInscription = (int) $anneeUniv1ereInscription;

        return $this;
    }

    /**
     * @return string
     */
@@ -1153,6 +1191,26 @@ class These implements HistoriqueAwareInterface, ResourceInterface
        $this->etablissement = $etablissement;
    }

    /**
     * @return ArrayCollection
     */
    public function getAnneesUnivInscription()
    {
        return $this->anneesUnivInscription;
    }

    /**
     * Retourne les années universitaires d'inscription séparées par une virgule.
     *
     * @param string $glue Séparateur, ex: ' - '
     * @return string Ex: "2015/2016, 2016/2017, 2017/2018"
     */
    public function getAnneesUnivInscriptionToString($glue = ', ')
    {
        return implode($glue, array_map(function(TheseAnneeUniv $tau) {
            return $tau->getAnneeUniv1ereInscriptionToString();
        }, $this->anneesUnivInscription->toArray()));
    }

    /**
     * @return ArrayCollection
Loading