$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();
예제 #2
0
 */
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;";