$code->_favoris_id = "0"; $code->occ = $value["nb_code"]; $codes_stats[$DP] = $code; } } // Favoris $code = new CFavoriCIM10(); $where = array(); $where["favoris_user"] = "******"; $ljoin = array(); if ($tag_id) { $where["tag_item.tag_id"] = "= '{$tag_id}'"; $ljoin["tag_item"] = "tag_item.object_id = cim10favoris.favoris_id AND tag_item.object_class = 'CFavoriCIM10'"; } /** @var CFavoriCIM10[] $codes_favoris */ $codes_favoris = $code->loadList($where, null, 100, 'favoris_code', $ljoin); foreach ($codes_favoris as $key => $_code) { $codes_favoris[$_code->favoris_code] = $_code; unset($codes_favoris[$key]); } // Seek sur les codes, avec ou non l'inclusion de tous les codes $code = new CCodeCIM10(); $where = null; if (!$_all_codes && (count($codes_stats) || count($codes_favoris))) { $codes_keys = array_keys(array_merge($codes_stats, $codes_favoris)); $where = "master.abbrev " . $ds->prepareIn($codes_keys); } if (!$_all_codes && count($codes_stats) == 0 && count($codes_favoris) == 0) { // Si pas de stat et pas de favoris, et que la recherche se fait sur ceux-ci, // alors le tableau de résultat est vide $codes = array();
*/ CCanDo::checkRead(); $user = CUser::get(); $lang = CValue::getOrSession("lang", CCodeCIM10::LANG_FR); $tag_id = CValue::getOrSession("tag_id"); // Recherche des codes favoris $favori = new CFavoriCIM10(); $where = array(); $where["favoris_user"] = "******"; $ljoin = array(); if ($tag_id) { $ljoin["tag_item"] = "tag_item.object_id = favoris_id AND tag_item.object_class = 'CFavoriCIM10'"; $where["tag_item.tag_id"] = "= '{$tag_id}'"; } /** @var CFavoriCIM10[] $favoris */ $favoris = $favori->loadList($where, "favoris_code", null, null, $ljoin); $codes = array(); foreach ($favoris as $_favori) { $favoris_code = $_favori->favoris_code; $_favori->loadRefsTagItems(); $code = CCodeCIM10::get($favoris_code); $code->_favoris_id = $_favori->favoris_id; $code->_ref_favori = $_favori; $code->occ = "0"; $codes[$favoris_code] = $code; } // Chargement des favoris calculés, si pas de choix de tag $listCimStat = array(); if (!$tag_id) { $ds = CSQLDataSource::get("std"); $sql = "SELECT DP, count(DP) as nb_code\r\n FROM `sejour`\r\n WHERE sejour.praticien_id = '{$user->_id}'\r\n AND DP IS NOT NULL\r\n AND DP != ''\r\n GROUP BY DP\r\n ORDER BY count(DP) DESC\r\n LIMIT 10;";