PM-3080 "Procesos con asignacion selfService..." SOLVED
> Code Isuue: Procesos con asignacion selfService y selfService Value Based generan casos duplicados > Solution: Cuando se tiene selfService y selfService por valor, ya no se muestra duplicados. Se a completado a la validacion en la condicion del query cuando es selfService por valor el "del_index" y "tas_uid"
This commit is contained in:
@@ -333,7 +333,7 @@ class AppCacheView extends BaseAppCacheView
|
||||
try {
|
||||
G::LoadClass("groups");
|
||||
|
||||
$arrayApplicationUid = array();
|
||||
$arrayAppAssignSelfServiceValueData = array();
|
||||
|
||||
//Get APP_UIDs
|
||||
$group = new Groups();
|
||||
@@ -345,6 +345,8 @@ class AppCacheView extends BaseAppCacheView
|
||||
|
||||
$criteria->setDistinct();
|
||||
$criteria->addSelectColumn(AppAssignSelfServiceValuePeer::APP_UID);
|
||||
$criteria->addSelectColumn(AppAssignSelfServiceValuePeer::DEL_INDEX);
|
||||
$criteria->addSelectColumn(AppAssignSelfServiceValuePeer::TAS_UID);
|
||||
|
||||
$arrayCondition = array();
|
||||
$arrayCondition[] = array(AppAssignSelfServiceValuePeer::APP_UID, AppDelegationPeer::APP_UID, Criteria::EQUAL);
|
||||
@@ -362,12 +364,16 @@ class AppCacheView extends BaseAppCacheView
|
||||
while ($rsCriteria->next()) {
|
||||
$row = $rsCriteria->getRow();
|
||||
|
||||
$arrayApplicationUid[] = $row["APP_UID"];
|
||||
$arrayAppAssignSelfServiceValueData[] = array(
|
||||
"APP_UID" => $row["APP_UID"],
|
||||
"DEL_INDEX" => $row["DEL_INDEX"],
|
||||
"TAS_UID" => $row["TAS_UID"]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
//Return
|
||||
return $arrayApplicationUid;
|
||||
return $arrayAppAssignSelfServiceValueData;
|
||||
} catch (Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
@@ -401,13 +407,31 @@ class AppCacheView extends BaseAppCacheView
|
||||
$criteria->add(AppCacheViewPeer::DEL_FINISH_DATE, null, Criteria::ISNULL);
|
||||
$criteria->add(AppCacheViewPeer::USR_UID, '');
|
||||
|
||||
$cases = $this->getSelfServiceCasesByEvaluate($userUid);
|
||||
if (!empty($cases)) {
|
||||
$arrayAppAssignSelfServiceValueData = $this->getSelfServiceCasesByEvaluate($userUid);
|
||||
|
||||
if (!empty($arrayAppAssignSelfServiceValueData)) {
|
||||
//Self Service Value Based Assignment
|
||||
$criterionAux = null;
|
||||
|
||||
foreach ($arrayAppAssignSelfServiceValueData as $value) {
|
||||
if (is_null($criterionAux)) {
|
||||
$criterionAux = $criteria->getNewCriterion(AppCacheViewPeer::APP_UID, $value["APP_UID"], Criteria::EQUAL)->addAnd(
|
||||
$criteria->getNewCriterion(AppCacheViewPeer::DEL_INDEX, $value["DEL_INDEX"], Criteria::EQUAL))->addAnd(
|
||||
$criteria->getNewCriterion(AppCacheViewPeer::TAS_UID, $value["TAS_UID"], Criteria::EQUAL));
|
||||
} else {
|
||||
$criterionAux = $criteria->getNewCriterion(AppCacheViewPeer::APP_UID, $value["APP_UID"], Criteria::EQUAL)->addAnd(
|
||||
$criteria->getNewCriterion(AppCacheViewPeer::DEL_INDEX, $value["DEL_INDEX"], Criteria::EQUAL))->addAnd(
|
||||
$criteria->getNewCriterion(AppCacheViewPeer::TAS_UID, $value["TAS_UID"], Criteria::EQUAL))->addOr(
|
||||
$criterionAux
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$criteria->add(
|
||||
$criteria->getNewCriterion(AppCacheViewPeer::TAS_UID, $tasks, Criteria::IN)->
|
||||
addOr($criteria->getNewCriterion(AppCacheViewPeer::APP_UID, $cases, Criteria::IN))
|
||||
$criterionAux->addOr($criteria->getNewCriterion(AppCacheViewPeer::TAS_UID, $tasks, Criteria::IN))
|
||||
);
|
||||
} else {
|
||||
//Self Service
|
||||
$criteria->add(AppCacheViewPeer::TAS_UID, $tasks, Criteria::IN);
|
||||
}
|
||||
|
||||
@@ -1660,7 +1684,7 @@ class AppCacheView extends BaseAppCacheView
|
||||
$oCriteria->addJoin(AppCacheViewPeer::DEL_INDEX , AppDelayPeer::APP_DEL_INDEX, Criteria::LEFT_JOIN);
|
||||
|
||||
$oCriteria->add(
|
||||
$oCriteria->getNewCriterion(AppDelayPeer::APP_TYPE, NULL, Criteria::ISNULL)->addOr(
|
||||
$oCriteria->getNewCriterion(AppDelayPeer::APP_TYPE, NULL, Criteria::ISNULL)->addOr(
|
||||
$oCriteria->getNewCriterion(AppDelayPeer::APP_TYPE, 'REASSIGN', Criteria::NOT_EQUAL))
|
||||
);
|
||||
|
||||
@@ -1760,7 +1784,7 @@ class AppCacheView extends BaseAppCacheView
|
||||
/**
|
||||
* Get all columns by APP_CACHE_VIEW
|
||||
*
|
||||
* @return object criteria
|
||||
* @return object criteria
|
||||
*/
|
||||
public function getSelAllColumns(){
|
||||
$criteria = new Criteria("workflow");
|
||||
|
||||
Reference in New Issue
Block a user