UNPKG

consultas-doc-peru

Version:

Consulta de documentos a las diferentes entidades publicas del gobierno del Perú.

77 lines (72 loc) 3.88 kB
import { Dictionary } from 'typescript-collections'; import { ParseHtml } from './parseHtml'; import { Http } from '../Http'; import { Contribuyente } from './contribuyente'; export class Sunat { /** * @property Http */ protected http: Http; /** * @property ParseHtml * */ protected parse: ParseHtml; constructor(){ this.http = new Http(); this.parse = new ParseHtml(); } /** * @param string nroRuc * @return Promise<IContribuyente> * ruc baja : 20163106893 * ruc sunat: 20131312955 * ruc pn = 10467028028 */ async getInformacion(nroRuc: string): Promise<Contribuyente>{ try { const contribuyente = new Contribuyente(); const { Estado, Respuesta } = await this.http.get(nroRuc); if(Estado == 'ERROR' ){ throw Respuesta; } const _contribuyente: Dictionary<string, any> = this.parse.parseHtml(Respuesta.toString()); if(_contribuyente.getValue('ERROR')){ throw _contribuyente.getValue('ERROR'); } const { Departamento, Provincia, Distrito, Domicilio } = this.parse.getDireccion(_contribuyente.getValue('Dirección del Domicilio Fiscal')); const { Ruc, RazonSocial } = this.parse.getRazonSocial(_contribuyente.getValue('Número de RUC')); contribuyente.Ruc = Ruc; contribuyente.RazonSocial = RazonSocial; contribuyente.Tipo = _contribuyente.getValue('Tipo Contribuyente'); contribuyente.TipoDocumento = _contribuyente.getValue('Tipo de Documento') === undefined ? '-' : _contribuyente.getValue('Tipo de Documento').join(' '); contribuyente.NombreComercial = _contribuyente.getValue('Nombre Comercial'); contribuyente.FechaInscripcion = _contribuyente.getValue('Fecha de Inscripción'); contribuyente.FechaInicioActividades = _contribuyente.getValue('Fecha Inicio de Actividades'); contribuyente.Estado = _contribuyente.getValue('Estado del Contribuyente'); contribuyente.FechaBaja = _contribuyente.getValue('Fecha de Baja') === undefined ? '-' : _contribuyente.getValue('Fecha de Baja'); contribuyente.Condicion = _contribuyente.getValue('Condición del Contribuyente'); contribuyente.ProfesionUOficio = _contribuyente.getValue('Profesión u Oficio') === undefined ? '-' : _contribuyente.getValue('Profesión u Oficio'); contribuyente.Departamento = Departamento; contribuyente.Provincia = Provincia; contribuyente.Distrito = Distrito; contribuyente.Direccion = Domicilio; contribuyente.SistemaEmisionComprobante = _contribuyente.getValue('Sistema de Emisión de Comprobante'); contribuyente.ComercioExterior = _contribuyente.getValue('Actividad de Comercio Exterior'); contribuyente.SistemaContabilidad = _contribuyente.getValue('Sistema de Contabilidad'); contribuyente.ActividadesEconomicas = _contribuyente.getValue('Actividad(es) Económica(s)'); contribuyente.ComprobantesPago = _contribuyente.getValue('Comprobantes de Pago c/aut. de impresión (F. 806 u 816)'); contribuyente.SistemaEmisionElectr = _contribuyente.getValue('Sistema de Emisión Electrónica'); contribuyente.FechaAfiliadoPLE = _contribuyente.getValue('Afiliado al PLE desde'); contribuyente.Padrones = _contribuyente.getValue('Padrones'); return contribuyente; } catch (error) { throw error; } } } // const sunat = new Sunat(); // sunat.getInformacion('10484404718').then(resp => { // console.log(resp); // }).catch(e => console.log(e));