This commit is contained in:
Paula Quispe
2017-02-09 15:17:13 -04:00
parent 67cad7a073
commit 7514535098
13 changed files with 229 additions and 208 deletions

View File

@@ -12,112 +12,133 @@ class Applications
$sort = null, $sort = null,
$category = null, $category = null,
$dateFrom = null, $dateFrom = null,
$dateTo =null $dateTo = null
) { ) {
//Task Dummies //Task Dummies
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT"); $arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
$newCriteria = new Criteria("workflow"); $con = Propel::getConnection(AppDelegationPeer::DATABASE_NAME);
$newCriteria->addSelectColumn(ApplicationPeer::APP_NUMBER); $con->begin();
$newCriteria->addSelectColumn(ApplicationPeer::APP_UID); $sqlCount = "SELECT STRAIGHT_JOIN COUNT(*) AS TOTAL FROM APP_DELEGATION";
$newCriteria->addSelectColumn(ApplicationPeer::APP_STATUS); $sql = "SELECT
$newCriteria->addSelectColumn(ApplicationPeer::PRO_UID); STRAIGHT_JOIN APPLICATION.APP_NUMBER,
$newCriteria->addSelectColumn(ApplicationPeer::APP_CREATE_DATE); APPLICATION.APP_UID,
$newCriteria->addSelectColumn(ApplicationPeer::APP_FINISH_DATE); APPLICATION.APP_STATUS,
$newCriteria->addSelectColumn(ApplicationPeer::APP_UPDATE_DATE); APPLICATION.APP_STATUS AS APP_STATUS_LABEL,
$newCriteria->addSelectColumn(ApplicationPeer::APP_TITLE); APPLICATION.PRO_UID,
$newCriteria->addSelectColumn(AppDelegationPeer::USR_UID); APPLICATION.APP_CREATE_DATE,
$newCriteria->addSelectColumn(AppDelegationPeer::TAS_UID); APPLICATION.APP_FINISH_DATE,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_INDEX); APPLICATION.APP_UPDATE_DATE,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_LAST_INDEX); APPLICATION.APP_TITLE,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_DELEGATE_DATE); APP_DELEGATION.USR_UID,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_INIT_DATE); APP_DELEGATION.TAS_UID,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_FINISH_DATE); APP_DELEGATION.DEL_INDEX,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_TASK_DUE_DATE); APP_DELEGATION.DEL_LAST_INDEX,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_RISK_DATE); APP_DELEGATION.DEL_DELEGATE_DATE,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_THREAD_STATUS); APP_DELEGATION.DEL_INIT_DATE,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_PRIORITY); APP_DELEGATION.DEL_FINISH_DATE,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_DURATION); APP_DELEGATION.DEL_TASK_DUE_DATE,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_QUEUE_DURATION); APP_DELEGATION.DEL_RISK_DATE,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_STARTED); APP_DELEGATION.DEL_THREAD_STATUS,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_DELAY_DURATION); APP_DELEGATION.DEL_PRIORITY,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_FINISHED); APP_DELEGATION.DEL_DURATION,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_DELAYED); APP_DELEGATION.DEL_QUEUE_DURATION,
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_DELAY_DURATION); APP_DELEGATION.DEL_STARTED,
$newCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); APP_DELEGATION.DEL_DELAY_DURATION,
$newCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); APP_DELEGATION.DEL_FINISHED,
$newCriteria->addSelectColumn(UsersPeer::USR_USERNAME); APP_DELEGATION.DEL_DELAYED,
$newCriteria->addSelectColumn(TaskPeer::TAS_TITLE); APP_DELEGATION.DEL_DELAY_DURATION,
$newCriteria->addSelectColumn(ProcessPeer::PRO_TITLE); TASK.TAS_TITLE AS APP_TAS_TITLE,
$newCriteria->addJoin(AppDelegationPeer::APP_NUMBER , ApplicationPeer::APP_NUMBER, Criteria::LEFT_JOIN); USERS.USR_LASTNAME,
$newCriteria->addJoin(AppDelegationPeer::DELEGATION_ID , AppThreadPeer::DELEGATION_ID, Criteria::LEFT_JOIN); USERS.USR_FIRSTNAME,
$newCriteria->addJoin(AppDelegationPeer::USR_ID , UsersPeer::USR_ID, Criteria::LEFT_JOIN); USERS.USR_USERNAME,
$newCriteria->addJoin(AppDelegationPeer::PRO_ID , ProcessPeer::PRO_ID, Criteria::LEFT_JOIN); PROCESS.PRO_TITLE AS APP_PRO_TITLE
$newCriteria->addJoin(AppDelegationPeer::TAS_ID , TaskPeer::TAS_ID, Criteria::LEFT_JOIN); FROM APP_DELEGATION
$newCriteria->add(AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN'); ";
$sqlJoin = " LEFT JOIN APPLICATION ON (APP_DELEGATION.APP_NUMBER=APPLICATION.APP_NUMBER)";
$sqlCount.= " LEFT JOIN TASK ON (APP_DELEGATION.TAS_ID=TASK.TAS_ID)";
if (in_array($status, array(1, 2, 3, 4)) || !empty($search)) {
$sqlCount .= $sqlJoin;
}
$sqlJoin .= " LEFT JOIN TASK ON (APP_DELEGATION.TAS_ID=TASK.TAS_ID)";
$sqlWhere = " WHERE TASK.TAS_TYPE NOT IN ('" . implode("','",$arrayTaskTypeToExclude) . "')";
switch ($status) { switch ($status) {
case 1: //DRAFT case 1: //DRAFT
$newCriteria->add(ApplicationPeer::APP_STATUS_ID, 1); $sqlWhere .= " AND APP_DELEGATION.DEL_THREAD_STATUS='OPEN'";
$sqlWhere .= " AND APPLICATION.APP_STATUS_ID = 1";
break; break;
case 2: //TO_DO case 2: //TO_DO
$newCriteria->add(ApplicationPeer::APP_STATUS_ID, 2); $sqlWhere .= " AND APP_DELEGATION.DEL_THREAD_STATUS='OPEN'";
$sqlWhere .= " AND APPLICATION.APP_STATUS_ID = 2";
break; break;
case 3: //COMPLETED case 3: //COMPLETED
$newCriteria->addOr(AppDelegationPeer::DEL_THREAD_STATUS, 'CLOSED'); $sqlWhere .= " AND APPLICATION.APP_STATUS_ID = 3";
$newCriteria->add(ApplicationPeer::APP_STATUS_ID, 3); $sqlWhere .= " AND APP_DELEGATION.DEL_LAST_INDEX = 1";
$newCriteria->add(AppDelegationPeer::DEL_LAST_INDEX, '1');
break; break;
case 4: //CANCELLED case 4: //CANCELLED
$newCriteria->addOr(AppDelegationPeer::DEL_THREAD_STATUS, 'CLOSED'); $sqlWhere .= " AND APPLICATION.APP_STATUS_ID = 4";
$newCriteria->add(ApplicationPeer::APP_STATUS_ID, 4); $sqlWhere .= " AND APP_DELEGATION.DEL_LAST_INDEX = 1";
$newCriteria->add(AppDelegationPeer::DEL_LAST_INDEX, '1');
break; break;
case "PAUSED": //This status is not considered in the search, maybe we can add in the new versions case "PAUSED": //This status is not considered in the search, maybe we can add in the new versions
$newCriteria->add(ApplicationPeer::APP_STATUS, 'TO_DO'); $sqlWhere .= " AND APPLICATION.APP_STATUS = 'TO_DO'";
break; break;
default: //All status default: //All status
$newCriteria->addOr(AppDelegationPeer::DEL_THREAD_STATUS, 'CLOSED'); $sqlWhere .= " AND APP_DELEGATION.DEL_LAST_INDEX = 1";
$newCriteria->add(AppDelegationPeer::DEL_LAST_INDEX, '1');
break; break;
} }
$sqlJoin .= $sqlJoinUser = " LEFT JOIN USERS ON (APP_DELEGATION.USR_ID=USERS.USR_ID)";
if (!empty($userUid)) { if (!empty($userUid)) {
$newCriteria->add(AppDelegationPeer::USR_ID, $userUid); $sqlWhere .= " AND APP_DELEGATION.USR_ID = " . $userUid;
$sqlCount = $sqlCount . $sqlJoinUser;
} }
$sqlJoin .= $sqlJoinPro = " LEFT JOIN PROCESS ON (APP_DELEGATION.PRO_ID=PROCESS.PRO_ID)";
if (!empty($process)) { if (!empty($process)) {
$newCriteria->add(ProcessPeer::PRO_ID, $process); $sqlWhere .= " AND APP_DELEGATION.PRO_ID = " . $process;
} }
if (!empty($category)) { if (!empty($category)) {
$newCriteria->add(ProcessPeer::PRO_CATEGORY, $category); $category = mysql_real_escape_string($category);
$sqlWhere .= " AND PROCESS.PRO_CATEGORY = '{$category}'";
}
if (!empty($process) || !empty($category)) {
$sqlCount = $sqlCount . $sqlJoinPro;
} }
if (!empty($search)) { if (!empty($search)) {
//APP_NUMBER APP_TAS_TITLE APP_TITLE //APP_NUMBER APP_TAS_TITLE APP_TITLE
$newCriteria->add( $newCriteria->getNewCriterion( ApplicationPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE ) $sqlWhere .= " AND (APPLICATION.APP_TITLE LIKE '%{$search}%' OR APPLICATION.APP_NUMBER LIKE '%{$search}%' OR TASK.TAS_TITLE LIKE '%{$search}%')";
->addOr( $newCriteria->getNewCriterion( TaskPeer::TAS_TITLE, '%' . $search . '%', Criteria::LIKE )
->addOr( $newCriteria->getNewCriterion( ApplicationPeer::APP_NUMBER, '%' . $search . '%', Criteria::LIKE ) ) ) );
} }
if (!empty($dateFrom)){ if (!empty($dateFrom)) {
$newCriteria->add(AppDelegationPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL) ; $sqlWhere .= " AND APP_DELEGATION.DEL_DELEGATE_DATE >= '{$dateFrom}'";
} }
if (!empty($dateTo)){ if (!empty($dateTo)) {
$dateTo = $dateTo . " 23:59:59"; $dateTo = $dateTo . " 23:59:59";
$newCriteria->addAnd(AppDelegationPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL) ; $sqlWhere .= " AND APP_DELEGATION.DEL_DELEGATE_DATE <= '{$dateTo}'";
} }
$stmt = $con->createStatement();
$newCriteria->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN); //Get total count
$totalCount = ApplicationPeer::doCount($newCriteria, false); $iCount = $stmt->executeQuery($sqlCount . $sqlWhere);
$iCount->next();
$aRow = $iCount->getRow();
$totalCount = $aRow['TOTAL'];
//Filters //Filters
if ($dir == "DESC") { if (!empty($sort)) {
$newCriteria->addDescendingOrderByColumn($sort); if ($sort === 'APP_NUMBER') {
} else { $sort = 'APP_DELEGATION.APP_NUMBER';
$newCriteria->addAscendingOrderByColumn($sort); }
$sqlWhere .= " ORDER BY " . $sort;
} }
$newCriteria->setLimit( $limit ); if (!empty($dir)) {
$newCriteria->setOffset( $start ); $sqlWhere .= " " . $dir;
}
$oDataset = ApplicationPeer::doSelectRS( $newCriteria, Propel::getDbConnection('workflow') ); if (!empty($start)) {
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $sqlWhere .= " LIMIT $start, " . $limit;
} else {
$sqlWhere .= " LIMIT " . $limit;
}
$oDataset = $stmt->executeQuery($sql . $sqlJoin . $sqlWhere);
$result = array (); $result = array ();
$result['totalCount'] = $totalCount; $result['totalCount'] = $totalCount;
$rows = array(); $rows = array();
@@ -137,9 +158,6 @@ class Applications
$aRow["USRCR_USR_LASTNAME"] = $aRow["USR_LASTNAME"]; $aRow["USRCR_USR_LASTNAME"] = $aRow["USR_LASTNAME"];
$aRow["USRCR_USR_USERNAME"] = $aRow["USR_USERNAME"]; $aRow["USRCR_USR_USERNAME"] = $aRow["USR_USERNAME"];
$aRow["APP_OVERDUE_PERCENTAGE"] = ''; $aRow["APP_OVERDUE_PERCENTAGE"] = '';
$aRow["APP_TAS_TITLE"] = $aRow["TAS_TITLE"];
$aRow["APP_TITLE"] = $aRow["APP_TITLE"];
$aRow["APP_PRO_TITLE"] = $aRow["PRO_TITLE"];
$rows[] = $aRow; $rows[] = $aRow;
} }
$result['data'] = $rows; $result['data'] = $rows;

