瀏覽代碼

Implementación de funciones de bitácora de fallas

JeanBenitez 2 年之前
父節點
當前提交
417c6376ac

+ 0 - 465
sistema-mantenimiento-back/app/Http/Controllers/FailureController.php

@@ -1,465 +0,0 @@
-<?php
-/*
-    Desarrollador: Ing. Jean Jairo Benitez Meza
-    Ultima Modificación: 11/04/2023
-    Módulo: Analisis de Fallas
-*/
-namespace App\Http\Controllers;
-
-use App\Http\Controllers\Controller;
-use App\Http\Controllers\ResponseController;
-use App\Http\Controllers\EncryptionController;
-use Illuminate\Http\Request;
-use Illuminate\Support\Carbon;
-use Illuminate\Support\Facades\DB;
-use Illuminate\Support\Facades\Validator;
-use App\Http\Controllers\FunctionsController;
-
-class FailureController extends Controller
-{
-    private $responseController;
-    private $encController;
-    private $functionsController;
-
-    public function __construct( ) {
-        $this->responseController = new ResponseController();
-        $this->encController = new EncryptionController();
-        $this->functionsController = new FunctionsController();
-    }
-
-    public function getFault($line) {
-
-        try {
-            $getFault = DB::table('S002V01TFALL')
-                ->join('S002V01TLIFA', 'FALL_IDFA', '=', 'LIFA_IDFA')
-                ->join('S002V01TLIME', 'FALL_IDME', '=', 'LIME_IDME')
-                ->orderBy('FALL_NUFA', 'ASC')
-                ->where('FALL_NULI', '=', $line)
-                ->get([
-                    'FALL_NUFA',
-                    'FALL_COEQ',
-                    'FALL_IDFA',
-                    'LIFA_NOFA',
-                    'LIME_MEDI',
-                    'LIME_ACRO',
-                    'FALL_CAUS',
-                    'FALL_FEFA',
-                    'FALL_CLAS',
-                    'FALL_REPA',
-                    'FALL_DESO',
-                    'FALL_COME',
-                    'FALL_LIVA',
-                    'FALL_VAOB',
-                    'FALL_IDME',
-                    'FALL_NUSI',
-                    'FALL_ESTA',
-                    'FALL_USRE',
-                    'FALL_FERE',
-                    'FALL_USMO',
-                    'FALL_FEMO',
-                ]);
-        } catch (\Throwable $th) {
-            return $this->responseController->makeResponse(true, "ERR_FAULT_GET000: No se pudo realizar la consulta a la base.", [], 500);
-        }
-        return $this->responseController->makeResponse(false, "ÉXITO", $getFault);
-
-    }
-
-    public function getFaultByEquipment(Request $request) {
-        $validator = Validator::make($request->all(), [
-            'CODIGO_EQUIPAMIENTO' => 'required|string',
-            'NUMERO_LINEA' => 'required|string',
-        ]);
-        if ($validator->fails()) {
-            return $this->responseController->makeResponse(
-                true,
-                "ERR_FAULT_GET000: Se encontraron uno o más errores.",
-                $this->responseController->makeErrors($validator->errors()->messages()),
-                401
-            );
-        }
-
-        try {
-            $getListFault = DB::table('S002V01TLIFA')
-                ->where('FALL_COEQ', '=', $request['CODIGO_EQUIPAMIENTO'])
-                ->where('FALL_NULI', '=', $request['NUMERO_LINEA'])
-                ->join('S002V01TFALL', 'FALL_IDFA', '=', 'LIFA_IDFA')
-                ->distinct()
-                ->get('FALL_IDFA AS ID_FALLA');
-        } catch (\Throwable $th) {
-            return $this->responseController->makeResponse(true, "ERR_FAULT_GET001: No se pudo realizar la consulta a la base.", [], 500);
-        }
-
-        $request = $request->all();
-        foreach ($getListFault as $key => $fault) {
-            try {
-                $getFault = DB::table('S002V01TFALL')
-                    ->where('FALL_COEQ', '=', $request['CODIGO_EQUIPAMIENTO'])
-                    ->where('FALL_NULI', '=', $request['NUMERO_LINEA'])
-                    ->where('FALL_IDFA', '=', $fault->ID_FALLA)
-                    ->join('S002V01TLIFA', 'FALL_IDFA', '=', 'LIFA_IDFA')
-                    ->join('S002V01TLIME', 'FALL_IDME', '=', 'LIME_IDME')
-                    ->get([
-                        'FALL_NUFA AS NUMERO DE FALLA',
-                        'FALL_COEQ AS CODIGO_EQUIPAMIENTO',
-                        'FALL_IDFA AS ID_FALLA',
-                        'LIFA_NOFA AS FALLA',
-                        'FALL_CAUS AS CAUSA',
-                        'FALL_FEFA AS FECHA_FALLA',
-                        'FALL_CLAS AS CLASIFICACION',
-                        'FALL_REPA AS REPARABLE',
-                        'FALL_DESO AS DESCRIPCION DE SOLUCION',
-                        'FALL_COME AS COMENARIOS',
-                        'FALL_LIVA AS VALOR_LIMITE',
-                        'FALL_VAOB AS VALOR_OBTENIDO',
-                        'FALL_IDME AS ID_MEDIDA',
-                        'LIME_MEDI AS MEDIDA',
-                        'LIME_ACRO AS ACRONIMO',
-                        'FALL_NUSI AS NUMERO_SINTOMA',
-                        'FALL_ESTA AS ESTADO',
-                        'FALL_USRE AS USUARIO_REGISTRA',
-                        'FALL_FERE AS FECHA_REGISTRA',
-                        'FALL_USMO AS USUARIO_MOFIFICA',
-                        'FALL_FEMO AS FECHA_MOFIFICA',
-                    ]);
-            } catch (\Throwable $th) {
-                return $this->responseController->makeResponse(true, "ERR_FAULT_GET002: No se pudo realizar la consulta a la base.", [], 500);
-            }
-            $fault->FALLA = $getFault[0]->FALLA;
-            $fault->LISTA = $getFault;
-        }
-
-        return $this->responseController->makeResponse(false, "ÉXITO", $getListFault);
-    }
-
-    public function registerFault(Request $request) {
-        $validator = Validator::make($request->all(), [
-            'CODIGO_EQUIPAMIENTO' => 'required|string',
-            'ID_FALLA' => 'required|string',
-            'CAUSA' => 'required|string',
-            'FECHA' => 'required|string',
-            'CLASIFICACION' => 'required|string',
-            'REPARABLE' => 'required|boolean',
-            'COMENTARIOS' => 'required|string',
-            'LIMITE_VALOR' => 'required|string',
-            'VALOR_OBTENIDO' => 'required|string',
-            'ID_MEDIDA' => 'required|string',
-            'NUMERO_SINTOMA' => 'string',
-            'NUMERO_LINEA' => 'required|string',
-            'USUARIO' => 'required|string',
-        ]);
-        if ($validator->fails()) {
-            return $this->responseController->makeResponse(
-                true,
-                "ERR_FAULT_REG000: Se encontraron uno o más errores.",
-                $this->responseController->makeErrors($validator->errors()->messages()),
-                401
-            );
-        }
-
-        DB::beginTransaction();
-        $request = $request->all();
-        $line = $request['NUMERO_LINEA'];
-        
-        $now = $this->functionsController->now();
-        $currentDate = $now->toDateTimeString();
-
-        try {
-            $user = $this->encController->decrypt($request['USUARIO']);
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAILURES_REG001: No se pudo obtener el usuario.", [], 500);
-        }
-
-
-        // Se valida que exista el ID del síntoma
-        if ( $request['NUMERO_SINTOMA'] != null ) {
-            try {
-                $exist = DB::table('S002V01TSINT')
-                    ->where('SINT_NUSI', '=', $request['NUMERO_SINTOMA'])
-                    ->where('SINT_NULI', '=', $line)
-                    ->where('SINT_ESTA', '=', 'Activo')
-                    ->exists();
-            } catch (\Throwable $th) {
-                DB::rollBack();
-                return $this->responseController->makeResponse(true, "ERR_FAULT_REG001: Ocurrió al consultar la lista de síntomas.", $th, 500);
-            }
-            if (!$exist) {
-                DB::rollBack();
-                return $this->responseController->makeResponse(true, "ERR_FAULT_REG002: No existe el síntoma seleccionado.", [], 500);
-            }
-        }
-
-
-        // Se valida que exista el ID de la lista de medidas
-        try {
-            $existMeasure = DB::table('S002V01TLIME')
-                ->where('LIME_IDME', '=', $request['ID_MEDIDA'])
-                ->where('LIME_NULI', '=', $line)
-                ->where('LIME_ESTA', '=', 'Activo')
-                ->exists();
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_REG003: Ocurrió al consultar la lista de medidas.", $th, 500);
-        }
-        if ( !$existMeasure ) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_REG004: No existe la medida seleccionada.", [], 500);
-        }
-
-
-        // Se valida que exista el ID de la lista de fallas
-        try {
-            $existFailure = DB::table('S002V01TLIFA')
-                ->where('LIFA_IDFA', '=', $request['ID_FALLA'])
-                ->where('LIFA_NULI', '=', $line)
-                ->where('LIFA_ESTA', '=', 'Activo')
-                ->exists();
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_REG005: Ocurrió un error al consultar la lista de fallas.", $th, 500);
-        }
-        if (!$existFailure) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_REG006: No existe la falla seleccionada.", [], 500);
-        }
-
-        $arrInsert = [
-            'FALL_COEQ' => trim($request['CODIGO_EQUIPAMIENTO']),
-            'FALL_IDFA' => trim($request['ID_FALLA']),
-            'FALL_CAUS' => trim($request['CAUSA']),
-            'FALL_FEFA' => trim($request['FECHA']),
-            'FALL_CLAS' => trim($request['CLASIFICACION']),
-            'FALL_REPA' => trim($request['REPARABLE']),
-            'FALL_DESO' => $request['DESCRIPCION'] === null ? $request['DESCRIPCION'] : trim($request['DESCRIPCION']),
-            'FALL_COME' => trim($request['COMENTARIOS']),
-            'FALL_LIVA' => trim($request['LIMITE_VALOR']),
-            'FALL_VAOB' => trim($request['VALOR_OBTENIDO']),
-            'FALL_IDME' => trim($request['ID_MEDIDA']),
-            'FALL_NUSI' => $request['NUMERO_SINTOMA'] === null ? $request['NUMERO_SINTOMA'] : trim($request['NUMERO_SINTOMA']),
-            'FALL_NULI' => $line,
-            'FALL_USRE' => $user,
-            'FALL_FERE' => $currentDate,
-            'FALL_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
-        ];
-        try {
-            $response = DB::table('S002V01TFALL')->insert($arrInsert);
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_REG007: Ocurrió un error al insertar el formulario en la base de datos.", $th, 500);
-        }
-
-        if (!$response) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_REG008: No se pudo insertar el formulario en la base de datos.", [], 500);
-        }
-
-        DB::commit();
-        return $this->responseController->makeResponse(false, "ÉXITO: Registro Exitoso");
-    }
-
-
-    public function updateFault(Request $request) {
-        $validator = Validator::make($request->all(), [
-            'NUMERO_FALLA' => 'required|string',
-            'CODIGO_EQUIPAMIENTO' => 'required|string',
-            'ID_FALLA' => 'required|string',
-            'CAUSA' => 'required|string',
-            'FECHA' => 'required|string',
-            'CLASIFICACION' => 'required|string',
-            'REPARABLE' => 'required|boolean',
-            'COMENTARIOS' => 'required|string',
-            'LIMITE_VALOR' => 'required|string',
-            'VALOR_OBTENIDO' => 'required|string',
-            'ID_MEDIDA' => 'required|string',
-            'NUMERO_SINTOMA' => 'string',
-            'NUMERO_LINEA' => 'required|string',
-            'USUARIO' => 'required|string',
-        ]);
-        if ($validator->fails()) {
-            return $this->responseController->makeResponse(
-                true,
-                "ERR_FAULT_UPD000: Se encontraron uno o más errores.",
-                $this->responseController->makeErrors($validator->errors()->messages()),
-                401
-            );
-        }
-
-        DB::beginTransaction();
-        $request = $request->all();
-
-        $idFault = trim($request['NUMERO_FALLA']);
-        $line = $request['NUMERO_LINEA'];
-
-        $now = $this->functionsController->now();
-        $currentDate = $now->toDateTimeString();
-
-        try {
-            $user = $this->encController->decrypt($request['USUARIO']);
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAILURES_REG001: No se pudo obtener el usuario.", [], 500);
-        }
-
-        try {
-            $exist = DB::table('S002V01TFALL')->where('FALL_NUFA', '=', $idFault)->where('FALL_NULI', '=', $line)->exists();
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_UPD001: Ocurrió un error al consultar en la base de datos.", $th, 500);
-        }
-
-        if (!$exist) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_UPD002: No se pudo encontrar el registro dentro de la base de datos.", [], 500);
-        }
-
-        // Se valida que exista el ID del síntoma
-        if ( $request['NUMERO_SINTOMA'] != null ) {
-            try {
-                $exist = DB::table('S002V01TSINT')
-                    ->where('SINT_NUSI', '=', $request['NUMERO_SINTOMA'])
-                    ->where('SINT_NULI', '=', $line)
-                    ->where('SINT_ESTA', '=', 'Activo')
-                    ->exists();
-            } catch (\Throwable $th) {
-                DB::rollBack();
-                return $this->responseController->makeResponse(true, "ERR_FAULT_UPD003: Ocurrió al consultar la lista de síntomas.", $th, 500);
-            }
-            if (!$exist) {
-                DB::rollBack();
-                return $this->responseController->makeResponse(true, "ERR_FAULT_UPD004: No existe el síntoma seleccionado.", [], 500);
-            }
-        }
-
-
-        // Se valida que exista el ID de la lista de medidas
-        try {
-            $existMeasure = DB::table('S002V01TLIME')
-                ->where('LIME_IDME', '=', $request['ID_MEDIDA'])
-                ->where('LIME_NULI', '=', $line)
-                ->where('LIME_ESTA', '=', 'Activo')
-                ->exists();
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_UPD005: Ocurrió al consultar la lista de medidas.", $th, 500);
-        }
-        if ( !$existMeasure ) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_UPD006: No existe la medida seleccionada.", [], 500);
-        }
-
-
-        // Se valida que exista el ID de la lista de fallas
-        try {
-            $existFailure = DB::table('S002V01TLIFA')
-                ->where('LIFA_IDFA', '=', $request['ID_FALLA'])
-                ->where('LIFA_NULI', '=', $line)
-                ->where('LIFA_ESTA', '=', 'Activo')
-                ->exists();
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_UPD007: Ocurrió un error al consultar la lista de fallas.", $th, 500);
-        }
-        if (!$existFailure) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_UPD008: No existe la falla seleccionada.", [], 500);
-        }
-
-        $arrUpdate = [
-            'FALL_COEQ' => trim($request['CODIGO_EQUIPAMIENTO']),
-            'FALL_IDFA' => trim($request['ID_FALLA']),
-            'FALL_CAUS' => trim($request['CAUSA']),
-            'FALL_FEFA' => trim($request['FECHA']),
-            'FALL_CLAS' => trim($request['CLASIFICACION']),
-            'FALL_REPA' => trim($request['REPARABLE']),
-            'FALL_DESO' => $request['DESCRIPCION'] === null ? $request['DESCRIPCION'] : trim($request['DESCRIPCION']),
-            'FALL_COME' => trim($request['COMENTARIOS']),
-            'FALL_LIVA' => trim($request['LIMITE_VALOR']),
-            'FALL_VAOB' => trim($request['VALOR_OBTENIDO']),
-            'FALL_IDME' => trim($request['ID_MEDIDA']),
-            'FALL_NUSI' => $request['NUMERO_SINTOMA'] === null ? $request['NUMERO_SINTOMA'] : trim($request['NUMERO_SINTOMA']),
-            'FALL_USMO' => $user,
-            'FALL_FEMO' => $currentDate,
-            'FALL_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
-        ];
-        try {
-            $response = DB::table('S002V01TFALL')->where('FALL_NUFA', '=', $idFault)->where('FALL_NULI', '=', $line)->update($arrUpdate);
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_UPD009: Ocurrió un error al modificar el formulario en la base de datos.", $th, 500);
-        }
-
-        if (!$response) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_UPD010: No se pudo modificar el formulario en la base de datos.", [], 500);
-        }
-        DB::commit();
-        return $this->responseController->makeResponse(false, "ÉXITO: Modificación Exitosa");
-
-    }
-
-    public function deleteFault(Request $request) {
-        $validator = Validator::make($request->all(), [
-            'NUMERO_FALLA' => 'required|string',
-            'NUMERO_LINEA' => 'required|string',
-            'USUARIO' => 'required|string',
-        ]);
-        if ($validator->fails()) {
-            return $this->responseController->makeResponse(
-                true,
-                "ERR_FAULT_DEL000: Se encontraron uno o más errores.",
-                $this->responseController->makeErrors($validator->errors()->messages()),
-                401
-            );
-        }
-
-        DB::beginTransaction();
-        $request = $request->all();
-
-        $idFault = trim($request['NUMERO_FALLA']);
-        $line = $request['NUMERO_LINEA'];
-        
-        $now = $this->functionsController->now();
-        $currentDate = $now->toDateTimeString();
-        
-        try {
-            $user = $this->encController->decrypt($request['USUARIO']);
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAILURES_REG001: No se pudo obtener el usuario.", $th, 500);
-        }
-
-        try {
-            $exist = DB::table('S002V01TFALL')->where('FALL_NUFA', '=', $idFault)->where('FALL_NULI', '=', $line)->exists();
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_DEL001: Ocurrió un error al consultar en la base de datos.", $th, 500);
-        }
-
-        if (!$exist) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_DEL002: No se pudo encontrar el registro dentro de la base de datos.", [], 500);
-        }
-
-        $arrUpdate = [
-            'FALL_ESTA' => 'Eliminado',
-            'FALL_USMO' => $user,
-            'FALL_FEMO' => $currentDate,
-            'FALL_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
-        ];
-        try {
-            $response = DB::table('S002V01TFALL')->where('FALL_NUFA', '=', $idFault)->where('FALL_NULI', '=', $line)->update($arrUpdate);
-        } catch (\Throwable $th) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_DEL003: Ocurrió un error al modificar el formulario en la base de datos.", $th, 500);
-        }
-
-        if (!$response) {
-            DB::rollBack();
-            return $this->responseController->makeResponse(true, "ERR_FAULT_DEL004: No se pudo modificar el formulario en la base de datos.", [], 500);
-        }
-
-        DB::commit();
-        return $this->responseController->makeResponse(false, "ÉXITO: Eliminación Exitosa");
-    }
-}

