BUG 15225 La bandeja "Sin asignar", tarda demasiado en cargar cuando la regla de asignaciós "Self Service Value Based Assignment" SOLVED

- La funcion "LoadCase" de la clase "Cases" se usaba N veces y provocaba la lentitud
- Se optimizo el query para que no sea necesario usar la funcion "LoadCase" varias veces
This commit is contained in:
Julio Cesar Laura
2014-06-26 15:25:06 -04:00
parent c06be2fca4
commit 8c9b312b9f
2 changed files with 25 additions and 15 deletions

View File

@@ -361,6 +361,8 @@ class AppCacheView extends BaseAppCacheView
$c2 = new Criteria();
$c2->clearSelectColumns();
$c2->addSelectColumn(AppDelegationPeer::APP_UID);
$c2->addSelectColumn(ApplicationPeer::APP_DATA);
$c2->addJoin(AppDelegationPeer::APP_UID, ApplicationPeer::APP_UID, Criteria::LEFT_JOIN);
$c2->add(AppDelegationPeer::TAS_UID, $row['TAS_UID']);
$c2->add(AppDelegationPeer::USR_UID, '');
$c2->add(AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN');
@@ -368,10 +370,11 @@ class AppCacheView extends BaseAppCacheView
$rs2->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rs2->next();
while ($row2 = $rs2->getRow()) {
$caseData = $caseInstance->LoadCase($row2['APP_UID']);
if (isset($caseData['APP_DATA'][$tasGroupVariable])) {
if (trim($caseData['APP_DATA'][$tasGroupVariable]) != '') {
if (in_array(trim($caseData['APP_DATA'][$tasGroupVariable]), $aGroups)) {
$caseData = $caseInstance->unserializeData($row2['APP_DATA']);
if (isset($caseData[$tasGroupVariable])) {
if (trim($caseData[$tasGroupVariable]) != '') {
if (in_array(trim($caseData[$tasGroupVariable]), $aGroups)) {
$cases[] = $row2['APP_UID'];
}
}