View File

@@ -240,15 +240,6 @@ class ListCanceled extends BaseListCanceled {
} }
} }
public function countTotal ($usr_uid, $filters = array())
{
$criteria = new Criteria();
$criteria->add( ListCanceledPeer::USR_UID, $usr_uid, Criteria::EQUAL );
self::loadFilters($criteria, $filters);
$total = ListCanceledPeer::doCount( $criteria );
return (int)$total;
}
public function loadList($usr_uid, $filters = array(), $callbackRecord = null) public function loadList($usr_uid, $filters = array(), $callbackRecord = null)
{ {
$resp = array(); $resp = array();
@@ -307,14 +298,22 @@ class ListCanceled extends BaseListCanceled {
/** /**
* Returns the number of cases of a user * Returns the number of cases of a user
* @param $usrUid * @param $usrUid
* @param array $filters
* @return int * @return int
*/ */
public function getCountList($usrUid) public function getCountList($usrUid, $filters = array())
{ {
$criteria = new Criteria(); $criteria = new Criteria();
$criteria->addSelectColumn('COUNT(*) AS TOTAL');
$criteria->add(ListCanceledPeer::USR_UID, $usrUid, Criteria::EQUAL); $criteria->add(ListCanceledPeer::USR_UID, $usrUid, Criteria::EQUAL);
$total = ListCanceledPeer::doCount($criteria); if (count($filters)) {
return (int)$total; self::loadFilters($criteria, $filters);
}
$dataset = ListCanceledPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
return (int)$aRow['TOTAL'];
} }
} // ListCanceled } // ListCanceled

View File

@@ -232,15 +232,6 @@ class ListCompleted extends BaseListCompleted
} }
} }
public function countTotal ($usr_uid, $filters = array())
{
$criteria = new Criteria();
$criteria->add( ListCompletedPeer::USR_UID, $usr_uid, Criteria::EQUAL );
self::loadFilters($criteria, $filters);
$total = ListCompletedPeer::doCount( $criteria );
return (int)$total;
}
public function loadList($usr_uid, $filters = array(), $callbackRecord = null) public function loadList($usr_uid, $filters = array(), $callbackRecord = null)
{ {
$resp = array(); $resp = array();
@@ -296,14 +287,22 @@ class ListCompleted extends BaseListCompleted
/** /**
* Returns the number of cases of a user * Returns the number of cases of a user
* @param $usrUid * @param $usrUid
* @param array $filters
* @return int * @return int
*/ */
public function getCountList($usrUid) public function getCountList($usrUid, $filters = array())
{ {
$criteria = new Criteria(); $criteria = new Criteria();
$criteria->addSelectColumn('COUNT(*) AS TOTAL');
$criteria->add(ListCompletedPeer::USR_UID, $usrUid, Criteria::EQUAL); $criteria->add(ListCompletedPeer::USR_UID, $usrUid, Criteria::EQUAL);
$total = ListCompletedPeer::doCount($criteria); if (count($filters)) {
return (int)$total; self::loadFilters($criteria, $filters);
}
$dataset = ListCompletedPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
return (int)$aRow['TOTAL'];
} }
} // ListCompleted } // ListCompleted

View File

@@ -334,7 +334,7 @@ class ListInbox extends BaseListInbox
self::create($data, $isSelfService); self::create($data, $isSelfService);
} }
public function loadFilters (&$criteria, $filters) public static function loadFilters (&$criteria, $filters)
{ {
$action = isset($filters['action']) ? $filters['action'] : ""; $action = isset($filters['action']) ? $filters['action'] : "";
$usrUid = isset($filters['usr_uid']) ? $filters['usr_uid'] : ""; $usrUid = isset($filters['usr_uid']) ? $filters['usr_uid'] : "";
@@ -371,15 +371,13 @@ class ListInbox extends BaseListInbox
break; break;
} }
if ($filter != '') { switch ($filter) {
switch ($filter) { case 'read':
case 'read': $criteria->add( ListInboxPeer::DEL_INIT_DATE, NULL, Criteria::ISNOTNULL );
$criteria->add( ListInboxPeer::DEL_INIT_DATE, null, Criteria::ISNOTNULL ); break;
break; case 'unread':
case 'unread': $criteria->add( ListInboxPeer::DEL_INIT_DATE, NULL, Criteria::ISNULL );
$criteria->add( ListInboxPeer::DEL_INIT_DATE, null, Criteria::ISNULL ); break;
break;
}
} }
if ($search != '') { if ($search != '') {
@@ -453,16 +451,6 @@ class ListInbox extends BaseListInbox
} }
} }
public function countTotal ($usr_uid, $filters = array())
{
$filters['usr_uid'] = $usr_uid;
$criteria = new Criteria();
self::loadFilters($criteria, $filters);
$total = ListInboxPeer::doCount( $criteria );
return (int)$total;
}
/** /**
* @param $usr_uid * @param $usr_uid
* @param array $filters * @param array $filters
@@ -570,24 +558,27 @@ class ListInbox extends BaseListInbox
return isset($aRow[$fieldName]) ? $aRow[$fieldName] : NULL; return isset($aRow[$fieldName]) ? $aRow[$fieldName] : NULL;
} }
/** /**
* Returns the number of cases of a user * Returns the number of cases of a user
* @param $usrUid * @param string $usrUid
* @param string $appStatus * @param array $filters
* @param string $status
* @return int * @return int
*/ */
public function getCountList($usrUid, $appStatus = 'DRAFT') public function getCountList($usrUid, $filters = array())
{ {
$filters['usr_uid'] = $usrUid;
$criteria = new Criteria(); $criteria = new Criteria();
$criteria->addSelectColumn('COUNT(*) AS TOTAL');
$criteria->add(ListInboxPeer::USR_UID, $usrUid, Criteria::EQUAL); $criteria->add(ListInboxPeer::USR_UID, $usrUid, Criteria::EQUAL);
if ($appStatus == 'TO_DO') { if (count($filters)) {
$criteria->add(ListInboxPeer::APP_STATUS, 'TO_DO', Criteria::EQUAL); self::loadFilters($criteria, $filters);
} else {
$criteria->add(ListInboxPeer::APP_STATUS, 'DRAFT', Criteria::EQUAL);
} }
$total = ListInboxPeer::doCount($criteria); $dataset = ListInboxPeer::doSelectRS($criteria);
return (int)$total; $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
return (int)$aRow['TOTAL'];
} }
} }

