BUG 12029 "Sent By column blank in sub process" SOLVED
- "Sent By" column blank in sub process
- Problema:
Al crear un Proceso y un Sub Proceso, cuando se inicia una tarea del Proceso Padre y se deriva a la tarea del Sub Proceso,
en el Inbox el usuario autorizado en el Sub Proceso de la tarea al visualizar la columna "Sent By" no indica quien
derivo la tarea mostrando siempre vacia.
- Solucion:
Cuando se crea un Proceso y Sub Proceso, al iniciar la tarea del Proceso Padre y al derivar el caso a la tarea del
Sub Proceso, en el Inbox el usuario autorizado de esa tarea visualizara la columna "Sent By" con el usuario quien derivo
el caso.
- Se ha creado el trigger SUB_APPLICATION_INSERT para la tabla SUB_APPLICATION, ya que en este punto se crea las
delegaciones del Sub Proceso.
El trigger corrige el campo PREVIOUS_USR_UID de la tabla APP_CACHE_VIEW que siempre esta vacio, esto cuando la delegacion
es de un Sub Proceso.
- Se ha añgo SQL al archivo "app_cache_view_insert.sql" para corregir el campo en conflicto "APP_CACHE_VIEW.PREVIOUS_USR_UID",
ya que este SQL es utilizado para reconstruir la tabla APP_CACHE_VIEW, esto por ejemplo cuando se hace el "Build Cache"
que esta en ADMIN>Settings>CasesListCacheBuilder
Disponible para la version 2.5.2
This commit is contained in:
@@ -178,6 +178,9 @@ switch ($request) {
|
||||
$res = $appCache->triggerApplicationDelete( $lang, false );
|
||||
$result->info[] = array ('name' => G::LoadTranslation ( 'ID_CACHE_BUILDER_TRIGGER_APPLICATION_DELETE' ),'value' => $res);
|
||||
|
||||
//SUB_APPLICATION INSERT
|
||||
$res = $appCache->triggerSubApplicationInsert($lang, false);
|
||||
|
||||
//CONTENT UPDATE
|
||||
$res = $appCache->triggerContentUpdate( $lang, false );
|
||||
$result->info[] = array ("name" => G::LoadTranslation ( 'ID_CACHE_BUILDER_TRIGGER_CONTENT_UPDATE' ),"value" => $res);
|
||||
@@ -237,12 +240,13 @@ switch ($request) {
|
||||
$res = $appCache->triggerApplicationDelete( $lang, true );
|
||||
//$result->info[] = array ('name' => 'Trigger APPLICATION DELETE', 'value'=> $res);
|
||||
|
||||
//SUB_APPLICATION INSERT
|
||||
$res = $appCache->triggerSubApplicationInsert($lang, false);
|
||||
|
||||
//CONTENT UPDATE
|
||||
$res = $appCache->triggerContentUpdate( $lang, true );
|
||||
//$result->info[] = array("name" => "Trigger CONTENT UPDATE", "value" => $res);
|
||||
|
||||
|
||||
//build using the method in AppCacheView Class
|
||||
$res = $appCache->fillAppCacheView( $lang );
|
||||
//$result->info[] = array ('name' => 'build APP_CACHE_VIEW', 'value'=> $res);
|
||||
|
||||
@@ -42,7 +42,17 @@ SELECT
|
||||
APPLICATION.APP_NUMBER,
|
||||
APPLICATION.APP_STATUS,
|
||||
APP_DELEGATION.USR_UID,
|
||||
APP_LAST_USER.USR_UID,
|
||||
IF (
|
||||
APP_DELEGATION.DEL_PREVIOUS = 0 AND (SELECT SUBAPP.APP_UID FROM SUB_APPLICATION AS SUBAPP WHERE SUBAPP.APP_UID = APP_DELEGATION.APP_UID LIMIT 1) IS NOT NULL,
|
||||
(SELECT APPDEL2.USR_UID
|
||||
FROM SUB_APPLICATION AS SUBAPP, APP_DELEGATION AS APPDEL1, APP_DELEGATION AS APPDEL2
|
||||
WHERE SUBAPP.APP_UID = APP_DELEGATION.APP_UID AND
|
||||
SUBAPP.APP_PARENT = APPDEL1.APP_UID AND SUBAPP.DEL_INDEX_PARENT = APPDEL1.DEL_INDEX AND
|
||||
APPDEL1.APP_UID = APPDEL2.APP_UID AND APPDEL1.DEL_PREVIOUS = APPDEL2.DEL_INDEX
|
||||
LIMIT 1
|
||||
),
|
||||
APP_LAST_USER.USR_UID
|
||||
) AS PREVIOUS_USR_UID,
|
||||
APP_DELEGATION.TAS_UID,
|
||||
APP_DELEGATION.PRO_UID,
|
||||
substring(APP_DELEGATION.DEL_DELEGATE_DATE,1,19),
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
CREATE TRIGGER SUB_APPLICATION_INSERT BEFORE INSERT ON SUB_APPLICATION
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DECLARE PREVIOUS_USR_UID VARCHAR(32);
|
||||
|
||||
SET @PREVIOUS_USR_UID = '';
|
||||
|
||||
SET @PREVIOUS_USR_UID = (
|
||||
SELECT APPDEL2.USR_UID
|
||||
FROM APP_DELEGATION AS APPDEL1, APP_DELEGATION AS APPDEL2
|
||||
WHERE APPDEL1.APP_UID = NEW.APP_PARENT AND APPDEL1.DEL_INDEX = NEW.DEL_INDEX_PARENT AND
|
||||
APPDEL1.APP_UID = APPDEL2.APP_UID AND APPDEL1.DEL_PREVIOUS = APPDEL2.DEL_INDEX
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
IF (@PREVIOUS_USR_UID IS NULL) THEN
|
||||
SET @PREVIOUS_USR_UID = '';
|
||||
END IF;
|
||||
|
||||
-- Update record in APP_CACHE_VIEW
|
||||
UPDATE APP_CACHE_VIEW
|
||||
SET PREVIOUS_USR_UID = @PREVIOUS_USR_UID
|
||||
WHERE APP_UID = NEW.APP_UID AND DEL_INDEX = (SELECT APPDEL.DEL_INDEX
|
||||
FROM APP_DELEGATION AS APPDEL
|
||||
WHERE APPDEL.APP_UID = NEW.APP_UID AND APPDEL.DEL_PREVIOUS = 0
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
END
|
||||
Reference in New Issue
Block a user