|
|
@@ -599,37 +599,76 @@ class ProcessManagementController extends Controller
|
|
|
}*/
|
|
|
|
|
|
try {
|
|
|
- $arrTask = (array) DB::select("
|
|
|
- SELECT
|
|
|
- TAWO.TAWO_IDTA AS ID_TAREA,
|
|
|
- TAWO.TAWO_NULI AS NUMERO_LINEA,
|
|
|
- TAWO.TAWO_IDWO AS ID_WORKFLOW,
|
|
|
- TAWO.TAWO_NOTA AS NOMBRE_TAREA,
|
|
|
- TAWO.TAWO_DESC AS DESCRIPCION,
|
|
|
- TAWO.TAWO_SECU AS SECUENCIA,
|
|
|
- TAWO.TAWO_RQVA AS REQUIERE_VALIDACION,
|
|
|
- TAWO.TAWO_USAN AS USUARIOS_NOTIFICAR,
|
|
|
- TAWO.TAWO_USAV AS USUARIO_VALIDADOR,
|
|
|
- TAWO.TAWO_REVA AS REGLAS_VALIDACION,
|
|
|
- TFUNC.FUNC_NOMB AS ID_FUNCION,
|
|
|
- TMODU.MODU_NOMO AS ID_MODULO,
|
|
|
- TSUBM.SUBM_NOMB AS ID_SUBMODULO,
|
|
|
- TAWO.TAWO_ESTA AS ESTADO,
|
|
|
- TAWO.TAWO_INEX AS INFORMACION_EXTRA,
|
|
|
- TAWO.TAWO_USRE AS USUARIO_REGISTRO,
|
|
|
- TAWO.TAWO_FERE AS FECHA_REGISTRO,
|
|
|
- TAWO.TAWO_USMO AS USUARIO_MODIFICA,
|
|
|
- TAWO.TAWO_FEMO AS FECHA_MODIFICA,
|
|
|
- TAWO.TAWO_FEAR AS FECHA_ACTUALIZACION
|
|
|
- FROM S002V01TTAWO AS TAWO
|
|
|
- LEFT JOIN S002V01TMODU AS TMODU ON TMODU.MODU_IDMO = TAWO.TAWO_IDMO
|
|
|
- LEFT JOIN S002V01TFUNC AS TFUNC ON TFUNC.FUNC_IDFU = TAWO.TAWO_IDFU
|
|
|
- LEFT JOIN S002V01TSUBM AS TSUBM ON TSUBM.SUBM_IDSM = TAWO.TAWO_IDSM
|
|
|
- WHERE TAWO.TAWO_IDTA = ?
|
|
|
- AND TAWO.TAWO_NULI = ?
|
|
|
- ", [$idTask, $line]);
|
|
|
+ $arrTask = DB::table('S002V01TTAWO as TAWO')
|
|
|
+ ->leftJoin('S002V01TMODU as TMODU', 'TMODU.MODU_IDMO', '=', 'TAWO.TAWO_IDMO')
|
|
|
+ ->leftJoin('S002V01TFUNC as TFUNC', 'TFUNC.FUNC_IDFU', '=', 'TAWO.TAWO_IDFU')
|
|
|
+ ->leftJoin('S002V01TSUBM as TSUBM', 'TSUBM.SUBM_IDSM', '=', 'TAWO.TAWO_IDSM')
|
|
|
+ ->select([
|
|
|
+ 'TAWO.TAWO_IDTA as ID_TAREA',
|
|
|
+ 'TAWO.TAWO_NULI as NUMERO_LINEA',
|
|
|
+ 'TAWO.TAWO_IDWO as ID_WORKFLOW',
|
|
|
+ 'TAWO.TAWO_NOTA as NOMBRE_TAREA',
|
|
|
+ 'TAWO.TAWO_DESC as DESCRIPCION',
|
|
|
+ 'TAWO.TAWO_SECU as SECUENCIA',
|
|
|
+ 'TAWO.TAWO_RQVA as REQUIERE_VALIDACION',
|
|
|
+ 'TAWO.TAWO_USAN as USUARIOS_NOTIFICAR_RAW',
|
|
|
+ 'TAWO.TAWO_USAV as USUARIO_VALIDADOR_RAW',
|
|
|
+ 'TAWO.TAWO_REVA as REGLAS_VALIDACION',
|
|
|
+ 'TFUNC.FUNC_NOMB as ID_FUNCION',
|
|
|
+ 'TMODU.MODU_NOMO as ID_MODULO',
|
|
|
+ 'TSUBM.SUBM_NOMB as ID_SUBMODULO',
|
|
|
+ 'TAWO.TAWO_ESTA as ESTADO',
|
|
|
+ 'TAWO.TAWO_INEX as INFORMACION_EXTRA',
|
|
|
+ 'TAWO.TAWO_USRE as USUARIO_REGISTRO',
|
|
|
+ 'TAWO.TAWO_FERE as FECHA_REGISTRO',
|
|
|
+ 'TAWO.TAWO_USMO as USUARIO_MODIFICA',
|
|
|
+ 'TAWO.TAWO_FEMO as FECHA_MODIFICA',
|
|
|
+ 'TAWO.TAWO_FEAR as FECHA_ACTUALIZACION'
|
|
|
+ ])
|
|
|
+ ->where('TAWO.TAWO_IDTA', $idTask)
|
|
|
+ ->where('TAWO.TAWO_NULI', $line)
|
|
|
+ ->first();
|
|
|
+
|
|
|
+ if (empty($arrTask)) {
|
|
|
+ return $this->responseController->makeResponse(true, "La tarea no existe.", [], 500);
|
|
|
+ }
|
|
|
+
|
|
|
+ $arrTask = (array) $arrTask;
|
|
|
+
|
|
|
+ // Procesar usuarios notificadores
|
|
|
+ $usuariosNotificar = [];
|
|
|
+ if (!empty($arrTask['USUARIOS_NOTIFICAR_RAW'])) {
|
|
|
+ $idsNotificar = json_decode($arrTask['USUARIOS_NOTIFICAR_RAW'], true) ?: [];
|
|
|
+ if (!empty($idsNotificar)) {
|
|
|
+ $usuarios = DB::table('S002V01TUSUA')
|
|
|
+ ->whereIn('USUA_IDUS', $idsNotificar)
|
|
|
+ ->get(['USUA_IDUS', 'USUA_NOMB']);
|
|
|
+ foreach ($usuarios as $usuario) {
|
|
|
+ $usuariosNotificar[] = $usuario->USUA_NOMB . ' (' . $usuario->USUA_IDUS . ')';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $arrTask['USUARIOS_NOTIFICAR'] = implode(', ', $usuariosNotificar);
|
|
|
+
|
|
|
+ // Procesar usuarios validadores
|
|
|
+ $usuariosValidador = [];
|
|
|
+ if (!empty($arrTask['USUARIO_VALIDADOR_RAW'])) {
|
|
|
+ $idsValidador = json_decode($arrTask['USUARIO_VALIDADOR_RAW'], true) ?: [];
|
|
|
+ if (!empty($idsValidador)) {
|
|
|
+ $usuarios = DB::table('S002V01TUSUA')
|
|
|
+ ->whereIn('USUA_IDUS', $idsValidador)
|
|
|
+ ->get(['USUA_IDUS', 'USUA_NOMB']);
|
|
|
+ foreach ($usuarios as $usuario) {
|
|
|
+ $usuariosValidador[] = $usuario->USUA_NOMB . ' (' . $usuario->USUA_IDUS . ')';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $arrTask['USUARIO_VALIDADOR'] = implode(', ', $usuariosValidador);
|
|
|
+
|
|
|
+ // Remover campos temporales
|
|
|
+ unset($arrTask['USUARIOS_NOTIFICAR_RAW'], $arrTask['USUARIO_VALIDADOR_RAW']);
|
|
|
|
|
|
- $responseCheckLatestUpdate = $this->resourcesController->checkLatestUpdate($arrTask, $line);
|
|
|
+ $responseCheckLatestUpdate = $this->resourcesController->checkLatestUpdate([$arrTask], $line);
|
|
|
if ($responseCheckLatestUpdate['error']) {
|
|
|
return $this->responseController->makeResponse(true, $responseCheckLatestUpdate['msg'], [], 500);
|
|
|
}
|
|
|
@@ -638,12 +677,6 @@ class ProcessManagementController extends Controller
|
|
|
return $this->responseController->makeResponse(true, "Ocurrió un error al obtener las tareas.", $th->getMessage(), 500);
|
|
|
}
|
|
|
|
|
|
- if (empty($arrTask)) {
|
|
|
- return $this->responseController->makeResponse(true, "La tarea no existe.", [], 500);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
// Extraer información extra según regla de validación
|
|
|
$idWorkflowEjecutar = null;
|
|
|
$intervalo = null;
|