View File

@@ -203,15 +203,6 @@ class ListMyInbox extends BaseListMyInbox
} }
} }
public function countTotal ($usr_uid, $filters = array())
{
$criteria = new Criteria();
$criteria->add( ListMyInboxPeer::USR_UID, $usr_uid, Criteria::EQUAL );
self::loadFilters($criteria, $filters);
$total = ListMyInboxPeer::doCount( $criteria );
return (int)$total;
}
public function loadList($usr_uid, $filters = array(), $callbackRecord = null) public function loadList($usr_uid, $filters = array(), $callbackRecord = null)
{ {
$criteria = new Criteria(); $criteria = new Criteria();
@@ -274,5 +265,26 @@ class ListMyInbox extends BaseListMyInbox
return $data; return $data;
} }
/**
* Returns the number of cases of a user
* @param $usrUid
* @param array $filters
* @return int
*/
public function getCountList($usrUid, $filters = array())
{
$criteria = new Criteria();
$criteria->addSelectColumn('COUNT(*) AS TOTAL');
$criteria->add(ListMyInboxPeer::USR_UID, $usrUid, Criteria::EQUAL);
if (count($filters)) {
self::loadFilters($criteria, $filters);
}
$dataset = ListMyInboxPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
return (int)$aRow['TOTAL'];
}
} // ListMyInbox } // ListMyInbox

