Ver Fonte

registro de tarea individual y modificacion de la funcion updateWorkflow para asegurar funcionamiento

EmilianoOrtiz há 1 mês atrás
pai
commit
fcc75432c0

+ 50 - 52
sistema-mantenimiento-back/app/Http/Controllers/ProcessManagementController.php

@@ -87,19 +87,18 @@ class ProcessManagementController extends Controller
         return $this->responseController->makeResponse(false, "ÉXITO: Workflow registrado exitosamente", ['ID_WORKFLOW' => $workflowId]);
     }
 
-    public function registerWorkflowTasks(Request $request) {
+    public function registerWorkflowTask(Request $request) {
         $validator = Validator::make($request->all(), [
             'ID_WORKFLOW' => 'required|integer',
-            'TAREAS' => 'required|array|min:1',
-            'TAREAS.*.NOMBRE_TAREA' => 'required|string|max:50',
-            'TAREAS.*.DESCRIPCION' => 'required|string',
-            'TAREAS.*.SECUENCIA' => 'required|integer',
-            'TAREAS.*.REQUIERE_VALIDACION' => 'nullable|boolean',
-            'TAREAS.*.USUARIOS_NOTIFICAR' => 'nullable|array',
-            'TAREAS.*.USUARIO_VALIDADOR' => 'nullable|integer',
-            'TAREAS.*.REGLA_VALIDACION' => 'nullable|string|in:Esperar,Ejecutar',
-            'TAREAS.*.ID_FUNCION' => 'nullable|string|max:25',
-            'TAREAS.*.ID_MODULO' => 'nullable|string|max:25',
+            'NOMBRE_TAREA' => 'required|string|max:50',
+            'DESCRIPCION' => 'required|string',
+            'SECUENCIA' => 'required|integer',
+            'REQUIERE_VALIDACION' => 'nullable|boolean',
+            'USUARIOS_NOTIFICAR' => 'nullable|array',
+            'USUARIO_VALIDADOR' => 'nullable|integer',
+            'REGLA_VALIDACION' => 'nullable|string|in:Esperar,Ejecutar',
+            'ID_FUNCION' => 'nullable|string',
+            'ID_MODULO' => 'nullable|string',
             'USUARIO' => 'required|string',
             'NUMERO_LINEA' => 'required|integer',
         ]);
@@ -121,43 +120,44 @@ class ProcessManagementController extends Controller
             DB::rollBack();
             return $this->responseController->makeResponse(true, $arrResponseCheckUser['msg'], [], 401);
         }
+
+        $decryptMod = $this->encController->decrypt($requestData['ID_MODULO']);
+         if(!$decryptMod){
+             return $this->responseController->makeResponse(true, "ID_MODULO no fue desencriptada correctamente", [], 400);
+         }
+
         $user = $arrResponseCheckUser['response'];
 
         $now = $this->functionsController->now();
         $currentDate = $now->toDateTimeString();
-        $insertedTasks = [];
 
         try {
-            foreach ($requestData['TAREAS'] as $tarea) {
-                $taskId = DB::table('S002V01TTAWO')->insertGetId([
-                    'TAWO_NULI' => $requestData['NUMERO_LINEA'],
-                    'TAWO_IDWO' => $requestData['ID_WORKFLOW'],
-                    'TAWO_NOTA' => $tarea['NOMBRE_TAREA'],
-                    'TAWO_DESC' => $tarea['DESCRIPCION'],
-                    'TAWO_SECU' => $tarea['SECUENCIA'],
-                    'TAWO_RQVA' => $tarea['REQUIERE_VALIDACION'] ?? null,
-                    'TAWO_USAN' => isset($tarea['USUARIOS_NOTIFICAR']) ? json_encode($tarea['USUARIOS_NOTIFICAR']) : null,
-                    'TAWO_USAV' => $tarea['USUARIO_VALIDADOR'] ?? null,
-                    'TAWO_REVA' => $tarea['REGLA_VALIDACION'] ?? null,
-                    'TAWO_IDFU' => $tarea['ID_FUNCION'] ?? null,
-                    'TAWO_IDMO' => $tarea['ID_MODULO'] ?? null,
-                    'TAWO_ESTA' => 'Borrador',
-                    'TAWO_USRE' => $user,
-                    'TAWO_FERE' => $currentDate,
-                    'TAWO_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
-                ]);
-                $insertedTasks[] = $taskId;
-            }
+            $taskId = DB::table('S002V01TTAWO')->insertGetId([
+                'TAWO_NULI' => $requestData['NUMERO_LINEA'],
+                'TAWO_IDWO' => $requestData['ID_WORKFLOW'],
+                'TAWO_NOTA' => $requestData['NOMBRE_TAREA'],
+                'TAWO_DESC' => $requestData['DESCRIPCION'],
+                'TAWO_SECU' => $requestData['SECUENCIA'],
+                'TAWO_RQVA' => $requestData['REQUIERE_VALIDACION'] ?? null,
+                'TAWO_USAN' => isset($requestData['USUARIOS_NOTIFICAR']) ? json_encode($requestData['USUARIOS_NOTIFICAR']) : null,
+                'TAWO_USAV' => $requestData['USUARIO_VALIDADOR'] ?? null,
+                'TAWO_REVA' => $requestData['REGLA_VALIDACION'] ?? null,
+                'TAWO_IDFU' => $requestData['ID_FUNCION'] ?? null,
+                'TAWO_IDMO' => $decryptMod ?? null,
+                'TAWO_ESTA' => 'Borrador',
+                'TAWO_USRE' => $user,
+                'TAWO_FERE' => $currentDate,
+                'TAWO_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
+            ]);
         } catch (\Throwable $th) {
             DB::rollBack();
-            return $this->responseController->makeResponse(true, "Ocurrió un error al registrar las tareas.", $th->getMessage(), 500);
+            return $this->responseController->makeResponse(true, "Ocurrió un error al registrar la tarea.", $th->getMessage(), 500);
         }
 
         DB::commit();
-        return $this->responseController->makeResponse(false, "ÉXITO: Tareas registradas exitosamente", ['TAREAS_REGISTRADAS' => count($insertedTasks)]);
+        return $this->responseController->makeResponse(false, "ÉXITO: Tarea registrada exitosamente", ['ID_TAREA' => $taskId]);
     }
 
