Files
luos/workflow/engine/classes/model/AppHistory.php

183 lines
6.7 KiB
PHP
Raw Normal View History

2010-12-02 23:34:41 +00:00
<?php
2011-01-31 14:14:55 +00:00
/**
* AppHistory.php
* @package workflow.engine.classes.model
*/
2010-12-02 23:34:41 +00:00
//require_once 'classes/model/om/BaseAppHistory.php';
2010-12-02 23:34:41 +00:00
2010-12-02 23:34:41 +00:00
/**
* Skeleton subclass for representing a row from the 'APP_HISTORY' table.
*
*
2010-12-02 23:34:41 +00:00
*
* You should add additional methods to this class to meet the
* application requirements. This class will only be generated as
* long as it does not already exist in the output directory.
*
2011-01-31 14:14:55 +00:00
* @package workflow.engine.classes.model
2010-12-02 23:34:41 +00:00
*/
2012-10-22 05:57:53 -04:00
class AppHistory extends BaseAppHistory
{
public function insertHistory($aData)
{
2010-12-02 23:34:41 +00:00
$this->setAppUid($aData['APP_UID']);
$this->setDelIndex($aData['DEL_INDEX']);
$this->setProUid($aData['PRO_UID']);
$this->setTasUid($aData['TAS_UID']);
$this->setDynUid($aData['CURRENT_DYNAFORM']);
$this->setUsrUid($aData['USER_UID']);
2010-12-02 23:34:41 +00:00
$this->setAppStatus($aData['APP_STATUS']);
$this->setHistoryDate($aData['APP_UPDATE_DATE']);
$this->setHistoryData($aData['APP_DATA']);
2010-12-02 23:34:41 +00:00
if ($this->validate() ) {
2012-10-22 05:57:53 -04:00
$res = $this->save();
} else {
// Something went wrong. We can now get the validationFailures and handle them.
$msg = '';
$validationFailuresArray = $this->getValidationFailures();
foreach ($validationFailuresArray as $objValidationFailure) {
$msg .= $objValidationFailure->getMessage() . "<br/>";
}
}
2010-12-02 23:34:41 +00:00
}
2012-10-22 05:57:53 -04:00
public function getDynaformHistory($PRO_UID, $TAS_UID, $APP_UID, $DYN_UID = "")
{
2010-12-02 23:34:41 +00:00
G::LoadClass('case');
$oCase = new Cases();
2010-12-02 23:34:41 +00:00
$oCase->verifyTable();
2010-12-02 23:34:41 +00:00
$aObjectPermissions = $oCase->getAllObjects($PRO_UID, $APP_UID, $TAS_UID, $_SESSION['USER_LOGGED']);
2010-12-02 23:34:41 +00:00
if (!is_array($aObjectPermissions)) {
2012-10-22 05:57:53 -04:00
$aObjectPermissions = array('DYNAFORMS' => array(-1), 'INPUT_DOCUMENTS' => array(-1), 'OUTPUT_DOCUMENTS' => array(-1));
2010-12-02 23:34:41 +00:00
}
if (!isset($aObjectPermissions['DYNAFORMS'])) {
$aObjectPermissions['DYNAFORMS'] = array(-1);
2012-10-22 05:57:53 -04:00
} else {
if (!is_array($aObjectPermissions['DYNAFORMS'])) {
$aObjectPermissions['DYNAFORMS'] = array(-1);
}
2010-12-02 23:34:41 +00:00
}
if (!isset($aObjectPermissions['INPUT_DOCUMENTS'])) {
$aObjectPermissions['INPUT_DOCUMENTS'] = array(-1);
2012-10-22 05:57:53 -04:00
} else {
if (!is_array($aObjectPermissions['INPUT_DOCUMENTS'])) {
$aObjectPermissions['INPUT_DOCUMENTS'] = array(-1);
}
2010-12-02 23:34:41 +00:00
}
if (!isset($aObjectPermissions['OUTPUT_DOCUMENTS'])) {
$aObjectPermissions['OUTPUT_DOCUMENTS'] = array(-1);
2012-10-22 05:57:53 -04:00
} else {
if (!is_array($aObjectPermissions['OUTPUT_DOCUMENTS'])) {
$aObjectPermissions['OUTPUT_DOCUMENTS'] = array(-1);
}
2010-12-02 23:34:41 +00:00
}
$c = new Criteria('workflow');
$c->addSelectColumn(AppHistoryPeer::APP_UID);
2010-12-02 23:34:41 +00:00
$c->addSelectColumn(AppHistoryPeer::DEL_INDEX);
$c->addSelectColumn(AppHistoryPeer::PRO_UID);
$c->addSelectColumn(AppHistoryPeer::TAS_UID);
$c->addSelectColumn(AppHistoryPeer::DYN_UID);
$c->addSelectColumn(AppHistoryPeer::USR_UID);
$c->addSelectColumn(AppHistoryPeer::APP_STATUS);
$c->addSelectColumn(AppHistoryPeer::HISTORY_DATE);
$c->addSelectColumn(AppHistoryPeer::HISTORY_DATA);
$c->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$c->addSelectColumn(UsersPeer::USR_LASTNAME);
2010-12-02 23:34:41 +00:00
$c->addAsColumn('USR_NAME', "CONCAT(USR_LASTNAME, ' ', USR_FIRSTNAME)");
$c->addJoin(AppHistoryPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
2010-12-02 23:34:41 +00:00
//WHERE
$c->add(AppHistoryPeer::DYN_UID, $aObjectPermissions['DYNAFORMS'], Criteria::IN);
$c->add(AppHistoryPeer::PRO_UID, $PRO_UID);
$c->add(AppHistoryPeer::APP_UID, $APP_UID);
2012-10-22 05:57:53 -04:00
if ((isset($DYN_UID))&&($DYN_UID!="")) {
2010-12-02 23:34:41 +00:00
$c->add(AppHistoryPeer::DYN_UID, $DYN_UID);
}
2010-12-02 23:34:41 +00:00
//ORDER BY
$c->clearOrderByColumns();
$c->addDescendingOrderByColumn(AppHistoryPeer::HISTORY_DATE);
2010-12-02 23:34:41 +00:00
//Execute
$oDataset = AppHistoryPeer::doSelectRS($c);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
2010-12-02 23:34:41 +00:00
$aDynHistory = array();
$aDynHistory[] = array(
2012-10-22 05:57:53 -04:00
'DYN_TITLE' => 'char'
2010-12-02 23:34:41 +00:00
);
2010-12-02 23:34:41 +00:00
while ($aRow = $oDataset->getRow()) {
$o = new Dynaform();
$o->setDynUid($aRow['DYN_UID']);
$aRow['DYN_TITLE'] = $o->getDynTitle();
$changedValues=unserialize($aRow['HISTORY_DATA']);
$html="<table border='0' cellpadding='0' cellspacing='0'>";
$sw_add=false;
2012-10-22 05:57:53 -04:00
foreach ($changedValues as $key => $value) {
if (($value!=null) && (!is_array($value))) {
2010-12-02 23:34:41 +00:00
$sw_add=true;
$html.="<tr>";
$html.="<td><b>$key:</b> </td>";
$html.="<td>$value</td>";
$html.="</tr>";
}
2012-10-22 05:57:53 -04:00
if (is_array($value)) {
2010-12-02 23:34:41 +00:00
$html.="<tr>";
$html.="<td><b>$key (grid):</b> </td>";
2010-12-02 23:34:41 +00:00
$html.="<td>";
$html.="<table>";
2012-10-22 05:57:53 -04:00
foreach ($value as $key1 => $value1) {
2010-12-02 23:34:41 +00:00
$html.="<tr>";
$html.="<td><b>$key1</b></td>";
$html.="<td>";
2012-10-22 05:57:53 -04:00
if (is_array($value1)) {
2010-12-02 23:34:41 +00:00
$sw_add=true;
$html.="<table>";
2012-10-22 05:57:53 -04:00
foreach ($value1 as $key2 => $value2) {
2010-12-02 23:34:41 +00:00
$html.="<tr>";
$html.="<td><b>$key2</b></td>";
$html.="<td>$value2</td>";
$html.="</tr>";
}
$html.="</table>";
}
$html.="</td>";
$html.="</tr>";
}
$html.="</table>";
$html.="</td>";
$html.="</tr>";
2010-12-02 23:34:41 +00:00
$html.="</td>";
}
2010-12-02 23:34:41 +00:00
}
$html.="</table>";
2010-12-02 23:34:41 +00:00
$aRow['FIELDS'] = $html;
2012-10-22 05:57:53 -04:00
if ($sw_add) {
2010-12-02 23:34:41 +00:00
$aDynHistory[] = $aRow;
}
2010-12-02 23:34:41 +00:00
$oDataset->next();
}
2010-12-02 23:34:41 +00:00
global $_DBArray;
$_DBArray['DynaformsHistory'] = $aDynHistory;
$_SESSION['_DBArray'] = $_DBArray;
G::LoadClass('ArrayPeer');
$oCriteria = new Criteria('dbarray');
$oCriteria->setDBArrayTable('DynaformsHistory');
$oCriteria->addDescendingOrderByColumn(AppHistoryPeer::HISTORY_DATE);
return $oCriteria;
}
2012-10-22 05:57:53 -04:00
}
2010-12-02 23:34:41 +00:00