View File

@@ -162,15 +162,6 @@ class ListParticipatedHistory extends BaseListParticipatedHistory
} }
} }
public function countTotal ($usr_uid, $filters = array())
{
$criteria = new Criteria();
$criteria->add( ListParticipatedHistoryPeer::USR_UID, $usr_uid, Criteria::EQUAL );
self::loadFilters($criteria, $filters);
$total = ListParticipatedHistoryPeer::doCount( $criteria );
return (int)$total;
}
public function loadList($usr_uid, $filters = array(), $callbackRecord = null) public function loadList($usr_uid, $filters = array(), $callbackRecord = null)
{ {
$criteria = new Criteria(); $criteria = new Criteria();
@@ -229,5 +220,26 @@ class ListParticipatedHistory extends BaseListParticipatedHistory
return $data; return $data;
} }
/**
* Returns the number of cases of a user
* @param $usrUid
* @param array $filters
* @return int
*/
public function getCountList($usrUid, $filters = array())
{
$criteria = new Criteria();
$criteria->addSelectColumn('COUNT(*) AS TOTAL');
$criteria->add(ListParticipatedHistoryPeer::USR_UID, $usrUid, Criteria::EQUAL);
if (count($filters)) {
self::loadFilters($criteria, $filters);
}
$dataset = ListParticipatedHistoryPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
return (int)$aRow['TOTAL'];
}
} }

