responseController = new ResponseController(); $this->encController = new EncryptionController(); $this->functionsController = new FunctionsController(); $this->resourcesController = new ResourcesController(); } public function getForms($user, $line){ $arrResponseCheckUser = $this->resourcesController->checkUserEnc($user, $line); if ($arrResponseCheckUser['error']) { DB::rollBack(); return $this->responseController->makeResponse(true, $arrResponseCheckUser['msg'], [], 401); } try{ $arrForms = DB::table('S002V01TFODI') ->where('FODI_NULI', '=', $line) ->join('S002V01TMODU', 'MODU_IDMO', '=', 'FODI_IDMO') ->get([ 'FODI_NUFO AS CODIGO_FORMULARIO', 'FODI_TIRE AS TITULO_REGISTRO', 'FODI_TIMO AS TITULO_MODIFICACION', 'MODU_NOMO AS MODULO', 'FODI_ESTA AS ESTADO', 'FODI_WOFL AS WORKFLOW', 'FODI_USRE AS USUARIO_REGISTRA', 'FODI_FERE AS FECHA_REGISTRA', 'FODI_USMO AS USUARIO_MODIFICA', 'FODI_FEMO AS FECHA_MODIFICA', ]); $arrForms = json_decode(json_encode($arrForms), true); } catch (\Throwable $th) { return $this->responseController->makeResponse(true, "ERR_DYNFORM_GET000: No se pudo realizar la consulta a la base.", $th->getMessage(), 500); } $responseCheckLatestUpdate = $this->resourcesController->checkLatestUpdate($arrForms, $line); if ($responseCheckLatestUpdate['error']) { return $this->responseController->makeResponse(true, $responseCheckLatestUpdate['msg'], [], 500); } $arrForms = $responseCheckLatestUpdate['response']; return $this->responseController->makeResponse(false, "ÉXITO", $arrForms); } public function getInformationDataSelect($tableName, $columnValue, $columnName, $user, $line){ $arrResponseCheckUser = $this->resourcesController->checkUserEnc($user, $line); if ($arrResponseCheckUser['error']) { return $this->responseController->makeResponse(true, $arrResponseCheckUser['msg'], [], 401); } $tableName = $this->encController->decrypt($tableName); if (is_null($tableName)) { return $this->responseController->makeResponse(true, 'Ocurrió un error al obtener el nombre de la tabla.', [], 500); } $columnValue = $this->encController->decrypt($columnValue); if (is_null($columnValue)) { return $this->responseController->makeResponse(true, 'Ocurrió un error al obtener la columna del valor.', [], 500); } $columnName = $this->encController->decrypt($columnName); if (is_null($columnName)) { return $this->responseController->makeResponse(true, 'Ocurrió un error al obtener la columna del nombre.', [], 500); } $arrResponseNumberLine = $this->getNumberLineColumn($tableName); if ($arrResponseNumberLine['error']) { return $this->responseController->makeResponse(true, $arrResponseNumberLine['msg'], $arrResponseNumberLine['response'], 500); } $numberLineColumn = $arrResponseNumberLine['response']; try { $arrColumn = DB::table($tableName) ->where($numberLineColumn, '=', $line) ->get([ "{$columnValue} AS VALOR_CAMPO", "{$columnName} AS NOMBRE_CAMPO", ]); $arrColumn = json_decode(json_encode($arrColumn), true); } catch (\Throwable $th) { return $this->responseController->makeResponse(true, "Ocurrió un error al obtener las columnas de la tabla {$tableName}.", $th->getMessage(), 500); } return $this->responseController->makeResponse(false, "ÉXITO", $arrColumn); } public function registerForms(Request $request) { $validator = Validator::make($request->all(), [ 'MODULO' => 'required|string', 'REGISTRO_FORMULARIO' => 'required|string', 'MODIFICA_FORMULARIO' => 'required|string', 'TABLA' => 'required|array', 'COLUMNAS' => 'required|array', 'DATA_FORM' => 'required|array', 'INFO_VALIDATE' => 'required|array', 'PERSONALITY_COLUMNS' => 'array', 'NUMERO_LINEA' => 'required|integer', 'USUARIO' => 'required|string' ]); 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(); $dataForm = [ 'DATA_BASE' => [ 'TABLA' => $requestData['TABLA'], 'COLUMNAS' =>$requestData['COLUMNAS'], ], 'PERSONALITY_COLUMNS' => $requestData['PERSONALITY_COLUMNS'], 'INFO_VALIDATE' => $requestData['INFO_VALIDATE'], 'COMPONENTS' => $requestData['DATA_FORM'], ]; $strDataForm = json_encode($dataForm); try { $validateRegister = DB::table('S002V01TFODI')->insert([ 'FODI_NULI' => $requestData['NUMERO_LINEA'], 'FODI_IDMO' => $requestData['MODULO'], 'FODI_TIRE' => $requestData['REGISTRO_FORMULARIO'], 'FODI_TIMO' => $requestData['MODIFICA_FORMULARIO'], 'FODI_DAFO' => $strDataForm, 'FODI_USRE' => $user, 'FODI_FERE' => $currentDate, 'FODI_FEAR' => DB::raw('CURRENT_TIMESTAMP'), ]); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "Ocurrió un error al registrar los datos del formulario dinámico.", $th->getMessage(), 401); } if (!$validateRegister) { DB::rollBack(); return $this->responseController->makeResponse(true, "No se pudo registrar los datos del formulario dinámico.", [], 401); } DB::commit(); return $this->responseController->makeResponse(false, "ÉXITO: Registro Exitoso"); } public function getFormById($idForm, $user, $line) { $arrResponseCheckUser = $this->resourcesController->checkUserEnc($user, $line); if ($arrResponseCheckUser['error']) { DB::rollBack(); return $this->responseController->makeResponse(true, $arrResponseCheckUser['msg'], [], 401); } $user = $arrResponseCheckUser['response']; $idForm = $this->encController->decrypt($idForm); if (is_null($idForm)) { return $this->responseController->makeResponse(true, 'Ocurrió un error al obtener el identificador del formulario.', [], 500); } try { $exists = DB::table('S002V01TFODI') ->where('FODI_NUFO', '=', $idForm) ->where('FODI_NULI', '=', $line) ->exists(); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "Ocurrió un error al verificar el formulario dinámico.", $th->getMessage(), 401); } if (!$exists) { DB::rollBack(); return $this->responseController->makeResponse(true, "El formulario dinámico no existe.", [], 401); } try { $arrForms = DB::table('S002V01TFODI') ->where('FODI_NUFO', '=', $idForm) ->where('FODI_NULI', '=', $line) ->first([ 'FODI_NUFO AS NUMERO_FORMULARIO', 'FODI_IDMO AS ID_MODULO', 'FODI_TIRE AS TITULO_REGISTRO', 'FODI_TIMO AS TITULO_MODIFICACION', 'FODI_DAFO AS DATOS_FORMULARIO', 'FODI_ESTA AS ESTADO', ]); } catch (\Throwable $th) { return $this->responseController->makeResponse(true, 'Ocurrió un error al obtener los datos del formulario.', $th->getMessage(), 500); } $arrForms->DATOS_FORMULARIO = json_decode($arrForms->DATOS_FORMULARIO); return $this->responseController->makeResponse(false, "ÉXITO", $arrForms); } public function updateForms(Request $request, $idForm) { $validator = Validator::make($request->all(), [ 'MODULO' => 'required|string', 'REGISTRO_FORMULARIO' => 'required|string', 'MODIFICA_FORMULARIO' => 'required|string', 'TABLA' => 'required|array', 'COLUMNAS' => 'required|array', 'DATA_FORM' => 'required|array', 'INFO_VALIDATE' => 'required|array', 'PERSONALITY_COLUMNS' => 'array', 'NUMERO_LINEA' => 'required|integer', 'USUARIO' => 'required|string' ]); 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(); $idForm = $this->encController->decrypt($idForm); if (is_null($idForm)) { return $this->responseController->makeResponse(true, 'Ocurrió un error al obtener el identificador del formulario.', [], 500); } try { $exists = DB::table('S002V01TFODI') ->where('FODI_NUFO', '=', $idForm) ->where('FODI_NULI', '=', $requestData['NUMERO_LINEA']) ->exists(); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "Ocurrió un error al verificar el formulario dinámico.", $th->getMessage(), 401); } if (!$exists) { DB::rollBack(); return $this->responseController->makeResponse(true, "El formulario dinámico no existe.", [], 401); } $dataForm = [ 'DATA_BASE' => [ 'TABLA' => $requestData['TABLA'], 'COLUMNAS' =>$requestData['COLUMNAS'], ], 'PERSONALITY_COLUMNS' => $requestData['PERSONALITY_COLUMNS'], 'INFO_VALIDATE' => $requestData['INFO_VALIDATE'], 'COMPONENTS' => $requestData['DATA_FORM'], ]; $strDataForm = json_encode($dataForm); try { $validateUpdate = DB::table('S002V01TFODI') ->where('FODI_NUFO', '=', $idForm) ->where('FODI_NULI', '=', $requestData['NUMERO_LINEA']) ->update([ 'FODI_IDMO' => $requestData['MODULO'], 'FODI_TIRE' => $requestData['REGISTRO_FORMULARIO'], 'FODI_TIMO' => $requestData['MODIFICA_FORMULARIO'], 'FODI_DAFO' => $strDataForm, 'FODI_USMO' => $user, 'FODI_FEMO' => $currentDate, 'FODI_FEAR' => DB::raw('CURRENT_TIMESTAMP'), ]); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "Ocurrió un error al modificar los datos del formulario dinámico.", $th->getMessage(), 401); } if (!$validateUpdate) { DB::rollBack(); return $this->responseController->makeResponse(true, "No se pudo modificar los datos del formulario dinámico.", [], 401); } DB::commit(); return $this->responseController->makeResponse(false, "ÉXITO: Registro Exitoso"); } public function registerDynamicForm(Request $request) { $validator = Validator::make($request->all(), [ 'IDFORM' => 'required|string', 'DATAFORM' => 'required', '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']; $idForm = $this->encController->decrypt($requestData['IDFORM']); if (is_null($idForm)) { DB::rollBack(); return $this->responseController->makeResponse(true, 'Ocurrió un error al obtener el identificador del formulario.', [], 500); } $arrDataInsert = []; $arrDataInsertPersonality = []; foreach ($requestData['DATAFORM'] as $keyColumn => $dataForm) { $codeTable = substr($keyColumn, 0, 4); $table = "S002V01T{$codeTable}"; if (strlen($keyColumn) === 9) { $arrDataInsert[$table][$keyColumn] = $dataForm; } else if (strlen($keyColumn) === 25) { $arrDataInsertPersonality[$table][$keyColumn] = $dataForm; } else { DB::rollBack(); return $this->responseController->makeResponse(true, "El formato de la columna {$dataForm} no es válido.", [], 500); } } $now = $this->functionsController->now(); $currentDate = $now->toDateTimeString(); foreach ($arrDataInsert as $table => $dataColumn) { $codeTable = substr($table, 8, 12); if ( !empty((array) $arrDataInsertPersonality) ) { $INEX = "{$codeTable}_INEX"; $dataColumn[$INEX] = json_encode($arrDataInsertPersonality[$table]); } $NULI = "{$codeTable}_NULI"; $FERE = "{$codeTable}_FERE"; $USFE = "{$codeTable}_USRE"; $FEAR = "{$codeTable}_FEAR"; $dataColumn[$NULI] = $requestData['NUMERO_LINEA']; $dataColumn[$FERE] = $currentDate; $dataColumn[$USFE] = $user; $dataColumn[$FEAR] = DB::raw('CURRENT_TIMESTAMP'); try { $validateRegister = DB::table($table)->insert($dataColumn); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "Ocurrió un error al registrar el formulario en la tabla {$table}.", $th->getMessage(), 500); } if (!$validateRegister) { DB::rollBack(); return $this->responseController->makeResponse(true, "No se pudo registrar el formulario en la tabla {$table}.", [], 500); } } DB::commit(); return $this->responseController->makeResponse(false, "ÉXITO: Registro Exitoso"); } public function getFormDataById(Request $request, $idForm, $user, $line) { $arrResponseCheckUser = $this->resourcesController->checkUserEnc($user, $line); if ($arrResponseCheckUser['error']) { DB::rollBack(); return $this->responseController->makeResponse(true, $arrResponseCheckUser['msg'], [], 401); } $user = $arrResponseCheckUser['response']; $idForm = $this->encController->decrypt($idForm); if (is_null($idForm)) { return $this->responseController->makeResponse(true, 'Ocurrió un error al obtener el identificador del formulario.', [], 500); } $requestData = $request->all(); try { $exists = DB::table('S002V01TFODI') ->where('FODI_NUFO', '=', $idForm) ->where('FODI_NULI', '=', $line) ->exists(); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "Ocurrió un error al verificar el formulario dinámico.", $th->getMessage(), 401); } if (!$exists) { DB::rollBack(); return $this->responseController->makeResponse(true, "El formulario dinámico no existe.", [], 401); } try { $arrForms = DB::table('S002V01TFODI') ->where('FODI_NUFO', '=', $idForm) ->where('FODI_NULI', '=', $line) ->first([ 'FODI_NUFO AS NUMERO_FORMULARIO', 'FODI_IDMO AS ID_MODULO', 'FODI_TIRE AS TITULO_REGISTRO', 'FODI_TIMO AS TITULO_MODIFICACION', 'FODI_DAFO AS DATOS_FORMULARIO', 'FODI_ESTA AS ESTADO', ]); } catch (\Throwable $th) { return $this->responseController->makeResponse(true, 'Ocurrió un error al obtener los datos del formulario.', $th->getMessage(), 500); } $arrForms->DATOS_FORMULARIO = json_decode($arrForms->DATOS_FORMULARIO); $arrWhere = []; foreach ($requestData['VALUES'] as $value) { $codeTable = substr($value['COLUMN'], 0, 4); $tableName = "S002V01T{$codeTable}"; $arrWhere[$tableName][] = [ $value['COLUMN'], '=', $value['VALUE'] ]; } $arrValues = []; foreach ($arrWhere as $table => $where) { try { $arrValues[$table] = DB::table($table)->where($where)->first(); } catch (\Throwable $th) { return $this->responseController->makeResponse(true, 'Ocurrió un error al obtener los datos del formulario.', $th->getMessage(), 500); } } foreach ($arrForms->DATOS_FORMULARIO->DATA_BASE->TABLA as $key => $table) { $arrColumnsValue = (array) $arrValues[$table]; $codeTable = substr($table, 8, 12); $columnInformationExtra = "{$codeTable}_INEX"; if (array_key_exists($columnInformationExtra, $arrColumnsValue) && !is_null($arrColumnsValue[$columnInformationExtra])) { $arrExtraColumn = (array) json_decode($arrColumnsValue[$columnInformationExtra]); foreach ($arrForms->DATOS_FORMULARIO->COMPONENTS as $key => $dataComponent) { $columns = $dataComponent->COMPONENT->COLUMNA; if (array_key_exists($columns, $arrExtraColumn) && array_key_exists('VALOR_DEFECTO', (array) $dataComponent->COMPONENT)) { $dataComponent->COMPONENT->VALOR_DEFECTO = $arrExtraColumn[$columns]; } } } foreach ($arrForms->DATOS_FORMULARIO->COMPONENTS as $key => $dataComponent) { $columns = $dataComponent->COMPONENT->COLUMNA; if (array_key_exists($columns, $arrColumnsValue) && array_key_exists('VALOR_DEFECTO', (array) $dataComponent->COMPONENT)) { $dataComponent->COMPONENT->VALOR_DEFECTO = $arrColumnsValue[$columns]; } } } return $this->responseController->makeResponse(false, "ÉXITO", $arrForms); } public function updateDynamicForm(Request $request) { $validator = Validator::make($request->all(), [ 'IDFORM' => 'required|string', 'DATAFORM' => 'required', 'USUARIO' => 'required|string', 'NUMERO_LINEA' => 'required|integer', 'WHERE' => 'required|array', ]); 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']; $idForm = $this->encController->decrypt($requestData['IDFORM']); if (is_null($idForm)) { DB::rollBack(); return $this->responseController->makeResponse(true, 'Ocurrió un error al obtener el identificador del formulario.', [], 500); } $arrDataUpdate = []; $arrDataUpdatePersonality = []; foreach ($requestData['DATAFORM'] as $keyColumn => $dataForm) { $codeTable = substr($keyColumn, 0, 4); $table = "S002V01T{$codeTable}"; if (strlen($keyColumn) === 9) { $arrDataUpdate[$table][$keyColumn] = $dataForm; } else if (strlen($keyColumn) === 25) { $arrDataUpdatePersonality[$table][$keyColumn] = $dataForm; } else { DB::rollBack(); return $this->responseController->makeResponse(true, "El formato de la columna {$dataForm} no es válido.", [], 500); } } $arrWhere = []; foreach ($requestData['WHERE'] as $value) { $codeTable = substr($value['COLUMN'], 0, 4); $tableName = "S002V01T{$codeTable}"; $arrWhere[$tableName][] = [ $value['COLUMN'], '=', $value['VALUE'] ]; } $now = $this->functionsController->now(); $currentDate = $now->toDateTimeString(); foreach ($arrDataUpdate as $table => $dataColumn) { $codeTable = substr($table, 8, 12); if ( !empty((array) $arrDataUpdatePersonality) ) { $INEX = "{$codeTable}_INEX"; $dataColumn[$INEX] = json_encode($arrDataUpdatePersonality[$table]); } $NULI = "{$codeTable}_NULI"; $FEMO = "{$codeTable}_FEMO"; $USMO = "{$codeTable}_USMO"; $FEAR = "{$codeTable}_FEAR"; $dataColumn[$NULI] = $requestData['NUMERO_LINEA']; $dataColumn[$FEMO] = $currentDate; $dataColumn[$USMO] = $user; $dataColumn[$FEAR] = DB::raw('CURRENT_TIMESTAMP'); $contentWhere = $arrWhere[$table]; try { $validateWhere = DB::table($table)->where($contentWhere)->update($dataColumn); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "Ocurrió un error al registrar el formulario en la tabla {$table}.", $th->getMessage(), 500); } if (!$validateWhere) { DB::rollBack(); return $this->responseController->makeResponse(true, "No se pudo registrar el formulario en la tabla {$table}.", [], 500); } } DB::commit(); return $this->responseController->makeResponse(false, "ÉXITO: Modificación Exitosa"); } public function getTables($user, $line) { $arrResponseCheckUser = $this->resourcesController->checkUserEnc($user, $line); if ($arrResponseCheckUser['error']) { DB::rollBack(); return $this->responseController->makeResponse(true, $arrResponseCheckUser['msg'], [], 401); } try { $arrTables = DB::table('S002V01TTABL') ->where('TABL_NULI', '=', $line) ->where('TABL_ESTA', '=', 'Activo') ->get([ 'TABL_IDTA AS CODIGO_TABLA', 'TABL_NOMB AS NOMBRE_TABLA', ]); $arrTables = json_decode(json_encode($arrTables), true); } catch (\Throwable $th) { return $this->responseController->makeResponse(true, "ERR_TABLE_GET000: Ocurrió un error al consultar los datos.", $th->getMessage(), 500); } foreach ($arrTables as $key => $table) { $arrDataColumns = DB::select("SHOW FULL COLUMNS FROM {$table['NOMBRE_TABLA']}"); $arrColumns = array(); foreach ($arrDataColumns as $dataColumn) { $arrColumns[] = [ 'COLUMN' => $dataColumn->Field, 'TYPE_COLUMN' => $dataColumn->Type, 'COMMENTS' => $dataColumn->Comment, 'NULLABLE' => $dataColumn->Null, ]; } $table['COLUMNS'] = $arrColumns; $arrTables[$key] = $table; } return $this->responseController->makeResponse(false, "ÉXITO", $arrTables); } public function registerTable(Request $request) { $validator = Validator::make($request->all(), [ 'TABLA' => '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(); $requestData['TABLA'] = $this->encController->decrypt($requestData['TABLA']); if (is_null($requestData['TABLA'])) { DB::rollBack(); return $this->responseController->makeResponse(true, "Ocurrió un error al desencriptar el nombre de la tabla.", [], 500); } try { $validateInsert = DB::table('S002V01TTABL')->insert([ 'TABL_NULI' => $requestData['NUMERO_LINEA'], 'TABL_NOMB' => $requestData['TABLA'], 'TABL_USRE' => $user, 'TABL_FERE' => $currentDate, 'TABL_FEAR' => DB::raw('CURRENT_TIMESTAMP'), ]); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "Ocurrió un error al insertar el nombre de la tabla.", $th->getMessage(), 500); } if (!$validateInsert) { DB::rollBack(); return $this->responseController->makeResponse(true, "No se pudo insertar el nombre de la tabla.", [], 500); } DB::commit(); return $this->responseController->makeResponse(false, "ÉXITO: Registro correcto"); } private function getNumberLineColumn(string $table) { $arrResponse = array('error' => false, 'msg' => 'ÉXITO: Consulta exitosa', 'response' => null); $table = trim($table); if ( strlen($table) !== 12 ) { $arrResponse['error'] = true; $arrResponse['msg'] = "El formato de la tabla no es correcto."; return $arrResponse; } try { $columns = DB::getSchemaBuilder()->getColumnListing($table); } catch (\Throwable $th) { $arrResponse['error'] = true; $arrResponse['msg'] = "Ocurrió un error al obtener las columnas de la tabla {$table}."; return $arrResponse; } $codeTable = substr($table, 8, 12); $codeNumberLine = "{$codeTable}_NULI"; if ( in_array($codeNumberLine, $columns) ) { $arrResponse['error'] = true; $arrResponse['msg'] = "El número de línea no existe en la tabla {$table}"; return $arrResponse; } $arrResponse['response'] = $codeNumberLine; return $arrResponse; } }