本文整理汇总了PHP中CFunctions::load方法的典型用法代码示例。如果您正苦于以下问题:PHP CFunctions::load方法的具体用法?PHP CFunctions::load怎么用?PHP CFunctions::load使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFunctions
的用法示例。
在下文中一共展示了CFunctions::load方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: loadRefsFwd
/**
* @see parent::loadRefsFwd()
*/
function loadRefsFwd()
{
// fonction (cabinet)
$this->_ref_function = new CFunctions();
$this->_ref_function->load($this->function_id);
// rubrique
$this->_ref_rubrique = new CRubrique();
$this->_ref_rubrique->load($this->rubrique_id);
// mode de paiement
$this->_ref_mode_paiement = new CModePaiement();
$this->_ref_mode_paiement->load($this->mode_paiement_id);
}
示例2: loadRefFunction
function loadRefFunction()
{
if (!$this->_ref_function) {
$this->_ref_function = new CFunctions();
$this->_ref_function->load($this->function_id);
}
}
示例3: loadRefsFwd
/**
* @see parent::loadRefsFwd()
*/
function loadRefsFwd()
{
$this->_ref_function = new CFunctions();
$this->_ref_function->load($this->function_id);
}
示例4: CMediusers
* @version $Revision$
* @link http://www.mediboard.org
*/
global $date, $chir_id, $print;
$print = 1;
$function_id = CValue::get("function_id");
$date = CValue::get("date");
$start = CMbDT::date("this monday", $date);
if ($start > $date) {
$start = CMbDT::date("last monday", $date);
}
$end = CMbDT::date("next sunday", $start);
$muser = new CMediusers();
$musers = $muser->loadProfessionnelDeSanteByPref(PERM_READ, $function_id);
$function = new CFunctions();
$function->load($function_id);
echo "<h1>" . $function->_view . " (" . CMbDT::format($start, CAppUI::conf('longdate')) . " - " . CMbDT::format($end, CAppUI::conf('longdate')) . ")</h1>";
$pconsult = new CPlageconsult();
$ds = $pconsult->getDS();
$where = array();
$where[] = "chir_id " . $ds->prepareIn(array_keys($musers)) . " OR remplacant_id " . $ds->prepareIn(array_keys($musers));
$where["date"] = " BETWEEN '{$start}' AND '{$end}' ";
/** @var CPlageconsult[] $pconsults */
$pconsults = $pconsult->loadList($where, "date", null, "chir_id");
$pconsults_by_date_and_prat = array();
if (!count($pconsults)) {
echo "<div class='small-info'>Les praticiens de ce cabinet n'ont pas de plages de consultations sur cette période</div>";
CApp::rip();
}
foreach ($pconsults as $_pc) {
$chir_id = CValue::get("chir_id", $_pc->chir_id);
示例5: CFunctions
}
// Chargement des affectation
$_sejour->loadRefsAffectations();
if ($maternite_active && $_sejour->grossesse_id) {
$_sejour->_sejours_enfants_ids = CMbArray::pluck($_sejour->loadRefsNaissances(), "sejour_enfant_id");
}
// Chargement des modes de sortie
$_sejour->loadRefEtablissementTransfert();
$_sejour->loadRefServiceMutation();
// Chargement des appels
$_sejour->loadRefsAppel('sortie');
}
// Si la fonction selectionnée n'est pas dans la liste des fonction, on la rajoute
if ($filterFunction && !array_key_exists($filterFunction, $functions)) {
$_function = new CFunctions();
$_function->load($filterFunction);
$functions[$filterFunction] = $_function;
}
$list_mode_sortie = array();
if (CAppUI::conf("dPplanningOp CSejour use_custom_mode_sortie")) {
$mode_sortie = new CModeSortieSejour();
$where = array("actif" => "= '1'");
$list_mode_sortie = $mode_sortie->loadGroupList($where);
}
// Création du template
$smarty = new CSmartyDP();
$smarty->assign("hier", $hier);
$smarty->assign("demain", $demain);
$smarty->assign("date_min", $date_min);
$smarty->assign("date_max", $date_max);
$smarty->assign("date_demain", $date_demain);
示例6: CFunctions
// Filtre sur les praticiens ou les spécialités
$function = new CFunctions();
$functions = array();
$praticiens = array();
// Aucun filtre de séléctionné : tous les éléments auxquels on a le droit
if (!$filter->_specialite && !$filter->_prat_id) {
if (!$user->isFromType(array("Anesthésiste")) && !$praticien->isFromType(array("Anesthésiste"))) {
$functions = $function->loadListWithPerms(PERM_READ);
$praticiens = $user->loadPraticiens();
} else {
$functions = $function->loadList();
$praticiens = $praticien->loadList();
}
} elseif ($filter->_specialite) {
// Filtre sur la specialité : la spec et ses chirs primaires et secondaires
$function->load($filter->_specialite);
$function->loadBackRefs("users");
$function->loadBackRefs("secondary_functions");
$functions[$function->_id] = $function;
$praticiens = $function->_back["users"];
/** @var CSecondaryFunction $sec_func */
foreach ($function->_back["secondary_functions"] as $sec_func) {
if (!isset($praticiens[$sec_func->user_id])) {
$sec_func->loadRefUser();
$praticiens[$sec_func->user_id] = $sec_func->_ref_user;
}
}
} elseif ($filter->_prat_id) {
// Filtre sur le chir : le chir et ses specs primaires et secondaires
$praticien->loadRefFunction();
$praticien->loadBackRefs("secondary_functions");
示例7: store
/**
* @see parent::store()
* @todo Refactoring complet de la fonction store de la consultation
*
* ANALYSE DU CODE
* 1. Gestion du désistement
* 2. Premier if : creation d'une consultation à laquelle on doit attacher
* un séjour (conf active): comportement DEPART / ARRIVEE
* 3. Mise en cache du forfait FSE et facturable : uniquement dans le cas d'un séjour
* 4. On load le séjour de la consultation
* 5. On initialise le _adjust_sejour à false
* 6. Dans le cas ou on a un séjour
* 6.1. S'il est de type consultation, on ajuste le séjour en fonction du comportement DEPART / ARRIVEE
* 6.2. Si la plage de consultation a été modifiée, adjust_sejour passe à true et on ajuste le séjour
* en fonction du comportement DEPART / ARRIVEE (en passant par l'adjustSejour() )
* 6.3. Si on a un id (à virer) et que le chrono est modifié en PATIENT_ARRIVE,
* si on gère les admissions auto (conf) on met une entrée réelle au séjour
* 7. Si le patient est modifié, qu'on est pas en train de merger et qu'on a un séjour,
* on empeche le store
* 8. On appelle le parent::store()
* 9. On passe le forfait SE et facturable au séjour
* 10. On propage la modification du patient de la consultation au séjour
* 11. Si on a ajusté le séjour et qu'on est dans un séjour de type conclut et que le séjour
* n'a plus de consultations, on essaie de le supprimer, sinon on l'annule
* 12. Gestion du tarif et précodage des actes (bindTarif)
* 13. Bind FSE
* ACTIONS
* - Faire une fonction comportement_DEPART_ARRIVEE()
* - Merger le 2, le 6.1 et le 6.2 (et le passer en 2 si possible)
* - Faire une fonction pour le 6.3, le 7, le 10, le 11
* - Améliorer les fonctions 12 et 13 en incluant le test du behaviour fields
*
* COMPORTEMENT DEPART ARRIVEE
* modif de la date d'une consultation ayant un séjour sur le modèle DEPART / ARRIVEE:
* 1. Pour le DEPART :
* -> on décroche la consultation de son ancien séjour
* -> on ne touche pas à l'ancien séjour si :
* - il est de type autre que consultation
* - il a une entrée réelle
* - il a d'autres consultations
* -> sinon on l'annule
*
* 2. Pour l'ARRIVEE
* -> si on a un séjour qui englobe : on la colle dedans
* -> sinon on crée un séjour de consultation
*
* TESTS A EFFECTUER
* 0. Création d'un pause
* 0.1. Déplacement d'une pause
* 1. Création d'une consultation simple C1 (Séjour S1)
* 2. Création d'une deuxième consultation le même jour / même patient C2 (Séjour S1)
* 3. Création d'une troisième consultation le même jour / même patient C3 (Séjour S1)
* 4. Déplacement de la consultation C1 un autre jour (Séjour S2)
* 5. Changement du nom du patient C2 (pas de modification car une autre consultation)
* 6. Déplacement de C3 au même jour (Toujours séjour S1)
* 7. Annulation de C1 (Suppression ou annulation de S1)
* 8. Déplacement de C2 et C3 à un autre jour (séjour S3 créé, séjour S1 supprimé ou annulé)
* 9. Arrivée du patient pour C2 (S3 a une entrée réelle)
* 10. Déplacement de C3 dans un autre jour (S4)
* 11. Déplacement de C2 dans un autre jour (S5 et S3 reste tel quel)
*/
function store()
{
$this->completeField('sejour_id', 'heure', 'plageconsult_id', 'si_desistement', 'annule');
if ($this->si_desistement === null) {
$this->si_desistement = 0;
}
$this->annule = $this->annule === null || $this->annule === '' ? 0 : $this->annule;
$uf_soins_id = $this->_uf_soins_id;
// Consultation dans un séjour
$sejour = new CSejour();
if (!$this->_id && !$this->sejour_id && CAppUI::conf("dPcabinet CConsultation attach_consult_sejour") && $this->patient_id || $this->_force_create_sejour) {
// Recherche séjour englobant
$facturable = $this->_facturable;
if ($facturable === null) {
$facturable = 1;
}
$this->loadRefPlageConsult();
$function = new CFunctions();
if ($this->_function_secondary_id) {
$function->load($this->_function_secondary_id);
} else {
$user = new CMediusers();
$user->load($this->_ref_chir->_id);
$function->load($user->function_id);
}
$datetime = $this->_datetime;
$minutes_before_consult_sejour = CAppUI::conf("dPcabinet CConsultation minutes_before_consult_sejour");
$where = array();
$where['annule'] = " = '0'";
$where['type'] = " != 'seances'";
$where['patient_id'] = " = '{$this->patient_id}'";
if (!CAppUI::conf("dPcabinet CConsultation search_sejour_all_groups")) {
$where['group_id'] = " = '{$function->group_id}'";
}
$where['facturable'] = " = '{$facturable}'";
$datetime_before = CMbDT::dateTime("+{$minutes_before_consult_sejour} minute", "{$this->_date} {$this->heure}");
$where[] = "`sejour`.`entree` <= '{$datetime_before}' AND `sejour`.`sortie` >= '{$datetime}'";
if (!$this->_force_create_sejour) {
$sejour->loadObject($where);
//.........这里部分代码省略.........
示例8: loadAllFor
/**
* Charge les listes d'un utilisateur
*
* @param int $user_id User ID
* @param int $function_id Function ID
*
* @return self[]
*/
static function loadAllFor($user_id, $function_id)
{
$user = CMediusers::get($user_id);
$function = new CFunctions();
$function->load($function_id);
// Accès aux listes de choix de la fonction et de l'établissement
$module = CModule::getActive("dPcompteRendu");
$is_admin = $module && $module->canAdmin();
$access_function = $is_admin || CAppUI::conf("compteRendu CListeChoix access_function");
$access_group = $is_admin || CAppUI::conf("compteRendu CListeChoix access_group");
$listes = array();
if ($user->_id && !$function_id) {
$listes["prat"] = array();
}
if ($access_function) {
$listes["func"] = array();
}
if ($access_group) {
$listes["etab"] = array();
}
if ($user->_id && !$function_id) {
foreach ($user->getOwners() as $type => $owner) {
if (isset($listes[$type])) {
$listes[$type] = $owner->loadBackRefs("listes_choix", "nom");
}
}
} else {
foreach ($function->getOwners() as $type => $owner) {
if (isset($listes[$type])) {
$listes[$type] = $owner->loadBackRefs("listes_choix", "nom");
}
}
}
return $listes;
}
示例9: insGroupPermission
/**
* Ajout de la permission sur son établissement à un utilisateur
*
* @return void
*/
function insGroupPermission()
{
$function = new CFunctions();
$function->load($this->function_id);
$where = array();
$where["user_id"] = "= '{$this->user_id}'";
$where["object_class"] = "= 'CGroups'";
$where["object_id"] = "= '{$function->group_id}'";
$perm = new CPermObject();
if (!$perm->loadObject($where)) {
$perm = new CPermObject();
$perm->user_id = $this->user_id;
$perm->object_class = "CGroups";
$perm->object_id = $function->group_id;
$perm->permission = PERM_EDIT;
$perm->store();
}
}
示例10: loadAllModelesFor
/**
* Charge tous les modèles pour une classe d'objets associés à un utilisateur
*
* @param integer $id Identifiant du propriétaire
* @param string $owner Type de propriétaire du modèle: prat, func ou etab
* @param string $object_class Nom de la classe d'objet, optionnel. Doit être un CMbObject
* @param string $type Type de composant, optionnel
* @param bool $fast_edit Inclue les modèles en édition rapide
* @param string $order Ordre de tri de la liste
*
* @return CCompteRendu[][] Par propriétaire: prat => CCompteRendu[], func => CCompteRendu[], etab => CCompteRendu[]
*/
static function loadAllModelesFor($id, $owner = 'prat', $object_class = null, $type = null, $fast_edit = true, $order = "")
{
// Accès aux modèles de la fonction et de l'établissement
$module = CModule::getActive("dPcompteRendu");
$is_admin = $module && $module->canAdmin();
$access_function = $is_admin || CAppUI::conf("compteRendu CCompteRendu access_function");
$access_group = $is_admin || CAppUI::conf("compteRendu CCompteRendu access_group");
$modeles = array();
$modeles["prat"] = array();
if ($access_function) {
$modeles["func"] = array();
}
if ($access_group) {
$modeles["etab"] = array();
}
if (!$id) {
return $modeles;
}
// Clauses de recherche
$modele = new CCompteRendu();
$where = array();
$where["object_id"] = "IS NULL";
if ($object_class) {
$where["object_class"] = "= '{$object_class}'";
}
if ($type) {
$where["type"] = "= '{$type}'";
}
if (!$fast_edit) {
$where["fast_edit"] = " = '0'";
$where["fast_edit_pdf"] = " = '0'";
}
if (!$order) {
$order = "object_class, type, nom";
}
switch ($owner) {
case 'prat':
// Modèle du praticien
$prat = new CMediusers();
if (!$prat->load($id)) {
return $modeles;
}
$prat->loadRefFunction();
$where["user_id"] = "= '{$prat->_id}'";
$where["function_id"] = "IS NULL";
$where["group_id"] = "IS NULL";
$modeles["prat"] = $modele->loadListWithPerms(PERM_READ, $where, $order);
$sec_func = $prat->loadRefsSecondaryFunctions();
foreach ($sec_func as $_func) {
$where["user_id"] = "IS NULL";
$where["function_id"] = "= '{$_func->_id}'";
$where["group_id"] = "IS NULL";
$modeles["func" . $_func->_id] = $modele->loadListWithPerms(PERM_READ, $where, $order);
}
case 'func':
// Modèle de la fonction
if (isset($modeles["func"])) {
if (isset($prat)) {
$func_id = $prat->function_id;
} else {
$func = new CFunctions();
if (!$func->load($id)) {
return $modeles;
}
$func_id = $func->_id;
}
$where["user_id"] = "IS NULL";
$where["function_id"] = "= '{$func_id}'";
$where["group_id"] = "IS NULL";
$modeles["func"] = $modele->loadListWithPerms(PERM_READ, $where, $order);
}
case 'etab':
// Modèle de l'établissement
if (isset($modeles["etab"])) {
$etab_id = CGroups::loadCurrent()->_id;
if ($owner == 'etab') {
$etab = new CGroups();
if (!$etab->load($id)) {
return $modeles;
}
$etab_id = $etab->_id;
} elseif (isset($func)) {
$etab_id = $func->group_id;
} elseif (isset($func_id)) {
$func = new CFunctions();
$func->load($func_id);
$etab_id = $func->group_id;
}
//.........这里部分代码省略.........
示例11: CConsultation
$boardItem = CValue::get("boardItem", 1);
$consult = new CConsultation();
$nb_anesth = 0;
$cabinets = CMediusers::loadFonctions(PERM_EDIT, null, "cabinet");
if ($mode_urgence) {
$group = CGroups::loadCurrent();
$cabinet_id = $group->service_urgences_id;
}
// Récupération de la liste des praticiens
$praticiens = array();
$cabinet = new CFunctions();
if ($mode_maternite) {
$praticiens = $mediuser->loadListFromType(array("Sage Femme"));
} elseif ($cabinet_id) {
$praticiens = CConsultation::loadPraticiens(PERM_EDIT, $cabinet_id, null, true);
$cabinet->load($cabinet_id);
}
// Praticiens disponibles ?
$all_prats = $praticiens;
if ($consult->_id) {
$date = $consult->_ref_plageconsult->date;
CValue::setSession("date", $date);
}
// Récupération des plages de consultation du jour et chargement des références
$listPlages = array();
$heure_limit_matin = CAppUI::conf("dPcabinet CPlageconsult hour_limit_matin");
foreach ($praticiens as $prat) {
if ($prat->_user_type == 4) {
$nb_anesth++;
}
$listPlage = new CPlageconsult();
示例12: CFunctions
$order = "type {$order_way}, object_class, nom";
break;
case "file_category_id":
$order = "file_category_id {$order_way}, object_class, nom";
}
// Praticien
$user = CMediusers::get($filtre->user_id);
$filtre->user_id = $user->_id;
$owner = "prat";
$owner_id = $filtre->user_id;
$owners = $user->getOwners();
if ($filtre->function_id) {
$owner = "func";
$owner_id = $filtre->function_id;
$func = new CFunctions();
$func->load($owner_id);
$owners = array("func" => $func, "etab" => $func->loadRefGroup());
} else {
$sec_func = $user->loadRefsSecondaryFunctions();
foreach ($sec_func as $_func) {
$owners["func" . $_func->_id] = $_func;
}
}
$modeles = CCompteRendu::loadAllModelesFor($owner_id, $owner, $filtre->object_class, $filtre->type, 1, $order);
if ($filtre->function_id) {
unset($modeles["prat"]);
}
foreach ($modeles as $key => &$_modeles) {
/** @var $_modeles CStoredObject[] */
CStoredObject::massCountBackRefs($_modeles, "documents_generated");
/** @var $_modele CCompteRendu */
示例13: loadAllPacksFor
/**
* Charge les packs pour un propriétaire donné
*
* @param int $id identifiant du propriétaire
* @param string $owner [optional]
* @param string $object_class [optional]
*
* @todo: refactor this to be in a super class
*
* @return array
*/
static function loadAllPacksFor($id, $owner = 'user', $object_class = null)
{
// Accès aux packs de modèles de la fonction et de l'établissement
$module = CModule::getActive("dPcompteRendu");
$is_admin = $module && $module->canAdmin();
$access_function = $is_admin || CAppUI::conf("compteRendu CCompteRendu access_function");
$access_group = $is_admin || CAppUI::conf("compteRendu CCompteRendu access_group");
$packs = array();
$packs["prat"] = array();
if ($access_function) {
$packs["func"] = array();
}
if ($access_group) {
$packs["etab"] = array();
}
// Clauses de recherche
$pack = new CPack();
$where = array();
if ($object_class) {
$where["object_class"] = "= '{$object_class}'";
}
$order = "object_class, nom";
switch ($owner) {
case 'prat':
// Modèle du praticien
$user = new CMediusers();
if (!$user->load($id)) {
return $packs;
}
$user->loadRefFunction();
$where["user_id"] = "= '{$user->_id}'";
$where["function_id"] = "IS NULL";
$where["group_id"] = "IS NULL";
$packs["prat"] = $pack->loadlist($where, $order);
case 'func':
// Modèle de la fonction
if (isset($packs["func"])) {
if (isset($user)) {
$func_id = $user->function_id;
} else {
$func = new CFunctions();
if (!$func->load($id)) {
return $packs;
}
$func_id = $func->_id;
}
$where["user_id"] = "IS NULL";
$where["function_id"] = "= '{$func_id}'";
$where["group_id"] = "IS NULL";
$packs["func"] = $pack->loadlist($where, $order);
}
case 'etab':
// Modèle de l'établissement
if (isset($packs["etab"])) {
$etab_id = CGroups::loadCurrent()->_id;
if ($owner == 'etab') {
$etab = new CGroups();
if (!$etab->load($id)) {
return $packs;
}
$etab_id = $etab->_id;
} else {
if (isset($func)) {
$etab_id = $func->group_id;
} else {
if (isset($func_id)) {
$func = new CFunctions();
$func->load($func_id);
$etab_id = $func->group_id;
}
}
}
$where["user_id"] = "IS NULL";
$where["function_id"] = "IS NULL";
$where["group_id"] = " = '{$etab_id}'";
$packs["etab"] = $pack->loadlist($where, $order);
}
break;
default:
trigger_error("Wrong type '{$owner}'", E_WARNING);
}
return $packs;
}
示例14: graphWorkflowOperation
/**
* Récuparation du graphique du nombre d'interventions annulées le jour même
*
* @param string $date_min Date de début
* @param string $date_max Date de fin
* @param int $prat_id Filtre du praticien
* @param int $salle_id Filtre de la salle
* @param int $bloc_id Filtre du bloc
* @param int $func_id Filtre sur un cabinet
* @param int $discipline_id Filtre sur une discipline
* @param string $code_ccam Code CCAM
* @param string $type_sejour Type de séjour
* @param bool $hors_plage Prise en charge des hors plage
*
* @return array
*/
function graphWorkflowOperation($date_min = null, $date_max = null, $prat_id = null, $salle_id = null, $bloc_id = null, $func_id = null, $discipline_id = null, $code_ccam = null, $type_sejour = null, $hors_plage = false)
{
$miner = new COperationWorkflow();
$miner->warnUsage();
if (!$date_min) {
$date_min = CMbDT::date("-1 YEAR");
}
if (!$date_max) {
$date_max = CMbDT::date();
}
$date_min = CMbDT::format($date_min, "%Y-%m-01");
$date_max = CMbDT::transform("+1 MONTH", $date_max, "%Y-%m-01");
// Series declarations
$labels = array("op_count" => utf8_encode("Nombre d'interventions"), "creation" => utf8_encode("Planification intervention"), "consult_chir" => utf8_encode("Consultation chirurgicale"), "consult_anesth" => utf8_encode("Consultation anesthésiste"), "visite_anesth" => utf8_encode("Visite anesthésiste"), "creation_consult_chir" => utf8_encode("RDV de consultation chirurgicale"), "creation_consult_anesth" => utf8_encode("RDV de consultation anesthésiste"));
$salles = CSalle::getSallesStats($salle_id, $bloc_id);
$query = new CRequest();
$query->addColumn("DATE_FORMAT(date_operation, '%Y-%m')", "mois");
$query->addColumn("COUNT(operations.operation_id)", "op_count");
// Prévention des données négatives aberrantes
$tolerance_in_days = 0;
$columns = array("creation", "consult_chir", "consult_anesth", "visite_anesth", "creation_consult_chir", "creation_consult_anesth");
foreach ($columns as $_column) {
$field = "date_{$_column}";
$diff = "DATEDIFF(ow.date_operation, ow.{$field})";
$query->addColumn("AVG (IF({$diff} > {$tolerance_in_days}, {$diff}, NULL))", $_column);
$query->addColumn("COUNT(IF({$diff} > {$tolerance_in_days}, {$diff}, NULL))", "count_{$_column}");
}
$query->addTable("operations");
$query->addLJoin("operation_workflow AS ow ON ow.operation_id = operations.operation_id");
$query->addWhereClause("date_operation", "BETWEEN '{$date_min}' AND '{$date_max}'");
$query->addWhereClause("salle_id", CSQLDataSource::prepareIn(array_keys($salles)));
$query->addGroup("mois");
$query->addOrder("mois");
$subtitle = "";
// Filtre sur hors plage
if (!$hors_plage) {
$query->addWhereClause("plageop_id", "IS NOT NULL");
$subtitle .= " - sans hors plage";
}
// Filtre sur le salle (pas besoin de clause supplémentaire)
if ($salle_id) {
$salle = reset($salles);
$subtitle .= " - {$salle->_view}";
}
// Filtre sur le praticien
if ($prat_id) {
$query->addWhereClause("operations.chir_id", "= '{$prat_id}'");
$prat = new CMediusers();
$prat->load($prat_id);
$subtitle .= " - Dr {$prat->_view}";
}
// Filtre sur le cabinet
if ($func_id) {
$query->addLJoinClause("users_mediboard", "operations.chir_id = users_mediboard.user_id");
$query->addWhereClause("users_mediboard.function_id", "= '{$func_id}'");
$func = new CFunctions();
$func->load($func_id);
$subtitle .= " - {$func->_view}";
}
// Filtre sur la discipline
if ($discipline_id) {
$discipline = new CDiscipline();
$discipline->load($discipline_id);
$query->addLJoinClause("users_mediboard", "operations.chir_id = users_mediboard.user_id");
$query->addWhereClause("users_mediboard.discipline_id", "= '{$discipline_id}'");
$subtitle .= " - {$discipline->_view}";
}
// Filtre sur les codes CCAM
if ($code_ccam) {
$query->addWhereClause("operations.codes_ccam", "LIKE '%{$code_ccam}%'");
$subtitle .= " - CCAM: {$code_ccam}";
}
// Filtre sur le type d'hospitalisation
if ($type_sejour) {
$query->addLJoinClause("sejour", "sejour.sejour_id = operations.sejour_id");
$query->addWhereClause("sejour.type", "= '{$type_sejour}'");
$subtitle .= " - " . CAppUI::tr("CSejour.type.{$type_sejour}");
}
// Query result
$ds = CSQLDataSource::get("std");
$all_values = $ds->loadHashAssoc($query->makeSelect());
// Build horizontal ticks
$months = array();
$ticks = array();
//.........这里部分代码省略.........