+ 1 - 1
sistema-mantenimiento-back/app/Http/Controllers/CatalogFailureController.php → sistema-mantenimiento-back/app/Http/Controllers/FailureListController.php

@@ -15,7 +15,7 @@ use Illuminate\Support\Carbon;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Validator;
 
-class CatalogFailureController extends Controller
+class FailureListController extends Controller
 {
 
     private $responseController;

+ 546 - 0
sistema-mantenimiento-back/app/Http/Controllers/FailureLogController.php

@@ -0,0 +1,546 @@
+<?php
+/*
+    Desarrollador: Ing. Jean Jairo Benitez Meza
+    Ultima Modificación: 11/04/2023
+    Módulo: Analisis de Fallas
+*/
+namespace App\Http\Controllers;
+
+use App\Http\Controllers\Controller;
+use App\Http\Controllers\ResponseController;
+use App\Http\Controllers\EncryptionController;
+use Illuminate\Http\Request;
+use Illuminate\Support\Carbon;
+use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Validator;
+use App\Http\Controllers\FunctionsController;
+
+class FailureLogController extends Controller
+{
+    private $responseController;
+    private $encController;
+    private $functionsController;
+
+    public function __construct( ) {
+        $this->responseController = new ResponseController();
+        $this->encController = new EncryptionController();
+        $this->functionsController = new FunctionsController();
+    }
+
+    public function getFailureLog($user, $line) {
+
+        try {
+            $getFailureLog = DB::table('S002V01TBIFA')
+                ->where('BIFA_NULI', '=', $line)
+                ->where('LIFA_NULI', '=', $line)
+                ->where('LISI_NULI', '=', $line)
+                ->where('LIME_NULI', '=', $line)
+                ->where('LIFA_ESTA', '=', 'Activo')
+                ->where('LISI_ESTA', '=', 'Activo')
+                ->where('LIME_ESTA', '=', 'Activo')
+                ->join('S002V01TLIFA', 'LIFA_IDFA', '=', 'BIFA_IDFA')
+                ->join('S002V01TLISI', 'LISI_IDSI', '=', 'BIFA_IDSI')
+                ->join('S002V01TLIME', 'LIME_IDME', '=', 'BIFA_IDME')
+                ->get([
+                    'BIFA_NUFA AS NUMERO_FALLA',
+                    'BIFA_COEQ AS CODIGO_EQUIPAMIENTO',
+                    'BIFA_ESFA AS ESTADO_FALLA',
+                    'LIFA_IDFA AS ID_FALLA',
+                    'LIFA_NOFA AS NOMBRE_FALLA',
+                    'LIFA_NIVE AS NIVEL_CRITICIDAD_FALLA',
+                    'LIFA_CAUS AS CAUSA_FALLA',
+                    'LISI_IDSI AS ID_SINTOMA',
+                    'LISI_NOSI AS NOMBRE_SINTOMA',
+                    'LISI_CLAS AS CLASIFICACION_SINTOMA',
+                    'LISI_CAUS AS CAUSA_SINTOMA',
+                    'BIFA_CAUS AS CAUSA',
+                    'BIFA_FEFA AS FECHA_FALA',
+                    'BIFA_CLAS AS CLASIFICACION',
+                    'BIFA_REPA AS REPARABLE',
+                    'BIFA_DESO AS SOLUCION',
+                    'BIFA_COME AS COMENTARIOS',
+                    'BIFA_VAOB AS VALOR_OBTENIDO',
+                    'LIME_IDME AS ID_MEDIDA',
+                    'LIME_NOME AS NOMBRE_MEDIDA',
+                    'LIME_ACME AS ACRONIMO_MEDIDA',
+                    'BIFA_ESTA AS ESTADO',
+                    'BIFA_USRE AS USUARIO_REGISTRA',
+                    'BIFA_FERE AS FECHA_REGISTRA',
+                    'BIFA_USMO AS USUARIO_MODIFICA',
+                    'BIFA_FEMO AS FECHA_MODIFICA',
+                ]);
+        } catch (\Throwable $th) {
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_GET000: No se pudo realizar la consulta a la base.", $th->getMessage(), 500);
+        }
+
+        $arrFailureLog = json_decode( json_encode( $getFailureLog ), true );
+
+        $arrEquipmentCode = array_column($arrFailureLog, 'CODIGO_EQUIPAMIENTO');
+        $arrEquipmentCode = array_unique($arrEquipmentCode);
+
+        $count = 0;
+        $arrEquipmentFailureLog = array();
+        foreach ($arrEquipmentCode as $keyEquipmentCode => $equipmentCode) {
+            $lastUpdate = '';
+            $lastUser = '';
+            $lastState = '';
+            $lastClassification = '';
+            $amountFailures = 0;
+            foreach ($arrFailureLog as $keyFailureLog => $failureLog) {
+                if ( $equipmentCode === $failureLog['CODIGO_EQUIPAMIENTO'] ) {
+                   
+                    $tempLastUpdate = '';
+                    $tempLastUser = '';
+                    if ( is_null($failureLog['FECHA_MODIFICA']) ) {
+                        $tempLastUpdate = $failureLog['FECHA_REGISTRA'];
+                        $tempLastUser = $failureLog['USUARIO_REGISTRA'];
+                    } else {
+                        $tempLastUpdate = $failureLog['FECHA_MODIFICA'];
+                        $tempLastUser = $failureLog['USUARIO_MODIFICA'];
+                    }
+
+                    if ($lastUpdate === '') {
+                        $lastUpdate = $tempLastUpdate;
+                        $lastUser = $tempLastUser;
+                        $lastState = $failureLog['ESTADO_FALLA'];
+                        $lastClassification = $failureLog['CLASIFICACION'];
+                    } else {
+                        $carTempLastUpdate = Carbon::create($tempLastUpdate);
+                        $carLastState = Carbon::create($lastUpdate);
+
+                        if ($carTempLastUpdate->greaterThan($carLastState)) {
+                            $lastUpdate = $tempLastUpdate;
+                            $lastUser = $tempLastUser;
+                            $lastState = $failureLog['ESTADO_FALLA'];
+                            $lastClassification = $failureLog['CLASIFICACION'];
+                        }
+                    }
+                    $amountFailures ++;
+                }
+            }
+
+            $arrEquipmentFailureLog[$count]['CODIGO_EQUIPAMIENTO'] = $equipmentCode;
+            $arrEquipmentFailureLog[$count]['ULTIMA_MODIFICACION'] = $lastUpdate;
+            $arrEquipmentFailureLog[$count]['ULTIMO_USUARIO'] = $lastUser;
+            $arrEquipmentFailureLog[$count]['ESTADO_ACTUAL'] = $lastState;
+            $arrEquipmentFailureLog[$count]['CLASIFICACION_ACTUAL'] = $lastClassification;
+            $arrEquipmentFailureLog[$count]['CANTIDAD_FALLAS'] = $amountFailures;
+
+            $count++;
+        }
+        
+
+        return $this->responseController->makeResponse(false, "ÉXITO: Consulta Exitosa", $arrEquipmentFailureLog);
+    }
+
+    public function getHistoryFailureEquipment($equipment, $user, $line) {
+        try {
+            $equipment = $this->encController->decrypt($equipment);    
+        } catch (\Throwable $th) {
+            return $this->responseController->makeResponse(true, "ERR_GETHISTORY_GETEQUIPMENT000", $th->getMessage(), 500);
+        }
+
+        try {
+            $getFailuresLog = DB::table('S002V01TBIFA')
+                ->where('BIFA_COEQ', '=', $equipment)
+                ->where('BIFA_NULI', '=', $line)
+                ->where('BIFA_ESTA', '=', 'Activo')
+                ->where('LIFA_ESTA', '=', 'Activo')
+                ->where('LISI_ESTA', '=', 'Activo')
+                ->where('LIME_ESTA', '=', 'Activo')
+                ->join('S002V01TLIFA', 'LIFA_IDFA', '=', 'BIFA_IDFA')
+                ->join('S002V01TLISI', 'LISI_IDSI', '=', 'BIFA_IDSI')
+                ->join('S002V01TLIME', 'LIME_IDME', '=', 'BIFA_IDME')
+                ->get([
+                    'BIFA_NUFA AS NUMERO_FALLA',
+                    'LIFA_IDFA AS ID_FALLA',
+                    'LIFA_NOFA AS NOMBRE_FALLA',
+                    'LIFA_NIVE AS NIVEL_CRITICIDAD_FALLA',
+                    'LISI_IDSI AS ID_SINTOMA',
+                    'LISI_NOSI AS NOMBRE_SINTOMA',
+                    'LISI_CLAS AS CLASIFICACION_SINTOMA',
+                    'BIFA_CAUS AS CAUSA',
+                    'BIFA_FEFA AS FECHA_FALA',
+                    'BIFA_CLAS AS CLASIFICACION',
+                    'BIFA_REPA AS REPARABLE',
+                    'BIFA_USRE AS USUARIO_REGISTRA',
+                    'BIFA_FERE AS FECHA_REGISTRA',
+                    'BIFA_USMO AS USUARIO_MODIFICA',
+                    'BIFA_FEMO AS FECHA_MODIFICA',
+                ]);
+        } catch (\Throwable $th) {
+            return $this->responseController->makeResponse(true, "ERR_GETHISTORY_GETEQUIPMENT001: No se pudo realizar la consulta a la base.", $th->getMessage(), 500);
+        }
+
+        $arrFailureLogTemp = json_decode( json_encode( $getFailuresLog ), true );
+
+        $arrFailureLog = array();
+        foreach ($arrFailureLogTemp as $keyFailureLogTemp => $failureLogTemp) {
+            $numero_falla = $failureLogTemp['NUMERO_FALLA'];
+
+            $nombre_falla = $failureLogTemp['NOMBRE_FALLA'].' ('.$failureLogTemp['ID_FALLA'].')';
+
+            $nivel_criticidad_falla = $failureLogTemp['NUMERO_FALLA'];
+
+            $nombre_sintoma = $failureLogTemp['NUMERO_FALLA'];
+
+            $clasificacion_sintoma = $failureLogTemp['NUMERO_FALLA'];
+
+            $causa = $failureLogTemp['NUMERO_FALLA'];
+
+            $fecha_fala = $failureLogTemp['NUMERO_FALLA'];
+
+            $clasificacion = $failureLogTemp['NUMERO_FALLA'];
+
+            $reparable = $failureLogTemp['NUMERO_FALLA'];
+
+            $usuario_registra = $failureLogTemp['NUMERO_FALLA'];
+
+            $fecha_registra = $failureLogTemp['NUMERO_FALLA'];
+
+
+            $arrFailureLog[] = [
+                'NUMERO_FALLA' => $numero_falla,
+                'NOMBRE_FALLA' => $nombre_falla,
+                'NIVEL_CRITICIDAD_FALLA' => $nivel_criticidad_falla,
+                'NOMBRE_SINTOMA' => $nombre_sintoma,
+                'CLASIFICACION_SINTOMA' => $clasificacion_sintoma,
+                'CAUSA' => $causa,
+                'FECHA_FALA' => $fecha_fala,
+                'CLASIFICACION' => $clasificacion,
+                'REPARABLE' => $reparable,
+                'USUARIO_REGISTRA' => $usuario_registra,
+                'FECHA_REGISTRA' => $fecha_registra,
+            ];
+        }
+
+        return $arrFailureLog;
+        
+    }
+
+    public function getFailureLogActives($user, $line) {
+
+        try {
+            $getFailureLog = DB::table('S002V01TBIFA')
+                ->where('BIFA_NULI', '=', $line)
+                ->where('LIFA_NULI', '=', $line)
+                ->where('LISI_NULI', '=', $line)
+                ->where('LIME_NULI', '=', $line)
+                ->where('BIFA_ESTA', '=', 'Activo')
+                ->where('LIFA_ESTA', '=', 'Activo')
+                ->where('LISI_ESTA', '=', 'Activo')
+                ->where('LIME_ESTA', '=', 'Activo')
+                ->join('S002V01TLIFA', 'LIFA_IDFA', '=', 'BIFA_IDFA')
+                ->join('S002V01TLISI', 'LISI_IDSI', '=', 'BIFA_IDSI')
+                ->join('S002V01TLIME', 'LIME_IDME', '=', 'BIFA_IDME')
+                ->get([
+                    'BIFA_NUFA AS NUMERO_FALLA',
+                    'BIFA_COEQ AS CODIGO_EQUIPAMIENTO',
+                    'LIFA_IDFA AS ID_FALLA',
+                    'LIFA_NOFA AS NOMBRE_FALLA',
+                    'LIFA_NIVE AS NIVEL_CRITICIDAD_FALLA',
+                    'LIFA_CAUS AS CAUSA_FALLA',
+                    'LISI_IDSI AS ID_SINTOMA',
+                    'LISI_NOSI AS NOMBRE_SINTOMA',
+                    'LISI_CLAS AS CLASIFICACION_SINTOMA',
+                    'LISI_CAUS AS CAUSA_SINTOMA',
+                    'BIFA_CAUS AS CAUSA',
+                    'BIFA_FEFA AS FECHA_FALA',
+                    'BIFA_CLAS AS CLASIFICACION',
+                    'BIFA_REPA AS REPARABLE',
+                    'BIFA_DESO AS SOLUCION',
+                    'BIFA_COME AS COMENTARIOS',
+                    'BIFA_VAOB AS VALOR_OBTENIDO',
+                    'LIME_IDME AS ID_MEDIDA',
+                    'LIME_NOME AS NOMBRE_MEDIDA',
+                    'LIME_ACME AS ACRONIMO_MEDIDA',
+                    'BIFA_USRE AS USUARIO_REGISTRA',
+                    'BIFA_FERE AS FECHA_REGISTRA',
+                    'BIFA_USMO AS USUARIO_MODIFICA',
+                    'BIFA_FEMO AS FECHA_MODIFICA',
+                ]);
+        } catch (\Throwable $th) {
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_GETACTIVE000: No se pudo realizar la consulta a la base.", $th->getMessage(), 500);
+        }
+
+        $arrFailureLog = json_decode( json_encode( $getFailureLog ), true );
+
+        return $this->responseController->makeResponse(false, "ÉXITO: Consulta Exitosa", $arrFailureLog);
+    }
+    public function registerFailureLog(Request $request) {
+        $validator = Validator::make($request->all(), [
+            'CODIGO_EQUIPAMIENTO' => 'required|string',
+            'ID_FALLA' => 'required|integer',
+            // 'ID_SINTOMA' => 'required|integer',
+            'CAUSA' => 'required|string',
+            'FECHA_FALA' => 'required|string',
+            'CLASIFICACION' => 'required|string',
+            'REPARABLE' => 'required|string',
+            'SOLUCION' => 'required|string',
+            'COMENTARIOS' => 'required|string',
+            'VALOR_OBTENIDO' => 'required|string',
+            'ID_MEDIDA' => 'required|string',
+            'USUARIO' => 'required|string',
+            'NUMERO_LINEA' => 'required|string',
+        ]);
+        if ($validator->fails()) {
+            return $this->responseController->makeResponse(
+                true,
+                "ERR_FAILURELOG_REG000: Se encontraron uno o más errores.",
+                $this->responseController->makeErrors($validator->errors()->messages()),
+                401
+            );
+        }
+
+        DB::beginTransaction();
+        $requestData = $request->all();
+
+        try {
+            $user = $this->encController->decrypt($requestData['USUARIO']);
+        } catch (\Throwable $th) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_REG001: No se pudo obtener el usuario.", $th->getMessage(), 500);
+        }
+
+        try {
+            $validateExistsFailureList = DB::table('S002V01TLIFA')
+                ->where('LIFA_NULI',  '=', $requestData['NUMERO_LINEA'])
+                ->where('LIFA_IDFA',  '=', $requestData['ID_FALLA'])
+                ->where('LIFA_ESTA',  '=', 'Activo')
+                ->exists();
+        } catch (\Throwable $th) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_REG002: Ocurrió un error al consultar la lista de fallas.", $th->getMessage(), 500);
+        }
+        if ( !$validateExistsFailureList ) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_REG003: No existe la falla #".$requestData['ID_FALLA']." en la lista de fallas.", [], 500);
+        }
+
+        if ( !is_null($requestData['ID_SINTOMA']) && $requestData['ID_SINTOMA'] !== '' ) {
+            try {
+                $validateExistsSymptomList = DB::table('S002V01TLISI')
+                    ->where('LISI_NULI', '=', $requestData['NUMERO_LINEA'])
+                    ->where('LISI_IDSI', '=', $requestData['ID_SINTOMA'])
+                    ->where('LISI_ESTA', '=', 'Activo')
+                    ->exists();
+            } catch (\Throwable $th) {
+                DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_REG004: Ocurrió un error al consultar la lista de síntomas.", $th->getMessage(), 500);
+            }
+            if ( !$validateExistsSymptomList ) {
+                DB::rollBack();
+                return $this->responseController->makeResponse(true, "ERR_FAILURELOG_REG005: No existe el síntoma #".$requestData['ID_SINTOMA']." en la lista de síntomas.", [], 500);
+            }
+        }
+
+        try {
+            $validateExistsMeasure = DB::table('S002V01TLIME')
+                ->where('LIME_NULI',  '=', $requestData['NUMERO_LINEA'])
+                ->where('LIME_IDME',  '=', $requestData['ID_MEDIDA'])
+                ->where('LIME_ESTA',  '=', 'Activo')
+                ->exists();
+        } catch (\Throwable $th) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_REG006: Ocurrió un error al consultar la lista de medidas.", $th->getMessage(), 500);
+        }
+        if ( !$validateExistsMeasure ) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_REG007: No existe la medida #".$requestData['ID_MEDIDA']." en la lista de medidas.", [], 500);
+        }
+
+        try {
+            $validateExistsEquipment = DB::table('S002V01TEQUI')
+                ->where('EQUI_NULI', '=', $requestData['NUMERO_LINEA'])
+                ->where('EQUI_COEQ', '=', $requestData['CODIGO_EQUIPAMIENTO'])
+                ->exists();
+        } catch (\Throwable $th) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_REG008: Ocurrió un error al consultar los equipamientos.", $th->getMessage(), 500);
+        }
+        if ( !$validateExistsEquipment ) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_REG009: No existe el equipamiento ".$requestData['CODIGO_EQUIPAMIENTO']." en la lista de equipamientos.", [], 500);
+        }
+
+        $now = $this->functionsController->now();
+        $currentDate = $now->toDateTimeString();
+
+        try {
+            $validateInsert = DB::table('S002V01TBIFA')->insert([
+                'BIFA_NULI' => $requestData['NUMERO_LINEA'],
+                'BIFA_COEQ' => $requestData['CODIGO_EQUIPAMIENTO'],
+                'BIFA_IDFA' => $requestData['ID_FALLA'],
+                'BIFA_IDSI' => $requestData['ID_SINTOMA'],
+                'BIFA_CAUS' => $requestData['CAUSA'],
+                'BIFA_FEFA' => $requestData['FECHA_FALA'],
+                'BIFA_CLAS' => $requestData['CLASIFICACION'],
+                'BIFA_REPA' => $requestData['REPARABLE'],
+                'BIFA_DESO' => $requestData['SOLUCION'],
+                'BIFA_COME' => $requestData['COMENTARIOS'],
+                'BIFA_VAOB' => $requestData['VALOR_OBTENIDO'],
+                'BIFA_IDME' => $requestData['ID_MEDIDA'],
+                'BIFA_USRE' => $user,
+                'BIFA_FERE' => $currentDate,
+                'BIFA_FEAR' => DB::raw('CURRENT_TIMESTAMP')
+            ]);
+        } catch (\Throwable $th) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_REG010: Ocurrió un error al intentar registrar la falla en la base de datos.", $th->getMessage(), 500);
+        }
+        if ( !$validateInsert ) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_REG011: No se pudo registrar la falla.", [], 500);
+        }
+
+        DB::commit();
+        return $this->responseController->makeResponse(false, "ÉXITO: Registro Exitoso");
+    }
+    public function updateFailureLog(Request $request) {
+        $validator = Validator::make($request->all(), [
+            'NUMERO_FALLA' => 'required|integer',
+            'CODIGO_EQUIPAMIENTO' => 'required|string',
+            'ID_FALLA' => 'required|integer',
+            // 'ID_SINTOMA' => 'required|integer',
+            'CAUSA' => 'required|string',
+            'FECHA_FALA' => 'required|string',
+            'CLASIFICACION' => 'required|string',
+            'REPARABLE' => 'required|string',
+            'SOLUCION' => 'required|string',
+            'COMENTARIOS' => 'required|string',
+            'VALOR_OBTENIDO' => 'required|string',
+            'ID_MEDIDA' => 'required|string',
+            'USUARIO' => 'required|string',
+            'NUMERO_LINEA' => 'required|string',
+        ]);
+        if ($validator->fails()) {
+            return $this->responseController->makeResponse(
+                true,
+                "ERR_FAILURELOG_UPD000: Se encontraron uno o más errores.",
+                $this->responseController->makeErrors($validator->errors()->messages()),
+                401
+            );
+        }
+
+        DB::beginTransaction();
+        $requestData = $request->all();
+
+        try {
+            $user = $this->encController->decrypt($requestData['USUARIO']);
+        } catch (\Throwable $th) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD001: No se pudo obtener el usuario.", $th->getMessage(), 500);
+        }
+
+        try {
+            $validateExistsFailureLog = DB::table('S002V01TBIFA')
+                ->where('BIFA_NULI',  '=', $requestData['NUMERO_LINEA'])
+                ->where('BIFA_NUFA',  '=', $requestData['NUMERO_FALLA'])
+                ->where('BIFA_ESTA',  '=', 'Activo')
+                ->exists();
+        } catch (\Throwable $th) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD002: Ocurrió un error al consultar la bitácora de fallas.", $th->getMessage(), 500);
+        }
+        if ( !$validateExistsFailureLog ) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD003: No existe la falla #".$requestData['NUMERO_FALLA']." en la bitácora de fallas.", [], 500);
+        }
+
+        try {
+            $validateExistsFailureList = DB::table('S002V01TLIFA')
+                ->where('LIFA_NULI',  '=', $requestData['NUMERO_LINEA'])
+                ->where('LIFA_IDFA',  '=', $requestData['ID_FALLA'])
+                ->where('LIFA_ESTA',  '=', 'Activo')
+                ->exists();
+        } catch (\Throwable $th) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD004: Ocurrió un error al consultar la lista de fallas.", $th->getMessage(), 500);
+        }
+        if ( !$validateExistsFailureList ) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD005: No existe la falla #".$requestData['ID_FALLA']." en la lista de fallas.", [], 500);
+        }
+
+        if ( !is_null($requestData['ID_SINTOMA']) && $requestData['ID_SINTOMA'] !== '' ) {
+            try {
+                $validateExistsSymptomList = DB::table('S002V01TLISI')
+                    ->where('LISI_NULI', '=', $requestData['NUMERO_LINEA'])
+                    ->where('LISI_IDSI', '=', $requestData['ID_SINTOMA'])
+                    ->where('LISI_ESTA', '=', 'Activo')
+                    ->exists();
+            } catch (\Throwable $th) {
+                DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD006: Ocurrió un error al consultar la lista de síntomas.", $th->getMessage(), 500);
+            }
+            if ( !$validateExistsSymptomList ) {
+                DB::rollBack();
+                return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD007: No existe el síntoma #".$requestData['ID_SINTOMA']." en la lista de síntomas.", [], 500);
+            }
+        }
+
+        try {
+            $validateExistsMeasure = DB::table('S002V01TLIME')
+                ->where('LIME_NULI',  '=', $requestData['NUMERO_LINEA'])
+                ->where('LIME_IDME',  '=', $requestData['ID_MEDIDA'])
+                ->where('LIME_ESTA',  '=', 'Activo')
+                ->exists();
+        } catch (\Throwable $th) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD008: Ocurrió un error al consultar la lista de medidas.", $th->getMessage(), 500);
+        }
+        if ( !$validateExistsMeasure ) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD009: No existe la medida #".$requestData['ID_MEDIDA']." en la lista de medidas.", [], 500);
+        }
+
+        try {
+            $validateExistsEquipment = DB::table('S002V01TEQUI')
+                ->where('EQUI_NULI', '=', $requestData['NUMERO_LINEA'])
+                ->where('EQUI_COEQ', '=', $requestData['CODIGO_EQUIPAMIENTO'])
+                ->exists();
+        } catch (\Throwable $th) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD010: Ocurrió un error al consultar los equipamientos.", $th->getMessage(), 500);
+        }
+        if ( !$validateExistsEquipment ) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD011: No existe el equipamiento ".$requestData['CODIGO_EQUIPAMIENTO']." en la lista de equipamientos.", [], 500);
+        }
+
+        $now = $this->functionsController->now();
+        $currentDate = $now->toDateTimeString();
+
+        try {
+            $validateUpdate = DB::table('S002V01TBIFA')
+                ->where('BIFA_NUFA', '=', $requestData['NUMERO_FALLA'])
+                ->where('BIFA_NULI', '=', $requestData['NUMERO_LINEA'])
+                ->update([
+                    'BIFA_COEQ' => $requestData['CODIGO_EQUIPAMIENTO'],
+                    'BIFA_IDFA' => $requestData['ID_FALLA'],
+                    'BIFA_IDSI' => $requestData['ID_SINTOMA'],
+                    'BIFA_CAUS' => $requestData['CAUSA'],
+                    'BIFA_FEFA' => $requestData['FECHA_FALA'],
+                    'BIFA_CLAS' => $requestData['CLASIFICACION'],
+                    'BIFA_REPA' => $requestData['REPARABLE'],
+                    'BIFA_DESO' => $requestData['SOLUCION'],
+                    'BIFA_COME' => $requestData['COMENTARIOS'],
+                    'BIFA_VAOB' => $requestData['VALOR_OBTENIDO'],
+                    'BIFA_IDME' => $requestData['ID_MEDIDA'],
+                    'BIFA_USMO' => $user,
+                    'BIFA_FEMO' => $currentDate,
+                    'BIFA_FEAR' => DB::raw('CURRENT_TIMESTAMP')
+                ]);
+        } catch (\Throwable $th) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD012: Ocurrió un error al intentar modificar la falla en la base de datos.", $th->getMessage(), 500);
+        }
+        if ( !$validateUpdate ) {
+            DB::rollBack();
+            return $this->responseController->makeResponse(true, "ERR_FAILURELOG_UPD013: No se pudo modificar la bitácora de falla.", [], 500);
+        }
+
+        DB::commit();
+        return $this->responseController->makeResponse(false, "ÉXITO: Modificación Exitosa");
+    }
+}

