HOR-2456
This commit is contained in:
@@ -1,6 +1,140 @@
|
||||
<?php
|
||||
class Applications
|
||||
{
|
||||
public function searchAll(
|
||||
$userUid,
|
||||
$start = null,
|
||||
$limit = null,
|
||||
$search = null,
|
||||
$process = null,
|
||||
$status = null,
|
||||
$dir = null,
|
||||
$sort = null,
|
||||
$category = null
|
||||
) {
|
||||
//Task Dummies
|
||||
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
|
||||
|
||||
$newCriteria = new Criteria("workflow");
|
||||
$newCriteria->addSelectColumn(ApplicationPeer::APP_NUMBER);
|
||||
$newCriteria->addSelectColumn(ApplicationPeer::APP_UID);
|
||||
$newCriteria->addSelectColumn(ApplicationPeer::APP_STATUS);
|
||||
$newCriteria->addSelectColumn(ApplicationPeer::PRO_UID);
|
||||
$newCriteria->addSelectColumn(ApplicationPeer::APP_CREATE_DATE);
|
||||
$newCriteria->addSelectColumn(ApplicationPeer::APP_FINISH_DATE);
|
||||
$newCriteria->addSelectColumn(ApplicationPeer::APP_UPDATE_DATE);
|
||||
$newCriteria->addSelectColumn(ApplicationPeer::APP_TITLE);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::USR_UID);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::TAS_UID);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_INDEX);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_LAST_INDEX);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_DELEGATE_DATE);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_INIT_DATE);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_FINISH_DATE);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_TASK_DUE_DATE);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_RISK_DATE);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_THREAD_STATUS);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_PRIORITY);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_DURATION);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_QUEUE_DURATION);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_STARTED);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_DELAY_DURATION);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_FINISHED);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_DELAYED);
|
||||
$newCriteria->addSelectColumn(AppDelegationPeer::DEL_DELAY_DURATION);
|
||||
$newCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
||||
$newCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
||||
$newCriteria->addSelectColumn(UsersPeer::USR_USERNAME);
|
||||
$newCriteria->addSelectColumn(TaskPeer::TAS_TITLE);
|
||||
$newCriteria->addSelectColumn(ProcessPeer::PRO_TITLE);
|
||||
$newCriteria->addJoin(AppDelegationPeer::APP_NUMBER , ApplicationPeer::APP_NUMBER, Criteria::LEFT_JOIN);
|
||||
$newCriteria->addJoin(AppDelegationPeer::DELEGATION_ID , AppThreadPeer::DELEGATION_ID, Criteria::LEFT_JOIN);
|
||||
$newCriteria->addJoin(AppDelegationPeer::USR_ID , UsersPeer::USR_ID, Criteria::LEFT_JOIN);
|
||||
$newCriteria->addJoin(AppDelegationPeer::PRO_ID , ProcessPeer::PRO_ID, Criteria::LEFT_JOIN);
|
||||
$newCriteria->addJoin(AppDelegationPeer::TAS_ID , TaskPeer::TAS_ID, Criteria::LEFT_JOIN);
|
||||
$newCriteria->add(AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN');
|
||||
switch ($status) {
|
||||
case 1: //DRAFT
|
||||
$newCriteria->add(ApplicationPeer::APP_STATUS_ID, 1);
|
||||
break;
|
||||
case 2: //TO_DO
|
||||
$newCriteria->add(ApplicationPeer::APP_STATUS_ID, 2);
|
||||
break;
|
||||
case 3: //COMPLETED
|
||||
$newCriteria->addOr(AppDelegationPeer::DEL_THREAD_STATUS, 'CLOSED');
|
||||
$newCriteria->add(ApplicationPeer::APP_STATUS_ID, 3);
|
||||
$newCriteria->add(AppDelegationPeer::DEL_LAST_INDEX, '1');
|
||||
break;
|
||||
case 4: //CANCELLED
|
||||
$newCriteria->addOr(AppDelegationPeer::DEL_THREAD_STATUS, 'CLOSED');
|
||||
$newCriteria->add(ApplicationPeer::APP_STATUS_ID, 4);
|
||||
$newCriteria->add(AppDelegationPeer::DEL_LAST_INDEX, '1');
|
||||
break;
|
||||
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');
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (!empty($userUid)) {
|
||||
$newCriteria->add(AppDelegationPeer::USR_ID, $userUid);
|
||||
}
|
||||
if (!empty($process)) {
|
||||
$newCriteria->add(ProcessPeer::PRO_ID, $process);
|
||||
}
|
||||
if (!empty($category)) {
|
||||
$newCriteria->add(ProcessPeer::PRO_CATEGORY, $category);
|
||||
}
|
||||
if (!empty($search)) {
|
||||
//APP_NUMBER APP_TAS_TITLE APP_TITLE
|
||||
$newCriteria->add( $newCriteria->getNewCriterion( ApplicationPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE )
|
||||
->addOr( $newCriteria->getNewCriterion( TaskPeer::TAS_TITLE, '%' . $search . '%', Criteria::LIKE )
|
||||
->addOr( $newCriteria->getNewCriterion( ApplicationPeer::APP_NUMBER, '%' . $search . '%', Criteria::LIKE ) ) ) );
|
||||
}
|
||||
|
||||
$newCriteria->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN);
|
||||
$totalCount = ApplicationPeer::doCount($newCriteria, false);
|
||||
|
||||
//Filters
|
||||
if ($dir == "DESC") {
|
||||
$newCriteria->addDescendingOrderByColumn($sort);
|
||||
} else {
|
||||
$newCriteria->addAscendingOrderByColumn($sort);
|
||||
}
|
||||
$newCriteria->setLimit( $limit );
|
||||
$newCriteria->setOffset( $start );
|
||||
|
||||
$oDataset = ApplicationPeer::doSelectRS( $newCriteria, Propel::getDbConnection('workflow') );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
|
||||
$result = array ();
|
||||
$result['totalCount'] = $totalCount;
|
||||
$rows = array();
|
||||
$aPriorities = array ('1' => 'VL','2' => 'L','3' => 'N','4' => 'H','5' => 'VH');
|
||||
while ($oDataset->next()) {
|
||||
$aRow = $oDataset->getRow();
|
||||
if (isset( $aRow['APP_STATUS'] )) {
|
||||
$aRow['APP_STATUS_LABEL'] = G::LoadTranslation( "ID_{$aRow['APP_STATUS']}" );
|
||||
}
|
||||
if (isset( $aRow['DEL_PRIORITY'] )) {
|
||||
$aRow['DEL_PRIORITY'] = G::LoadTranslation( "ID_PRIORITY_{$aPriorities[$aRow['DEL_PRIORITY']]}" );
|
||||
}
|
||||
$aRow["APP_CURRENT_USER"] = $aRow["USR_LASTNAME"].' '.$aRow["USR_FIRSTNAME"];
|
||||
$aRow["APPDELCR_APP_TAS_TITLE"] = '';
|
||||
$aRow["USRCR_USR_UID"] = $aRow["USR_UID"];
|
||||
$aRow["USRCR_USR_FIRSTNAME"] = $aRow["USR_FIRSTNAME"];
|
||||
$aRow["USRCR_USR_LASTNAME"] = $aRow["USR_LASTNAME"];
|
||||
$aRow["USRCR_USR_USERNAME"] = $aRow["USR_USERNAME"];
|
||||
$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;
|
||||
}
|
||||
$result['data'] = $rows;
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getAll(
|
||||
$userUid,
|
||||
$start = null,
|
||||
|
||||
@@ -807,6 +807,7 @@ class System
|
||||
$required = (in_array(strtolower($required), array('1', 'true'
|
||||
)));
|
||||
$autoIncrement = $oColumn->hasAttribute('autoIncrement') ? $oColumn->hasAttribute('autoIncrement') : false;
|
||||
$unique = $oColumn->hasAttribute('unique') ? $oColumn->hasAttribute('unique') : false;
|
||||
$default = $oColumn->hasAttribute('default') ? $oColumn->getAttribute('default') : null;
|
||||
|
||||
$primaryKey = $oColumn->hasAttribute('primaryKey') ? $oColumn->getAttribute('primaryKey') : null;
|
||||
@@ -816,8 +817,14 @@ class System
|
||||
if ($primaryKey) {
|
||||
$aPrimaryKeys[] = $sColumName;
|
||||
}
|
||||
$aSchema[$sTableName][$sColumName] = array('Field' => $sColumName, 'Type' => $type,
|
||||
'Null' => $required ? "NO" : "YES", 'Default' => $default, 'AutoIncrement' => $autoIncrement);
|
||||
$aSchema[$sTableName][$sColumName] = array(
|
||||
'Field' => $sColumName,
|
||||
'Type' => $type,
|
||||
'Null' => $required ? "NO" : "YES",
|
||||
'Default' => $default,
|
||||
'AutoIncrement' => $autoIncrement,
|
||||
'Unique' => $unique
|
||||
);
|
||||
}
|
||||
|
||||
if (is_array($aPrimaryKeys) && count($aPrimaryKeys) > 0) {
|
||||
|
||||
@@ -48,7 +48,7 @@ class Application extends BaseApplication
|
||||
*/
|
||||
protected $app_title_content = '';
|
||||
protected $app_description_content = '';
|
||||
//protected $app_proc_code = '';
|
||||
public static $app_status_values = ['DRAFT' => 1, 'TO_DO' => 2, 'COMPLETED' => 3, 'CANCELLED' => 4];
|
||||
|
||||
/**
|
||||
* Get the [app_title_content] column value.
|
||||
@@ -225,7 +225,8 @@ class Application extends BaseApplication
|
||||
$this->setAppUid(G::generateUniqueID());
|
||||
$this->setAppParent('');
|
||||
$this->setAppStatus('DRAFT');
|
||||
$this->setProUid( $sProUid);
|
||||
$this->setAppStatusId(1);
|
||||
$this->setProUid($sProUid);
|
||||
$this->setAppProcStatus('');
|
||||
$this->setAppProcCode('');
|
||||
$this->setAppParallel('N');
|
||||
@@ -294,6 +295,9 @@ class Application extends BaseApplication
|
||||
$oApp->fromArray($aData, BasePeer::TYPE_FIELDNAME);
|
||||
|
||||
if ($oApp->validate()) {
|
||||
if (isset($aData['APP_STATUS'])) {
|
||||
$oApp->setAppStatusId(self::$app_status_values[$aData['APP_STATUS']]);
|
||||
}
|
||||
if (isset($aData['APP_TITLE'])) {
|
||||
$oApp->setAppTitleContent($aData['APP_TITLE']);
|
||||
}
|
||||
@@ -301,9 +305,6 @@ class Application extends BaseApplication
|
||||
$oApp->setAppDescriptionContent($aData['APP_DESCRIPTION']);
|
||||
}
|
||||
|
||||
//if ( isset ( $aData['APP_PROC_CODE'] ) )
|
||||
//$oApp->setAppProcCode( $aData['APP_PROC_CODE'] );
|
||||
|
||||
$res = $oApp->save();
|
||||
$con->commit();
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ class ApplicationMapBuilder
|
||||
|
||||
$tMap->addColumn('APP_STATUS', 'AppStatus', 'string', CreoleTypes::VARCHAR, true, 100);
|
||||
|
||||
$tMap->addColumn('APP_STATUS_ID', 'AppStatusId', 'int', CreoleTypes::INTEGER, true, null);
|
||||
$tMap->addColumn('APP_STATUS_ID', 'AppStatusId', 'int', CreoleTypes::TINYINT, true, null);
|
||||
|
||||
$tMap->addColumn('PRO_UID', 'ProUid', 'string', CreoleTypes::VARCHAR, true, 32);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user