facturacionelectronicapy-xmlgen
Version:
API Node JS para generar el archivo XML del Documento electrónico exigido por SIFEN en base a JSON
143 lines • 10.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Contiene la codificacion del XML desde E790-E899
* E9. Campos complementarios comerciales de uso específico (E790-E899)
*
*/
class JSonDteComplementariosService {
/**
* E9. Campos complementarios comerciales de uso específico (E790-E899)
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
generateDatosComplementariosComercialesDeUsoEspecificos(params, data) {
const jsonResult = {};
let entro = false;
if (data['sectorEnergiaElectrica']) {
entro = true;
jsonResult['gGrupEner'] = this.generateDatosSectorEnergiaElectrica(params, data);
}
if (data['sectorSeguros']) {
entro = true;
jsonResult['gGrupSeg'] = this.generateDatosSectorSeguros(params, data);
}
if (data['sectorSupermercados']) {
entro = true;
jsonResult['gGrupSup'] = this.generateDatosSectorSupermercados(params, data);
}
if (data['sectorAdicional']) {
entro = true;
jsonResult['gGrupAdi'] = this.generateDatosAdicionalesUsoComercial(params, data);
}
if (entro) {
return jsonResult;
}
else {
return null;
}
}
/**
* E9.2. Sector Energía Eléctrica (E791-E799)
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
generateDatosSectorEnergiaElectrica(params, data) {
const jsonResult = {
dNroMed: data['sectorEnergiaElectrica']['numeroMedidor'],
dActiv: data['sectorEnergiaElectrica']['codigoActividad'],
dCateg: data['sectorEnergiaElectrica']['codigoCategoria'],
dLecAnt: data['sectorEnergiaElectrica']['lecturaAnterior'],
dLecAct: data['sectorEnergiaElectrica']['lecturaActual'],
dConKwh: data['sectorEnergiaElectrica']['lecturaActual'] - data['sectorEnergiaElectrica']['lecturaAnterior'],
};
/*if (data['lecturaAnterior'] > data['lecturaActual']) {
throw new Error('Sector Energia Electrica lecturaActual debe ser mayor a lecturaAnterior');
}*/
return jsonResult;
}
/**
* E9.3. Sector de Seguros (E800-E809)
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
generateDatosSectorSeguros(params, data) {
const jsonResult = {
dCodEmpSeg: data['sectorSeguros']['codigoAseguradora'],
gGrupPolSeg: {
dPoliza: data['sectorSeguros']['codigoPoliza'],
dUnidVig: data['sectorSeguros']['vigenciaUnidad'],
dVigencia: data['sectorSeguros']['vigencia'],
dNumPoliza: data['sectorSeguros']['numeroPoliza'],
dFecIniVig: data['sectorSeguros']['inicioVigencia'],
dFecFinVig: data['sectorSeguros']['finVigencia'],
dCodInt: data['sectorSeguros']['codigoInternoItem'],
},
};
return jsonResult;
}
/**
* E9.4. Sector de Supermercados (E810-E819
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
generateDatosSectorSupermercados(params, data) {
const jsonResult = {
dNomCaj: data['sectorSupermercados']['nombreCajero'],
dEfectivo: data['sectorSupermercados']['efectivo'],
dVuelto: data['sectorSupermercados']['vuelto'],
dDonac: data['sectorSupermercados']['donacion'],
dDesDonac: data['sectorSupermercados']['donacionDescripcion'].substring(0, 20),
};
return jsonResult;
}
/**
* E9.5. Grupo de datos adicionales de uso comercial (E820-E829)
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
generateDatosAdicionalesUsoComercial(params, data) {
const jsonResult = {};
if (data['sectorAdicional']['ciclo']) {
jsonResult['dCiclo'] = data['sectorAdicional']['ciclo'];
}
if (data['sectorAdicional']['inicioCiclo']) {
jsonResult['dFecIniC'] = data['sectorAdicional']['inicioCiclo'];
}
if (data['sectorAdicional']['finCiclo']) {
jsonResult['dFecFinC'] = data['sectorAdicional']['finCiclo'];
}
if (data['sectorAdicional']['vencimientoPago']) {
let fecha = new Date(data.fecha);
let fechaPago = new Date(data['sectorAdicional']['vencimientoPago']);
jsonResult['dVencPag'] = data['sectorAdicional']['vencimientoPago'];
}
if (data['sectorAdicional']['numeroContrato']) {
jsonResult['dContrato'] = data['sectorAdicional']['numeroContrato'];
}
if (data['sectorAdicional']['saldoAnterior']) {
jsonResult['dSalAnt'] = data['sectorAdicional']['saldoAnterior'];
}
if (data['sectorAdicional']['codigoContratacionDNCP']) {
jsonResult['dCodConDncp'] = data['sectorAdicional']['codigoContratacionDNCP']; //NT20
}
return jsonResult;
}
}
exports.default = new JSonDteComplementariosService();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbkR0ZUNvbXBsZW1lbnRhcmlvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvanNvbkR0ZUNvbXBsZW1lbnRhcmlvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7OztHQUlHO0FBQ0gsTUFBTSw2QkFBNkI7SUFDakM7Ozs7Ozs7T0FPRztJQUNJLHVEQUF1RCxDQUFDLE1BQVcsRUFBRSxJQUFTO1FBQ25GLE1BQU0sVUFBVSxHQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsRUFBRTtZQUNsQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2IsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbEY7UUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUN6QixLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2IsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDeEU7UUFFRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO1lBQy9CLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDYixVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM5RTtRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDM0IsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNiLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsb0NBQW9DLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xGO1FBRUQsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLFVBQVUsQ0FBQztTQUNuQjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssbUNBQW1DLENBQUMsTUFBVyxFQUFFLElBQVM7UUFDaEUsTUFBTSxVQUFVLEdBQVE7WUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQztZQUN4RCxNQUFNLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsaUJBQWlCLENBQUM7WUFDekQsTUFBTSxFQUFFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1lBQ3pELE9BQU8sRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUMxRCxPQUFPLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsZUFBZSxDQUFDO1lBQ3hELE9BQU8sRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztTQUM3RyxDQUFDO1FBRUY7O1dBRUc7UUFDSCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLDBCQUEwQixDQUFDLE1BQVcsRUFBRSxJQUFTO1FBQ3ZELE1BQU0sVUFBVSxHQUFRO1lBQ3RCLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsbUJBQW1CLENBQUM7WUFDdEQsV0FBVyxFQUFFO2dCQUNYLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsY0FBYyxDQUFDO2dCQUM5QyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO2dCQUNqRCxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDNUMsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxjQUFjLENBQUM7Z0JBQ2pELFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ25ELFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsYUFBYSxDQUFDO2dCQUNoRCxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO2FBQ3BEO1NBQ0YsQ0FBQztRQUNGLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssZ0NBQWdDLENBQUMsTUFBVyxFQUFFLElBQVM7UUFDN0QsTUFBTSxVQUFVLEdBQVE7WUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLGNBQWMsQ0FBQztZQUNwRCxTQUFTLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ2xELE9BQU8sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDOUMsTUFBTSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUMvQyxTQUFTLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUMvRSxDQUFDO1FBQ0YsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSyxvQ0FBb0MsQ0FBQyxNQUFXLEVBQUUsSUFBUztRQUNqRSxNQUFNLFVBQVUsR0FBUSxFQUFFLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNwQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekQ7UUFFRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQzFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNqRTtRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdkMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzlEO1FBRUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQzlDLElBQUksS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxJQUFJLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFDckUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDckU7UUFFRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDN0MsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDckU7UUFFRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQzVDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsd0JBQXdCLENBQUMsRUFBRTtZQUNyRCxVQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLE1BQU07U0FDdEY7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUFFRCxrQkFBZSxJQUFJLDZCQUE2QixFQUFFLENBQUMifQ==