HOR-539 "Contadores de casos pausados incorrectos" SOLVED
Issue:
Contadores de casos pausados incorrectos
Cause:
El comando upgrade utiliza los metodos del anterior listado
Solution:
- Se agrega validacion para los contadores del listado paused
- Se debera ejecutar el comando "./processmaker migrate-new-cases-lists your-workflow" para reconstruir los datos
This commit is contained in:
@@ -2157,7 +2157,7 @@ class workspaceTools
|
|||||||
while($dataset->next()) {
|
while($dataset->next()) {
|
||||||
$aRow = $dataset->getRow();
|
$aRow = $dataset->getRow();
|
||||||
$oAppCache = new AppCacheView();
|
$oAppCache = new AppCacheView();
|
||||||
$aCount = $oAppCache->getAllCounters( $aTypes, $aRow['USR_UID'] );
|
$aCount = $oAppCache->getAllCounters($aTypes, $aRow['USR_UID'], false);
|
||||||
$newData = array(
|
$newData = array(
|
||||||
'USR_UID' => $aRow['USR_UID'],
|
'USR_UID' => $aRow['USR_UID'],
|
||||||
'USR_TOTAL_INBOX' => $aCount['to_do'],
|
'USR_TOTAL_INBOX' => $aCount['to_do'],
|
||||||
|
|||||||
@@ -34,18 +34,18 @@ class AppCacheView extends BaseAppCacheView
|
|||||||
public $confCasesList;
|
public $confCasesList;
|
||||||
public $pathToAppCacheFiles;
|
public $pathToAppCacheFiles;
|
||||||
|
|
||||||
public function getAllCounters($aTypes, $userUid, $processSummary = false)
|
public function getAllCounters($aTypes, $userUid, $flagPausedSupervisor = true)
|
||||||
{
|
{
|
||||||
$aResult = array();
|
$aResult = array();
|
||||||
|
|
||||||
foreach ($aTypes as $type) {
|
foreach ($aTypes as $type) {
|
||||||
$aResult[$type] = $this->getListCounters($type, $userUid, $processSummary);
|
$aResult[$type] = $this->getListCounters($type, $userUid, $flagPausedSupervisor);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $aResult;
|
return $aResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getListCounters($type, $userUid, $processSummary)
|
public function getListCounters($type, $userUid, $flagPausedSupervisor = true)
|
||||||
{
|
{
|
||||||
$distinct = true;
|
$distinct = true;
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ class AppCacheView extends BaseAppCacheView
|
|||||||
$distinct = false;
|
$distinct = false;
|
||||||
break;
|
break;
|
||||||
case 'paused':
|
case 'paused':
|
||||||
$criteria = $this->getPausedCountCriteria($userUid);
|
$criteria = $this->getPausedCountCriteria($userUid, $flagPausedSupervisor);
|
||||||
break;
|
break;
|
||||||
case 'completed':
|
case 'completed':
|
||||||
$criteria = $this->getCompletedCountCriteria($userUid);
|
$criteria = $this->getCompletedCountCriteria($userUid);
|
||||||
@@ -520,9 +520,10 @@ class AppCacheView extends BaseAppCacheView
|
|||||||
* gets the PAUSED cases list criteria
|
* gets the PAUSED cases list criteria
|
||||||
* param $userUid the current userUid
|
* param $userUid the current userUid
|
||||||
* param $doCount if true this will return the criteria for count cases only
|
* param $doCount if true this will return the criteria for count cases only
|
||||||
|
* @param bool $flagSupervisor Flag to include the records of the supervisor
|
||||||
* @return Criteria object $Criteria
|
* @return Criteria object $Criteria
|
||||||
*/
|
*/
|
||||||
public function getPaused($userUid, $doCount)
|
public function getPaused($userUid, $doCount, $flagSupervisor = true)
|
||||||
{
|
{
|
||||||
//adding configuration fields from the configuration options
|
//adding configuration fields from the configuration options
|
||||||
//and forming the criteria object
|
//and forming the criteria object
|
||||||
@@ -538,12 +539,17 @@ class AppCacheView extends BaseAppCacheView
|
|||||||
//$criteria->add(AppCacheViewPeer::USR_UID, $userUid);
|
//$criteria->add(AppCacheViewPeer::USR_UID, $userUid);
|
||||||
|
|
||||||
if (!empty($userUid)) {
|
if (!empty($userUid)) {
|
||||||
$criteria->add(
|
$criterionAux = $criteria->getNewCriterion(AppCacheViewPeer::USR_UID, $userUid, Criteria::EQUAL);
|
||||||
$criteria->getNewCriterion(AppCacheViewPeer::USR_UID, $userUid)->addOr(
|
|
||||||
$criteria->getNewCriterion(AppCacheViewPeer::PRO_UID, $aProcesses, Criteria::IN))
|
if ($flagSupervisor && !empty($aProcesses)) {
|
||||||
);
|
$criterionAux = $criterionAux->addOr(
|
||||||
|
$criteria->getNewCriterion(AppCacheViewPeer::PRO_UID, $aProcesses, Criteria::IN)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$criteria->add($criterionAux);
|
||||||
} else {
|
} else {
|
||||||
if (count($aProcesses) > 0) {
|
if ($flagSupervisor && !empty($aProcesses)) {
|
||||||
$criteria->add(AppCacheViewPeer::PRO_UID, $aProcesses, Criteria::IN);
|
$criteria->add(AppCacheViewPeer::PRO_UID, $aProcesses, Criteria::IN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -568,11 +574,12 @@ class AppCacheView extends BaseAppCacheView
|
|||||||
/**
|
/**
|
||||||
* gets the PAUSED cases list criteria for count
|
* gets the PAUSED cases list criteria for count
|
||||||
* param $userUid the current userUid
|
* param $userUid the current userUid
|
||||||
|
* @param bool $flagSupervisor Flag to include the records of the supervisor
|
||||||
* @return Criteria object $Criteria
|
* @return Criteria object $Criteria
|
||||||
*/
|
*/
|
||||||
public function getPausedCountCriteria($userUid)
|
public function getPausedCountCriteria($userUid, $flagSupervisor = true)
|
||||||
{
|
{
|
||||||
return $this->getPaused($userUid, true);
|
return $this->getPaused($userUid, true, $flagSupervisor);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user