consultas-doc-peru
Version:
Consulta de documentos a las diferentes entidades publicas del gobierno del Perú.
123 lines • 4.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const cheerio_1 = tslib_1.__importDefault(require("cheerio"));
const typescript_collections_1 = require("typescript-collections");
const departamento_1 = require("./departamento");
const direccion_1 = require("./direccion");
const razonSocial_1 = require("./razonSocial");
class ParseHtml {
/**
*
* @param string dato
* @return RazonSocial
*
*/
getRazonSocial(dato) {
const razonSocial = new razonSocial_1.RazonSocial();
let _dato = dato.split('-').map((dato) => dato.trim());
let _rs;
if (_dato.length === 3) {
_rs = `${_dato[1]} - ${_dato[2]}`;
}
else {
_rs = _dato[1];
}
razonSocial.Ruc = _dato[0];
razonSocial.RazonSocial = _rs;
return razonSocial;
}
/**
*
* @param string departamento
* @return Departamento
*
*/
getDepartamento(departamento) {
const _departamento = new departamento_1.Departamento();
switch (departamento.toUpperCase()) {
case 'DIOS':
_departamento.Departamento = 'MADRE DE DIOS';
_departamento.Cantidad = 3;
break;
case 'MARTIN':
_departamento.Departamento = 'SAN MARTIN';
_departamento.Cantidad = 2;
break;
case 'LIBERTAD':
_departamento.Departamento = 'LA LIBERTAD';
_departamento.Cantidad = 2;
break;
default:
_departamento.Departamento = departamento;
_departamento.Cantidad = 1;
break;
}
return _departamento;
}
/**
*
* @param string direccionCompleta
* @return Direccion
*
*/
getDireccion(direccionCompleta) {
const direccion = new direccion_1.Direccion();
let _direccion = direccionCompleta.split('-').map((dato) => dato.trim());
let _direccionCompleta = direccionCompleta.split('-').map((dato) => dato.trim());
let _ultimoElemento;
let _docimilio;
let _splitDomicilio;
if (_direccionCompleta.length != 3) {
_direccionCompleta.splice(2);
_docimilio = _direccionCompleta.join(' ');
_splitDomicilio = _docimilio.split(' ');
_ultimoElemento = _splitDomicilio[_splitDomicilio.length - 1];
}
else {
_docimilio = _direccionCompleta[_direccionCompleta.length - 3];
_splitDomicilio = _docimilio.split(' ');
_ultimoElemento = _splitDomicilio[_splitDomicilio.length - 1];
}
let { Cantidad, Departamento } = this.getDepartamento(_ultimoElemento);
_splitDomicilio.splice(-1 * Cantidad);
direccion.Departamento = Departamento;
direccion.Provincia = _direccion[_direccion.length - 1];
direccion.Distrito = _direccion[_direccion.length - 2];
direccion.Domicilio = _splitDomicilio.join(' ');
return direccion;
}
/**
*
* @param string pagina
* @return Dictionary<string,any>
*
*/
parseHtml(pagina) {
const respuesta = new typescript_collections_1.Dictionary();
const $ = cheerio_1.default.load(pagina);
const table = $('.form-table').eq(2).find('tbody');
const html = table.first().children("tr").find("td[class=bg]").html();
if (!html) {
respuesta.setValue('ERROR', {
Estado: 'ERROR',
Respuesta: $('.form-table').eq(1).children('tbody').find('tr .bg').text()
});
return respuesta;
}
table.find('tr .bg').each((i, el) => {
let value = $(el).text().split('\n').map((elemento) => {
if (elemento.trim() != '')
return elemento.replace(/[ \n\t]+/g, " ").trim();
}).filter((elemento) => {
return elemento !== undefined;
});
let key = $(el).prev().text().replace(/[ :\n\t]+/g, " ").trim();
let vl = value.length <= 1 ? value.join() : value;
respuesta.setValue(key, vl);
});
return respuesta;
}
}
exports.ParseHtml = ParseHtml;
//# sourceMappingURL=parseHtml.js.map