View File

@@ -208,15 +208,13 @@ class ListParticipatedLast extends BaseListParticipatedLast
$newestthan = isset($filters['newestthan'] ) ? $filters['newestthan'] : ''; $newestthan = isset($filters['newestthan'] ) ? $filters['newestthan'] : '';
$oldestthan = isset($filters['oldestthan'] ) ? $filters['oldestthan'] : ''; $oldestthan = isset($filters['oldestthan'] ) ? $filters['oldestthan'] : '';
if ($filter != '') { switch ($filter) {
switch ($filter) { case 'read':
case 'read': $criteria->add( ListParticipatedLastPeer::DEL_INIT_DATE, null, Criteria::ISNOTNULL );
$criteria->add( ListParticipatedLastPeer::DEL_INIT_DATE, null, Criteria::ISNOTNULL ); break;
break; case 'unread':
case 'unread': $criteria->add( ListParticipatedLastPeer::DEL_INIT_DATE, null, Criteria::ISNULL );
$criteria->add( ListParticipatedLastPeer::DEL_INIT_DATE, null, Criteria::ISNULL ); break;
break;
}
} }
if ($search != '' ) { if ($search != '' ) {
@@ -245,28 +243,12 @@ class ListParticipatedLast extends BaseListParticipatedLast
$criteria->addJoinMC($aConditions, Criteria::INNER_JOIN); $criteria->addJoinMC($aConditions, Criteria::INNER_JOIN);
} }
if ($dateFrom != "") { if (!empty($dateFrom)) {
if ($dateTo != "") { $criteria->add(ListParticipatedLastPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL);
if ($dateFrom == $dateTo) { }
$dateSame = $dateFrom; if (!empty($dateTo)) {
$dateFrom = $dateSame . " 00:00:00";
$dateTo = $dateSame . " 23:59:59";
} else {
$dateFrom = $dateFrom . " 00:00:00";
$dateTo = $dateTo . " 23:59:59";
}
$criteria->add( $criteria->getNewCriterion( ListParticipatedLastPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL )->
addAnd( $criteria->getNewCriterion( ListParticipatedLastPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL ) ) );
} else {
$dateFrom = $dateFrom . " 00:00:00";
$criteria->add( ListParticipatedLastPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL );
}
} elseif ($dateTo != "") {
$dateTo = $dateTo . " 23:59:59"; $dateTo = $dateTo . " 23:59:59";
$criteria->add(ListParticipatedLastPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL);
$criteria->add( ListParticipatedLastPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL );
} }
if ($newestthan != '') { if ($newestthan != '') {
@@ -278,15 +260,6 @@ class ListParticipatedLast extends BaseListParticipatedLast
} }
} }
public function countTotal ($usr_uid, $filters = array())
{
$criteria = new Criteria();
$criteria->add( ListParticipatedLastPeer::USR_UID, $usr_uid, Criteria::EQUAL );
self::loadFilters($criteria, $filters);
$total = ListParticipatedLastPeer::doCount( $criteria );
return (int)$total;
}
public function loadList($usr_uid, $filters = array(), $callbackRecord = null, $appUid = '') public function loadList($usr_uid, $filters = array(), $callbackRecord = null, $appUid = '')
{ {
$pmTable = new PmTable(); $pmTable = new PmTable();
@@ -408,15 +381,23 @@ class ListParticipatedLast extends BaseListParticipatedLast
/** /**
* Returns the number of cases of a user * Returns the number of cases of a user
* @param $usrUid * @param string $usrUid
* @param array $filters
* @return int * @return int
*/ */
public function getCountList($usrUid) public function getCountList($usrUid, $filters = array())
{ {
$criteria = new Criteria(); $criteria = new Criteria();
$criteria->addSelectColumn('COUNT(*) AS TOTAL');
$criteria->add(ListParticipatedLastPeer::USR_UID, $usrUid, Criteria::EQUAL); $criteria->add(ListParticipatedLastPeer::USR_UID, $usrUid, Criteria::EQUAL);
$total = ListParticipatedLastPeer::doCount($criteria); if (count($filters)) {
return (int)$total; self::loadFilters($criteria, $filters);
}
$dataset = ListParticipatedLastPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
return (int)$aRow['TOTAL'];
} }
} }

