/** * Vérification de la possibilité de merger * une liste de patients * * @param CPatient[] $patients Liste des patients à merger * * @return string */ function checkMerge($patients = array()) { if ($msg = parent::checkMerge($patients)) { return $msg; } $sejour = new CSejour(); $where["patient_id"] = CSQLDataSource::prepareIn(CMbArray::pluck($patients, "_id")); /** @var CSejour[] $sejours */ $sejours = $sejour->loadList($where); foreach ($sejours as $_sejour1) { foreach ($sejours as $_sejour2) { if ($_sejour1->collides($_sejour2)) { $_sejour1->loadRefPatient(1); $_sejour2->loadRefPatient(1); return CAppUI::tr("CPatient-merge-warning-venue-conflict", $_sejour1->_view, $_sejour2->_view); } } } return null; }