BUG 9377 "APP_FINISH_DATE is set to 1902-01-01 00:00:00 when..." SOLVED

- APP_FINISH_DATE is set to 1902-01-01 00:00:00 when create new case
  using webservices
- DEL_INIT_DATE is set to NULL when routing case using webservices
- Solved the problem in the fields APPLICATION.APP_FINISH_DATE and
  APP_CACHE_VIEW.APP_FINISH_DATE, when you create a new case now set to NULL
- Solved the problem in the fields APP_DELEGATION.DEL_INIT_DATE and
  APP_CACHE_VIEW.DEL_INIT_DATE when the case is routed set to the date corresponding
This commit is contained in:
Victor Saisa Lopez
2012-07-09 13:21:20 -04:00
parent 54af0aca9b
commit df8cfae446
5 changed files with 195 additions and 190 deletions

View File

@@ -1490,9 +1490,15 @@ class wsBase
$aData['DEL_INDEX'] = $delIndex;
$aData['USER_UID'] = $userId;
//load data
//Load data
$oCase = new Cases();
$appFields = $oCase->loadCase( $caseId );
$appFields = $oCase->loadCase($caseId, $delIndex);
if (is_null($appFields["DEL_INIT_DATE"])) {
$oCase->setDelInitDate($caseId, $delIndex);
$appFields = $oCase->loadCase($caseId, $delIndex);
}
$appFields['APP_DATA']['APPLICATION'] = $caseId;
if ($bExecuteTriggersBeforeAssignment) {

View File

@@ -335,7 +335,6 @@ class Application extends BaseApplication {
$this->setAppCurUser ( $sUsrUid );
$this->setAppCreateDate( 'now' );
$this->setAppInitDate ( 'now' );
$this->setAppFinishDate( '19020101' ); //to do: what is the empty date for propel???/
$this->setAppUpdateDate( 'now' );
$pin = G::generateCode( 4, 'ALPHANUMERIC');
@@ -479,7 +478,6 @@ class Application extends BaseApplication {
$this->setAppCurUser ( $aData['USR_UID'] );
$this->setAppCreateDate(isset($aData['APP_CREATE_DATE'])? $aData['APP_CREATE_DATE'] : 'now' );
$this->setAppInitDate (isset($aData['APP_INIT_DATE']) ? $aData['APP_INIT_DATE'] : 'now' );
//$this->setAppFinishDate(isset($aData['APP_FINISH_DATE'])? $aData['APP_FINISH_DATE'] : '' );
$this->setAppUpdateDate(isset($aData['APP_UPDATE_DATE'])? $aData['APP_UPDATE_DATE'] : 'now' );
//$this->setAppData ( serialize ( array() ) );

View File

@@ -33,7 +33,7 @@
<column name="APP_CUR_USER" type="VARCHAR" size="32" required="true" default=""/>
<column name="APP_CREATE_DATE" type="TIMESTAMP" required="true"/>
<column name="APP_INIT_DATE" type="TIMESTAMP" required="true"/>
<column name="APP_FINISH_DATE" type="TIMESTAMP" required="true"/>
<column name="APP_FINISH_DATE" type="TIMESTAMP" required="false"/>
<column name="APP_UPDATE_DATE" type="TIMESTAMP" required="true"/>
<column name="APP_DATA" type="LONGVARCHAR" required="true"/>
<column name="APP_PIN" type="VARCHAR" size="32" required="true" default=""/>

View File

@@ -31,7 +31,7 @@ SELECT
if( APP_DELEGATION.DEL_FINISH_DATE IS NULL , 0 , 1 ),
APP_DELEGATION.DEL_DELAYED,
APPLICATION.APP_CREATE_DATE,
NULL,
IF (APPLICATION.APP_STATUS = 'COMPLETED', APPLICATION.APP_FINISH_DATE, NULL),
APPLICATION.APP_UPDATE_DATE,
APP_DELEGATION.APP_OVERDUE_PERCENTAGE
FROM

View File

@@ -4,19 +4,20 @@ FOR EACH ROW
BEGIN
DECLARE APP_STATUS VARCHAR(32);
DECLARE APP_FINISH_DATE DATETIME;
SELECT APPLICATION.APP_STATUS into @APP_STATUS FROM APPLICATION WHERE APP_UID = NEW.APP_UID LIMIT 1;
IF(OLD.APP_STATUS<>NEW.APP_STATUS) THEN
SET @APP_STATUS = NEW.APP_STATUS;
UPDATE APP_CACHE_VIEW SET APP_STATUS = @APP_STATUS WHERE APP_UID = NEW.APP_UID;
END IF;
IF(OLD.APP_DATA<>NEW.APP_DATA) THEN
UPDATE APP_CACHE_VIEW SET APP_UPDATE_DATE = NOW() WHERE APP_UID = NEW.APP_UID;
END IF;
IF (NEW.APP_STATUS = 'COMPLETED') THEN
UPDATE APP_CACHE_VIEW SET APP_FINISH_DATE = NEW.APP_FINISH_DATE WHERE APP_UID = NEW.APP_UID;
END IF;
END