BUG 12112 "'caseList' webservice is running a query that..." SOLVED
- El metodo caseList, utiliza las tablas principales de ProcessMaker - Problema resuelto, se ha reescrito el query para que use la tabla APP_CACHE_VIEW * Available from version ProcessMaker-2.5.2-testing.1
This commit is contained in:
@@ -313,40 +313,42 @@ class wsBase
|
|||||||
* @param string $userId
|
* @param string $userId
|
||||||
* @return $result will return an object
|
* @return $result will return an object
|
||||||
*/
|
*/
|
||||||
public function caseList ($userId)
|
public function caseList($userUid)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$result = array ();
|
$criteria = new Criteria("workflow");
|
||||||
$oCriteria = new Criteria( 'workflow' );
|
|
||||||
$del = DBAdapter::getStringDelimiter();
|
|
||||||
$oCriteria->addSelectColumn( ApplicationPeer::APP_UID );
|
|
||||||
$oCriteria->addSelectColumn( ApplicationPeer::APP_NUMBER );
|
|
||||||
$oCriteria->addSelectColumn( ApplicationPeer::APP_STATUS );
|
|
||||||
$oCriteria->addSelectColumn( AppDelegationPeer::DEL_INDEX );
|
|
||||||
$oCriteria->addSelectColumn( ApplicationPeer::PRO_UID );
|
|
||||||
$oCriteria->addAsColumn( 'CASE_TITLE', 'C1.CON_VALUE' );
|
|
||||||
$oCriteria->addAlias( "C1", 'CONTENT' );
|
|
||||||
$caseTitleConds = array ();
|
|
||||||
$caseTitleConds[] = array (ApplicationPeer::APP_UID,'C1.CON_ID'
|
|
||||||
);
|
|
||||||
$caseTitleConds[] = array ('C1.CON_CATEGORY',$del . 'APP_TITLE' . $del
|
|
||||||
);
|
|
||||||
$caseTitleConds[] = array ('C1.CON_LANG',$del . SYS_LANG . $del
|
|
||||||
);
|
|
||||||
$oCriteria->addJoinMC( $caseTitleConds, Criteria::LEFT_JOIN );
|
|
||||||
|
|
||||||
$oCriteria->addJoin( ApplicationPeer::APP_UID, AppDelegationPeer::APP_UID, Criteria::LEFT_JOIN );
|
$criteria->addSelectColumn(AppCacheViewPeer::APP_UID);
|
||||||
|
$criteria->addSelectColumn(AppCacheViewPeer::DEL_INDEX);
|
||||||
|
$criteria->addSelectColumn(AppCacheViewPeer::APP_NUMBER);
|
||||||
|
$criteria->addSelectColumn(AppCacheViewPeer::APP_STATUS);
|
||||||
|
$criteria->addSelectColumn(AppCacheViewPeer::PRO_UID);
|
||||||
|
|
||||||
$oCriteria->add( ApplicationPeer::APP_STATUS, array ('TO_DO','DRAFT'
|
$criteria->add(AppCacheViewPeer::USR_UID, $userUid);
|
||||||
), Criteria::IN );
|
|
||||||
$oCriteria->add( AppDelegationPeer::USR_UID, $userId );
|
$criteria->add(
|
||||||
$oCriteria->add( AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL );
|
//ToDo - getToDo()
|
||||||
$oCriteria->addDescendingOrderByColumn( ApplicationPeer::APP_NUMBER );
|
$criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "TO_DO", CRITERIA::EQUAL)->addAnd(
|
||||||
$oDataset = ApplicationPeer::doSelectRS( $oCriteria );
|
$criteria->getNewCriterion(AppCacheViewPeer::DEL_FINISH_DATE, null, Criteria::ISNULL))->addAnd(
|
||||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
$criteria->getNewCriterion(AppCacheViewPeer::APP_THREAD_STATUS, "OPEN"))->addAnd(
|
||||||
$oDataset->next();
|
$criteria->getNewCriterion(AppCacheViewPeer::DEL_THREAD_STATUS, "OPEN"))
|
||||||
|
)->addOr(
|
||||||
|
//Draft - getDraft()
|
||||||
|
$criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "DRAFT", CRITERIA::EQUAL)->addAnd(
|
||||||
|
$criteria->getNewCriterion(AppCacheViewPeer::APP_THREAD_STATUS, "OPEN"))->addAnd(
|
||||||
|
$criteria->getNewCriterion(AppCacheViewPeer::DEL_THREAD_STATUS, "OPEN"))
|
||||||
|
);
|
||||||
|
|
||||||
|
$criteria->addDescendingOrderByColumn(AppCacheViewPeer::APP_NUMBER);
|
||||||
|
|
||||||
|
$rsCriteria = AppCacheViewPeer::doSelectRS($criteria);
|
||||||
|
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
|
|
||||||
|
$result = array();
|
||||||
|
|
||||||
|
while ($rsCriteria->next()) {
|
||||||
|
$aRow = $rsCriteria->getRow();
|
||||||
|
|
||||||
while ($aRow = $oDataset->getRow()) {
|
|
||||||
/*
|
/*
|
||||||
$result[] = array(
|
$result[] = array(
|
||||||
'guid' => $aRow['APP_UID'],
|
'guid' => $aRow['APP_UID'],
|
||||||
@@ -360,7 +362,6 @@ class wsBase
|
|||||||
'status' => $aRow['APP_STATUS'],
|
'status' => $aRow['APP_STATUS'],
|
||||||
'delIndex' => $aRow['DEL_INDEX'],
|
'delIndex' => $aRow['DEL_INDEX'],
|
||||||
'processId' => $aRow['PRO_UID']);
|
'processId' => $aRow['PRO_UID']);
|
||||||
$oDataset->next();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
|
|||||||
Reference in New Issue
Block a user