View File

@@ -218,12 +218,6 @@ class ListUnassigned extends BaseListUnassigned
} }
} }
public function countTotal ($usr_uid, $filters = array())
{
$total = $this->total;
return (int)$total;
}
public function loadList($usr_uid, $filters = array(), $callbackRecord = null) public function loadList($usr_uid, $filters = array(), $callbackRecord = null)
{ {
$resp = array(); $resp = array();
@@ -446,9 +440,10 @@ class ListUnassigned extends BaseListUnassigned
/** /**
* Returns the number of cases of a user * Returns the number of cases of a user
* @param $userUid * @param $userUid
* @param array $filters
* @return int * @return int
*/ */
public function getCountList($userUid) public function getCountList($userUid, $filters = array())
{ {
$criteria = new Criteria('workflow'); $criteria = new Criteria('workflow');
$tasks = $this->getSelfServiceTasks($userUid); $tasks = $this->getSelfServiceTasks($userUid);

View File

@@ -67,7 +67,7 @@ abstract class BaseApplication extends BaseObject implements Persistent
* The value for the app_status_id field. * The value for the app_status_id field.
* @var int * @var int
*/ */
protected $app_status_id = 1; protected $app_status_id = 0;
/** /**
* The value for the pro_uid field. * The value for the pro_uid field.
@@ -663,7 +663,7 @@ abstract class BaseApplication extends BaseObject implements Persistent
$v = (int) $v; $v = (int) $v;
} }
if ($this->app_status_id !== $v || $v === 1) { if ($this->app_status_id !== $v || $v === 0) {
$this->app_status_id = $v; $this->app_status_id = $v;
$this->modifiedColumns[] = ApplicationPeer::APP_STATUS_ID; $this->modifiedColumns[] = ApplicationPeer::APP_STATUS_ID;
} }

View File

@@ -27,7 +27,7 @@
<column name="APP_NUMBER" type="INTEGER" required="true" default="0"/> <column name="APP_NUMBER" type="INTEGER" required="true" default="0"/>
<column name="APP_PARENT" type="VARCHAR" size="32" required="true" default="0"/> <column name="APP_PARENT" type="VARCHAR" size="32" required="true" default="0"/>
<column name="APP_STATUS" type="VARCHAR" size="100" required="true" default=""/> <column name="APP_STATUS" type="VARCHAR" size="100" required="true" default=""/>
<column name="APP_STATUS_ID" type="TINYINT" required="true" default="1"/> <column name="APP_STATUS_ID" type="TINYINT" required="true" default="0"/>
<column name="PRO_UID" type="VARCHAR" size="32" required="true" default=""/> <column name="PRO_UID" type="VARCHAR" size="32" required="true" default=""/>
<column name="APP_PROC_STATUS" type="VARCHAR" size="100" required="true" default=""/> <column name="APP_PROC_STATUS" type="VARCHAR" size="100" required="true" default=""/>
<column name="APP_PROC_CODE" type="VARCHAR" size="100" required="true" default=""/> <column name="APP_PROC_CODE" type="VARCHAR" size="100" required="true" default=""/>
@@ -4332,6 +4332,15 @@
<parameter name="Seq_in_index" value="1"/> <parameter name="Seq_in_index" value="1"/>
</vendor> </vendor>
</index> </index>
<index name="delDelegateDate">
<index-column name="DEL_DELEGATE_DATE"/>
<vendor type="mysql">
<parameter name="Table" value="LIST_PARTICIPATED_LAST"/>
<parameter name="Non_unique" value="1"/>
<parameter name="Key_name" value="delDelegateDate"/>
<parameter name="Seq_in_index" value="1"/>
</vendor>
</index>
</table> </table>
<table name="LIST_COMPLETED"> <table name="LIST_COMPLETED">
<vendor type="mysql"> <vendor type="mysql">

View File

@@ -18,7 +18,7 @@ CREATE TABLE `APPLICATION`
`APP_NUMBER` INTEGER default 0 NOT NULL, `APP_NUMBER` INTEGER default 0 NOT NULL,
`APP_PARENT` VARCHAR(32) default '0' NOT NULL, `APP_PARENT` VARCHAR(32) default '0' NOT NULL,
`APP_STATUS` VARCHAR(100) default '' NOT NULL, `APP_STATUS` VARCHAR(100) default '' NOT NULL,
`APP_STATUS_ID` TINYINT default 1 NOT NULL, `APP_STATUS_ID` TINYINT default 0 NOT NULL,
`PRO_UID` VARCHAR(32) default '' NOT NULL, `PRO_UID` VARCHAR(32) default '' NOT NULL,
`APP_PROC_STATUS` VARCHAR(100) default '' NOT NULL, `APP_PROC_STATUS` VARCHAR(100) default '' NOT NULL,
`APP_PROC_CODE` VARCHAR(100) default '' NOT NULL, `APP_PROC_CODE` VARCHAR(100) default '' NOT NULL,
@@ -2436,7 +2436,8 @@ CREATE TABLE `LIST_PARTICIPATED_LAST`
`DEL_PRIORITY` VARCHAR(32) default '3' NOT NULL, `DEL_PRIORITY` VARCHAR(32) default '3' NOT NULL,
`DEL_THREAD_STATUS` VARCHAR(32) default 'OPEN' NOT NULL, `DEL_THREAD_STATUS` VARCHAR(32) default 'OPEN' NOT NULL,
PRIMARY KEY (`APP_UID`,`USR_UID`,`DEL_INDEX`), PRIMARY KEY (`APP_UID`,`USR_UID`,`DEL_INDEX`),
KEY `usrIndex`(`USR_UID`) KEY `usrIndex`(`USR_UID`),
KEY `delDelegateDate`(`DEL_DELEGATE_DATE`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Participated last list'; )ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Participated last list';
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
#-- LIST_COMPLETED #-- LIST_COMPLETED

View File

@@ -312,7 +312,11 @@ function getStatusArray($action, $userUid)
$aStatus = Application::$app_status_values; $aStatus = Application::$app_status_values;
$status[] = array('', G::LoadTranslation('ID_ALL_STATUS')); $status[] = array('', G::LoadTranslation('ID_ALL_STATUS'));
foreach ($aStatus as $key => $value) { foreach ($aStatus as $key => $value) {
$status[] = array ($value, G::LoadTranslation( 'ID_CASES_STATUS_' . $key )); if ($action == 'search') {
$status[] = array ($value, G::LoadTranslation( 'ID_CASES_STATUS_' . $key ));
} else {
$status[] = array ($key, G::LoadTranslation( 'ID_CASES_STATUS_' . $key ));
}
} }
return $status; return $status;
} }

View File

@@ -138,7 +138,7 @@ if ($actionAjax == "processListExtJs") {
$cProcess = new Criteria('workflow'); $cProcess = new Criteria('workflow');
//get the processes for this user in this action //get the processes for this user in this action
$cProcess->clearSelectColumns(); $cProcess->clearSelectColumns();
if($action == 'search'){ if ($action == 'search') {
$cProcess->addSelectColumn(ProcessPeer::PRO_ID); $cProcess->addSelectColumn(ProcessPeer::PRO_ID);
} else { } else {
$cProcess->addSelectColumn(ProcessPeer::PRO_UID); $cProcess->addSelectColumn(ProcessPeer::PRO_UID);
@@ -157,13 +157,13 @@ if ($actionAjax == "processListExtJs") {
$cProcess->addAnd($filters); $cProcess->addAnd($filters);
} }
if($action==='to_revise') { if ($action==='to_revise') {
$oAppCache = new AppCacheView(); $oAppCache = new AppCacheView();
$aProcesses = $oAppCache->getProUidSupervisor($_SESSION['USER_LOGGED']); $aProcesses = $oAppCache->getProUidSupervisor($_SESSION['USER_LOGGED']);
$cProcess->add(ProcessPeer::PRO_UID, $aProcesses, Criteria::IN); $cProcess->add(ProcessPeer::PRO_UID, $aProcesses, Criteria::IN);
} }
if($action==='to_reassign') { if ($action==='to_reassign') {
if($RBAC->userCanAccess('PM_REASSIGNCASE') == 1) { if($RBAC->userCanAccess('PM_REASSIGNCASE') == 1) {
} elseif($RBAC->userCanAccess('PM_REASSIGNCASE_SUPERVISOR') == 1) { } elseif($RBAC->userCanAccess('PM_REASSIGNCASE_SUPERVISOR') == 1) {
$oAppCache = new AppCacheView(); $oAppCache = new AppCacheView();