本文整理汇总了PHP中CStoredObject::massLoadBackRefs方法的典型用法代码示例。如果您正苦于以下问题:PHP CStoredObject::massLoadBackRefs方法的具体用法?PHP CStoredObject::massLoadBackRefs怎么用?PHP CStoredObject::massLoadBackRefs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CStoredObject
的用法示例。
在下文中一共展示了CStoredObject::massLoadBackRefs方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: array
* @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html
* @version $Revision: 23812 $
*/
//CCanDo::checkAdmin();
$object_guids = CValue::get("object_guids", array());
$event_name = CValue::get("event_name");
CExClassConstraint::$_load_lite = true;
$ex_class_events = array();
$group_id = CGroups::loadCurrent()->_id;
$ex_class_event = new CExClassEvent();
$ds = $ex_class_event->_spec->ds;
$where = array("ex_class_event.event_name" => $ds->prepare("=%", $event_name), "ex_class_event.disabled" => $ds->prepare("=%", 0), "ex_class.conditional" => $ds->prepare("=%", 0), $ds->prepare("ex_class.group_id = % OR ex_class.group_id IS NULL", $group_id));
$ljoin = array("ex_class" => "ex_class.ex_class_id = ex_class_event.ex_class_id");
foreach ($object_guids as $object_guid) {
$object = CMbObject::loadFromGuid($object_guid);
$where["ex_class_event.host_class"] = $ds->prepare("=%", $object->_class);
/** @var CExClassEvent[] $_ex_class_events */
$_ex_class_events = $ex_class_event->loadList($where, null, null, null, $ljoin);
CStoredObject::massLoadBackRefs($_ex_class_events, "constraints");
foreach ($_ex_class_events as $_id => $_ex_class_event) {
if ($_ex_class_event->checkConstraints($object)) {
$_ex_class_event->_host_object = $object;
$ex_class_events[] = $_ex_class_event;
}
}
}
$ex_class_events_struct = array();
foreach ($ex_class_events as $_ex_class_event) {
$ex_class_events_struct[] = array("ex_class_event_id" => $_ex_class_event->_id, "ex_class_id" => $_ex_class_event->ex_class_id, "event_name" => $event_name, "object_guid" => $_ex_class_event->_host_object->_guid);
}
CApp::json($ex_class_events_struct);
示例2: CSejour
CCanDo::checkRead();
$date = CValue::get("date", CMbDT::date());
$group = CGroups::loadCurrent();
$sejour = new CSejour();
$where = array();
$where["sejour.grossesse_id"] = "IS NOT NULL";
$where["sejour.entree"] = "<= '{$date} 23:59:59' ";
$where["sejour.sortie"] = ">= '{$date} 00:00:00' ";
$where["sejour.group_id"] = " = '{$group->_id}' ";
$where[] = "sejour.sortie_reelle > '{$date} " . CMbDT::time() . "' OR sejour.sortie_reelle IS NULL";
$order = "sejour.entree DESC";
/** @var CSejour[] $listSejours */
$listSejours = $sejour->loadList($where, $order, null, null, null);
$grossesses = CStoredObject::massLoadFwdRef($listSejours, "grossesse_id");
CStoredObject::massLoadFwdRef($grossesses, "parturiente_id");
$naissances = CStoredObject::massLoadBackRefs($grossesses, "naissances");
$sejours_enfant = CStoredObject::massLoadFwdRef($naissances, "sejour_enfant_id");
CStoredObject::massLoadFwdRef($sejours_enfant, "patient_id");
foreach ($listSejours as $_sejour) {
$grossesse = $_sejour->loadRefGrossesse();
$grossesse->loadRefParturiente();
$naissances = $grossesse->loadRefsNaissances();
$grossesse->_ref_sejour = $_sejour;
$grossesse->loadRefLastOperation();
foreach ($naissances as $_naissance) {
$_naissance->loadRefSejourEnfant()->loadRefPatient();
$_naissance->loadRefOperation();
}
$_sejour->loadRefCurrAffectation($date . " " . CMbDT::time());
$grossesse->getDateAccouchement();
}
示例3: CGrossesse
* @author SARL OpenXtrem <dev@openxtrem.com>
* @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html
* @version $Revision$
* @link http://www.mediboard.org
*/
CCanDo::checkRead();
$date = CView::request("date", "date default|" . CMbDT::date());
CView::checkin();
$date_max = CMbDT::date("+2 month", $date);
$group = CGroups::loadCurrent();
$grossesse = new CGrossesse();
$where = array();
$where["terme_prevu"] = "BETWEEN '{$date}' AND '{$date_max}'";
$where["group_id"] = "= '{$group->_id}'";
$grossesses = $grossesse->loadList($where);
$sejours = CStoredObject::massLoadBackRefs($grossesses, "sejours", "entree_prevue DESC");
CStoredObject::massLoadBackRefs($sejours, "operations", "date ASC");
$fiches_anesth = array();
$params = array("dossier_anesth_id" => "", "operation_id" => "", "offline" => 1, "print" => 1, "pdf" => 0);
/** @var CGrossesse $_grossesse */
foreach ($grossesses as $_grossesse) {
foreach ($_grossesse->loadRefsConsultations() as $_consult) {
foreach ($_consult->loadRefsDossiersAnesth() as $_dossier_anesth) {
$params["dossier_anesth_id"] = $_dossier_anesth->_id;
$fiches_anesth[$_dossier_anesth->_id] = CApp::fetch("dPcabinet", "print_fiche", $params);
}
}
}
$smarty = new CSmartyDP();
$smarty->assign("fiches_anesth", $fiches_anesth);
$smarty->display("offline_print_fiches.tpl");
示例4: loadBlocs
/**
* Load blocs operatoires with given permission
*
* @param int $permType Permission level
* @param bool $load_salles Load salles
* @param string $order Ordre de chargmeent SQL
* @param array $where SQL WHERE parameters
*
* @return CBlocOperatoire[]
*/
function loadBlocs($permType = PERM_READ, $load_salles = true, $order = "nom", $where = array())
{
$bloc = new CBlocOperatoire();
$whereGroup = array('group_id' => "= '{$this->_id}'");
$where = array_merge($where, $whereGroup);
/** @var CBlocOperatoire[] $blocs */
$blocs = $bloc->loadListWithPerms($permType, $where, $order);
if ($load_salles) {
CStoredObject::massLoadBackRefs($blocs, "salles", "nom");
foreach ($blocs as $_bloc) {
$_bloc->loadRefsSalles();
}
}
return $this->_ref_blocs = $blocs;
}
示例5: array
}
// Can create new
if ($detail <= 0.5) {
// Loading the events
if ($ex_class_events === null) {
$_ex_class_creation = array();
$ex_class_events = array();
foreach (CExClass::$_list_cache as $_ex_class_id => $_ex_class) {
if (!$_ex_class->conditional && (!$cross_context_class || $cross_context_class == $_ex_class->cross_context_class)) {
$_ex_class_creation[] = $_ex_class_id;
}
}
$where = array("ex_class_event.ex_class_id" => $ex_class_event->getDS()->prepareIn($_ex_class_creation), "ex_class_event.disabled" => "= '0'");
/** @var CExClassEvent[] $ex_class_events_by_ref */
$ex_class_events_by_ref = $ex_class_event->loadList($where);
CStoredObject::massLoadBackRefs($ex_class_events_by_ref, "constraints");
foreach ($ex_class_events_by_ref as $_ex_class_event) {
$_key = "{$_ex_class_event->host_class}/{$_ex_class_event->ex_class_id}";
/** @var CExClassEvent[] $_ex_class_events */
if (!array_key_exists($_key, $ex_class_events)) {
$ex_class_events[$_key] = array();
}
$ex_class_events[$_key][] = $_ex_class_event;
}
}
foreach ($_ex_class_creation as $_ex_class_id) {
if (!isset($ex_class_events["{$creation_context->_class}/{$_ex_class_id}"])) {
continue;
}
$_ex_class_events = $ex_class_events["{$creation_context->_class}/{$_ex_class_id}"];
// TODO canCreateNew
示例6: IN
$where["sejour.type"] = "NOT IN ('urg', 'seances')";
}
$ljoin = array();
$ljoin["users"] = "users.user_id = sejour.praticien_id";
// Filtre sur les services
if (count($services_ids) && $enabled_service) {
$ljoin["affectation"] = "affectation.sejour_id = sejour.sejour_id AND affectation.sortie = sejour.sortie";
$where["affectation.service_id"] = CSQLDataSource::prepareIn($services_ids);
}
$order = "users.user_last_name, users.user_first_name, sejour.sortie";
/** @var CSejour[] $sejours */
$sejours = $sejour->loadList($where, $order, null, null, $ljoin);
CStoredObject::massLoadFwdRef($sejours, "praticien_id");
CStoredObject::massLoadFwdRef($sejours, "patient_id");
CStoredObject::massLoadFwdRef($sejours, "prestation_id");
CStoredObject::massLoadBackRefs($sejours, "affectations", "sortie DESC");
$listByPrat = array();
foreach ($sejours as $sejour) {
$sejour->loadRefPraticien();
$sejour->loadRefsAffectations();
$sejour->loadRefPatient();
$sejour->loadRefPrestation();
$sejour->loadNDA();
$sejour->_ref_last_affectation->loadRefLit();
$sejour->_ref_last_affectation->_ref_lit->loadCompleteView();
$curr_prat = $sejour->praticien_id;
if (!isset($listByPrat[$curr_prat])) {
$listByPrat[$curr_prat]["praticien"] = $sejour->_ref_praticien;
}
$listByPrat[$curr_prat]["sejours"][] = $sejour;
}
示例7: array
/** @var CSejour[] $sejours */
$sejours = $sejour->loadList($where, $order, null, null, $ljoin);
$patients = CStoredObject::massLoadFwdRef($sejours, "patient_id");
CStoredObject::massLoadFwdRef($sejours, "etablissement_sortie_id");
CStoredObject::massLoadFwdRef($sejours, "service_sortie_id");
$praticiens = CStoredObject::massLoadFwdRef($sejours, "praticien_id");
$functions = CStoredObject::massLoadFwdRef($praticiens, "function_id");
CStoredObject::massLoadBackRefs($sejours, "affectations");
// Chargement optimisée des prestations
CSejour::massCountPrestationSouhaitees($sejours);
CStoredObject::massLoadBackRefs($sejours, "notes");
CStoredObject::massLoadBackRefs($patients, "dossier_medical");
$operations = CStoredObject::massLoadBackRefs($sejours, "operations", "date ASC", array("annulee" => "= '0'"));
CStoredObject::massLoadBackRefs($operations, "actes_ngap", "lettre_cle DESC");
$order = "code_association, code_acte,code_activite, code_phase, acte_id";
CStoredObject::massLoadBackRefs($operations, "actes_ccam", $order);
// Chargement des NDA
CSejour::massLoadNDA($sejours);
// Chargement des IPP
CPatient::massLoadIPP($patients);
$maternite_active = CModule::getActive("maternite");
foreach ($sejours as $sejour_id => $_sejour) {
// Filtre sur la fonction du praticien
$praticien = $_sejour->loadRefPraticien(1);
if ($filterFunction && $filterFunction != $praticien->function_id) {
unset($sejours[$sejour_id]);
continue;
}
// Chargement du patient
$_sejour->loadRefPatient();
// Chargements des notes sur le séjour
示例8: foreach
}
continue;
}
if (!isset($postes_by_date[$_date][$_hour])) {
continue;
}
$key = $postes_by_date[$_date][$_hour];
@($line->_administrations_moment[$_key][$key["day"]][$key["moment"]]['quantite'] += $_administrations_by_hour['quantite']);
@($line->_administrations_moment[$_key][$key["day"]][$key["moment"]]['quantite_planifiee'] += $_administrations_by_hour['quantite_planifiee']);
}
}
}
}
}
if (count($prescription->_ref_prescription_line_mixes)) {
CStoredObject::massLoadBackRefs($prescription->_ref_prescription_line_mixes, "variations", "dateTime");
foreach ($prescription->_ref_prescription_line_mixes as $line) {
$line->_prises_prevues_moment = array();
$line->loadRefPraticien();
$line->loadActiveDates();
$line->loadRefsVariations();
if (count($line->_prises_prevues)) {
foreach ($line->_prises_prevues as $_date => $_prises_by_date) {
foreach ($_prises_by_date as $_hour => $_prise) {
if (!isset($postes_by_date[$_date][$_hour])) {
continue;
}
$key = $postes_by_date[$_date][$_hour];
if (isset($_prise["real_hour"]) && is_array($_prise["real_hour"])) {
foreach ($_prise["real_hour"] as $_real_hour) {
@($line->_prises_prevues_moment[$key["day"]][$key["moment"]]["real_hour"][] = $_real_hour);
示例9: loadRefsAllFields
/**
* Load the fields
*
* @param bool $cache Use cache
*
* @return CExClassField[]
*/
function loadRefsAllFields($cache = false)
{
$groups = $this->loadRefsGroups();
CStoredObject::massLoadBackRefs($groups, "class_fields", "IF(tab_index IS NULL, 10000, tab_index), ex_class_field_id");
$fields = array();
foreach ($groups as $_group) {
$_fields = $_group->loadRefsFields($cache);
$fields += $_fields;
}
return $fields;
}
示例10: CPlateauTechnique
}
// Chargement de tous les plateaux et des equipements et techniciens associés
$plateau_tech = new CPlateauTechnique();
$plateau_tech->group_id = CGroups::loadCurrent()->_id;
/** @var CPlateauTechnique[] $plateaux */
$plateaux = $plateau_tech->loadMatchingList();
CMbObject::massLoadBackRefs($plateaux, "equipements", "nom ASC");
foreach ($plateaux as $_plateau) {
$_plateau->loadRefsEquipements();
}
// Chargement des executants en fonction des category de prescription
$executants = array();
$reeducateurs = array();
$selected_cat = "";
$user = CMediusers::get();
$func_cats = CStoredObject::massLoadBackRefs($categories, "functions_category");
CStoredObject::massLoadFwdRef($func_cats, "function_id");
foreach ($categories as $_category) {
// Chargement des associations pour chaque catégorie
$associations[$_category->_id] = $_category->loadBackRefs("functions_category");
// Parcours des associations trouvées et chargement des utilisateurs
/** @var CFunctionCategoryPrescription $_association */
foreach ($associations[$_category->_id] as $_association) {
$function = $_association->loadRefFunction();
$function->loadRefsUsers();
foreach ($function->_ref_users as $_user) {
$_user->_ref_function = $function;
if ($_user->_id == $user->_id && !$selected_cat) {
$selected_cat = $_category;
}
$executants[$_category->_id][$_user->_id] = $_user;
示例11: intval
*
* @package Mediboard
* @subpackage System
* @author SARL OpenXtrem <dev@openxtrem.com>
* @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html
* @version $Revision$
*/
CCanDo::checkRead();
// Minute courante
$time = CMbDT::time();
$minute = intval(CMbDT::transform($time, null, "%M"));
// Chargement des senders
$sender = new CViewSender();
/** @var CViewSender[] $senders */
$senders = $sender->loadList(null, "name");
CStoredObject::massLoadBackRefs($senders, "sources_link");
foreach ($senders as $_sender) {
$_sender->makeHourPlan($minute);
$_sender->loadRefSendersSource();
}
// Tableau de charges
$hour_sum = array();
$hour_total = 0;
foreach (range(0, 59) as $min) {
$hour_sum[$min] = 0;
foreach ($senders as $_sender) {
if ($_sender->active) {
$hour_sum[$min] += $_sender->_hour_plan[$min];
$hour_total += $_sender->_hour_plan[$min] / 60;
}
}
示例12: massLoadPrestationSouhaitees
static function massLoadPrestationSouhaitees($sejours)
{
$where["item_souhait_id"] = "IS NOT NULL";
$items_liaisons = CStoredObject::massLoadBackRefs($sejours, "items_liaisons", null, $where);
CStoredObject::massLoadFwdRef($items_liaisons, "item_souhait_id");
/** @var CItemLiaison $_item_liaison */
foreach ($items_liaisons as $_item_liaison) {
$_item_liaison->loadRefItem();
}
}
示例13: array_keys
$key_where = "function_id";
$where[$key_where] = "= '" . ($function_id ? $function_id : $userSel->function_id) . "'";
break;
case "etab":
$key_where = "group_id";
$where[$key_where] = "= '" . ($function_id ? $function->_ref_group->_id : $userSel->_ref_function->group_id) . "'";
break;
}
$aides["{$owner}_ids"] = array_keys($_aide->seek($keywords, $where, 1000));
$aides[$owner] = $_aide->seek($keywords, $where, $start[$owner] . ", 30", true, null, $order_by);
$aidesCount[$owner] = $_aide->_totalSeek;
unset($where[$key_where]);
foreach ($aides[$owner] as $aide) {
$aide->loadRefUser();
$aide->loadRefFunction();
$aide->loadRefGroup();
}
CStoredObject::massLoadBackRefs($aides[$owner], 'hypertext_links');
}
// Création du template
$smarty = new CSmartyDP();
$smarty->assign("userSel", $userSel);
$smarty->assign("function", $function);
$smarty->assign("aides", $aides);
$smarty->assign("aidesCount", $aidesCount);
$smarty->assign("class", $class);
$smarty->assign("start", $start);
$smarty->assign("order_col_aide", $order_col_aide);
$smarty->assign("order_way", $order_way);
$smarty->assign("aide_id", $aide_id);
$smarty->display("inc_tabs_aides.tpl");
示例14: loadSuiviMedical
/**
* Charge tout le suivi médical, composé d'observations, transmissions, consultations et prescriptions
*
* @param date $datetime_min Date de référence à partir de laquelle filtrer
*
* @return array
*/
function loadSuiviMedical($datetime_min = null, $cible_trans = null, &$cibles = array(), &$last_trans_cible = array(), $user_id = null, &$users = array(), $print = 0)
{
if ($datetime_min) {
$trans = new CTransmissionMedicale();
$whereTrans = array();
$whereTrans[] = "(degre = 'high' AND (date_max IS NULL OR date_max >= '{$datetime_min}')) OR (date >= '{$datetime_min}')";
$whereTrans["sejour_id"] = " = '{$this->_id}'";
$this->_back["transmissions"] = $trans->loadList($whereTrans, "date DESC, transmission_medicale_id DESC");
$obs = new CObservationMedicale();
$whereObs = array();
$whereObs[] = "(degre = 'high') OR (date >= '{$datetime_min}')";
$whereObs["sejour_id"] = " = '{$this->_id}'";
$this->_back["observations"] = $obs->loadList($whereObs);
} else {
$this->loadBackRefs("observations");
$this->loadBackRefs("transmissions", "date DESC, transmission_medicale_id DESC");
}
$consultations = $this->loadRefsConsultations();
$this->_ref_suivi_medical = array();
if (isset($this->_back["observations"])) {
CObservationMedicale::massLoadRefAlerte($this->_back["observations"]);
foreach ($this->_back["observations"] as $curr_obs) {
/** @var CObservationMedicale $curr_obs */
$curr_obs->loadRefsFwd();
$users[$curr_obs->user_id] = $curr_obs->_ref_user;
if ($user_id && $curr_obs->user_id != $user_id) {
continue;
}
$curr_obs->_ref_user->loadRefFunction();
$curr_obs->canEdit();
$this->_ref_suivi_medical[$curr_obs->date . $curr_obs->_id . "obs"] = $curr_obs;
}
}
if (isset($this->_back["transmissions"])) {
$trans_compact = CAppUI::conf("soins Transmissions trans_compact", CGroups::loadCurrent()) && !$print;
$list_trans = array();
/** @var CTransmissionMedicale $curr_trans **/
foreach ($this->_back["transmissions"] as $curr_trans) {
$curr_trans->loadRefsFwd();
$users[$curr_trans->user_id] = $curr_trans->_ref_user;
if ($user_id && $curr_trans->user_id != $user_id) {
continue;
}
$curr_trans->calculCibles($cibles);
if ($cible_trans && $curr_trans->_cible != $cible_trans) {
continue;
}
$list_trans[] = $curr_trans;
$curr_trans->canEdit();
$curr_trans->loadRefUser();
if ($curr_trans->libelle_ATC) {
if (!isset($last_trans_cible[$curr_trans->libelle_ATC])) {
$last_trans_cible[$curr_trans->libelle_ATC] = $curr_trans;
}
} else {
if (!isset($last_trans_cible["{$curr_trans->object_class} {$curr_trans->object_id}"])) {
$last_trans_cible["{$curr_trans->object_class} {$curr_trans->object_id}"] = $curr_trans;
}
}
}
foreach ($list_trans as $_trans) {
$sort_key_pattern = "{$_trans->_class} {$_trans->user_id} {$_trans->object_id} {$_trans->object_class} {$_trans->libelle_ATC}";
$sort_key = "{$_trans->date} {$sort_key_pattern}";
$date_before = CMbDT::dateTime("-1 SECOND", $_trans->date);
$sort_key_before = "{$date_before} {$sort_key_pattern}";
$date_after = CMbDT::dateTime("+1 SECOND", $_trans->date);
$sort_key_after = "{$date_after} {$sort_key_pattern}";
if ($_trans->libelle_ATC && $last_trans_cible[$_trans->libelle_ATC] != $_trans && ($last_trans_cible[$_trans->libelle_ATC]->locked || $trans_compact && !array_key_exists($sort_key, $_trans) && !array_key_exists($sort_key_before, $this->_ref_suivi_medical) && !array_key_exists($sort_key_after, $this->_ref_suivi_medical)) || $_trans->object_id && ($last_trans_cible["{$_trans->object_class} {$_trans->object_id}"]->locked || $trans_compact && !array_key_exists($sort_key, $this->_ref_suivi_medical) && !array_key_exists($sort_key_before, $this->_ref_suivi_medical) && !array_key_exists($sort_key_after, $this->_ref_suivi_medical)) && $last_trans_cible["{$_trans->object_class} {$_trans->object_id}"] != $_trans) {
continue;
}
// Aggrégation à -1 sec
if (array_key_exists($sort_key_before, $this->_ref_suivi_medical)) {
$sort_key = $sort_key_before;
} else {
if (array_key_exists($sort_key_after, $this->_ref_suivi_medical)) {
$sort_key = $sort_key_after;
}
}
if (!isset($this->_ref_suivi_medical[$sort_key])) {
$this->_ref_suivi_medical[$sort_key] = array("data" => array(), "action" => array(), "result" => array());
}
if (!isset($this->_ref_suivi_medical[$sort_key][0])) {
$this->_ref_suivi_medical[$sort_key][0] = $_trans;
}
$this->_ref_suivi_medical[$sort_key][$_trans->type][] = $_trans;
}
}
CStoredObject::massLoadBackRefs($consultations, "consult_anesth");
foreach ($consultations as $_consultation) {
$_consultation->canEdit();
$_consultation->loadRefConsultAnesth();
$unset = false;
foreach ($_consultation->_refs_dossiers_anesth as $_dossier_anesth) {
//.........这里部分代码省略.........
示例15: foreach
foreach ($ref_objects as $_object) {
if ($_object instanceof CPatient) {
$_object->loadIPP();
continue;
}
if ($_object instanceof CSejour) {
$_object->loadNDA();
$_object->loadRefCurrAffectation($creation_date);
continue;
}
}
/** @var CExConcept[] $concepts */
$concepts = CStoredObject::massLoadFwdRef($fields, "concept_id");
$lists = CStoredObject::massLoadFwdRef($concepts, "ex_list_id");
CStoredObject::massLoadBackRefs($lists, "list_items");
CStoredObject::massLoadBackRefs($concepts, "list_items");
$formula_token_values = array();
foreach ($fields as $_field) {
/*if ($_field->formula == null) {
continue;
} */
$formula_token_values[$_field->name] = array("values" => $_field->getFormulaValues(), "formula" => $_field->formula, "formulaView" => utf8_encode($_field->_formula));
}
// Création du template
$smarty = new CSmartyDP();
$smarty->assign("ex_object", $ex_object);
$smarty->assign("ex_object_id", $ex_object_id);
$smarty->assign("ex_class_id", $ex_class_id);
$smarty->assign("object_guid", $object_guid);
$smarty->assign("object", $object);
$smarty->assign("_element_id", $_element_id);