Exemple #1
0
 /**
  * @see parent::store() 
  */
 function store()
 {
     // Transférer les événéments de l'ancien référent vers le nouveau
     if ($this->technicien_id && $this->fieldAltered("technicien_id")) {
         $technicien = $this->loadRefTechnicien();
         $old_technicien = new CTechnicien();
         $old_technicien->load($this->_old->_id);
         $evenement = new CEvenementSSR();
         $evenement->therapeute_id = $old_technicien->kine_id;
         $evenement->sejour_id = $this->sejour_id;
         foreach ($evenement->loadMatchingList() as $_evenement) {
             /** @var CEvenementSSR $_evenement */
             if (!$_evenement->_traite) {
                 $_evenement->therapeute_id = $technicien->kine_id;
                 $_evenement->store();
                 CAppUI::setMsg("{$_evenement->_class}-msg-modify", UI_MSG_OK);
             }
         }
     }
     return parent::store();
 }
 /**
  * Recalcul le RHS à partir des événements validés
  *
  * @return void
  */
 function recalculate()
 {
     // Suppression des lignes d'activités du RHS
     /** @var CLigneActivitesRHS $_line */
     foreach ($this->loadBackRefs("lines") as $_line) {
         if ($_line->auto) {
             $_line->delete();
         }
     }
     $this->loadBackRefs("lines");
     // Chargement du séjour
     $sejour = $this->loadRefSejour();
     // Ajout des lignes d'activités
     $evenementSSR = new CEvenementSSR();
     $evenementSSR->sejour_id = $sejour->_id;
     $evenementSSR->realise = 1;
     /** @var CEvenementSSR[] $evenements */
     $evenements = $evenementSSR->loadMatchingList();
     foreach ($evenements as $_evenement) {
         $evenementRhs = $_evenement->getRHS();
         if ($evenementRhs->_id != $this->_id) {
             continue;
         }
         $therapeute = $_evenement->loadRefTherapeute();
         $intervenant = $therapeute->loadRefIntervenantCdARR();
         $code_intervenant_cdarr = $intervenant->code;
         // Actes CdARRs
         $actes_cdarr = $_evenement->loadRefsActesCdARR();
         foreach ($actes_cdarr as $_acte_cdarr) {
             $ligne = new CLigneActivitesRHS();
             $ligne->rhs_id = $this->_id;
             $ligne->executant_id = $therapeute->_id;
             $ligne->code_activite_cdarr = $_acte_cdarr->code;
             $ligne->code_intervenant_cdarr = $code_intervenant_cdarr;
             $ligne->loadMatchingObject();
             $ligne->crementDay($_evenement->debut, "inc");
             $ligne->auto = "1";
             $ligne->store();
         }
         // Actes CsARRs
         $actes_csarr = $_evenement->loadRefsActesCsARR();
         foreach ($actes_csarr as $_acte_csarr) {
             $ligne = new CLigneActivitesRHS();
             $ligne->rhs_id = $this->_id;
             $ligne->executant_id = $therapeute->_id;
             $ligne->code_activite_csarr = $_acte_csarr->code;
             $ligne->code_intervenant_cdarr = $code_intervenant_cdarr;
             $ligne->loadMatchingObject();
             $ligne->crementDay($_evenement->debut, "inc");
             $ligne->auto = "1";
             $ligne->store();
         }
     }
     // Gestion des administrations
     /** @var CActeCdARR $_acte_cdarr_adm */
     foreach ($sejour->loadBackRefs("actes_cdarr") as $_acte_cdarr_adm) {
         $administration = $_acte_cdarr_adm->loadRefAdministration();
         $therapeute = $administration->loadRefAdministrateur();
         $intervenant = $therapeute->loadRefIntervenantCdARR();
         $code_intervenant_cdarr = $intervenant->code;
         $ligne = new CLigneActivitesRHS();
         $ligne->rhs_id = $this->_id;
         $ligne->executant_id = $therapeute->_id;
         $ligne->code_activite_cdarr = $_acte_cdarr_adm->code;
         $ligne->code_intervenant_cdarr = $code_intervenant_cdarr;
         $ligne->loadMatchingObject();
         $ligne->crementDay($administration->dateTime, "inc");
         $ligne->auto = "1";
         $ligne->store();
     }
 }