+ 12 - 12
sistema-mantenimiento-back/app/Http/Controllers/CatalogSymptomController.php → sistema-mantenimiento-back/app/Http/Controllers/SymptomListController.php

@@ -15,7 +15,7 @@ use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Validator;
 use App\Http\Controllers\FunctionsController;
 
-class CatalogSymptomController extends Controller
+class SymptomListController extends Controller
 {
     private $responseController;
     private $encController;
@@ -774,10 +774,10 @@ class CatalogSymptomController extends Controller
                 ->where('LISI_IDSI', '=', $requestData['ID_SINTOMA'])
                 ->where('LISI_NULI', '=', $requestData['NUMERO_LINEA'])
                 ->update([
-                    'LIFA_ESTA' => 'Eliminado',
-                    'LIFA_USMO' => $user,
-                    'LIFA_FEMO' => $currentDate,
-                    'LIFA_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
+                    'LISI_ESTA' => 'Eliminado',
+                    'LISI_USMO' => $user,
+                    'LISI_FEMO' => $currentDate,
+                    'LISI_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
                 ]);
         } catch (\Throwable $th) {
             DB::rollBack();
@@ -790,14 +790,14 @@ class CatalogSymptomController extends Controller
 
 
         try {
-            $validateDelete = DB::table('S002V01TLISI')
-                ->where('LISI_IDSI', '=', $requestData['ID_SINTOMA'])
-                ->where('LISI_NULI', '=', $requestData['NUMERO_LINEA'])
+            $validateDelete = DB::table('S002V01TLSEQ')
+                ->where('LSEQ_IDSI', '=', $requestData['ID_SINTOMA'])
+                ->where('LSEQ_NULI', '=', $requestData['NUMERO_LINEA'])
                 ->update([
-                    'LISI_ESTA' => 'Eliminado',
-                    'LISI_USMO' => $user,
-                    'LISI_FEMO' => $currentDate,
-                    'LISI_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
+                    'LSEQ_ESTA' => 'Eliminado',
+                    'LSEQ_USMO' => $user,
+                    'LSEQ_FEMO' => $currentDate,
+                    'LSEQ_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
                 ]);
         } catch (\Throwable $th) {
             DB::rollBack();

+ 20 - 21
sistema-mantenimiento-back/routes/api.php

@@ -15,10 +15,10 @@ use App\Http\Controllers\ProviderController;
 use App\Http\Controllers\OrderController;
 use App\Http\Controllers\RequestLineController;
 use App\Http\Controllers\DispatchController;
-use App\Http\Controllers\CatalogFailureController;
-use App\Http\Controllers\FailureController;
+use App\Http\Controllers\FailureListController;
+use App\Http\Controllers\FailureLogController;
 use App\Http\Controllers\CatalogMeasuresController;
-use App\Http\Controllers\CatalogSymptomController;
+use App\Http\Controllers\SymptomListController;
 use App\Http\Controllers\StockController;
 use App\Http\Controllers\LocateController;
 use App\Http\Controllers\DocumentManagementController;
@@ -374,26 +374,25 @@ Route::middleware(['jwt.auth'])->group(function(){
     Route::post('acquisition-management/invoice/compare-invoice',                             [InvoiceControlController::class, 'compareInvoice']);
 
     // Module: ANFA
-    Route::get ('failure-analysis/get-list-failure/{user}/{line}',                       [CatalogFailureController::class,  'getFailures']);
-    Route::get ('failure-analysis/get-list-failure-actives/{user}/{line}',               [CatalogFailureController::class,  'getFailuresActives']);
-    Route::get ('failure-analysis/get-list-failure-by-id/{idFailure}/{user}/{line}',     [CatalogFailureController::class,  'getFailureById']);
-    Route::post('failure-analysis/register-list-failure',                                [CatalogFailureController::class,  'registerFailures']);
-    Route::post('failure-analysis/update-list-failure',                                  [CatalogFailureController::class,  'updateFailures']);
-    Route::post('failure-analysis/delete-list-failure',                                  [CatalogFailureController::class,  'deleteFailures']);
+    Route::get ('failure-analysis/get-list-failure/{user}/{line}',                       [FailureListController::class,  'getFailures']);
+    Route::get ('failure-analysis/get-list-failure-actives/{user}/{line}',               [FailureListController::class,  'getFailuresActives']);
+    Route::get ('failure-analysis/get-list-failure-by-id/{idFailure}/{user}/{line}',     [FailureListController::class,  'getFailureById']);
+    Route::post('failure-analysis/register-list-failure',                                [FailureListController::class,  'registerFailures']);
+    Route::post('failure-analysis/update-list-failure',                                  [FailureListController::class,  'updateFailures']);
+    Route::post('failure-analysis/delete-list-failure',                                  [FailureListController::class,  'deleteFailures']);
 
-    // Route::get ('failure-analysis/get-failure/{user}/{line}',                               [FailureController::class,         'getFault']);
-    // Route::post('failure-analysis/get-failure-by-equipment',                                [FailureController::class,         'getFaultByEquipment']);
-    // Route::post('failure-analysis/register-failure',                                        [FailureController::class,         'registerFault']);
-    // Route::post('failure-analysis/update-failure',                                          [FailureController::class,         'updateFault']);
-    // Route::post('failure-analysis/delete-failure',                                          [FailureController::class,         'deleteFault']);
+    Route::get ('failure-analysis/get-symptoms/{user}/{line}',                              [SymptomListController::class,  'getSymptoms']);
+    Route::get ('failure-analysis/get-symptoms-actives/{user}/{line}',                      [SymptomListController::class,  'getSymptomsActives']);
+    Route::get ('failure-analysis/get-symptoms-by-equipment/{equipment}/{user}/{line}',     [SymptomListController::class,  'getSymptomsByEquipment']);
+    Route::get ('failure-analysis/get-symptom-by-id/{idSymptom}/{user}/{line}',             [SymptomListController::class,  'getSymptomById']);
+    Route::post('failure-analysis/register-symptom',                                        [SymptomListController::class,  'registerSymptom']);
+    Route::post('failure-analysis/update-symptom',                                          [SymptomListController::class,  'updateSymptom']);
+    Route::post('failure-analysis/delete-symptom',                                          [SymptomListController::class,  'deleteSymptom']);
 
-    Route::get ('failure-analysis/get-symptoms/{user}/{line}',                              [CatalogSymptomController::class,  'getSymptoms']);
-    Route::get ('failure-analysis/get-symptoms-actives/{user}/{line}',                      [CatalogSymptomController::class,  'getSymptomsActives']);
-    Route::get ('failure-analysis/get-symptoms-by-equipment/{equipment}/{user}/{line}',     [CatalogSymptomController::class,  'getSymptomsByEquipment']);
-    Route::get ('failure-analysis/get-symptom-by-id/{idSymptom}/{user}/{line}',             [CatalogSymptomController::class,  'getSymptomById']);
-    Route::post('failure-analysis/register-symptom',                                        [CatalogSymptomController::class,  'registerSymptom']);
-    Route::post('failure-analysis/update-symptom',                                          [CatalogSymptomController::class,  'updateSymptom']);
-    Route::post('failure-analysis/delete-symptom',                                          [CatalogSymptomController::class,  'deleteSymptom']);
+    Route::get ('failure-analysis/get-failure-log/{user}/{line}',                           [FailureLogController::class,  'getFailureLog']);
+    Route::get ('failure-analysis/get-history-failure-equipment/{equipment}/{user}/{line}', [FailureLogController::class,  'getHistoryFailureEquipment']);
+
+    
 
     // Module: COAC
     Route::get ('counters-and-triggers/get-catalog-measures/{user}/{line}',                      [CatalogMeasuresController::class, 'getMeasures']);