Procházet zdrojové kódy

funcion registerWorkflow como cascaron

EmilianoOrtiz před 1 měsícem
rodič
revize
e9afa89e91

+ 55 - 4
sistema-mantenimiento-back/app/Http/Controllers/ProcessManagementController.php

@@ -35,6 +35,60 @@ class ProcessManagementController extends Controller
     }
 
     //Submódulo de gestión de workflows 
+
+    public function registerWorkflow(Request $request) {
+        $validator = Validator::make($request->all(), [
+            'NOMBRE_WORKFLOW' => 'required|string|max:50',
+            'DESCRIPCION' => 'required|string',
+            'USUARIO' => 'required|string',
+            'NUMERO_LINEA' => 'required|integer',
+        ]);
+        
+        if ($validator->fails()) {
+            return $this->responseController->makeResponse(
+                true,
+                "Se encontraron uno o más errores.",
+                $this->responseController->makeErrors($validator->errors()->messages()),
+                401
+            );
+        }
+
+        DB::beginTransaction();
+        $requestData = $request->all();
+
+        $arrResponseCheckUser = $this->resourcesController->checkUserEnc($requestData['USUARIO'], $requestData['NUMERO_LINEA']);
+        if ($arrResponseCheckUser['error']) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, $arrResponseCheckUser['msg'], [], 401);
+        }
+        $user = $arrResponseCheckUser['response'];
+
+        $now = $this->functionsController->now();
+        $currentDate = $now->toDateTimeString();
+
+        try {
+            $workflowId = DB::table('S002V01TWORK')->insertGetId([
+                'WORK_NULI' => $requestData['NUMERO_LINEA'],
+                'WORK_NOWO' => $requestData['NOMBRE_WORKFLOW'],
+                'WORK_DESC' => $requestData['DESCRIPCION'],
+                'WORK_PRED' => false,
+                'WORK_ESTA' => 'Borrador',
+                'WORK_VERS' => 1,
+                'WORK_USRE' => $user,
+                'WORK_FERE' => $currentDate,
+                'WORK_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
+            ]);
+        } catch (\Throwable $th) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "Ocurrió un error al registrar el workflow.", $th->getMessage(), 500);
+        }
+
+        DB::commit();
+        return $this->responseController->makeResponse(false, "ÉXITO: Workflow registrado exitosamente", ['ID_WORKFLOW' => $workflowId]);
+    }
+
+    
+
     public function getWorkflows($user, $line) {
         $arrResponseCheckUser = $this->resourcesController->checkUserEnc($user, $line);
         if ($arrResponseCheckUser['error']) {
@@ -368,10 +422,7 @@ class ProcessManagementController extends Controller
                 'TAWO_DESC AS DESCRIPCION',
                 'TAWO_SECU AS SECUENCIA',
                 'TAWO_RQVA AS REQUIERE_VALIDACION',
-                'TAWO_USAN AS USUARIOS_NOTIFICAR',
-                'TAWO_USAV AS USUARIO_VALIDADOR',
-                'TAWO_REVA AS REGLAS_VALIDACION',
-                'TAWO_IDAC AS ID_ACCION',
+                'TAWO_REVA AS REGLA_VALIDACION',
                 'TAWO_ESTA AS ESTADO'
             ])->where([
                 ['TAWO_IDWO', '=', $idWorkflow],