$acte->_phases = array(); $actes[$acte_id] = $acte; } $acte = $actes[$acte_id]; $acte->_phases[] = $phase; } // Récupération des commentaires $commentaires_id = CValue::post("commentaires_id"); $commentaires_id = $commentaires_id ? explode("|", $commentaires_id) : array(); $commentaires = CValue::post("commentaires"); $commentaires = $commentaires ? explode("|", $commentaires) : array(); foreach ($commentaires as $key => $_commentaire) { $explode = explode("_", $commentaires_id[$key]); $acte_id = $explode[1]; if (!isset($actes[$acte_id])) { $acte = new CActeCsARR(); $acte->load($acte_id); $acte->_modulateurs = array(); $acte->_phases = array(); $actes[$acte_id] = $acte; } $acte = $actes[$acte_id]; $acte->commentaire = $_commentaire; } // Enregistrements des actes ajustés foreach ($actes as $_acte) { $msg = $_acte->store(); CAppUI::displayMsg($msg, "CActeCsARR-msg-modify"); } $seances_collective = array(); // Réalisation des événements
$evt_ssr = new CEvenementSSR(); $evt_ssr->sejour_id = $sejour_id; $evt_ssr->prescription_line_element_id = $line_id; $evt_ssr->seance_collective_id = $evenement->_id; $evt_ssr->type_seance = $type_seance; $msg = $evt_ssr->store(); CAppUI::displayMsg($msg, "CEvenementSSR-msg-create"); // Si une seance a ete créée, les codes cdarrs seront créés sur l'evenement de la seance $evenement_actes_id = $evt_ssr->_id; } // Actes CdARR foreach ($codes_cdarrs as $_code) { $acte = new CActeCdARR(); $acte->code = $_code; $acte->evenement_ssr_id = $evenement_actes_id; $msg = $acte->store(); CAppUI::displayMsg($msg, "{$acte->_class}-msg-create"); } // Actes CsARR foreach ($codes_csarrs as $_code) { $acte = new CActeCsARR(); $acte->code = $_code; $acte->evenement_ssr_id = $evenement_actes_id; $msg = $acte->store(); CAppUI::displayMsg($msg, "{$acte->_class}-msg-create"); } } } } echo CAppUI::getMsg(); CApp::rip();
/** * Charge les exécutants de cet activité et fournit le nombre d'occurences par exécutants * * @return CMediusers[] * * @see self::_count_actes_by_executant */ function loadRefsAllExecutants() { // Comptage par executant $query = "SELECT therapeute_id, COUNT(*)\r\n FROM `acte_csarr` \r\n LEFT JOIN `evenement_ssr` ON `evenement_ssr`.`evenement_ssr_id` = `acte_csarr`.`evenement_ssr_id`\r\n WHERE `code` = '{$this->code}'\r\n GROUP BY `therapeute_id`"; $acte = new CActeCsARR(); $ds = $acte->getDS(); $counts = $ds->loadHashList($query); arsort($counts); // Chargement des executants $user = new CMediusers(); /** @var CMediusers[] $executants */ $executants = $user->loadAll(array_keys($counts)); foreach ($executants as $_executant) { $_executant->loadRefFunction(); } // Valeurs de retour $this->_count_actes_by_executant = $counts; return $this->_ref_all_executants = $executants; }