Cases List Cache Builder display
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
CREATE TABLE APP_CACHE_VIEW
|
||||
(
|
||||
APP_UID VARCHAR(32) default '' NOT NULL,
|
||||
DEL_INDEX INTEGER default 0 NOT NULL,
|
||||
APP_NUMBER INTEGER default 0 NOT NULL,
|
||||
APP_STATUS VARCHAR(32) default '' NOT NULL,
|
||||
USR_UID VARCHAR(32) default '' NOT NULL,
|
||||
PREVIOUS_USR_UID VARCHAR(32) default '' NOT NULL,
|
||||
TAS_UID VARCHAR(32) default '' NOT NULL,
|
||||
PRO_UID VARCHAR(32) default '' NOT NULL,
|
||||
DEL_DELEGATE_DATE VARCHAR(10) default '' NOT NULL,
|
||||
DEL_INIT_DATE DATETIME,
|
||||
DEL_TASK_DUE_DATE DATETIME,
|
||||
DEL_FINISH_DATE DATETIME,
|
||||
DEL_THREAD_STATUS VARCHAR(32) default 'OPEN' NOT NULL,
|
||||
APP_THREAD_STATUS VARCHAR(32) default 'OPEN' NOT NULL,
|
||||
APP_TITLE VARCHAR(255) default '' NOT NULL,
|
||||
APP_PRO_TITLE VARCHAR(255) default '' NOT NULL,
|
||||
APP_TAS_TITLE VARCHAR(255) default '' NOT NULL,
|
||||
APP_CURRENT_USER VARCHAR(128) default '' NOT NULL,
|
||||
APP_DEL_PREVIOUS_USER VARCHAR(128) default '' NOT NULL,
|
||||
DEL_PRIORITY VARCHAR(32) default '3' NOT NULL,
|
||||
DEL_DURATION BIGINT default 0,
|
||||
DEL_QUEUE_DURATION BIGINT default 0,
|
||||
DEL_DELAY_DURATION BIGINT default 0,
|
||||
DEL_STARTED TINYINT default 0,
|
||||
DEL_FINISHED TINYINT default 0,
|
||||
DEL_DELAYED TINYINT default 0,
|
||||
APP_CREATE_DATE DATETIME NOT NULL,
|
||||
APP_FINISH_DATE DATETIME NULL,
|
||||
APP_UPDATE_DATE DATETIME NOT NULL,
|
||||
APP_OVERDUE_PERCENTAGE BIGINT NOT NULL default 0,
|
||||
APP_LAST_USER VARCHAR(128) default '' NOT NULL,
|
||||
PRIMARY KEY (APP_UID,DEL_INDEX),
|
||||
UNIQUE (APP_NUMBER),
|
||||
UNIQUE (USR_UID, APP_STATUS)
|
||||
)
|
||||
@@ -0,0 +1,107 @@
|
||||
CREATE TRIGGER APP_DELEGATION_INSERT
|
||||
ON APP_DELEGATION
|
||||
INSTEAD OF INSERT
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @DEFAULT_LANG VARCHAR(2);
|
||||
DECLARE @APP_NUMBER INT;
|
||||
DECLARE @APP_STATUS VARCHAR(32);
|
||||
DECLARE @APP_CREATE_DATE DATETIME;
|
||||
DECLARE @APP_TITLE VARCHAR(255);
|
||||
DECLARE @APP_PRO_TITLE VARCHAR(255);
|
||||
DECLARE @APP_TAS_TITLE VARCHAR(255);
|
||||
DECLARE @APP_CURRENT_USER VARCHAR(255);
|
||||
DECLARE @PREVIOUS_USR_UID VARCHAR(32);
|
||||
DECLARE @APP_DEL_PREVIOUS_USER VARCHAR(255);
|
||||
DECLARE @APP_THREAD_STATUS VARCHAR(32);
|
||||
SET @DEFAULT_LANG = '{lang}';
|
||||
SELECT TOP 1 APPLICATION.APP_NUMBER into APP_NUMBER FROM APPLICATION WHERE APP_UID = 'NEW.APP_UID';
|
||||
SELECT TOP 1 APPLICATION.APP_STATUS into APP_STATUS FROM APPLICATION WHERE APP_UID = 'NEW.APP_UID';
|
||||
SELECT TOP 1 APPLICATION.APP_CREATE_DATE into APP_CREATE_DATE FROM APPLICATION WHERE APP_UID = 'NEW.APP_UID';
|
||||
SELECT TOP 1 CONTENT.CON_VALUE into APP_TITLE FROM CONTENT WHERE 'NEW.APP_UID'=CON_ID AND CON_CATEGORY='APP_TITLE' and CON_LANG = '{lang}';
|
||||
IF ( @APP_TITLE IS NULL )
|
||||
SET @APP_TITLE = '';
|
||||
SELECT TOP 1 CONTENT.CON_VALUE into APP_PRO_TITLE FROM CONTENT WHERE 'NEW.PRO_UID'=CON_ID AND CON_CATEGORY='PRO_TITLE' and CON_LANG = '{lang}';
|
||||
SELECT TOP 1 CONTENT.CON_VALUE into APP_TAS_TITLE FROM CONTENT WHERE 'NEW.TAS_UID'=CON_ID AND CON_CATEGORY='TAS_TITLE' and CON_LANG = '{lang}';
|
||||
SELECT TOP 1 (USERS.USR_LASTNAME+''+ USERS.USR_FIRSTNAME) as USR_NAME INTO APP_CURRENT_USER FROM USERS WHERE USR_UID = 'NEW.USR_UID';
|
||||
IF ( @APP_CURRENT_USER IS NULL )
|
||||
SET @APP_CURRENT_USER = '';
|
||||
IF ( 'NEW.DEL_PREVIOUS' > 0 )
|
||||
SELECT TOP 1 USR_UID INTO PREVIOUS_USR_UID FROM APP_DELEGATION WHERE APP_UID = 'NEW.APP_UID' AND DEL_INDEX = 'NEW.DEL_PREVIOUS';
|
||||
SELECT TOP 1 (USERS.USR_LASTNAME+''+USERS.USR_FIRSTNAME) as USR_NAME INTO APP_DEL_PREVIOUS_USER FROM USERS WHERE USR_UID = @PREVIOUS_USR_UID;
|
||||
IF ( @APP_DEL_PREVIOUS_USER IS NULL )
|
||||
SET @APP_DEL_PREVIOUS_USER = '';
|
||||
ELSE
|
||||
SET @APP_DEL_PREVIOUS_USER = '';
|
||||
SET @PREVIOUS_USR_UID = '';
|
||||
SELECT TOP 1 APP_THREAD_STATUS INTO APP_THREAD_STATUS FROM APP_THREAD WHERE APP_UID = 'NEW.APP_UID' AND DEL_INDEX = 'NEW.DEL_PREVIOUS';
|
||||
IF ( @APP_THREAD_STATUS IS NULL )
|
||||
SET @APP_THREAD_STATUS = 'OPEN';
|
||||
|
||||
|
||||
INSERT INTO APP_CACHE_VIEW (
|
||||
APP_UID,
|
||||
DEL_INDEX,
|
||||
APP_NUMBER,
|
||||
APP_STATUS,
|
||||
USR_UID,
|
||||
PREVIOUS_USR_UID,
|
||||
TAS_UID,
|
||||
PRO_UID,
|
||||
DEL_DELEGATE_DATE,
|
||||
DEL_INIT_DATE,
|
||||
DEL_TASK_DUE_DATE,
|
||||
DEL_FINISH_DATE,
|
||||
DEL_THREAD_STATUS,
|
||||
APP_THREAD_STATUS,
|
||||
APP_TITLE,
|
||||
APP_PRO_TITLE,
|
||||
APP_TAS_TITLE,
|
||||
APP_CURRENT_USER,
|
||||
APP_DEL_PREVIOUS_USER,
|
||||
DEL_PRIORITY,
|
||||
DEL_DURATION,
|
||||
DEL_QUEUE_DURATION,
|
||||
DEL_DELAY_DURATION,
|
||||
DEL_STARTED,
|
||||
DEL_FINISHED,
|
||||
DEL_DELAYED,
|
||||
APP_CREATE_DATE,
|
||||
APP_FINISH_DATE,
|
||||
APP_UPDATE_DATE,
|
||||
APP_OVERDUE_PERCENTAGE
|
||||
|
||||
)
|
||||
VALUES (
|
||||
'NEW.APP_UID',
|
||||
'NEW.DEL_INDEX',
|
||||
@APP_NUMBER,
|
||||
@APP_STATUS,
|
||||
'NEW.USR_UID',
|
||||
@PREVIOUS_USR_UID,
|
||||
'NEW.TAS_UID',
|
||||
'NEW.PRO_UID',
|
||||
substring('NEW.DEL_DELEGATE_DATE',1,10),
|
||||
substring('NEW.DEL_INIT_DATE',1,10),
|
||||
substring('NEW.DEL_TASK_DUE_DATE',1,10),
|
||||
substring('NEW.DEL_FINISH_DATE',1,10),
|
||||
'NEW.DEL_THREAD_STATUS',
|
||||
@APP_THREAD_STATUS,
|
||||
@APP_TITLE,
|
||||
@APP_PRO_TITLE,
|
||||
@APP_TAS_TITLE,
|
||||
@APP_CURRENT_USER,
|
||||
@APP_DEL_PREVIOUS_USER,
|
||||
'NEW.DEL_PRIORITY',
|
||||
'NEW.DEL_DURATION',
|
||||
'NEW.DEL_QUEUE_DURATION',
|
||||
'NEW.DEL_DELAY_DURATION',
|
||||
'NEW.DEL_STARTED',
|
||||
'NEW.DEL_FINISHED',
|
||||
'NEW.DEL_DELAYED',
|
||||
@APP_CREATE_DATE,
|
||||
NULL,
|
||||
GETDATE(),
|
||||
'NEW.APP_OVERDUE_PERCENTAGE'
|
||||
);
|
||||
END
|
||||
@@ -0,0 +1,77 @@
|
||||
CREATE TRIGGER APP_DELEGATION_UPDATE
|
||||
ON APP_DELEGATION
|
||||
INSTEAD OF UPDATE
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @DEFAULT_LANG VARCHAR(2);
|
||||
DECLARE @APP_NUMBER INT;
|
||||
DECLARE @APP_STATUS VARCHAR(32);
|
||||
DECLARE @APP_CREATE_DATE DATETIME;
|
||||
DECLARE @APP_TITLE VARCHAR(255);
|
||||
DECLARE @APP_PRO_TITLE VARCHAR(255);
|
||||
DECLARE @APP_TAS_TITLE VARCHAR(255);
|
||||
DECLARE @APP_CURRENT_USER VARCHAR(255);
|
||||
DECLARE @PREVIOUS_USR_UID VARCHAR(32);
|
||||
DECLARE @APP_DEL_PREVIOUS_USER VARCHAR(255);
|
||||
DECLARE @APP_THREAD_STATUS VARCHAR(32);
|
||||
SET @DEFAULT_LANG = '{lang}';
|
||||
SELECT TOP 1 APPLICATION.APP_NUMBER into APP_NUMBER FROM APPLICATION WHERE APP_UID = 'NEW.APP_UID';
|
||||
SELECT TOP 1 APPLICATION.APP_STATUS into APP_STATUS FROM APPLICATION WHERE APP_UID = 'NEW.APP_UID';
|
||||
SELECT TOP 1 APPLICATION.APP_CREATE_DATE into APP_CREATE_DATE FROM APPLICATION WHERE APP_UID = 'NEW.APP_UID';
|
||||
SELECT TOP 1 CONTENT.CON_VALUE into APP_TITLE FROM CONTENT WHERE 'NEW.APP_UID'=CON_ID AND CON_CATEGORY='APP_TITLE' and CON_LANG = '{lang}';
|
||||
IF ( @APP_TITLE IS NULL )
|
||||
SET @APP_TITLE = '';
|
||||
|
||||
SELECT TOP 1 CONTENT.CON_VALUE into APP_PRO_TITLE FROM CONTENT WHERE 'NEW.PRO_UID'=CON_ID AND CON_CATEGORY='PRO_TITLE' and CON_LANG = '{lang}';
|
||||
SELECT TOP 1 CONTENT.CON_VALUE into APP_TAS_TITLE FROM CONTENT WHERE 'NEW.TAS_UID'=CON_ID AND CON_CATEGORY='TAS_TITLE' and CON_LANG = '{lang}';
|
||||
SELECT TOP 1 (USERS.USR_LASTNAME + ' ' + USERS.USR_FIRSTNAME) as USR_NAME INTO APP_CURRENT_USER FROM USERS WHERE USR_UID = 'NEW.USR_UID';
|
||||
IF ( @APP_CURRENT_USER IS NULL )
|
||||
SET @APP_CURRENT_USER = '';
|
||||
|
||||
IF ( 'NEW.DEL_PREVIOUS' > 0 )
|
||||
SELECT TOP 1 USR_UID INTO PREVIOUS_USR_UID FROM APP_DELEGATION WHERE APP_UID = 'NEW.APP_UID' AND DEL_INDEX = 'NEW.DEL_PREVIOUS';
|
||||
SELECT TOP 1(USERS.USR_LASTNAME + ' ' + USERS.USR_FIRSTNAME) as USR_NAME INTO APP_DEL_PREVIOUS_USER FROM USERS WHERE USR_UID = @PREVIOUS_USR_UID;
|
||||
IF ( @APP_DEL_PREVIOUS_USER IS NULL )
|
||||
SET @APP_DEL_PREVIOUS_USER = '';
|
||||
|
||||
ELSE
|
||||
SET @APP_DEL_PREVIOUS_USER = '';
|
||||
SET @PREVIOUS_USR_UID = '';
|
||||
|
||||
SELECT TOP 1 APP_THREAD_STATUS INTO APP_THREAD_STATUS FROM APP_THREAD WHERE APP_UID = 'NEW.APP_UID' AND DEL_INDEX = 'NEW.DEL_PREVIOUS';
|
||||
IF ( @APP_THREAD_STATUS IS NULL )
|
||||
SET @APP_THREAD_STATUS = 'OPEN';
|
||||
|
||||
UPDATE APP_CACHE_VIEW
|
||||
SET
|
||||
APP_NUMBER = @APP_NUMBER,
|
||||
APP_STATUS = @APP_STATUS,
|
||||
USR_UID = 'NEW.USR_UID',
|
||||
PREVIOUS_USR_UID = @PREVIOUS_USR_UID,
|
||||
TAS_UID = 'NEW.TAS_UID',
|
||||
PRO_UID = 'NEW.PRO_UID',
|
||||
DEL_DELEGATE_DATE = substring('NEW.DEL_DELEGATE_DATE',1,10),
|
||||
DEL_INIT_DATE = substring('NEW.DEL_INIT_DATE',1,10),
|
||||
DEL_TASK_DUE_DATE = substring('NEW.DEL_TASK_DUE_DATE',1,10),
|
||||
DEL_FINISH_DATE = substring('NEW.DEL_FINISH_DATE',1,10),
|
||||
DEL_THREAD_STATUS = 'NEW.DEL_THREAD_STATUS',
|
||||
APP_THREAD_STATUS = @APP_THREAD_STATUS,
|
||||
APP_TITLE = @APP_TITLE,
|
||||
APP_PRO_TITLE = @APP_PRO_TITLE,
|
||||
APP_TAS_TITLE = @APP_TAS_TITLE,
|
||||
APP_CURRENT_USER = @APP_CURRENT_USER,
|
||||
APP_DEL_PREVIOUS_USER = @APP_DEL_PREVIOUS_USER,
|
||||
DEL_PRIORITY = 'NEW.DEL_PRIORITY',
|
||||
DEL_DURATION = 'NEW.DEL_DURATION',
|
||||
DEL_QUEUE_DURATION = 'NEW.DEL_QUEUE_DURATION',
|
||||
DEL_DELAY_DURATION = 'NEW.DEL_DELAY_DURATION',
|
||||
DEL_STARTED = 'NEW.DEL_STARTED',
|
||||
DEL_FINISHED = 'NEW.DEL_FINISHED',
|
||||
DEL_DELAYED = 'NEW.DEL_DELAYED',
|
||||
APP_FINISH_DATE = NULL,
|
||||
APP_UPDATE_DATE = GETDATE(),
|
||||
APP_OVERDUE_PERCENTAGE = 'NEW.APP_OVERDUE_PERCENTAGE'
|
||||
WHERE
|
||||
APP_UID = 'NEW.APP_UID'
|
||||
AND DEL_INDEX = 'NEW.DEL_INDEX';
|
||||
END
|
||||
@@ -0,0 +1,7 @@
|
||||
CREATE TRIGGER APPLICATION_DELETE
|
||||
ON APPLICATION
|
||||
INSTEAD OF DELETE
|
||||
AS
|
||||
BEGIN
|
||||
DELETE FROM APP_CACHE_VIEW WHERE APP_UID = 'OLD.APP_UID';
|
||||
END
|
||||
@@ -0,0 +1,12 @@
|
||||
CREATE TRIGGER APPLICATION_UPDATE
|
||||
ON APPLICATION
|
||||
INSTEAD OF UPDATE
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @APP_STATUS VARCHAR(32);
|
||||
SELECT TOP 1 APPLICATION.APP_STATUS into APP_STATUS FROM APPLICATION WHERE APP_UID = 'NEW.APP_UID';
|
||||
|
||||
IF('OLD.APP_STATUS'<>'NEW.APP_STATUS')
|
||||
SET @APP_STATUS = 'NEW.APP_STATUS';
|
||||
UPDATE APP_CACHE_VIEW SET APP_STATUS = @APP_STATUS WHERE APP_UID = 'NEW.APP_UID';
|
||||
END
|
||||
Reference in New Issue
Block a user