|
|
@@ -4886,4 +4886,158 @@ class SystemAdministratorController extends Controller{
|
|
|
$this->functionsController->registerLog($actions, $idUser, $nowStr, $idac, $line);
|
|
|
return $this->responseController->makeResponse(false, 'EXITO', $functions);
|
|
|
}
|
|
|
+
|
|
|
+ public function getTaxInformation($line){
|
|
|
+ try {
|
|
|
+ $getTaxInformation = DB::table('S002V01TINFI')
|
|
|
+ ->where('INFI_NULI','=',$line)
|
|
|
+ ->where('INFI_ESTA','=','Activo')
|
|
|
+ ->first([
|
|
|
+ 'INFI_IDIN',
|
|
|
+ 'INFI_NOFI',
|
|
|
+ 'INFI_XRFC',
|
|
|
+ 'INFI_COEL',
|
|
|
+ 'INFI_CORF',
|
|
|
+ 'INFI_LAD1',
|
|
|
+ 'INFI_TEL1',
|
|
|
+ 'INFI_LAD2',
|
|
|
+ 'INFI_TEL2',
|
|
|
+ 'INFI_COPO',
|
|
|
+ 'INFI_TIVI',
|
|
|
+ 'INFI_VIAL',
|
|
|
+ 'INFI_ENCA',
|
|
|
+ 'INFI_YCAL',
|
|
|
+ 'INFI_NUEX',
|
|
|
+ 'INFI_NUIN',
|
|
|
+ 'INFI_COLO',
|
|
|
+ 'INFI_LOCA',
|
|
|
+ 'INFI_MUNI',
|
|
|
+ 'INFI_ENFE',
|
|
|
+ 'INFI_USRE',
|
|
|
+ 'INFI_FERE',
|
|
|
+ 'INFI_USMO',
|
|
|
+ 'INFI_FEMO',
|
|
|
+ ]);
|
|
|
+ } catch (\Throwable $th) {
|
|
|
+ DB::rollBack();
|
|
|
+ return $this->responseController->makeResponse(true, "ERR_SYSTEM_ADMINISTRATOR_GET_TAX_INFORMATION000: Ocurrió un error al obtener la información fiscal.", [], 401);
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this->responseController->makeResponse(false, "ÉXITO: Consulta Exitosa", $getTaxInformation);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function saveTaxInformation(Request $request) {
|
|
|
+ $validator = Validator::make($request->all(), [
|
|
|
+ 'NOMBRE_FISCAL' => 'required|string',
|
|
|
+ 'RFC' => 'required|string',
|
|
|
+ 'CORREO_ELECTRONICO' => 'required|string',
|
|
|
+ 'REGIMEN_FISCAL' => 'required|string',
|
|
|
+ 'LADA1' => 'required|string',
|
|
|
+ 'TELEFONO_FIJO' => 'required|integer',
|
|
|
+ 'LADA2' => 'required|string',
|
|
|
+ 'TELEFONO_MOVIL' => 'required|integer',
|
|
|
+ 'CODIGO_POSTAL' => 'required|integer',
|
|
|
+ 'TIPOVIALIDAD' => 'required|string',
|
|
|
+ 'NOMBRE_VIALIDAD' => 'required|string',
|
|
|
+ 'ENTRE_CALLE' => 'required|string',
|
|
|
+ 'Y_CALLE' => 'required|string',
|
|
|
+ 'NUMERO_EXTERIOR' => 'required|string',
|
|
|
+ // 'NUMERO_INTERIOR' => 'required|string',
|
|
|
+ 'COLONIA' => 'required|string',
|
|
|
+ 'LOCALIDAD' => 'required|string',
|
|
|
+ 'MUNICIPIO' => 'required|string',
|
|
|
+ 'ENTIDAD_FEDERATIVA' => 'required|string',
|
|
|
+ 'USER' => 'required|string',
|
|
|
+ 'LINE_NUMBER' => 'required|integer',
|
|
|
+ ]);
|
|
|
+ if ($validator->fails()) {
|
|
|
+ return $this->responseController->makeResponse(
|
|
|
+ true,
|
|
|
+ "ERR_SYSTEM_ADMINISTRATOR_TAX_INFORMATION000: Se encontraron uno o más errores.",
|
|
|
+ $this->responseController->makeErrors($validator->errors()->messages()),
|
|
|
+ 401
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ DB::beginTransaction();
|
|
|
+ $responseData = $request->all();
|
|
|
+
|
|
|
+ try {
|
|
|
+ $user = $this->encryptionController->decrypt($responseData['USER']);
|
|
|
+ } catch (\Throwable $th) {
|
|
|
+ DB::rollBack();
|
|
|
+ return $this->responseController->makeResponse(true, "ERR_SYSTEM_ADMINISTRATOR_TAX_INFORMATION001: Ocurrió un error al desencriptar los datos.", [], 401);
|
|
|
+ }
|
|
|
+
|
|
|
+ $now = $this->functionsController->now();
|
|
|
+ $currentDate = $now->toDateTimeString();
|
|
|
+
|
|
|
+ try {
|
|
|
+ $existsActives = DB::table('S002V01TINFI')
|
|
|
+ ->where('INFI_ESTA','=','Activo')
|
|
|
+ ->where('INFI_NULI','=',$responseData['LINE_NUMBER'])
|
|
|
+ ->exists();
|
|
|
+ } catch (\Throwable $th) {
|
|
|
+ DB::rollBack();
|
|
|
+ return $this->responseController->makeResponse(true, "ERR_SYSTEM_ADMINISTRATOR_TAX_INFORMATION002: Ocurrió un error al validar los registros anteriores.", [], 401);
|
|
|
+ }
|
|
|
+ if ($existsActives) {
|
|
|
+ try {
|
|
|
+ $validateUpdate = DB::table('S002V01TINFI')
|
|
|
+ ->where('INFI_ESTA','=','Activo')
|
|
|
+ ->where('INFI_NULI','=',$responseData['LINE_NUMBER'])
|
|
|
+ ->update([
|
|
|
+ 'INFI_ESTA' => 'Inactivo',
|
|
|
+ 'INFI_USMO' => $user,
|
|
|
+ 'INFI_FEMO' => $currentDate,
|
|
|
+ 'INFI_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
|
|
|
+ ]);
|
|
|
+ } catch (\Throwable $th) {
|
|
|
+ DB::rollBack();
|
|
|
+ return $this->responseController->makeResponse(true, "ERR_SYSTEM_ADMINISTRATOR_TAX_INFORMATION002: Ocurrió un error al modificar los registros anteriores.", $th->getMessage(), 401);
|
|
|
+ }
|
|
|
+ if (!$validateUpdate) {
|
|
|
+ DB::rollBack();
|
|
|
+ return $this->responseController->makeResponse(true, "ERR_SYSTEM_ADMINISTRATOR_TAX_INFORMATION003: No se pudo modificar los registros anteriores.", [], 401);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ $validateInsert = DB::table('S002V01TINFI')->insert([
|
|
|
+ 'INFI_NOFI' => $responseData['NOMBRE_FISCAL'],
|
|
|
+ 'INFI_XRFC' => $responseData['RFC'],
|
|
|
+ 'INFI_COEL' => $responseData['CORREO_ELECTRONICO'],
|
|
|
+ 'INFI_CORF' => $responseData['REGIMEN_FISCAL'],
|
|
|
+ 'INFI_LAD1' => $responseData['LADA1'],
|
|
|
+ 'INFI_TEL1' => $responseData['TELEFONO_FIJO'],
|
|
|
+ 'INFI_LAD2' => $responseData['LADA2'],
|
|
|
+ 'INFI_TEL2' => $responseData['TELEFONO_MOVIL'],
|
|
|
+ 'INFI_COPO' => $responseData['CODIGO_POSTAL'],
|
|
|
+ 'INFI_TIVI' => $responseData['TIPOVIALIDAD'],
|
|
|
+ 'INFI_VIAL' => $responseData['NOMBRE_VIALIDAD'],
|
|
|
+ 'INFI_ENCA' => $responseData['ENTRE_CALLE'],
|
|
|
+ 'INFI_YCAL' => $responseData['Y_CALLE'],
|
|
|
+ 'INFI_NUEX' => $responseData['NUMERO_EXTERIOR'],
|
|
|
+ 'INFI_NUIN' => $responseData['NUMERO_INTERIOR'],
|
|
|
+ 'INFI_COLO' => $responseData['COLONIA'],
|
|
|
+ 'INFI_LOCA' => $responseData['LOCALIDAD'],
|
|
|
+ 'INFI_MUNI' => $responseData['MUNICIPIO'],
|
|
|
+ 'INFI_ENFE' => $responseData['ENTIDAD_FEDERATIVA'],
|
|
|
+ 'INFI_NULI' => $responseData['LINE_NUMBER'],
|
|
|
+ 'INFI_USRE' => $user,
|
|
|
+ 'INFI_FERE' => $currentDate,
|
|
|
+ 'INFI_FEAR' => DB::raw('CURRENT_TIMESTAMP'),
|
|
|
+ ]);
|
|
|
+ } catch (\Throwable $th) {
|
|
|
+ DB::rollBack();
|
|
|
+ return $this->responseController->makeResponse(true, "ERR_SYSTEM_ADMINISTRATOR_TAX_INFORMATION004: Ocurrió un error al insertar los datos en la base de datos.", $th->getMessage(), 401);
|
|
|
+ }
|
|
|
+ if (!$validateInsert) {
|
|
|
+ DB::rollBack();
|
|
|
+ return $this->responseController->makeResponse(true, "ERR_SYSTEM_ADMINISTRATOR_TAX_INFORMATION005: No se pudo insertar los datos en la base de datos.", [], 401);
|
|
|
+ }
|
|
|
+
|
|
|
+ DB::commit();
|
|
|
+ return $this->responseController->makeResponse(false, "ÉXITO: Registro Exitoso");
|
|
|
+ }
|
|
|
}
|