|
|
@@ -8,7 +8,7 @@ use Illuminate\Support\Facades\Validator;
|
|
|
use ElephantIO\Client;
|
|
|
use Illuminate\Support\Carbon;
|
|
|
use Illuminate\Support\Facades\Log;
|
|
|
-use App\Services\TaskConfigurationService;
|
|
|
+
|
|
|
|
|
|
class ProcessManagementController extends Controller
|
|
|
{
|
|
|
@@ -152,7 +152,7 @@ class ProcessManagementController extends Controller
|
|
|
|
|
|
Log::info($requestData);
|
|
|
|
|
|
- $informacionExtra = TaskConfigurationService::processExtraInfo(
|
|
|
+ $informacionExtra = $this->processExtraInfo(
|
|
|
$requestData['REGLAS_VALIDACION'],
|
|
|
$requestData
|
|
|
);
|
|
|
@@ -645,11 +645,24 @@ class ProcessManagementController extends Controller
|
|
|
|
|
|
|
|
|
|
|
|
- // Formatear información extra para el frontend
|
|
|
- $arrTask['INFORMACION_EXTRA_FORMATEADA'] = TaskConfigurationService::formatExtraInfoForFrontend(
|
|
|
- $arrTask['INFORMACION_EXTRA'],
|
|
|
- $arrTask['REGLAS_VALIDACION']
|
|
|
- );
|
|
|
+ // Extraer información extra según regla de validación
|
|
|
+ $idWorkflowEjecutar = null;
|
|
|
+ $intervalo = null;
|
|
|
+ $unidad = null;
|
|
|
+
|
|
|
+ if (!empty($arrTask['INFORMACION_EXTRA'])) {
|
|
|
+ $infoExtra = json_decode($arrTask['INFORMACION_EXTRA'], true);
|
|
|
+ if ($arrTask['REGLAS_VALIDACION'] === 'Esperar' && $infoExtra) {
|
|
|
+ $intervalo = $infoExtra['intervalo'] ?? null;
|
|
|
+ $unidad = $infoExtra['unidad'] ?? null;
|
|
|
+ } elseif ($arrTask['REGLAS_VALIDACION'] === 'Ejecutar' && $infoExtra) {
|
|
|
+ $idWorkflowEjecutar = $infoExtra['workflow_id'] ?? null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $arrTask['ID_WORKFLOW_EJECUTAR'] = $idWorkflowEjecutar;
|
|
|
+ $arrTask['INTERVALO'] = $intervalo;
|
|
|
+ $arrTask['UNIDAD'] = $unidad;
|
|
|
|
|
|
return $this->responseController->makeResponse(false, "ÉXITO: Consulta Exitosa", $arrTask);
|
|
|
}
|
|
|
@@ -697,6 +710,21 @@ class ProcessManagementController extends Controller
|
|
|
return $this->responseController->makeResponse(true, "La tarea no existe.", [], 404);
|
|
|
}
|
|
|
|
|
|
+ // Extraer información extra según regla de validación
|
|
|
+ $idWorkflowEjecutar = null;
|
|
|
+ $intervalo = null;
|
|
|
+ $unidad = null;
|
|
|
+
|
|
|
+ if (!empty($arrTask['INFORMACION_EXTRA'])) {
|
|
|
+ $infoExtra = json_decode($arrTask['INFORMACION_EXTRA'], true);
|
|
|
+ if ($arrTask['REGLAS_VALIDACION'] === 'Esperar' && $infoExtra) {
|
|
|
+ $intervalo = $infoExtra['intervalo'] ?? null;
|
|
|
+ $unidad = $infoExtra['unidad'] ?? null;
|
|
|
+ } elseif ($arrTask['REGLAS_VALIDACION'] === 'Ejecutar' && $infoExtra) {
|
|
|
+ $idWorkflowEjecutar = $infoExtra['id_workflow'] ?? null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// Formatear respuesta
|
|
|
$response = [
|
|
|
'REQUIERE_VALIDACION' => $arrTask['REQUIERE_VALIDACION'],
|
|
|
@@ -715,10 +743,9 @@ class ProcessManagementController extends Controller
|
|
|
'id' => $arrTask['ID_FUNCION'],
|
|
|
'nombre' => $arrTask['NOMBRE_FUNCION']
|
|
|
],
|
|
|
- 'CONFIGURACION_EXTRA' => TaskConfigurationService::formatExtraInfoForFrontend(
|
|
|
- $arrTask['INFORMACION_EXTRA'],
|
|
|
- $arrTask['REGLAS_VALIDACION']
|
|
|
- )
|
|
|
+ 'ID_WORKFLOW_EJECUTAR' => $idWorkflowEjecutar,
|
|
|
+ 'INTERVALO' => $intervalo,
|
|
|
+ 'UNIDAD' => $unidad
|
|
|
];
|
|
|
|
|
|
return $this->responseController->makeResponse(false, "ÉXITO: Consulta Exitosa", $response);
|
|
|
@@ -781,7 +808,7 @@ class ProcessManagementController extends Controller
|
|
|
$now = $this->functionsController->now();
|
|
|
$currentDate = $now->toDateTimeString();
|
|
|
|
|
|
- $informacionExtra = TaskConfigurationService::processExtraInfo(
|
|
|
+ $informacionExtra = $this->processExtraInfo(
|
|
|
$requestData['REGLAS_VALIDACION'],
|
|
|
$requestData
|
|
|
);
|
|
|
@@ -955,7 +982,7 @@ class ProcessManagementController extends Controller
|
|
|
$now = $this->functionsController->now();
|
|
|
$currentDate = $now->toDateTimeString();
|
|
|
|
|
|
- $informacionExtra = TaskConfigurationService::processExtraInfo(
|
|
|
+ $informacionExtra = $this->processExtraInfo(
|
|
|
$requestData['REGLAS_VALIDACION'],
|
|
|
$requestData
|
|
|
);
|
|
|
@@ -2598,4 +2625,25 @@ class ProcessManagementController extends Controller
|
|
|
|
|
|
return $this->responseController->makeResponse(false, "ÉXITO: Consulta exitosa", $arrNotificate);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Procesa la información extra según las reglas de validación
|
|
|
+ */
|
|
|
+ private function processExtraInfo($reglasValidacion, $requestData)
|
|
|
+ {
|
|
|
+ switch ($reglasValidacion) {
|
|
|
+ case 'Ejecutar':
|
|
|
+ return !empty($requestData['ID_WORKFLOW_EJECUTAR'])
|
|
|
+ ? json_encode(['id_workflow' => $requestData['ID_WORKFLOW_EJECUTAR']])
|
|
|
+ : null;
|
|
|
+
|
|
|
+ case 'Esperar':
|
|
|
+ $intervalo = $requestData['INTERVALO'] ?? 5;
|
|
|
+ $unidad = $requestData['UNIDAD'] ?? 'seg';
|
|
|
+ return json_encode(['intervalo' => $intervalo, 'unidad' => $unidad]);
|
|
|
+
|
|
|
+ default:
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|