-    
 
     public function getWorkflows($user, $line) {
         $arrResponseCheckUser = $this->resourcesController->checkUserEnc($user, $line);
@@ -262,7 +262,6 @@ class ProcessManagementController extends Controller
             $currentWorkflow = (array) DB::table('S002V01TWORK')
                 ->where('WORK_IDWO', '=', $idWorkflow)
                 ->where('WORK_NULI', '=', $requestData['NUMERO_LINEA'])
-                ->where('WORK_ESTA', '=', 'Activo')
                 ->first([
                     'WORK_NOWO',
                     'WORK_DESC',
@@ -282,27 +281,26 @@ class ProcessManagementController extends Controller
         $currentDate = $now->toDateTimeString();
         $newVersion = $currentWorkflow['WORK_VERS'] + 1;
 
-        try {
-            DB::table('S002V01THWORK')->insert([
-                'HWORK_IDWO' => $idWorkflow,
-                'HWORK_VERS' => $currentWorkflow['WORK_VERS'],
-                'HWORK_NOWO' => $currentWorkflow['WORK_NOWO'],
-                'HWORK_DESC' => $currentWorkflow['WORK_DESC'],
-                'HWORK_COME' => $requestData['COMENTARIO_CAMBIO'],
-                'HWORK_USRE' => $user,
-                'HWORK_FERE' => $currentDate,
-                'HWORK_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
-            ]);
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "Ocurrió un error al registrar el historial.", $th->getMessage(), 500);
-        }
+        // try {
+        //     DB::table('S002V01THWORK')->insert([
+        //         'HWORK_IDWO' => $idWorkflow,
+        //         'HWORK_VERS' => $currentWorkflow['WORK_VERS'],
+        //         'HWORK_NOWO' => $currentWorkflow['WORK_NOWO'],
+        //         'HWORK_DESC' => $currentWorkflow['WORK_DESC'],
+        //         'HWORK_COME' => $requestData['COMENTARIO_CAMBIO'],
+        //         'HWORK_USRE' => $user,
+        //         'HWORK_FERE' => $currentDate,
+        //         'HWORK_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
+        //     ]);
+        // } catch (\Throwable $th) {
+        //     DB::rollBack();
+        //     return $this->responseController->makeResponse(true, "Ocurrió un error al registrar el historial.", $th->getMessage(), 500);
+        // }
 
         try {
             $validateUpdate = DB::table('S002V01TWORK')
                 ->where('WORK_IDWO', '=', $idWorkflow)
                 ->where('WORK_NULI', '=', $requestData['NUMERO_LINEA'])
-                ->where('WORK_ESTA', '=', 'Activo')
                 ->update([
                     'WORK_NOWO' => $requestData['NOMBRE_WORKFLOW'],
                     'WORK_DESC' => $requestData['DESCRIPCION'],