PM-475 "16052 - Revisar problema de self-service con Value-based de grupos" SOLVED

Issue:
    El CasesList es lento cuando existen casos con tipo de asignacion "Self Service Value Based Assignment"
Cause:
    Para todos los casos se esta verificando si su asignacion es de tipo "Self Service Value Based Assignment"
Solution:
    - Se ha creado una nueva tabla "APP_ASSIGN_SELF_SERVICE_VALUE", en la misma se registraran los casos
      con asignacion "Self Service Value Based Assignment"
    - Se ha agregado la opcion "database-generate-self-service-by-value" al comando "./processmaker", para poder
      generar los registros de la nueva tabla.
          Ej: $ ./processmaker database-generate-self-service-by-value myWorkspace
This commit is contained in:
Victor Saisa Lopez
2014-10-27 11:25:17 -04:00
parent d2ba1e188d
commit 80fd2ecd6c
14 changed files with 1723 additions and 61 deletions

View File

@@ -601,6 +601,20 @@ class Derivation
if ($canDerivate) {
$aSP = isset( $aSP ) ? $aSP : null;
$iNewDelIndex = $this->doDerivation( $currentDelegation, $nextDel, $appFields, $aSP );
//Create record in table APP_ASSIGN_SELF_SERVICE_VALUE
$task = new Task();
$arrayNextTaskData = $task->load($nextDel["TAS_UID"]);
if ($arrayNextTaskData["TAS_ASSIGN_TYPE"] == "SELF_SERVICE" && trim($arrayNextTaskData["TAS_GROUP_VARIABLE"]) != "") {
$nextTaskGroupVariable = trim($arrayNextTaskData["TAS_GROUP_VARIABLE"], " @#");
if (isset($appFields["APP_DATA"][$nextTaskGroupVariable]) && trim($appFields["APP_DATA"][$nextTaskGroupVariable]) != "") {
$appAssignSelfServiceValue = new AppAssignSelfServiceValue();
$appAssignSelfServiceValue->create($appFields["APP_UID"], $iNewDelIndex, array("PRO_UID" => $appFields["PRO_UID"], "TAS_UID" => $nextDel["TAS_UID"], "GRP_UID" => trim($appFields["APP_DATA"][$nextTaskGroupVariable])));
}
}
} else {
//when the task doesnt generate a new AppDelegation
$iAppThreadIndex = $appFields['DEL_THREAD'];