@seidor-cloud-produtos/tax-core 1.0.16 → 1.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
e.id = es."establishmentId"
|
|
67
67
|
where
|
|
68
68
|
es.tenantid = $1 and
|
|
69
|
-
e."profileId" = $2;`,[o,i]),e.query('SELECT * FROM scps WHERE "establishmentId" = ANY($1::uuid[]) AND tenantid = $2',[c,o]),e.query('SELECT * FROM establishment_events WHERE "establishmentId" = ANY($1::uuid[]) AND tenantid = $2',[c,o])]);return this.mapDataToEstablishments(d,u.rows,g.rows,p.rows)}mapDataToProfile(e,i,o){let t=new ve;if(t.id=e.id,t.active=e.active,t.validFrom=new Date(e.validFrom),t.validTo=e.validTo?new Date(e.validTo):null,t.mainEstablishmentId=e.mainEstablishmentId,t.tenantid=i,t.alias=e.alias,t.taxation_type=e.taxation_type,o&&!t.checkValidityDate(o))throw new Error("Profile out of valid period");return t}mapDataToStartingCreditBalance(e,i){let o=[];for(let t of e){let d=new Le;d.id=t.id,d.tenantid=i,d.period=t.period,d.establishment_id=t.establishment_id,d.profile_id=t.profile_id,d.type=t.type,d.credit_balance_previous_period=t.credit_balance_previous_period,d.credit_balance_sub_auditing=t.credit_balance_sub_auditing,d.credit_balance_previous_period_fcp=t.credit_balance_previous_period_fcp,d.uf=t.uf,d.credit_balance_control_id=t.credit_balance_control_id,d.withholding_nature_indicator=t.withholding_nature_indicator,d.origin_credit=t.origin_credit,d.type_regime=t.type_regime,d.total_value=t.total_value,d.credit_type=t.credit_type,d.created_at=t.created_at,o.push(d);}return o}mapDataToEstablishments(e,i,o,t){let d=[];for(let c of e){let u=new we;u.id=c.id,u.active=c.active,u.alias=c.alias,u.tenantid=c.tenantid,u.taxation_type=c.taxation_type,u.cod_inc_trib=c.cod_inc_trib,u.single_national_option=c.single_national_option,u.cprb_option=c.cprb_option,u.fiscal_qualification_type=c.fiscal_qualification_type,u.exception_legal_type=c.exception_legal_type,u.branchId=c.branchId,u.profileId=c.profileId,u.fiscal_id_number=new I(c.fiscal_id_number),u.headerAccountPlanId=c.headerAccountPlanId,u.created_at=c.created_at,u.signatories=this.mapDataToSignatories(i?.filter(g=>g.establishmentId===u.id)??[]),u.scps=this.mapDataToScps(o?.filter(g=>g.establishmentId===u.id)??[]),u.events=this.mapDataToEvents(t?.filter(g=>g.establishmentId===u.id)??[]),d.push(u);}return d}mapDataToSignatories(e){return e.map(i=>{let o=new De;return o.id=i.id,o.tenantid=i.tenantid,o.establishmentId=i.establishmentId,o.name=i.name,o.active=i.active,o.fiscal_id_number=new I(i.fiscal_id_number),o.address=i.address,o.zip=i.postal_code,o.personType=i.person_type,o.phone=i.phone,o.email=i.email,o.countyCode=i.county_code,o.fiscalOfficeIdNumber=i.fiscal_office_id_number,o.complement=i.complement,o.fax=i.fax,o.crcIdNumber=i.crc_id_number,o.crcRegYear=i.crc_reg_year,o.crcStateInitials=i.crc_state_initials,o.crcSequentialNumber=i.crc_sequential_number,o.crcValidityDate=i.crc_validity_date,o.inactivationDate=i.inactivation_date,o.number=i.number,o.district=i.district,o})}mapDataToScps(e){return e.map(i=>{let o=new Me;return o.id=i.id,o.tenantid=i.tenantid,o.establishmentId=i.establishmentId,o.fiscal_id_number=i.fiscal_id_number,o.commercial_name=i.commercial_name,o.description=i.description,o.complement=i.complement,o.active=i.active,o.inactivation_date=i.inactivation_date,o})}mapDataToEvents(e){return e.map(i=>{let o=new Ne;return o.id=i.id,o.tenantid=i.tenantid,o.establishmentId=i.establishmentId,o.special_situation=i.special_situation,o.situation_date=i.situation_date,o})}mapDataToReinf(e,i,o){if(!e)return null;let t=i?.map(u=>{let g=new Be;return g.id=u.id,g.tenantid=u.tenantid,g.profile_id=u.profile_id,g.profile_alias=u.profile_alias,g.establishment_id=u.establishment_id,g.establishment_alias=u.establishment_alias,g.cnpj=u.cnpj,g.activity_code=u.activity_code,g.table9=u.table9,g}),d=o?.map(u=>{let g=new ye;return g.id=u.id,g.tenantid=u.tenantid,g.name=u.name,g.errors=u.errors,g.establishments=u.establishments,g.nature_configs=u.nature_configs,g.income_natures=u.income_natures,g.business_partners=u.business_partners,g.nature_totals=u.nature_totals,g.service_code_totals=u.service_code_totals,g.business_partner_totals=u.business_partner_totals,g.establishment_totals=u.establishment_totals,g.active=u.active,g}),c=new Oe;return c.id=e.id,c.natureConfig=d,c.grossRevenueContributionHeaders=t,c.tenantid=e.tenantid,c.profile_id=e.profile_id,c.company_name=e.company_name,c.cnpj=e.cnpj,c.tax_classification_taxpayer=e.tax_classification_taxpayer,c.ecd_required=e.ecd_required,c.payroll_exemption=e.payroll_exemption,c.international_agreement_exemption=e.international_agreement_exemption,c.softhouse_company_name=e.softhouse_company_name,c.softhouse_fiscal_number=e.softhouse_fiscal_number,c.softhouse_contact_name=e.softhouse_contact_name,c.softhouse_telephone=e.softhouse_telephone,c.softhouse_email=e.softhouse_email,c.tax_type=e.tax_type,c.calculation_database=e.calculation_database,c.closing_type=e.closing_type,c.expiration_condition=e.expiration_condition,c.reinf=e.reinf,c.dirf=e.dirf,c.r2060_by_documents=e.r2060_by_documents,c.irf_aliquot=e.irf_aliquot,c.expiration_day=e.expiration_day,c.layout_version=e.layout_version,c.environment_identification=e.environment_identification,c}mapDataToEcd(e){if(!e)return null;let i=new ze;return i.id=e._id?.toString(),i.tenantid=e.tenantid,i.profile_id=e.profile_id,i.profile_alias=e.profile_alias,i.cod_ent_ref=e.cod_ent_ref,i.cod_inscr=e.cod_inscr,i.num_ord=e.num_ord,i.ind_esc=e.ind_esc,i.is_dlpa_dmpl=e.is_dlpa_dmpl,i.referential_account_plan=e.referential_account_plan,i.ind_tip=e.ind_tip,i}mapDataToEcf(e){if(!e)return null;let i=new Ie;return i.id=e.id,i.tenantid=e.tenantid,i.profile_id=e.profile_id,i.codigo_natureza_juridica=e.codigo_natureza_juridica,i.metodo_avaliacao_estoque_final=e.metodo_avaliacao_estoque_final,i.cnae_principal=e.cnae_principal,i.informar_centro_de_custos=e.informar_centro_de_custos,i.periodo_apuracao_irpj_csll=e.periodo_apuracao_irpj_csll,i.qualificacao_pessoa_juridica=e.qualificacao_pessoa_juridica,i.forma_apuracao_jan=e.forma_apuracao_jan,i.forma_apuracao_fev=e.forma_apuracao_fev,i.forma_apuracao_mar=e.forma_apuracao_mar,i.forma_apuracao_abr=e.forma_apuracao_abr,i.forma_apuracao_mai=e.forma_apuracao_mai,i.forma_apuracao_jun=e.forma_apuracao_jun,i.forma_apuracao_jul=e.forma_apuracao_jul,i.forma_apuracao_ago=e.forma_apuracao_ago,i.forma_apuracao_set=e.forma_apuracao_set,i.forma_apuracao_out=e.forma_apuracao_out,i.forma_apuracao_nov=e.forma_apuracao_nov,i.forma_apuracao_dez=e.forma_apuracao_dez,i.escrituracao=e.escrituracao,i.tipo_pessoa_juridica=e.tipo_pessoa_juridica,i.apuracao_irpj=e.apuracao_irpj,i.apuracao_csll=e.apuracao_csll,i.pj_sujeito_aliquota_csll=e.pj_sujeito_aliquota_csll,i.quantidade_total_scp_socio_ostensivo=e.quantidade_total_scp_socio_ostensivo,i.participacoes_consorcio_empresas=e.participacoes_consorcio_empresas,i.administradora_fundos_e_clubes=e.administradora_fundos_e_clubes,i.operacoes_exterior=e.operacoes_exterior,i.operacoes_pessoa_vinculada=e.operacoes_pessoa_vinculada,i.participacoes_exterior=e.participacoes_exterior,i.pj_artigos_48_49=e.pj_artigos_48_49,i.atividade_rural=e.atividade_rural,i.isencao_reducao_lucro_presumido=e.isencao_reducao_lucro_presumido,i.lucro_exploracao=e.lucro_exploracao,i.ind_finor_finam=e.ind_finor_finam,i.pagamentos_exterior_ou_nao_residentes=e.pagamentos_exterior_ou_nao_residentes,i.recebimentos_exterior_ou_nao_residentes=e.recebimentos_exterior_ou_nao_residentes,i.ativos_exterior=e.ativos_exterior,i.participacao_equivalencia_patrimonial=e.participacao_equivalencia_patrimonial,i.royalties_recebidos_brasil_exterior=e.royalties_recebidos_brasil_exterior,i.royalties_pagos_brasil_exterior=e.royalties_pagos_brasil_exterior,i.comercio_eletronico_e_ti=e.comercio_eletronico_e_ti,i.rendimentos_relativos=e.rendimentos_relativos,i.pagamentos_ou_remessa_brasil_exterior=e.pagamentos_ou_remessa_brasil_exterior,i.pj_habilitada=e.pj_habilitada,i.capacitacao_informatica_e_inclusao=e.capacitacao_informatica_e_inclusao,i.inovacao_tec=e.inovacao_tec,i.areas_livre_comercio=e.areas_livre_comercio,i.polo_industrial_manaus_amazonia=e.polo_industrial_manaus_amazonia,i.zonas_processamento_exportacao=e.zonas_processamento_exportacao,i.entidade_grupo_multinacional=e.entidade_grupo_multinacional,i.declaracao_moeda_estrangeira=e.declaracao_moeda_estrangeira,i.opcao_preco_transferencia_ano_calendario_2023=e.opcao_preco_transferencia_ano_calendario_2023,i.percentual_irpj=e.percentual_irpj,i.percentual_csll=e.percentual_csll,i}async mapDataToEfdContrib(e){if(!e)return null;let i=this._mongoClients.efdContrib,[o,t]=await Promise.all([i.db().collection("revenue_nature_settings").findOne({profile_id:e.profile_id,tenantid:e.tenantid}),i.db().collection("calculation_basis_nature_setting").findOne({profile_id:e.profile_id,tenantid:e.tenantid})]),d=o?.data?.map(g=>{let p=new Ce;return p.id=g.id,p.tenantid=g.tenantid,p.profile_id=g.profile_id,p.item_code=g.item_code,p.item_description=g.item_description,p.cst_pis_cofins=g.cst_pis_cofins,p.revenue_nature_code=g.revenue_nature_code,p.revenue_nature_description=g.revenue_nature_description,p.cfop=g.cfop,p.accounts_plan=g.accounts_plan,p.accounting_account=g.accounting_account,p.complementary_description=g.complementary_description,p.active=g.active,p.isMain=g.isMain,p.logs=g.logs,p}),c=t?.data?.map(g=>{let p=new Te;return p.id=g._id,p.tenantid=g.tenantid,p.profiles=g.profiles,p.tax_settings=g.tax_settings,p}),u=new Re;return u.id=e._id.toString(),u.tenantid=e.tenantid,u.profile_id=e.profile_id,u.ind_nat_pj=e.ind_nat_pj,u.ind_apro_cred=e.ind_apro_cred,u.cod_tipo_cont=e.cod_tipo_cont,u.ind_reg_cum=e.ind_reg_cum,u.profile_alias=e.profile_alias,u.establishment_id=e.establishment_id,u.establishment_alias=e.establishment_alias,u.cod_inc_trib=e.cod_inc_trib,u.cod_atv_econ=e.cod_atv_econ,u.aliq_cont=e.aliq_cont,u.cod_rec=e.cod_rec,u.natureSettings=d,u.calculationBasisNature=c,u}async mapDataToEfdIcmsIpi(e,i=[]){if(!e?.length)return [];let o=[];for(let t of e){let d=i?.filter(g=>g.establishment_id===t.establishment_id),c=[];d?.length&&(c=d.map(g=>{let p=new Ee;return p.id=g._id,p.tenantid=g.tenantid,p.profile_id=g.profile_id,p.establishment_id=g.establishment_id,p.description=g.description,p}));let u=new Ae;u.id=t._id?.toString(),u.branch_id=t.branch_id,u.profile_id=t.profile_id,u.profile_alias=t.profile_alias,u.establishment_id=t.establishment_id,u.establishment_alias=t.establishment_alias,u.profile_indicator=t.profile_indicator,u.ind_apur=t.ind_apur,u.zfm_alc=t.zfm_alc,u.reg_trib=t.reg_trib,u.has_blockK=t.has_blockK,u.layout_k=t.layout_k,u.tax_type_config=t.tax_type_config,u.has_blockH=t.has_blockH,u.blockH_movement_indicator=t.blockH_movement_indicator,u.icms_credit_config=t.icms_credit_config,u.tenantid=t.tenantid,u.created_at=t.created_at,u.updated_at=t.updated_at,u.gia_st_layout_version=t.gia_st_layout_version,u.icmsAdjustmentSetting=c,o.push(u);}return o}};_(Co,"ProfileDbRepository");var tt=Co;var st=(e=>(e.REGISTER_CREATED="register_created",e))(st||{});function us(n,e){return {event:n,dataTypeName:e.constructor.name,data:e}}_(us,"newRegisterEvent");function ya(n){return us("register_created",n)}_(ya,"newRegisterEventData");var To=class To{constructor(e,i){this._name=e,this.eventEmitter=new events.EventEmitter,this.registersPersist=i;}notifyEvent(e){this.eventEmitter.emit(e.event,e);}get name(){return this._name}get registers(){let e=_((i,o)=>i.reg.localeCompare(o.reg),"sortApproach");return this.registersPersist.all().sort(e)}addSubscriber(e){this.eventEmitter.on("register_created",function(i){return e.eventHandler.call(e,i)});}addRegister(e){this.registersPersist.add(e),this.notifyEvent(ya(e));}hasContent(){return this.registersPersist.hasRegisters()}getRegisterByKey(e){return this.registersPersist.getByKey(e)}numberOfRegisters(){let e=0;for(let i of this.registersPersist.all())e+=i.numberOfRegisters();return e}};_(To,"Block");var Oa=To;var Ro=class Ro extends Oa{constructor(e,i="9"){super(i,e);}eventHandler(e){}};_(Ro,"CounterBlock");var Ma=Ro;var Je=Symbol("key"),je=Symbol("onDuplicationStrategy"),ct=19,gs=255,fs=",",bs=2,ps=(i=>(i[i.alphanumeric=0]="alphanumeric",i[i.numeric=1]="numeric",i))(ps||{}),Ss=(i=>(i[i.property=0]="property",i[i.method=1]="method",i))(Ss||{}),Eo=(t=>(t[t.Error=0]="Error",t[t.Ignore=1]="Ignore",t[t.Overwrite=2]="Overwrite",t[t.Duplicate=3]="Duplicate",t))(Eo||{});function dt(n,e,i,o=false,t=0,d=""){return {required:n,dataType:1,maximumLength:e,maximumDecimalsLength:t,fillEntireLength:o,valueProvider:i,decimalSeparator:d}}_(dt,"numericField");function As(n,e,i,o=false,t=0,d=false,c=false){return {required:n,dataType:0,maximumLength:e,maximumDecimalsLength:t,fillEntireLength:o,valueProvider:i,decimalSeparator:"",removeAccents:d,removeSpecialCharacters:c}}_(As,"alphanumericField");function Da(n=false,e=false,i=ct){return function(o,t,d){Reflect.defineMetadata(t,dt(n,i,d?1:0,e),o);}}_(Da,"Numeric");function n4(n=false,e=false,i=ct,o=bs,t=fs){return function(d,c,u){Reflect.defineMetadata(c,dt(n,i,u?1:0,e,o,t),d);}}_(n4,"Decimal");function He(n=false,e=false,i=gs,o=false,t=false){return function(d,c,u){Reflect.defineMetadata(c,As(n,i,u?1:0,e,0,o,t),d);}}_(He,"Alphanumeric");function Ps(){return {fields:[]}}_(Ps,"key");function hs(n,e){return {fieldName:n,valueProvider:e}}_(hs,"keyFieldDefinition");function La(){return function(n,e,i){let o=Reflect.getOwnMetadata(Je,n);if(!o){let t=Reflect.getMetadata(Je,n);t?o={fields:[...t.fields]}:o=Ps();}o.fields.push(hs(e,i?1:0)),Reflect.defineMetadata(Je,o,n);}}_(La,"Key");function l4(n=0){return function(e){Reflect.defineMetadata(je,n,e);}}_(l4,"OnDuplication");var ke=class ke{constructor(e=0,i="9900"){this.reg_blc="";this.qtd_reg_blc=0;this.reg=i,this.qtd_reg_blc=e;}tagName(){return this.reg}getChildren(){return []}getKeyValue(){return `${this.reg}${this.reg_blc}`}getChildrenByRegTag(e){return []}numberOfRegisters(){throw new Error("Method not implemented.")}numberOfChildRegisters(){throw new Error("Method not implemented.")}numberOfRegisterByTagName(){throw new Error("Method not implemented.")}getOnDuplicationStrategy(){return Reflect.getMetadata(je,this.constructor)??0}};_(ke,"CounterRegister"),te([La(),He()],ke.prototype,"reg_blc"),te([Da()],ke.prototype,"qtd_reg_blc");var Ye=ke;var xa=class xa{constructor(e,i){this.reg="";this._children=[],this._childrenKeys=new Set,this.reg=e,this._registerNotifier=i;}tagName(){return this.reg}addChild(e,i=true){if(i){let o=e.getKeyValue();if(this._childrenKeys.has(o))throw new Error(`duplicate register key: '${o}'`);this._childrenKeys.add(o);}this._children.push(e),this._registerNotifier!==null&&this._registerNotifier.notifyEvent(ya(e));}getChildren(){return this._children}getKeyValue(){let e=Reflect.getMetadata(Je,this),i="";for(let o of e.fields)i=i.concat(this[o.fieldName]||"");return i}getChildrenByRegTag(e){let i=[];for(let o of this.getChildren())o.tagName()===e&&i.push(o);return i}numberOfRegisters(){let e=1;for(let i of this.getChildren())e+=i.numberOfRegisters();return e}numberOfChildRegisters(){let e=this.getChildren().length;for(let i of this.getChildren())e+=i.numberOfChildRegisters();return e}numberOfRegisterByTagName(){let e=new Map;e.set(this.tagName(),1);for(let i of this.getChildren()){let o=i.numberOfRegisterByTagName();for(let[t,d]of o)e.has(t)?e.set(t,e.get(t)+d):e.set(t,d);}return e}getOnDuplicationStrategy(){return Reflect.getMetadata(je,this.constructor)??0}};_(xa,"Register"),te([La()],xa.prototype,"reg");var xe=xa;var wo=class wo{constructor(){this._blocksCounters=new Map;}countRegister(e){let i=e.reg[0],o=this._blocksCounters.has(i)?this._blocksCounters.get(i):new Map;o.has(e.reg)?o.set(e.reg,o.get(e.reg)+1):o.set(e.reg,1),this._blocksCounters.set(i,o);}getBlockRegistersTotal(e){let i=0,o=this._blocksCounters.get(e);if(!o)return i;for(let t of o.values())i+=t;return i}getAllTagsCounters(){let e=new Map;return Array.from(this._blocksCounters.keys()).sort((o,t)=>o.localeCompare(t)).forEach(o=>{let t=this._blocksCounters.get(o);Array.from(t.keys()).sort((c,u)=>c.localeCompare(u)).forEach(c=>{e.set(c,t.get(c));});}),e}};_(wo,"TagCounter");var Va=wo;var Fa=class Fa{static createInstance(){return new Fa}constructor(){this.registers=new Map,this.registersByKey=new Map;}getByKey(e){return this.registersByKey.get(e)?.register}set(e,i){let o=this.registers.get(e);if(o)for(let t of o)this.registersByKey.delete(t.getKeyValue());this.registers.set(e,[]);for(let t of i)this.add(t);}hasRegisters(){return this.registersByKey.size!==0}all(){return Array.from(this.registers.values()).flatMap(e=>e)}get(e){return this.registers.get(e)}has(e){return this.registers.has(e)}add(e){let i=e.getKeyValue(),o=e.reg;this.registers.has(o)||this.registers.set(o,[]);let t=this.registersByKey.get(i);if(!t){let c=this.registers.get(o),u=c.length;c.push(e),this.registersByKey.set(i,{register:e,tag:o,index:u});return}switch(e.getOnDuplicationStrategy()){case 1:return;case 2:let{tag:c,index:u}=t,g=this.registers.get(c);g[u]=e,this.registersByKey.set(i,{register:e,tag:c,index:u});return;case 3:let p=this.registers.get(o),f=p.length;p.push(e),this.registersByKey.set(i,{register:e,tag:o,index:f});return;default:throw new Error(`duplicate register key: ${i}`)}}};_(Fa,"MemoryPersist");var Ua=Fa;var qa=class qa{constructor(){}static createInstance(){return new qa}write(e){console.log(e);}save(){console.log("Saving content");}};_(qa,"ConsoleOutput");var Ga=qa;var Ja=class Ja{constructor(e){this._options=e;}save(){this._options.writer.save();}static defaultOptions(e=Ga.createInstance()){return {writer:e,fieldSeparator:"|",separatorAtTheRegisterStart:false,separatorAtTheRegisterEnd:false,writeRegisterTag:true}}static newWithDefaultOptions(){return this.newWithOptions(this.defaultOptions())}static newWithOptions(e){return new Ja(e)}get writer(){return this._options.writer}generate(e){let i=Reflect.getMetadataKeys(e).filter(t=>typeof t!="symbol"),o=`${this._options.separatorAtTheRegisterStart?this._options.fieldSeparator:""}`;this._options.writeRegisterTag&&(o=o.concat(`${e.reg}${this._options.fieldSeparator}`));for(let t=0;t<i.length;t++){let d=i[t],c=Reflect.getMetadata(d,e);switch(c.dataType){case 0:o=o.concat(this.alphanumericValue(c,e[d]),t!=i.length-1?this._options.fieldSeparator:"");break;case 1:o=o.concat(this.numericValue(c,e[d]),t!=i.length-1?this._options.fieldSeparator:"");break}}this._options.separatorAtTheRegisterEnd&&(o=o.concat(this._options.fieldSeparator)),this.writer.write(o);}alphanumericValue(e,i){if(!e.required&&!i)return "";let o=String(i);return e.removeAccents&&(o=o.normalize("NFD").replace(/[\u0300-\u036f]/g,"")),e.removeSpecialCharacters&&(o=o.replace(/[^a-zA-Z0-9\s]/g,"").trim()),e.maximumLength>0&&(o=o.slice(0,e.maximumLength)),e.fillEntireLength&&(o=o.padEnd(e.maximumLength," ")),o}numericValue(e,i){if(i==null&&(e.required||e.maximumDecimalsLength===0))return "";let o=i!=null?String(i):"0",t=o.indexOf("."),d=t===-1?o:o.substring(0,t),c=t!==-1;if(!e.required&&/^0+$/.test(d)&&!c)return "";let u=d;if(e.maximumDecimalsLength>0){let g;if(c){let p=Number(i).toFixed(e.maximumDecimalsLength),f=p.indexOf(".");g=p.substring(f+1);}else g="0".repeat(e.maximumDecimalsLength);u=u+e.decimalSeparator+g;}return e.fillEntireLength&&e.maximumLength>0&&(u=u.padStart(e.maximumLength,"0")),u}};_(Ja,"TaxRegisterGenerator");var Ve=Ja;var rt="9999",_t="001",nt="990";var ja=class ja extends xe{constructor(){super(rt,{});this.qtd_lin=0;}};_(ja,"CloseFile"),te([Da()],ja.prototype,"qtd_lin");var No=ja,Ha=class Ha extends xe{constructor(i){super(i,{});this.ind_mov=1;}};_(Ha,"OpenBlock"),te([He(true,false,1)],Ha.prototype,"ind_mov");var vo=Ha,ka=class ka extends xe{constructor(i){super(i,{});this.qtd_lin=0;}};_(ka,"CloseBlock"),te([He()],ka.prototype,"qtd_lin");var Bo=ka,Ya=class Ya{constructor(e){this._options=e,this._counters=new Va;}static defaultOptions(e,i){return {openSuffix:_t,closeSuffix:nt,openFileRegister:e,registerGenerator:i}}static newWithDefaultOptions(e){return this.newWithOptions(this.defaultOptions(e,Ve.newWithDefaultOptions()))}static newWithOptions(e){return new Ya(e)}beforeGeneration(e){this.addRegister(this._options.openFileRegister);}generation(e){let i=e.Blocks;for(let o of i)this.addBlock(o);}afterGeneration(e){let i=this._counters.getAllTagsCounters(),o=new Ma(Ua.createInstance()),t=new No;i.set(`${o.name}${_t}`,1),i.set(`${o.name}${nt}`,1),i.set(rt,1),i.forEach((c,u)=>{let g=new Ye;g.reg_blc=u,g.qtd_reg_blc=c,t.qtd_lin+=c,o.addRegister(g);});let d=new Ye;d.reg_blc=d.reg,d.qtd_reg_blc=i.size+1,t.qtd_lin+=i.size+1,o.addRegister(d),this.addBlock(o),this._options.registerGenerator.generate(t);}beforeBlockGeneration(e){let i=new vo(`${e.name}${this._options.openSuffix}`);i.ind_mov=e.hasContent()?0:1,this.addRegister(i);}blockGeneration(e){for(let i of e.registers)this.addRegister(i);}beforeRegisterGeneration(e){}registerGeneration(e){this._options.registerGenerator.generate(e);for(let i of e.getChildren())this.addRegister(i);}afterRegisterGeneration(e){this._counters.countRegister(e);}afterBlockGeneration(e){let i=new Bo(`${e.name}${this._options.closeSuffix}`);i.qtd_lin=this._counters.getBlockRegistersTotal(e.name)+1,e.name==="9"&&(i.qtd_lin+=1),this.addRegister(i);}addBlock(e){this.beforeBlockGeneration(e),this.blockGeneration(e),this.afterBlockGeneration(e);}addRegister(e){this.beforeRegisterGeneration(e),this.registerGeneration(e),this.afterRegisterGeneration(e);}generateFile(e){this.beforeGeneration(e),this.generation(e),this.afterGeneration(e),this._options.registerGenerator.save();}};_(Ya,"ReportGenerator");var lt=Ya;var Wa=class Wa{constructor(e){this._options=e;}static defaultOptions(e,i){return {openFileRegister:e,registerGenerator:i}}static newWithDefaultOptions(e){return this.newWithOptions(this.defaultOptions(e,Ve.newWithDefaultOptions()))}static newWithOptions(e){return new Wa(e)}beforeGeneration(e){this._options.openFileRegister&&this.addRegister(this._options.openFileRegister);}generation(e){let i=e.Blocks;for(let o of i)this.addBlock(o);}afterGeneration(e){}beforeBlockGeneration(e){}blockGeneration(e){for(let i of e.registers)this.addRegister(i);}beforeRegisterGeneration(e){}registerGeneration(e){this._options.registerGenerator.generate(e);for(let i of e.getChildren())this.addRegister(i);}afterRegisterGeneration(e){}afterBlockGeneration(e){}addBlock(e){this.beforeBlockGeneration(e),this.blockGeneration(e),this.afterBlockGeneration(e);}addRegister(e){this.beforeRegisterGeneration(e),this.registerGeneration(e),this.afterRegisterGeneration(e);}generateFile(e){this.beforeGeneration(e),this.generation(e),this.afterGeneration(e),this._options.registerGenerator.save();}};_(Wa,"SimpleReportGenerator");var ut=Wa;var yo=class yo{constructor(){this._blocks=new Map;}registerBlock(e){return this._blocks.set(e.name,e),this}getBlock(e){return this._blocks.get(e)}get Blocks(){return Array.from(this._blocks.values())}};_(yo,"TaxReport");var mt=yo;var Oo=class Oo{constructor(){this.output=[];}write(e){this.output.push(e);}save(){console.log(`Pushed ${this.output.length} lines to array`);}get Output(){return this.output}};_(Oo,"StringArrayOutput");var gt=Oo;var F={AUTH:{UNAUTHORIZED:"UNAUTHORIZED",TOKEN_EXPIRED:"TOKEN_EXPIRED"},DATABASE:{CONNECTION_FAILED:"CONNECTION_FAILED",QUERY_ERROR:"QUERY_ERROR"},VALIDATION:{INVALID_INPUT:"INVALID_INPUT",MISSING_FIELD:"MISSING_FIELD"},INTERNAL:{INTERNAL_SERVER_ERROR:"INTERNAL_SERVER_ERROR",UNEXPECTED_ERROR:"UNEXPECTED_ERROR"},SETTING:{PROFILE_NOT_SET_UP:"PROFILE_NOT_SET_UP",REINF_NOT_ENABLED:"REINF_NOT_ENABLED",R2060_CONFIG_CONFLICT:"R2060_CONFIG_CONFLICT"}};var zs=(d=>(d.AUTH="AUTH",d.DATABASE="DB",d.VALIDATION="VALID",d.INTERNAL="INTERNAL",d.SETTING="SETTING",d))(zs||{}),Ka="pt-BR";var Do=class Do{constructor(){this.messages={};this.usedKeys=new Set;}addMessage(e){if(this.usedKeys.has(e.key))throw new Error(`Duplicate message key: ${e.key}`);return this.usedKeys.add(e.key),this.messages[e.key]=e,this}build(){return {...this.messages}}};_(Do,"MessageBuilder");var Mo=Do,Is=new Mo().addMessage({key:F.AUTH.UNAUTHORIZED,category:"AUTH",userMessage:{"pt-BR":"Você não tem permissão para acessar {endpoint}.","en-US":"You do not have permission to access {endpoint}.","es-ES":"No tienes permiso para acceder a {endpoint}."},actionSuggestion:{"pt-BR":"Faça login novamente ou contate o suporte.","en-US":"Log in again or contact support.","es-ES":"Inicia sesión nuevamente o contacta al soporte."},technicalMessage:"Unauthorized access attempt on endpoint {endpoint}."}).addMessage({key:F.AUTH.TOKEN_EXPIRED,category:"AUTH",userMessage:{"pt-BR":"Sua sessão expirou ao acessar {endpoint}.","en-US":"Your session expired while accessing {endpoint}.","es-ES":"Tu sesión ha expirado al acceder a {endpoint}."},actionSuggestion:{"pt-BR":"Faça login novamente para continuar.","en-US":"Log in again to continue.","es-ES":"Inicia sesión nuevamente para continuar."},technicalMessage:"Token expired for user {userId} on endpoint {endpoint}."}).addMessage({key:F.DATABASE.CONNECTION_FAILED,category:"DB",userMessage:{"pt-BR":"Não foi possível conectar ao banco de dados.","en-US":"Could not connect to the database.","es-ES":"No se pudo conectar a la base de datos."},actionSuggestion:{"pt-BR":"Tente novamente mais tarde.","en-US":"Try again later.","es-ES":"Intenta de nuevo más tarde."},technicalMessage:"Database connection failed: {error}."}).addMessage({key:F.DATABASE.QUERY_ERROR,category:"DB",userMessage:{"pt-BR":"Erro ao processar sua solicitação no banco de dados.","en-US":"Error processing your request in the database.","es-ES":"Error al procesar tu solicitud en la base de datos."},actionSuggestion:{"pt-BR":"Tente novamente ou contate o suporte.","en-US":"Try again or contact support.","es-ES":"Intenta de nuevo o contacta al soporte."},technicalMessage:"Database query failed: {query} with error {error}."}).addMessage({key:F.VALIDATION.INVALID_INPUT,category:"VALID",userMessage:{"pt-BR":"Os dados fornecidos são inválidos: {inputDetails}.","en-US":"The provided data is invalkey: {inputDetails}.","es-ES":"Los datos proporcionados son inválidos: {inputDetails}."},actionSuggestion:{"pt-BR":"Verifique os campos e tente novamente.","en-US":"Check the fields and try again.","es-ES":"Verifica los campos e intenta de nuevo."},technicalMessage:"Validation failed for input: {inputDetails}."}).addMessage({key:F.VALIDATION.MISSING_FIELD,category:"VALID",userMessage:{"pt-BR":"Campo obrigatório ausente: {fieldName}.","en-US":"Required field missing: {fieldName}.","es-ES":"Campo obligatorio ausente: {fieldName}."},actionSuggestion:{"pt-BR":"Preencha todos os campos necessários.","en-US":"Fill in all required fields.","es-ES":"Completa todos los campos necesarios."},technicalMessage:"Missing required field: {fieldName}."}).addMessage({key:F.INTERNAL.INTERNAL_SERVER_ERROR,category:"INTERNAL",userMessage:{"pt-BR":"Algo inesperado aconteceu.","en-US":"Something unexpected happended.","es-ES":"Algo inesperado pasó."},actionSuggestion:{"pt-BR":"Tente novamente mais tarde.","en-US":"Try again later.","es-ES":"Intenta de nuevo más tarde."},technicalMessage:"Internal server error: {error}."}).addMessage({key:F.SETTING.PROFILE_NOT_SET_UP,category:"SETTING",userMessage:{"pt-BR":"O Perfil Fiscal Especializado para a obrigação não está configurado.","en-US":"The Specialized Tax Profile for the obligation is not configured.","es-ES":"El Perfil Tributario Especializado para la obligación no está configurado."},actionSuggestion:{"pt-BR":"Configure-o e gere uma nova apuração.","en-US":"Configure it and generate a new auditing.","es-ES":"Configuralo y genera una nueva encuesta."},technicalMessage:"The Specialized Profile ({profileName}) is not configured for the EFD Contributions obligation."}).addMessage({key:F.SETTING.REINF_NOT_ENABLED,category:"SETTING",userMessage:{"pt-BR":"A declaração REINF não está habilitada para este perfil. Ative nas configurações.","en-US":"REINF declaration is not enabled for this profile. Enable in settings.","es-ES":"La declaración REINF no está habilitada para este perfil. Actívala en la configuración."},actionSuggestion:{"pt-BR":"Ative o REINF nas configurações do perfil.","en-US":"Enable REINF in the profile configuration settings.","es-ES":"Activa REINF en la configuración del perfil."},technicalMessage:"REINF is not activated for profile: {profileId}."}).addMessage({key:F.SETTING.R2060_CONFIG_CONFLICT,category:"SETTING",userMessage:{"pt-BR":"Conflito de configuração: R2060 está configurado para apuração por documentos, mas foi solicitada apuração por F100.","en-US":"Configuration conflict: R2060 is configured for document calculation, but F100 calculation was requested.","es-ES":"Conflicto de configuración: R2060 está configurado para cálculo por documentos, pero se solicitó cálculo por F100."},actionSuggestion:{"pt-BR":"Altere a configuração r2060_by_documents para false no perfil.","en-US":"Change r2060_by_documents setting to false in profile configuration.","es-ES":"Cambia la configuración r2060_by_documents a false en el perfil."},technicalMessage:"R2060 is being calculated from documents. Change configuration to use F100 calculation."}).addMessage({key:F.INTERNAL.UNEXPECTED_ERROR,category:"INTERNAL",userMessage:{"pt-BR":"Ocorreu um erro inesperado durante o processamento da apuração REINF.","en-US":"An unexpected error occurred during REINF calculation processing.","es-ES":"Ocurrió un error inesperado durante el procesamiento del cálculo REINF."},actionSuggestion:{"pt-BR":"Verifique os logs da aplicação, recursos do sistema e contate o suporte se o erro persistir.","en-US":"Check application logs, system resources and contact support if the error persists.","es-ES":"Verifica los logs de la aplicación, recursos del sistema y contacta al soporte si el error persiste."},technicalMessage:"Unexpected error while generating REINF calculation: {originalError}. Context: profileId={profileId}, period={period}, tenantId={tenantId}."}),Ue=Is.build();var Cs={[F.AUTH.UNAUTHORIZED]:{required:["endpoint"]},[F.AUTH.TOKEN_EXPIRED]:{required:["endpoint","userId"]},[F.DATABASE.CONNECTION_FAILED]:{required:["error"]},[F.DATABASE.QUERY_ERROR]:{required:["error","query"]},[F.VALIDATION.INVALID_INPUT]:{required:["inputDetails"]},[F.VALIDATION.MISSING_FIELD]:{required:["fieldName"]},[F.INTERNAL.INTERNAL_SERVER_ERROR]:{required:["error"]},[F.SETTING.PROFILE_NOT_SET_UP]:{required:["profileName"]},[F.SETTING.REINF_NOT_ENABLED]:{required:["profileId"]},[F.SETTING.R2060_CONFIG_CONFLICT]:{required:[]},[F.INTERNAL.UNEXPECTED_ERROR]:{required:["originalError","profileId","period","tenantId"]}};function ft(n,e){let i=Cs[n];if(!i)return;let o=i.required.filter(d=>!(d in e)||e[d]===void 0||e[d]===null);if(o.length>0)throw new Error(`Missing required parameters for message ${n} (${Ue[n].key}): ${o.join(", ")}`);let t=i.required.filter(d=>typeof e[d]=="string"&&e[d].trim()==="");if(t.length>0)throw new Error(`Empty values provided for parameters in message ${n} (${Ue[n].key}): ${t.join(", ")}`)}_(ft,"validateParams");function Za(n,e){return Object.entries(e).reduce((i,[o,t])=>i.replace(`{${o}}`,String(t)),n)}_(Za,"formatMessage");function Ts(n,e,i,o=Ka){let t=Ue[n];if(!t)throw new Error(`Message with code ${n} not found.`);ft(n,e);let c={file:(new Error().stack?.split("\\n")[2]||"").split("(")[1]?.split(")")[0]||"unknown",memoryUsage:{rss:Pe(process.memoryUsage().rss),heapUsed:Pe(process.memoryUsage().heapUsed),heapTotal:Pe(process.memoryUsage().heapTotal),external:Pe(process.memoryUsage().external),arrayBuffers:Pe(process.memoryUsage().arrayBuffers)},cpuUsage:{user:Pe(process.cpuUsage().user),system:Pe(process.cpuUsage().system)},...i},u=t.userMessage[o]||t.userMessage[Ka],g=t.actionSuggestion[o]||t.actionSuggestion[Ka],p=Za(t.technicalMessage,e);return console.error(`[${t.key}] ${p}`,c),{messageCode:n,userMessage:Za(u,e),actionSuggestion:Za(g,e)}}_(Ts,"logWithContext");function Pe(n){return `${(n/1024/1024).toFixed(2)} MB`}_(Pe,"formatMemory");var Lo=class Lo{constructor(e,i,o,t,d,c=false,u=20,g=5,p=1e4,f=45e3){this.host=e;this.port=i;this.database=o;this.username=t;this.password=d;this.isSrv=c;this.maxPoolSize=u;this.minPoolSize=g;this.connectTimeoutMS=p;this.socketTimeoutMS=f;}getConnectionString(){let e=this.username&&this.password?`${encodeURIComponent(this.username)}:${encodeURIComponent(this.password)}@`:"",i=this.isSrv?"":`:${this.port}`;return `${this.isSrv?"mongodb+srv":"mongodb"}://${e}${this.host}${i}/${this.database}`}getPoolOptions(){return {maxPoolSize:this.maxPoolSize,minPoolSize:this.minPoolSize,connectTimeoutMS:this.connectTimeoutMS,socketTimeoutMS:this.socketTimeoutMS}}};_(Lo,"MongoConfig");var bt=Lo;it__namespace.config();var xo=class xo{constructor(e){this.config=e;}getConnection(){return {user:this.config.user,host:this.config.host,database:this.config.database,password:this.config.password,port:this.config.port,ssl:this.config.ssl}}};_(xo,"PostgresConfig");var pt=xo;
|
|
69
|
+
e."profileId" = $2;`,[o,i]),e.query('SELECT * FROM scps WHERE "establishmentId" = ANY($1::uuid[]) AND tenantid = $2',[c,o]),e.query('SELECT * FROM establishment_events WHERE "establishmentId" = ANY($1::uuid[]) AND tenantid = $2',[c,o])]);return this.mapDataToEstablishments(d,u.rows,g.rows,p.rows)}mapDataToProfile(e,i,o){let t=new ve;if(t.id=e.id,t.active=e.active,t.validFrom=new Date(e.validFrom),t.validTo=e.validTo?new Date(e.validTo):null,t.mainEstablishmentId=e.mainEstablishmentId,t.tenantid=i,t.alias=e.alias,t.taxation_type=e.taxation_type,o&&!t.checkValidityDate(o))throw new Error("Profile out of valid period");return t}mapDataToStartingCreditBalance(e,i){let o=[];for(let t of e){let d=new Le;d.id=t.id,d.tenantid=i,d.period=t.period,d.establishment_id=t.establishment_id,d.profile_id=t.profile_id,d.type=t.type,d.credit_balance_previous_period=t.credit_balance_previous_period,d.credit_balance_sub_auditing=t.credit_balance_sub_auditing,d.credit_balance_previous_period_fcp=t.credit_balance_previous_period_fcp,d.uf=t.uf,d.credit_balance_control_id=t.credit_balance_control_id,d.withholding_nature_indicator=t.withholding_nature_indicator,d.origin_credit=t.origin_credit,d.type_regime=t.type_regime,d.total_value=t.total_value,d.credit_type=t.credit_type,d.created_at=t.created_at,o.push(d);}return o}mapDataToEstablishments(e,i,o,t){let d=[];for(let c of e){let u=new we;u.id=c.id,u.active=c.active,u.alias=c.alias,u.tenantid=c.tenantid,u.taxation_type=c.taxation_type,u.cod_inc_trib=c.cod_inc_trib,u.single_national_option=c.single_national_option,u.cprb_option=c.cprb_option,u.fiscal_qualification_type=c.fiscal_qualification_type,u.exception_legal_type=c.exception_legal_type,u.branchId=c.branchId,u.profileId=c.profileId,u.fiscal_id_number=new I(c.fiscal_id_number),u.headerAccountPlanId=c.headerAccountPlanId,u.created_at=c.created_at,u.signatories=this.mapDataToSignatories(i?.filter(g=>g.establishmentId===u.id)??[]),u.scps=this.mapDataToScps(o?.filter(g=>g.establishmentId===u.id)??[]),u.events=this.mapDataToEvents(t?.filter(g=>g.establishmentId===u.id)??[]),d.push(u);}return d}mapDataToSignatories(e){return e.map(i=>{let o=new De;return o.id=i.id,o.tenantid=i.tenantid,o.establishmentId=i.establishmentId,o.name=i.name,o.active=i.active,o.fiscal_id_number=new I(i.fiscal_id_number),o.address=i.address,o.zip=i.postal_code,o.personType=i.person_type,o.phone=i.phone,o.email=i.email,o.countyCode=i.county_code,o.fiscalOfficeIdNumber=i.fiscal_office_id_number,o.complement=i.complement,o.fax=i.fax,o.crcIdNumber=i.crc_id_number,o.crcRegYear=i.crc_reg_year,o.crcStateInitials=i.crc_state_initials,o.crcSequentialNumber=i.crc_sequential_number,o.crcValidityDate=i.crc_validity_date,o.inactivationDate=i.inactivation_date,o.number=i.number,o.district=i.district,o})}mapDataToScps(e){return e.map(i=>{let o=new Me;return o.id=i.id,o.tenantid=i.tenantid,o.establishmentId=i.establishmentId,o.fiscal_id_number=i.fiscal_id_number,o.commercial_name=i.commercial_name,o.description=i.description,o.complement=i.complement,o.active=i.active,o.inactivation_date=i.inactivation_date,o})}mapDataToEvents(e){return e.map(i=>{let o=new Ne;return o.id=i.id,o.tenantid=i.tenantid,o.establishmentId=i.establishmentId,o.special_situation=i.special_situation,o.situation_date=i.situation_date,o})}mapDataToReinf(e,i,o){if(!e)return null;let t=i?.map(u=>{let g=new Be;return g.id=u.id,g.tenantid=u.tenantid,g.profile_id=u.profile_id,g.profile_alias=u.profile_alias,g.establishment_id=u.establishment_id,g.establishment_alias=u.establishment_alias,g.cnpj=u.cnpj,g.activity_code=u.activity_code,g.table9=u.table9,g}),d=o?.map(u=>{let g=new ye;return g.id=u.id,g.tenantid=u.tenantid,g.name=u.name,g.errors=u.errors,g.establishments=u.establishments,g.nature_configs=u.nature_configs,g.income_natures=u.income_natures,g.business_partners=u.business_partners,g.nature_totals=u.nature_totals,g.service_code_totals=u.service_code_totals,g.business_partner_totals=u.business_partner_totals,g.establishment_totals=u.establishment_totals,g.active=u.active,g}),c=new Oe;return c.id=e.id,c.natureConfig=d,c.grossRevenueContributionHeaders=t,c.tenantid=e.tenantid,c.profile_id=e.profile_id,c.company_name=e.company_name,c.cnpj=e.cnpj,c.tax_classification_taxpayer=e.tax_classification_taxpayer,c.ecd_required=e.ecd_required,c.payroll_exemption=e.payroll_exemption,c.international_agreement_exemption=e.international_agreement_exemption,c.softhouse_company_name=e.softhouse_company_name,c.softhouse_fiscal_number=e.softhouse_fiscal_number,c.softhouse_contact_name=e.softhouse_contact_name,c.softhouse_telephone=e.softhouse_telephone,c.softhouse_email=e.softhouse_email,c.tax_type=e.tax_type,c.calculation_database=e.calculation_database,c.closing_type=e.closing_type,c.expiration_condition=e.expiration_condition,c.reinf=e.reinf,c.dirf=e.dirf,c.r2060_by_documents=e.r2060_by_documents,c.irf_aliquot=e.irf_aliquot,c.expiration_day=e.expiration_day,c.layout_version=e.layout_version,c.environment_identification=e.environment_identification,c}mapDataToEcd(e){if(!e)return null;let i=new ze;return i.id=e._id?.toString(),i.tenantid=e.tenantid,i.profile_id=e.profile_id,i.profile_alias=e.profile_alias,i.cod_ent_ref=e.cod_ent_ref,i.cod_inscr=e.cod_inscr,i.num_ord=e.num_ord,i.ind_esc=e.ind_esc,i.is_dlpa_dmpl=e.is_dlpa_dmpl,i.referential_account_plan=e.referential_account_plan,i.ind_tip=e.ind_tip,i}mapDataToEcf(e){if(!e)return null;let i=new Ie;return i.id=e.id,i.tenantid=e.tenantid,i.profile_id=e.profile_id,i.codigo_natureza_juridica=e.codigo_natureza_juridica,i.metodo_avaliacao_estoque_final=e.metodo_avaliacao_estoque_final,i.cnae_principal=e.cnae_principal,i.informar_centro_de_custos=e.informar_centro_de_custos,i.periodo_apuracao_irpj_csll=e.periodo_apuracao_irpj_csll,i.qualificacao_pessoa_juridica=e.qualificacao_pessoa_juridica,i.forma_apuracao_jan=e.forma_apuracao_jan,i.forma_apuracao_fev=e.forma_apuracao_fev,i.forma_apuracao_mar=e.forma_apuracao_mar,i.forma_apuracao_abr=e.forma_apuracao_abr,i.forma_apuracao_mai=e.forma_apuracao_mai,i.forma_apuracao_jun=e.forma_apuracao_jun,i.forma_apuracao_jul=e.forma_apuracao_jul,i.forma_apuracao_ago=e.forma_apuracao_ago,i.forma_apuracao_set=e.forma_apuracao_set,i.forma_apuracao_out=e.forma_apuracao_out,i.forma_apuracao_nov=e.forma_apuracao_nov,i.forma_apuracao_dez=e.forma_apuracao_dez,i.escrituracao=e.escrituracao,i.tipo_pessoa_juridica=e.tipo_pessoa_juridica,i.apuracao_irpj=e.apuracao_irpj,i.apuracao_csll=e.apuracao_csll,i.pj_sujeito_aliquota_csll=e.pj_sujeito_aliquota_csll,i.quantidade_total_scp_socio_ostensivo=e.quantidade_total_scp_socio_ostensivo,i.participacoes_consorcio_empresas=e.participacoes_consorcio_empresas,i.administradora_fundos_e_clubes=e.administradora_fundos_e_clubes,i.operacoes_exterior=e.operacoes_exterior,i.operacoes_pessoa_vinculada=e.operacoes_pessoa_vinculada,i.participacoes_exterior=e.participacoes_exterior,i.pj_artigos_48_49=e.pj_artigos_48_49,i.atividade_rural=e.atividade_rural,i.isencao_reducao_lucro_presumido=e.isencao_reducao_lucro_presumido,i.lucro_exploracao=e.lucro_exploracao,i.ind_finor_finam=e.ind_finor_finam,i.pagamentos_exterior_ou_nao_residentes=e.pagamentos_exterior_ou_nao_residentes,i.recebimentos_exterior_ou_nao_residentes=e.recebimentos_exterior_ou_nao_residentes,i.ativos_exterior=e.ativos_exterior,i.participacao_equivalencia_patrimonial=e.participacao_equivalencia_patrimonial,i.royalties_recebidos_brasil_exterior=e.royalties_recebidos_brasil_exterior,i.royalties_pagos_brasil_exterior=e.royalties_pagos_brasil_exterior,i.comercio_eletronico_e_ti=e.comercio_eletronico_e_ti,i.rendimentos_relativos=e.rendimentos_relativos,i.pagamentos_ou_remessa_brasil_exterior=e.pagamentos_ou_remessa_brasil_exterior,i.pj_habilitada=e.pj_habilitada,i.capacitacao_informatica_e_inclusao=e.capacitacao_informatica_e_inclusao,i.inovacao_tec=e.inovacao_tec,i.areas_livre_comercio=e.areas_livre_comercio,i.polo_industrial_manaus_amazonia=e.polo_industrial_manaus_amazonia,i.zonas_processamento_exportacao=e.zonas_processamento_exportacao,i.entidade_grupo_multinacional=e.entidade_grupo_multinacional,i.declaracao_moeda_estrangeira=e.declaracao_moeda_estrangeira,i.opcao_preco_transferencia_ano_calendario_2023=e.opcao_preco_transferencia_ano_calendario_2023,i.percentual_irpj=e.percentual_irpj,i.percentual_csll=e.percentual_csll,i}async mapDataToEfdContrib(e){if(!e)return null;let i=this._mongoClients.efdContrib,[o,t]=await Promise.all([i.db().collection("revenue_nature_settings").findOne({profile_id:e.profile_id,tenantid:e.tenantid}),i.db().collection("calculation_basis_nature_setting").findOne({profile_id:e.profile_id,tenantid:e.tenantid})]),d=o?.data?.map(g=>{let p=new Ce;return p.id=g.id,p.tenantid=g.tenantid,p.profile_id=g.profile_id,p.item_code=g.item_code,p.item_description=g.item_description,p.cst_pis_cofins=g.cst_pis_cofins,p.revenue_nature_code=g.revenue_nature_code,p.revenue_nature_description=g.revenue_nature_description,p.cfop=g.cfop,p.accounts_plan=g.accounts_plan,p.accounting_account=g.accounting_account,p.complementary_description=g.complementary_description,p.active=g.active,p.isMain=g.isMain,p.logs=g.logs,p}),c=t?.data?.map(g=>{let p=new Te;return p.id=g._id,p.tenantid=g.tenantid,p.profiles=g.profiles,p.tax_settings=g.tax_settings,p}),u=new Re;return u.id=e._id.toString(),u.tenantid=e.tenantid,u.profile_id=e.profile_id,u.ind_nat_pj=e.ind_nat_pj,u.ind_apro_cred=e.ind_apro_cred,u.cod_tipo_cont=e.cod_tipo_cont,u.ind_reg_cum=e.ind_reg_cum,u.profile_alias=e.profile_alias,u.establishment_id=e.establishment_id,u.establishment_alias=e.establishment_alias,u.cod_inc_trib=e.cod_inc_trib,u.cod_atv_econ=e.cod_atv_econ,u.aliq_cont=e.aliq_cont,u.cod_rec=e.cod_rec,u.natureSettings=d,u.calculationBasisNature=c,u}async mapDataToEfdIcmsIpi(e,i=[]){if(!e?.length)return [];let o=[];for(let t of e){let d=i?.filter(g=>g.establishment_id===t.establishment_id),c=[];d?.length&&(c=d.map(g=>{let p=new Ee;return p.id=g._id,p.tenantid=g.tenantid,p.profile_id=g.profile_id,p.establishment_id=g.establishment_id,p.description=g.description,p}));let u=new Ae;u.id=t._id?.toString(),u.branch_id=t.branch_id,u.profile_id=t.profile_id,u.profile_alias=t.profile_alias,u.establishment_id=t.establishment_id,u.establishment_alias=t.establishment_alias,u.profile_indicator=t.profile_indicator,u.ind_apur=t.ind_apur,u.zfm_alc=t.zfm_alc,u.reg_trib=t.reg_trib,u.has_blockK=t.has_blockK,u.layout_k=t.layout_k,u.tax_type_config=t.tax_type_config,u.has_blockH=t.has_blockH,u.blockH_movement_indicator=t.blockH_movement_indicator,u.icms_credit_config=t.icms_credit_config,u.tenantid=t.tenantid,u.created_at=t.created_at,u.updated_at=t.updated_at,u.gia_st_layout_version=t.gia_st_layout_version,u.icmsAdjustmentSetting=c,o.push(u);}return o}};_(Co,"ProfileDbRepository");var tt=Co;var st=(e=>(e.REGISTER_CREATED="register_created",e))(st||{});function us(n,e){return {event:n,dataTypeName:e.constructor.name,data:e}}_(us,"newRegisterEvent");function ya(n){return us("register_created",n)}_(ya,"newRegisterEventData");var To=class To{constructor(e,i){this._name=e,this.eventEmitter=new events.EventEmitter,this.registersPersist=i;}notifyEvent(e){this.eventEmitter.emit(e.event,e);}get name(){return this._name}get registers(){let e=_((i,o)=>i.reg.localeCompare(o.reg),"sortApproach");return this.registersPersist.all().sort(e)}addSubscriber(e){this.eventEmitter.on("register_created",function(i){return e.eventHandler.call(e,i)});}addRegister(e){this.registersPersist.add(e),this.notifyEvent(ya(e));}hasContent(){return this.registersPersist.hasRegisters()}getRegisterByKey(e){return this.registersPersist.getByKey(e)}numberOfRegisters(){let e=0;for(let i of this.registersPersist.all())e+=i.numberOfRegisters();return e}};_(To,"Block");var Oa=To;var Ro=class Ro extends Oa{constructor(e,i="9"){super(i,e);}eventHandler(e){}};_(Ro,"CounterBlock");var Ma=Ro;var Je=Symbol("key"),je=Symbol("onDuplicationStrategy"),ct=19,gs=255,fs=",",bs=2,ps=(i=>(i[i.alphanumeric=0]="alphanumeric",i[i.numeric=1]="numeric",i))(ps||{}),Ss=(i=>(i[i.property=0]="property",i[i.method=1]="method",i))(Ss||{}),Eo=(t=>(t[t.Error=0]="Error",t[t.Ignore=1]="Ignore",t[t.Overwrite=2]="Overwrite",t[t.Duplicate=3]="Duplicate",t))(Eo||{});function dt(n,e,i,o=false,t=0,d=""){return {required:n,dataType:1,maximumLength:e,maximumDecimalsLength:t,fillEntireLength:o,valueProvider:i,decimalSeparator:d}}_(dt,"numericField");function As(n,e,i,o=false,t=0,d=false,c=false){return {required:n,dataType:0,maximumLength:e,maximumDecimalsLength:t,fillEntireLength:o,valueProvider:i,decimalSeparator:"",removeAccents:d,removeSpecialCharacters:c}}_(As,"alphanumericField");function Da(n=false,e=false,i=ct){return function(o,t,d){Reflect.defineMetadata(t,dt(n,i,d?1:0,e),o);}}_(Da,"Numeric");function n4(n=false,e=false,i=ct,o=bs,t=fs){return function(d,c,u){Reflect.defineMetadata(c,dt(n,i,u?1:0,e,o,t),d);}}_(n4,"Decimal");function He(n=false,e=false,i=gs,o=false,t=false){return function(d,c,u){Reflect.defineMetadata(c,As(n,i,u?1:0,e,0,o,t),d);}}_(He,"Alphanumeric");function Ps(){return {fields:[]}}_(Ps,"key");function hs(n,e){return {fieldName:n,valueProvider:e}}_(hs,"keyFieldDefinition");function La(){return function(n,e,i){let o=Reflect.getOwnMetadata(Je,n);if(!o){let t=Reflect.getMetadata(Je,n);t?o={fields:[...t.fields]}:o=Ps();}o.fields.push(hs(e,i?1:0)),Reflect.defineMetadata(Je,o,n);}}_(La,"Key");function l4(n=0){return function(e){Reflect.defineMetadata(je,n,e);}}_(l4,"OnDuplication");var ke=class ke{constructor(e=0,i="9900"){this.reg_blc="";this.qtd_reg_blc=0;this.reg=i,this.qtd_reg_blc=e;}tagName(){return this.reg}getChildren(){return []}getKeyValue(){return `${this.reg}${this.reg_blc}`}getChildrenByRegTag(e){return []}numberOfRegisters(){throw new Error("Method not implemented.")}numberOfChildRegisters(){throw new Error("Method not implemented.")}numberOfRegisterByTagName(){throw new Error("Method not implemented.")}getOnDuplicationStrategy(){return Reflect.getMetadata(je,this.constructor)??0}};_(ke,"CounterRegister"),te([La(),He()],ke.prototype,"reg_blc"),te([Da()],ke.prototype,"qtd_reg_blc");var Ye=ke;var xa=class xa{constructor(e,i){this.reg="";this._children=[],this._childrenKeys=new Set,this.reg=e,this._registerNotifier=i;}tagName(){return this.reg}addChild(e,i=true){if(i){let o=e.getKeyValue();if(this._childrenKeys.has(o))throw new Error(`duplicate register key: '${o}'`);this._childrenKeys.add(o);}this._children.push(e),this._registerNotifier!==null&&this._registerNotifier.notifyEvent(ya(e));}getChildren(){return this._children}getKeyValue(){let e=Reflect.getMetadata(Je,this),i="";for(let o of e.fields)i=i.concat(this[o.fieldName]||"");return i}getChildrenByRegTag(e){let i=[];for(let o of this.getChildren())o.tagName()===e&&i.push(o);return i}numberOfRegisters(){let e=1;for(let i of this.getChildren())e+=i.numberOfRegisters();return e}numberOfChildRegisters(){let e=this.getChildren().length;for(let i of this.getChildren())e+=i.numberOfChildRegisters();return e}numberOfRegisterByTagName(){let e=new Map;e.set(this.tagName(),1);for(let i of this.getChildren()){let o=i.numberOfRegisterByTagName();for(let[t,d]of o)e.has(t)?e.set(t,e.get(t)+d):e.set(t,d);}return e}getOnDuplicationStrategy(){return Reflect.getMetadata(je,this.constructor)??0}};_(xa,"Register"),te([La()],xa.prototype,"reg");var xe=xa;var wo=class wo{constructor(){this._blocksCounters=new Map;}countRegister(e){let i=e.reg[0],o=this._blocksCounters.has(i)?this._blocksCounters.get(i):new Map;o.has(e.reg)?o.set(e.reg,o.get(e.reg)+1):o.set(e.reg,1),this._blocksCounters.set(i,o);}getBlockRegistersTotal(e){let i=0,o=this._blocksCounters.get(e);if(!o)return i;for(let t of o.values())i+=t;return i}getAllTagsCounters(){let e=new Map;return Array.from(this._blocksCounters.keys()).sort((o,t)=>o.localeCompare(t)).forEach(o=>{let t=this._blocksCounters.get(o);Array.from(t.keys()).sort((c,u)=>c.localeCompare(u)).forEach(c=>{e.set(c,t.get(c));});}),e}};_(wo,"TagCounter");var Va=wo;var Fa=class Fa{static createInstance(){return new Fa}constructor(){this.registers=new Map,this.registersByKey=new Map;}getByKey(e){return this.registersByKey.get(e)?.register}set(e,i){let o=this.registers.get(e);if(o)for(let t of o)this.registersByKey.delete(t.getKeyValue());this.registers.set(e,[]);for(let t of i)this.add(t);}hasRegisters(){return this.registersByKey.size!==0}all(){return Array.from(this.registers.values()).flatMap(e=>e)}get(e){return this.registers.get(e)}has(e){return this.registers.has(e)}add(e){let i=e.getKeyValue(),o=e.reg;this.registers.has(o)||this.registers.set(o,[]);let t=this.registersByKey.get(i);if(!t){let c=this.registers.get(o),u=c.length;c.push(e),this.registersByKey.set(i,{register:e,tag:o,index:u});return}switch(e.getOnDuplicationStrategy()){case 1:return;case 2:let{tag:c,index:u}=t,g=this.registers.get(c);g[u]=e,this.registersByKey.set(i,{register:e,tag:c,index:u});return;case 3:let p=this.registers.get(o),f=p.length;p.push(e),this.registersByKey.set(i,{register:e,tag:o,index:f});return;default:throw new Error(`duplicate register key: ${i}`)}}};_(Fa,"MemoryPersist");var Ua=Fa;var qa=class qa{constructor(){}static createInstance(){return new qa}write(e){console.log(e);}save(){console.log("Saving content");}};_(qa,"ConsoleOutput");var Ga=qa;var Ja=class Ja{constructor(e){this._options=e;}save(){this._options.writer.save();}static defaultOptions(e=Ga.createInstance()){return {writer:e,fieldSeparator:"|",separatorAtTheRegisterStart:false,separatorAtTheRegisterEnd:false,writeRegisterTag:true}}static newWithDefaultOptions(){return this.newWithOptions(this.defaultOptions())}static newWithOptions(e){return new Ja(e)}get writer(){return this._options.writer}generate(e){let i=Reflect.getMetadataKeys(e).filter(t=>typeof t!="symbol"),o=`${this._options.separatorAtTheRegisterStart?this._options.fieldSeparator:""}`;this._options.writeRegisterTag&&(o=o.concat(`${e.reg}${this._options.fieldSeparator}`));for(let t=0;t<i.length;t++){let d=i[t],c=Reflect.getMetadata(d,e);switch(c.dataType){case 0:o=o.concat(this.alphanumericValue(c,e[d]),t!=i.length-1?this._options.fieldSeparator:"");break;case 1:o=o.concat(this.numericValue(c,e[d]),t!=i.length-1?this._options.fieldSeparator:"");break}}this._options.separatorAtTheRegisterEnd&&(o=o.concat(this._options.fieldSeparator)),this.writer.write(o);}alphanumericValue(e,i){if(!e.required&&!i)return "";let o=String(i);return this._options.fieldSeparator&&(o=o.replaceAll(this._options.fieldSeparator,"")),e.removeAccents&&(o=o.normalize("NFD").replace(/[\u0300-\u036f]/g,"")),e.removeSpecialCharacters&&(o=o.replace(/[^a-zA-Z0-9\s]/g,"").trim()),e.maximumLength>0&&(o=o.slice(0,e.maximumLength)),e.fillEntireLength&&(o=o.padEnd(e.maximumLength," ")),o}numericValue(e,i){if(i==null&&(e.required||e.maximumDecimalsLength===0))return "";let o=i!=null?String(i):"0",t=o.indexOf("."),d=t===-1?o:o.substring(0,t),c=t!==-1;if(!e.required&&/^0+$/.test(d)&&!c)return "";let u=d;if(e.maximumDecimalsLength>0){let g;if(c){let p=Number(i).toFixed(e.maximumDecimalsLength),f=p.indexOf(".");g=p.substring(f+1);}else g="0".repeat(e.maximumDecimalsLength);u=u+e.decimalSeparator+g;}return e.fillEntireLength&&e.maximumLength>0&&(u=u.padStart(e.maximumLength,"0")),u}};_(Ja,"TaxRegisterGenerator");var Ve=Ja;var rt="9999",_t="001",nt="990";var ja=class ja extends xe{constructor(){super(rt,{});this.qtd_lin=0;}};_(ja,"CloseFile"),te([Da()],ja.prototype,"qtd_lin");var No=ja,Ha=class Ha extends xe{constructor(i){super(i,{});this.ind_mov=1;}};_(Ha,"OpenBlock"),te([He(true,false,1)],Ha.prototype,"ind_mov");var vo=Ha,ka=class ka extends xe{constructor(i){super(i,{});this.qtd_lin=0;}};_(ka,"CloseBlock"),te([He()],ka.prototype,"qtd_lin");var Bo=ka,Ya=class Ya{constructor(e){this._options=e,this._counters=new Va;}static defaultOptions(e,i){return {openSuffix:_t,closeSuffix:nt,openFileRegister:e,registerGenerator:i}}static newWithDefaultOptions(e){return this.newWithOptions(this.defaultOptions(e,Ve.newWithDefaultOptions()))}static newWithOptions(e){return new Ya(e)}beforeGeneration(e){this.addRegister(this._options.openFileRegister);}generation(e){let i=e.Blocks;for(let o of i)this.addBlock(o);}afterGeneration(e){let i=this._counters.getAllTagsCounters(),o=new Ma(Ua.createInstance()),t=new No;i.set(`${o.name}${_t}`,1),i.set(`${o.name}${nt}`,1),i.set(rt,1),i.forEach((c,u)=>{let g=new Ye;g.reg_blc=u,g.qtd_reg_blc=c,t.qtd_lin+=c,o.addRegister(g);});let d=new Ye;d.reg_blc=d.reg,d.qtd_reg_blc=i.size+1,t.qtd_lin+=i.size+1,o.addRegister(d),this.addBlock(o),this._options.registerGenerator.generate(t);}beforeBlockGeneration(e){let i=new vo(`${e.name}${this._options.openSuffix}`);i.ind_mov=e.hasContent()?0:1,this.addRegister(i);}blockGeneration(e){for(let i of e.registers)this.addRegister(i);}beforeRegisterGeneration(e){}registerGeneration(e){this._options.registerGenerator.generate(e);for(let i of e.getChildren())this.addRegister(i);}afterRegisterGeneration(e){this._counters.countRegister(e);}afterBlockGeneration(e){let i=new Bo(`${e.name}${this._options.closeSuffix}`);i.qtd_lin=this._counters.getBlockRegistersTotal(e.name)+1,e.name==="9"&&(i.qtd_lin+=1),this.addRegister(i);}addBlock(e){this.beforeBlockGeneration(e),this.blockGeneration(e),this.afterBlockGeneration(e);}addRegister(e){this.beforeRegisterGeneration(e),this.registerGeneration(e),this.afterRegisterGeneration(e);}generateFile(e){this.beforeGeneration(e),this.generation(e),this.afterGeneration(e),this._options.registerGenerator.save();}};_(Ya,"ReportGenerator");var lt=Ya;var Wa=class Wa{constructor(e){this._options=e;}static defaultOptions(e,i){return {openFileRegister:e,registerGenerator:i}}static newWithDefaultOptions(e){return this.newWithOptions(this.defaultOptions(e,Ve.newWithDefaultOptions()))}static newWithOptions(e){return new Wa(e)}beforeGeneration(e){this._options.openFileRegister&&this.addRegister(this._options.openFileRegister);}generation(e){let i=e.Blocks;for(let o of i)this.addBlock(o);}afterGeneration(e){}beforeBlockGeneration(e){}blockGeneration(e){for(let i of e.registers)this.addRegister(i);}beforeRegisterGeneration(e){}registerGeneration(e){this._options.registerGenerator.generate(e);for(let i of e.getChildren())this.addRegister(i);}afterRegisterGeneration(e){}afterBlockGeneration(e){}addBlock(e){this.beforeBlockGeneration(e),this.blockGeneration(e),this.afterBlockGeneration(e);}addRegister(e){this.beforeRegisterGeneration(e),this.registerGeneration(e),this.afterRegisterGeneration(e);}generateFile(e){this.beforeGeneration(e),this.generation(e),this.afterGeneration(e),this._options.registerGenerator.save();}};_(Wa,"SimpleReportGenerator");var ut=Wa;var yo=class yo{constructor(){this._blocks=new Map;}registerBlock(e){return this._blocks.set(e.name,e),this}getBlock(e){return this._blocks.get(e)}get Blocks(){return Array.from(this._blocks.values())}};_(yo,"TaxReport");var mt=yo;var Oo=class Oo{constructor(){this.output=[];}write(e){this.output.push(e);}save(){console.log(`Pushed ${this.output.length} lines to array`);}get Output(){return this.output}};_(Oo,"StringArrayOutput");var gt=Oo;var F={AUTH:{UNAUTHORIZED:"UNAUTHORIZED",TOKEN_EXPIRED:"TOKEN_EXPIRED"},DATABASE:{CONNECTION_FAILED:"CONNECTION_FAILED",QUERY_ERROR:"QUERY_ERROR"},VALIDATION:{INVALID_INPUT:"INVALID_INPUT",MISSING_FIELD:"MISSING_FIELD"},INTERNAL:{INTERNAL_SERVER_ERROR:"INTERNAL_SERVER_ERROR",UNEXPECTED_ERROR:"UNEXPECTED_ERROR"},SETTING:{PROFILE_NOT_SET_UP:"PROFILE_NOT_SET_UP",REINF_NOT_ENABLED:"REINF_NOT_ENABLED",R2060_CONFIG_CONFLICT:"R2060_CONFIG_CONFLICT"}};var zs=(d=>(d.AUTH="AUTH",d.DATABASE="DB",d.VALIDATION="VALID",d.INTERNAL="INTERNAL",d.SETTING="SETTING",d))(zs||{}),Ka="pt-BR";var Do=class Do{constructor(){this.messages={};this.usedKeys=new Set;}addMessage(e){if(this.usedKeys.has(e.key))throw new Error(`Duplicate message key: ${e.key}`);return this.usedKeys.add(e.key),this.messages[e.key]=e,this}build(){return {...this.messages}}};_(Do,"MessageBuilder");var Mo=Do,Is=new Mo().addMessage({key:F.AUTH.UNAUTHORIZED,category:"AUTH",userMessage:{"pt-BR":"Você não tem permissão para acessar {endpoint}.","en-US":"You do not have permission to access {endpoint}.","es-ES":"No tienes permiso para acceder a {endpoint}."},actionSuggestion:{"pt-BR":"Faça login novamente ou contate o suporte.","en-US":"Log in again or contact support.","es-ES":"Inicia sesión nuevamente o contacta al soporte."},technicalMessage:"Unauthorized access attempt on endpoint {endpoint}."}).addMessage({key:F.AUTH.TOKEN_EXPIRED,category:"AUTH",userMessage:{"pt-BR":"Sua sessão expirou ao acessar {endpoint}.","en-US":"Your session expired while accessing {endpoint}.","es-ES":"Tu sesión ha expirado al acceder a {endpoint}."},actionSuggestion:{"pt-BR":"Faça login novamente para continuar.","en-US":"Log in again to continue.","es-ES":"Inicia sesión nuevamente para continuar."},technicalMessage:"Token expired for user {userId} on endpoint {endpoint}."}).addMessage({key:F.DATABASE.CONNECTION_FAILED,category:"DB",userMessage:{"pt-BR":"Não foi possível conectar ao banco de dados.","en-US":"Could not connect to the database.","es-ES":"No se pudo conectar a la base de datos."},actionSuggestion:{"pt-BR":"Tente novamente mais tarde.","en-US":"Try again later.","es-ES":"Intenta de nuevo más tarde."},technicalMessage:"Database connection failed: {error}."}).addMessage({key:F.DATABASE.QUERY_ERROR,category:"DB",userMessage:{"pt-BR":"Erro ao processar sua solicitação no banco de dados.","en-US":"Error processing your request in the database.","es-ES":"Error al procesar tu solicitud en la base de datos."},actionSuggestion:{"pt-BR":"Tente novamente ou contate o suporte.","en-US":"Try again or contact support.","es-ES":"Intenta de nuevo o contacta al soporte."},technicalMessage:"Database query failed: {query} with error {error}."}).addMessage({key:F.VALIDATION.INVALID_INPUT,category:"VALID",userMessage:{"pt-BR":"Os dados fornecidos são inválidos: {inputDetails}.","en-US":"The provided data is invalkey: {inputDetails}.","es-ES":"Los datos proporcionados son inválidos: {inputDetails}."},actionSuggestion:{"pt-BR":"Verifique os campos e tente novamente.","en-US":"Check the fields and try again.","es-ES":"Verifica los campos e intenta de nuevo."},technicalMessage:"Validation failed for input: {inputDetails}."}).addMessage({key:F.VALIDATION.MISSING_FIELD,category:"VALID",userMessage:{"pt-BR":"Campo obrigatório ausente: {fieldName}.","en-US":"Required field missing: {fieldName}.","es-ES":"Campo obligatorio ausente: {fieldName}."},actionSuggestion:{"pt-BR":"Preencha todos os campos necessários.","en-US":"Fill in all required fields.","es-ES":"Completa todos los campos necesarios."},technicalMessage:"Missing required field: {fieldName}."}).addMessage({key:F.INTERNAL.INTERNAL_SERVER_ERROR,category:"INTERNAL",userMessage:{"pt-BR":"Algo inesperado aconteceu.","en-US":"Something unexpected happended.","es-ES":"Algo inesperado pasó."},actionSuggestion:{"pt-BR":"Tente novamente mais tarde.","en-US":"Try again later.","es-ES":"Intenta de nuevo más tarde."},technicalMessage:"Internal server error: {error}."}).addMessage({key:F.SETTING.PROFILE_NOT_SET_UP,category:"SETTING",userMessage:{"pt-BR":"O Perfil Fiscal Especializado para a obrigação não está configurado.","en-US":"The Specialized Tax Profile for the obligation is not configured.","es-ES":"El Perfil Tributario Especializado para la obligación no está configurado."},actionSuggestion:{"pt-BR":"Configure-o e gere uma nova apuração.","en-US":"Configure it and generate a new auditing.","es-ES":"Configuralo y genera una nueva encuesta."},technicalMessage:"The Specialized Profile ({profileName}) is not configured for the EFD Contributions obligation."}).addMessage({key:F.SETTING.REINF_NOT_ENABLED,category:"SETTING",userMessage:{"pt-BR":"A declaração REINF não está habilitada para este perfil. Ative nas configurações.","en-US":"REINF declaration is not enabled for this profile. Enable in settings.","es-ES":"La declaración REINF no está habilitada para este perfil. Actívala en la configuración."},actionSuggestion:{"pt-BR":"Ative o REINF nas configurações do perfil.","en-US":"Enable REINF in the profile configuration settings.","es-ES":"Activa REINF en la configuración del perfil."},technicalMessage:"REINF is not activated for profile: {profileId}."}).addMessage({key:F.SETTING.R2060_CONFIG_CONFLICT,category:"SETTING",userMessage:{"pt-BR":"Conflito de configuração: R2060 está configurado para apuração por documentos, mas foi solicitada apuração por F100.","en-US":"Configuration conflict: R2060 is configured for document calculation, but F100 calculation was requested.","es-ES":"Conflicto de configuración: R2060 está configurado para cálculo por documentos, pero se solicitó cálculo por F100."},actionSuggestion:{"pt-BR":"Altere a configuração r2060_by_documents para false no perfil.","en-US":"Change r2060_by_documents setting to false in profile configuration.","es-ES":"Cambia la configuración r2060_by_documents a false en el perfil."},technicalMessage:"R2060 is being calculated from documents. Change configuration to use F100 calculation."}).addMessage({key:F.INTERNAL.UNEXPECTED_ERROR,category:"INTERNAL",userMessage:{"pt-BR":"Ocorreu um erro inesperado durante o processamento da apuração REINF.","en-US":"An unexpected error occurred during REINF calculation processing.","es-ES":"Ocurrió un error inesperado durante el procesamiento del cálculo REINF."},actionSuggestion:{"pt-BR":"Verifique os logs da aplicação, recursos do sistema e contate o suporte se o erro persistir.","en-US":"Check application logs, system resources and contact support if the error persists.","es-ES":"Verifica los logs de la aplicación, recursos del sistema y contacta al soporte si el error persiste."},technicalMessage:"Unexpected error while generating REINF calculation: {originalError}. Context: profileId={profileId}, period={period}, tenantId={tenantId}."}),Ue=Is.build();var Cs={[F.AUTH.UNAUTHORIZED]:{required:["endpoint"]},[F.AUTH.TOKEN_EXPIRED]:{required:["endpoint","userId"]},[F.DATABASE.CONNECTION_FAILED]:{required:["error"]},[F.DATABASE.QUERY_ERROR]:{required:["error","query"]},[F.VALIDATION.INVALID_INPUT]:{required:["inputDetails"]},[F.VALIDATION.MISSING_FIELD]:{required:["fieldName"]},[F.INTERNAL.INTERNAL_SERVER_ERROR]:{required:["error"]},[F.SETTING.PROFILE_NOT_SET_UP]:{required:["profileName"]},[F.SETTING.REINF_NOT_ENABLED]:{required:["profileId"]},[F.SETTING.R2060_CONFIG_CONFLICT]:{required:[]},[F.INTERNAL.UNEXPECTED_ERROR]:{required:["originalError","profileId","period","tenantId"]}};function ft(n,e){let i=Cs[n];if(!i)return;let o=i.required.filter(d=>!(d in e)||e[d]===void 0||e[d]===null);if(o.length>0)throw new Error(`Missing required parameters for message ${n} (${Ue[n].key}): ${o.join(", ")}`);let t=i.required.filter(d=>typeof e[d]=="string"&&e[d].trim()==="");if(t.length>0)throw new Error(`Empty values provided for parameters in message ${n} (${Ue[n].key}): ${t.join(", ")}`)}_(ft,"validateParams");function Za(n,e){return Object.entries(e).reduce((i,[o,t])=>i.replace(`{${o}}`,String(t)),n)}_(Za,"formatMessage");function Ts(n,e,i,o=Ka){let t=Ue[n];if(!t)throw new Error(`Message with code ${n} not found.`);ft(n,e);let c={file:(new Error().stack?.split("\\n")[2]||"").split("(")[1]?.split(")")[0]||"unknown",memoryUsage:{rss:Pe(process.memoryUsage().rss),heapUsed:Pe(process.memoryUsage().heapUsed),heapTotal:Pe(process.memoryUsage().heapTotal),external:Pe(process.memoryUsage().external),arrayBuffers:Pe(process.memoryUsage().arrayBuffers)},cpuUsage:{user:Pe(process.cpuUsage().user),system:Pe(process.cpuUsage().system)},...i},u=t.userMessage[o]||t.userMessage[Ka],g=t.actionSuggestion[o]||t.actionSuggestion[Ka],p=Za(t.technicalMessage,e);return console.error(`[${t.key}] ${p}`,c),{messageCode:n,userMessage:Za(u,e),actionSuggestion:Za(g,e)}}_(Ts,"logWithContext");function Pe(n){return `${(n/1024/1024).toFixed(2)} MB`}_(Pe,"formatMemory");var Lo=class Lo{constructor(e,i,o,t,d,c=false,u=20,g=5,p=1e4,f=45e3){this.host=e;this.port=i;this.database=o;this.username=t;this.password=d;this.isSrv=c;this.maxPoolSize=u;this.minPoolSize=g;this.connectTimeoutMS=p;this.socketTimeoutMS=f;}getConnectionString(){let e=this.username&&this.password?`${encodeURIComponent(this.username)}:${encodeURIComponent(this.password)}@`:"",i=this.isSrv?"":`:${this.port}`;return `${this.isSrv?"mongodb+srv":"mongodb"}://${e}${this.host}${i}/${this.database}`}getPoolOptions(){return {maxPoolSize:this.maxPoolSize,minPoolSize:this.minPoolSize,connectTimeoutMS:this.connectTimeoutMS,socketTimeoutMS:this.socketTimeoutMS}}};_(Lo,"MongoConfig");var bt=Lo;it__namespace.config();var xo=class xo{constructor(e){this.config=e;}getConnection(){return {user:this.config.user,host:this.config.host,database:this.config.database,password:this.config.password,port:this.config.port,ssl:this.config.ssl}}};_(xo,"PostgresConfig");var pt=xo;
|
|
70
70
|
exports.ActionTypeEnum=_s;exports.Addition=We;exports.Address=ce;exports.Alphanumeric=He;exports.Block=Oa;exports.BuilderAddition=ge;exports.BuilderAddress=J;exports.BuilderConversionFactor=ae;exports.BuilderDocument=j;exports.BuilderImportDeclaration=fe;exports.BuilderItem=H;exports.BuilderPerson=O;exports.BuilderTax=S;exports.CNPJ=I;exports.CPF=he;exports.CST=os;exports.CalculationBasisNatureSetting=Te;exports.CloseBlock=Bo;exports.CloseFile=No;exports.CodIncTrib=Wt;exports.ConfigTypeEnum=cs;exports.ConsoleOutput=Ga;exports.Contact=Na;exports.ContactTypesEnum=Qo;exports.ConversionFactor=da;exports.CounterBlock=Ma;exports.CounterRegister=Ye;exports.Country=$e;exports.CprbOption=kt;exports.CreditBalanceOriginCreditTypeEnum=es;exports.CreditBalanceRegimeTypeEnum=as;exports.DEFAULT_LOCALE=Ka;exports.Decimal=n4;exports.DefaultAlphanumericLength=gs;exports.DefaultDecimalLength=bs;exports.DefaultDecimalSeparator=fs;exports.DifalIcmsCategoryEnum=Mt;exports.Document=oa;exports.DonationIndicatorEnum=Dt;exports.EcdSpecializedProfile=ze;exports.EcfSpecializedProfile=Ie;exports.EfdContribSpecializedProfile=Re;exports.EfdIcmsIpiSpecializedProfile=Ae;exports.Email=_e;exports.Establishment=we;exports.EstablishmentEvent=Ne;exports.Event=st;exports.FieldDataType=ps;exports.FiscalQualificationType=Kt;exports.GrossRevenueContributionHeaders=Be;exports.IcmsAdjustmentGroupEnum=Ft;exports.IcmsAdjustmentRegistryEnum=qt;exports.IcmsAdjustmentSetting=Ee;exports.IcmsAdjustmentTaxTypeEnum=Gt;exports.IcmsAdjustmentTypeEnum=jt;exports.IcmsCalculationIndicatorEnum=Jt;exports.ImportDeclaration=ta;exports.Item=sa;exports.JudicialProcessOriginEnum=ds;exports.Key=La;exports.LayoutDateFormat=Rt;exports.MaximumNumericLength=ct;exports.MemoryMasterDataRepository=Z;exports.MemoryPersist=Ua;exports.MessageCategory=zs;exports.MessageCode=F;exports.Messages=Ue;exports.ModelConverter=$i;exports.ModelRollback=Oi;exports.MongoConfig=bt;exports.MongoRepository=Zo;exports.MongoToDocumentBuilder=qe;exports.MunicipalObligation=Qe;exports.MunicipalObligationIdEnum=It;exports.MunicipalObligationNameEnum=Ct;exports.MunicipalObligationTypeEnum=zt;exports.MunicipalRegistration=Ba;exports.Municipality=Ke;exports.NameCountryEnum=Uo;exports.NatureCode=is;exports.NatureConfig=ye;exports.Numeric=Da;exports.ObligationCodeEnum=ss;exports.OnDuplication=l4;exports.OnDuplicationStrategy=Eo;exports.OpenBlock=vo;exports.OurDate=M;exports.Person=ca;exports.PostgresConfig=pt;exports.PostgresRepository=at;exports.Profile=ve;exports.ProfileDbRepository=tt;exports.ProfileRestRepository=et;exports.ProfileTaxTypeEnum=ts;exports.Register=xe;exports.ReinfSpecializedProfile=Oe;exports.ReportGenerator=lt;exports.RevenueNatureSettings=Ce;exports.Scp=Me;exports.ServiceCode=Xe;exports.Signatory=De;exports.SimpleNationalOption=Ht;exports.SimpleReportGenerator=ut;exports.StartingCreditBalance=Le;exports.StartingCreditBalanceTypeEnum=Xt;exports.State=Ze;exports.StateCollectionSettings=Xo;exports.StateCollectionSettingsConfigTypeEnum=$t;exports.StateCollectionSettingsTaxTypeEnum=Zt;exports.StateEnum=Ge;exports.StateRegistration=va;exports.StringArrayOutput=gt;exports.TagCounter=Va;exports.Tax=se;exports.TaxCollectionType=ls;exports.TaxCollectionTypeEnum=Qt;exports.TaxRegisterGenerator=Ve;exports.TaxReport=mt;exports.TaxTypeEnum=ee;exports.TaxationType=Yt;exports.Telephone=ia;exports.Uf=ns;exports.ValueProviderType=Ss;exports.ZfmPresumedCreditTypeEnum=Lt;exports.buildMongoFilter=Ko;exports.calculate_bases_values=U;exports.cleanData=R;exports.formatMessage=Za;exports.isEmptyObject=X;exports.keyCompositionMetadata=Je;exports.logWithContext=Ts;exports.newRegisterEventData=ya;exports.normalizeServiceCode=Yo;exports.onDuplicationStrategyMetadata=je;exports.parseState=ea;exports.toSafeNumber=s;exports.validationValue=a;
|
package/dist/index.mjs
CHANGED
|
@@ -66,5 +66,5 @@ import'reflect-metadata';import {MongoClient,ObjectId}from'mongodb';import*as oe
|
|
|
66
66
|
e.id = es."establishmentId"
|
|
67
67
|
where
|
|
68
68
|
es.tenantid = $1 and
|
|
69
|
-
e."profileId" = $2;`,[o,i]),e.query('SELECT * FROM scps WHERE "establishmentId" = ANY($1::uuid[]) AND tenantid = $2',[c,o]),e.query('SELECT * FROM establishment_events WHERE "establishmentId" = ANY($1::uuid[]) AND tenantid = $2',[c,o])]);return this.mapDataToEstablishments(d,u.rows,g.rows,S.rows)}mapDataToProfile(e,i,o){let t=new Be;if(t.id=e.id,t.active=e.active,t.validFrom=new Date(e.validFrom),t.validTo=e.validTo?new Date(e.validTo):null,t.mainEstablishmentId=e.mainEstablishmentId,t.tenantid=i,t.alias=e.alias,t.taxation_type=e.taxation_type,o&&!t.checkValidityDate(o))throw new Error("Profile out of valid period");return t}mapDataToStartingCreditBalance(e,i){let o=[];for(let t of e){let d=new xe;d.id=t.id,d.tenantid=i,d.period=t.period,d.establishment_id=t.establishment_id,d.profile_id=t.profile_id,d.type=t.type,d.credit_balance_previous_period=t.credit_balance_previous_period,d.credit_balance_sub_auditing=t.credit_balance_sub_auditing,d.credit_balance_previous_period_fcp=t.credit_balance_previous_period_fcp,d.uf=t.uf,d.credit_balance_control_id=t.credit_balance_control_id,d.withholding_nature_indicator=t.withholding_nature_indicator,d.origin_credit=t.origin_credit,d.type_regime=t.type_regime,d.total_value=t.total_value,d.credit_type=t.credit_type,d.created_at=t.created_at,o.push(d);}return o}mapDataToEstablishments(e,i,o,t){let d=[];for(let c of e){let u=new Ne;u.id=c.id,u.active=c.active,u.alias=c.alias,u.tenantid=c.tenantid,u.taxation_type=c.taxation_type,u.cod_inc_trib=c.cod_inc_trib,u.single_national_option=c.single_national_option,u.cprb_option=c.cprb_option,u.fiscal_qualification_type=c.fiscal_qualification_type,u.exception_legal_type=c.exception_legal_type,u.branchId=c.branchId,u.profileId=c.profileId,u.fiscal_id_number=new C(c.fiscal_id_number),u.headerAccountPlanId=c.headerAccountPlanId,u.created_at=c.created_at,u.signatories=this.mapDataToSignatories(i?.filter(g=>g.establishmentId===u.id)??[]),u.scps=this.mapDataToScps(o?.filter(g=>g.establishmentId===u.id)??[]),u.events=this.mapDataToEvents(t?.filter(g=>g.establishmentId===u.id)??[]),d.push(u);}return d}mapDataToSignatories(e){return e.map(i=>{let o=new Le;return o.id=i.id,o.tenantid=i.tenantid,o.establishmentId=i.establishmentId,o.name=i.name,o.active=i.active,o.fiscal_id_number=new C(i.fiscal_id_number),o.address=i.address,o.zip=i.postal_code,o.personType=i.person_type,o.phone=i.phone,o.email=i.email,o.countyCode=i.county_code,o.fiscalOfficeIdNumber=i.fiscal_office_id_number,o.complement=i.complement,o.fax=i.fax,o.crcIdNumber=i.crc_id_number,o.crcRegYear=i.crc_reg_year,o.crcStateInitials=i.crc_state_initials,o.crcSequentialNumber=i.crc_sequential_number,o.crcValidityDate=i.crc_validity_date,o.inactivationDate=i.inactivation_date,o.number=i.number,o.district=i.district,o})}mapDataToScps(e){return e.map(i=>{let o=new De;return o.id=i.id,o.tenantid=i.tenantid,o.establishmentId=i.establishmentId,o.fiscal_id_number=i.fiscal_id_number,o.commercial_name=i.commercial_name,o.description=i.description,o.complement=i.complement,o.active=i.active,o.inactivation_date=i.inactivation_date,o})}mapDataToEvents(e){return e.map(i=>{let o=new ve;return o.id=i.id,o.tenantid=i.tenantid,o.establishmentId=i.establishmentId,o.special_situation=i.special_situation,o.situation_date=i.situation_date,o})}mapDataToReinf(e,i,o){if(!e)return null;let t=i?.map(u=>{let g=new ye;return g.id=u.id,g.tenantid=u.tenantid,g.profile_id=u.profile_id,g.profile_alias=u.profile_alias,g.establishment_id=u.establishment_id,g.establishment_alias=u.establishment_alias,g.cnpj=u.cnpj,g.activity_code=u.activity_code,g.table9=u.table9,g}),d=o?.map(u=>{let g=new Oe;return g.id=u.id,g.tenantid=u.tenantid,g.name=u.name,g.errors=u.errors,g.establishments=u.establishments,g.nature_configs=u.nature_configs,g.income_natures=u.income_natures,g.business_partners=u.business_partners,g.nature_totals=u.nature_totals,g.service_code_totals=u.service_code_totals,g.business_partner_totals=u.business_partner_totals,g.establishment_totals=u.establishment_totals,g.active=u.active,g}),c=new Me;return c.id=e.id,c.natureConfig=d,c.grossRevenueContributionHeaders=t,c.tenantid=e.tenantid,c.profile_id=e.profile_id,c.company_name=e.company_name,c.cnpj=e.cnpj,c.tax_classification_taxpayer=e.tax_classification_taxpayer,c.ecd_required=e.ecd_required,c.payroll_exemption=e.payroll_exemption,c.international_agreement_exemption=e.international_agreement_exemption,c.softhouse_company_name=e.softhouse_company_name,c.softhouse_fiscal_number=e.softhouse_fiscal_number,c.softhouse_contact_name=e.softhouse_contact_name,c.softhouse_telephone=e.softhouse_telephone,c.softhouse_email=e.softhouse_email,c.tax_type=e.tax_type,c.calculation_database=e.calculation_database,c.closing_type=e.closing_type,c.expiration_condition=e.expiration_condition,c.reinf=e.reinf,c.dirf=e.dirf,c.r2060_by_documents=e.r2060_by_documents,c.irf_aliquot=e.irf_aliquot,c.expiration_day=e.expiration_day,c.layout_version=e.layout_version,c.environment_identification=e.environment_identification,c}mapDataToEcd(e){if(!e)return null;let i=new Ie;return i.id=e._id?.toString(),i.tenantid=e.tenantid,i.profile_id=e.profile_id,i.profile_alias=e.profile_alias,i.cod_ent_ref=e.cod_ent_ref,i.cod_inscr=e.cod_inscr,i.num_ord=e.num_ord,i.ind_esc=e.ind_esc,i.is_dlpa_dmpl=e.is_dlpa_dmpl,i.referential_account_plan=e.referential_account_plan,i.ind_tip=e.ind_tip,i}mapDataToEcf(e){if(!e)return null;let i=new Ce;return i.id=e.id,i.tenantid=e.tenantid,i.profile_id=e.profile_id,i.codigo_natureza_juridica=e.codigo_natureza_juridica,i.metodo_avaliacao_estoque_final=e.metodo_avaliacao_estoque_final,i.cnae_principal=e.cnae_principal,i.informar_centro_de_custos=e.informar_centro_de_custos,i.periodo_apuracao_irpj_csll=e.periodo_apuracao_irpj_csll,i.qualificacao_pessoa_juridica=e.qualificacao_pessoa_juridica,i.forma_apuracao_jan=e.forma_apuracao_jan,i.forma_apuracao_fev=e.forma_apuracao_fev,i.forma_apuracao_mar=e.forma_apuracao_mar,i.forma_apuracao_abr=e.forma_apuracao_abr,i.forma_apuracao_mai=e.forma_apuracao_mai,i.forma_apuracao_jun=e.forma_apuracao_jun,i.forma_apuracao_jul=e.forma_apuracao_jul,i.forma_apuracao_ago=e.forma_apuracao_ago,i.forma_apuracao_set=e.forma_apuracao_set,i.forma_apuracao_out=e.forma_apuracao_out,i.forma_apuracao_nov=e.forma_apuracao_nov,i.forma_apuracao_dez=e.forma_apuracao_dez,i.escrituracao=e.escrituracao,i.tipo_pessoa_juridica=e.tipo_pessoa_juridica,i.apuracao_irpj=e.apuracao_irpj,i.apuracao_csll=e.apuracao_csll,i.pj_sujeito_aliquota_csll=e.pj_sujeito_aliquota_csll,i.quantidade_total_scp_socio_ostensivo=e.quantidade_total_scp_socio_ostensivo,i.participacoes_consorcio_empresas=e.participacoes_consorcio_empresas,i.administradora_fundos_e_clubes=e.administradora_fundos_e_clubes,i.operacoes_exterior=e.operacoes_exterior,i.operacoes_pessoa_vinculada=e.operacoes_pessoa_vinculada,i.participacoes_exterior=e.participacoes_exterior,i.pj_artigos_48_49=e.pj_artigos_48_49,i.atividade_rural=e.atividade_rural,i.isencao_reducao_lucro_presumido=e.isencao_reducao_lucro_presumido,i.lucro_exploracao=e.lucro_exploracao,i.ind_finor_finam=e.ind_finor_finam,i.pagamentos_exterior_ou_nao_residentes=e.pagamentos_exterior_ou_nao_residentes,i.recebimentos_exterior_ou_nao_residentes=e.recebimentos_exterior_ou_nao_residentes,i.ativos_exterior=e.ativos_exterior,i.participacao_equivalencia_patrimonial=e.participacao_equivalencia_patrimonial,i.royalties_recebidos_brasil_exterior=e.royalties_recebidos_brasil_exterior,i.royalties_pagos_brasil_exterior=e.royalties_pagos_brasil_exterior,i.comercio_eletronico_e_ti=e.comercio_eletronico_e_ti,i.rendimentos_relativos=e.rendimentos_relativos,i.pagamentos_ou_remessa_brasil_exterior=e.pagamentos_ou_remessa_brasil_exterior,i.pj_habilitada=e.pj_habilitada,i.capacitacao_informatica_e_inclusao=e.capacitacao_informatica_e_inclusao,i.inovacao_tec=e.inovacao_tec,i.areas_livre_comercio=e.areas_livre_comercio,i.polo_industrial_manaus_amazonia=e.polo_industrial_manaus_amazonia,i.zonas_processamento_exportacao=e.zonas_processamento_exportacao,i.entidade_grupo_multinacional=e.entidade_grupo_multinacional,i.declaracao_moeda_estrangeira=e.declaracao_moeda_estrangeira,i.opcao_preco_transferencia_ano_calendario_2023=e.opcao_preco_transferencia_ano_calendario_2023,i.percentual_irpj=e.percentual_irpj,i.percentual_csll=e.percentual_csll,i}async mapDataToEfdContrib(e){if(!e)return null;let i=this._mongoClients.efdContrib,[o,t]=await Promise.all([i.db().collection("revenue_nature_settings").findOne({profile_id:e.profile_id,tenantid:e.tenantid}),i.db().collection("calculation_basis_nature_setting").findOne({profile_id:e.profile_id,tenantid:e.tenantid})]),d=o?.data?.map(g=>{let S=new Te;return S.id=g.id,S.tenantid=g.tenantid,S.profile_id=g.profile_id,S.item_code=g.item_code,S.item_description=g.item_description,S.cst_pis_cofins=g.cst_pis_cofins,S.revenue_nature_code=g.revenue_nature_code,S.revenue_nature_description=g.revenue_nature_description,S.cfop=g.cfop,S.accounts_plan=g.accounts_plan,S.accounting_account=g.accounting_account,S.complementary_description=g.complementary_description,S.active=g.active,S.isMain=g.isMain,S.logs=g.logs,S}),c=t?.data?.map(g=>{let S=new Re;return S.id=g._id,S.tenantid=g.tenantid,S.profiles=g.profiles,S.tax_settings=g.tax_settings,S}),u=new Ee;return u.id=e._id.toString(),u.tenantid=e.tenantid,u.profile_id=e.profile_id,u.ind_nat_pj=e.ind_nat_pj,u.ind_apro_cred=e.ind_apro_cred,u.cod_tipo_cont=e.cod_tipo_cont,u.ind_reg_cum=e.ind_reg_cum,u.profile_alias=e.profile_alias,u.establishment_id=e.establishment_id,u.establishment_alias=e.establishment_alias,u.cod_inc_trib=e.cod_inc_trib,u.cod_atv_econ=e.cod_atv_econ,u.aliq_cont=e.aliq_cont,u.cod_rec=e.cod_rec,u.natureSettings=d,u.calculationBasisNature=c,u}async mapDataToEfdIcmsIpi(e,i=[]){if(!e?.length)return [];let o=[];for(let t of e){let d=i?.filter(g=>g.establishment_id===t.establishment_id),c=[];d?.length&&(c=d.map(g=>{let S=new we;return S.id=g._id,S.tenantid=g.tenantid,S.profile_id=g.profile_id,S.establishment_id=g.establishment_id,S.description=g.description,S}));let u=new Pe;u.id=t._id?.toString(),u.branch_id=t.branch_id,u.profile_id=t.profile_id,u.profile_alias=t.profile_alias,u.establishment_id=t.establishment_id,u.establishment_alias=t.establishment_alias,u.profile_indicator=t.profile_indicator,u.ind_apur=t.ind_apur,u.zfm_alc=t.zfm_alc,u.reg_trib=t.reg_trib,u.has_blockK=t.has_blockK,u.layout_k=t.layout_k,u.tax_type_config=t.tax_type_config,u.has_blockH=t.has_blockH,u.blockH_movement_indicator=t.blockH_movement_indicator,u.icms_credit_config=t.icms_credit_config,u.tenantid=t.tenantid,u.created_at=t.created_at,u.updated_at=t.updated_at,u.gia_st_layout_version=t.gia_st_layout_version,u.icmsAdjustmentSetting=c,o.push(u);}return o}};_(To,"ProfileDbRepository");var st=To;var ct=(e=>(e.REGISTER_CREATED="register_created",e))(ct||{});function ms(n,e){return {event:n,dataTypeName:e.constructor.name,data:e}}_(ms,"newRegisterEvent");function Oa(n){return ms("register_created",n)}_(Oa,"newRegisterEventData");var Ro=class Ro{constructor(e,i){this._name=e,this.eventEmitter=new EventEmitter,this.registersPersist=i;}notifyEvent(e){this.eventEmitter.emit(e.event,e);}get name(){return this._name}get registers(){let e=_((i,o)=>i.reg.localeCompare(o.reg),"sortApproach");return this.registersPersist.all().sort(e)}addSubscriber(e){this.eventEmitter.on("register_created",function(i){return e.eventHandler.call(e,i)});}addRegister(e){this.registersPersist.add(e),this.notifyEvent(Oa(e));}hasContent(){return this.registersPersist.hasRegisters()}getRegisterByKey(e){return this.registersPersist.getByKey(e)}numberOfRegisters(){let e=0;for(let i of this.registersPersist.all())e+=i.numberOfRegisters();return e}};_(Ro,"Block");var Ma=Ro;var Eo=class Eo extends Ma{constructor(e,i="9"){super(i,e);}eventHandler(e){}};_(Eo,"CounterBlock");var Da=Eo;var je=Symbol("key"),He=Symbol("onDuplicationStrategy"),dt=19,fs=255,bs=",",ps=2,Ss=(i=>(i[i.alphanumeric=0]="alphanumeric",i[i.numeric=1]="numeric",i))(Ss||{}),As=(i=>(i[i.property=0]="property",i[i.method=1]="method",i))(As||{}),wo=(t=>(t[t.Error=0]="Error",t[t.Ignore=1]="Ignore",t[t.Overwrite=2]="Overwrite",t[t.Duplicate=3]="Duplicate",t))(wo||{});function _t(n,e,i,o=false,t=0,d=""){return {required:n,dataType:1,maximumLength:e,maximumDecimalsLength:t,fillEntireLength:o,valueProvider:i,decimalSeparator:d}}_(_t,"numericField");function Ps(n,e,i,o=false,t=0,d=false,c=false){return {required:n,dataType:0,maximumLength:e,maximumDecimalsLength:t,fillEntireLength:o,valueProvider:i,decimalSeparator:"",removeAccents:d,removeSpecialCharacters:c}}_(Ps,"alphanumericField");function La(n=false,e=false,i=dt){return function(o,t,d){Reflect.defineMetadata(t,_t(n,i,d?1:0,e),o);}}_(La,"Numeric");function l4(n=false,e=false,i=dt,o=ps,t=bs){return function(d,c,u){Reflect.defineMetadata(c,_t(n,i,u?1:0,e,o,t),d);}}_(l4,"Decimal");function ke(n=false,e=false,i=fs,o=false,t=false){return function(d,c,u){Reflect.defineMetadata(c,Ps(n,i,u?1:0,e,0,o,t),d);}}_(ke,"Alphanumeric");function hs(){return {fields:[]}}_(hs,"key");function zs(n,e){return {fieldName:n,valueProvider:e}}_(zs,"keyFieldDefinition");function xa(){return function(n,e,i){let o=Reflect.getOwnMetadata(je,n);if(!o){let t=Reflect.getMetadata(je,n);t?o={fields:[...t.fields]}:o=hs();}o.fields.push(zs(e,i?1:0)),Reflect.defineMetadata(je,o,n);}}_(xa,"Key");function r4(n=0){return function(e){Reflect.defineMetadata(He,n,e);}}_(r4,"OnDuplication");var Ye=class Ye{constructor(e=0,i="9900"){this.reg_blc="";this.qtd_reg_blc=0;this.reg=i,this.qtd_reg_blc=e;}tagName(){return this.reg}getChildren(){return []}getKeyValue(){return `${this.reg}${this.reg_blc}`}getChildrenByRegTag(e){return []}numberOfRegisters(){throw new Error("Method not implemented.")}numberOfChildRegisters(){throw new Error("Method not implemented.")}numberOfRegisterByTagName(){throw new Error("Method not implemented.")}getOnDuplicationStrategy(){return Reflect.getMetadata(He,this.constructor)??0}};_(Ye,"CounterRegister"),se([xa(),ke()],Ye.prototype,"reg_blc"),se([La()],Ye.prototype,"qtd_reg_blc");var We=Ye;var Va=class Va{constructor(e,i){this.reg="";this._children=[],this._childrenKeys=new Set,this.reg=e,this._registerNotifier=i;}tagName(){return this.reg}addChild(e,i=true){if(i){let o=e.getKeyValue();if(this._childrenKeys.has(o))throw new Error(`duplicate register key: '${o}'`);this._childrenKeys.add(o);}this._children.push(e),this._registerNotifier!==null&&this._registerNotifier.notifyEvent(Oa(e));}getChildren(){return this._children}getKeyValue(){let e=Reflect.getMetadata(je,this),i="";for(let o of e.fields)i=i.concat(this[o.fieldName]||"");return i}getChildrenByRegTag(e){let i=[];for(let o of this.getChildren())o.tagName()===e&&i.push(o);return i}numberOfRegisters(){let e=1;for(let i of this.getChildren())e+=i.numberOfRegisters();return e}numberOfChildRegisters(){let e=this.getChildren().length;for(let i of this.getChildren())e+=i.numberOfChildRegisters();return e}numberOfRegisterByTagName(){let e=new Map;e.set(this.tagName(),1);for(let i of this.getChildren()){let o=i.numberOfRegisterByTagName();for(let[t,d]of o)e.has(t)?e.set(t,e.get(t)+d):e.set(t,d);}return e}getOnDuplicationStrategy(){return Reflect.getMetadata(He,this.constructor)??0}};_(Va,"Register"),se([xa()],Va.prototype,"reg");var Ve=Va;var No=class No{constructor(){this._blocksCounters=new Map;}countRegister(e){let i=e.reg[0],o=this._blocksCounters.has(i)?this._blocksCounters.get(i):new Map;o.has(e.reg)?o.set(e.reg,o.get(e.reg)+1):o.set(e.reg,1),this._blocksCounters.set(i,o);}getBlockRegistersTotal(e){let i=0,o=this._blocksCounters.get(e);if(!o)return i;for(let t of o.values())i+=t;return i}getAllTagsCounters(){let e=new Map;return Array.from(this._blocksCounters.keys()).sort((o,t)=>o.localeCompare(t)).forEach(o=>{let t=this._blocksCounters.get(o);Array.from(t.keys()).sort((c,u)=>c.localeCompare(u)).forEach(c=>{e.set(c,t.get(c));});}),e}};_(No,"TagCounter");var Ua=No;var Ga=class Ga{static createInstance(){return new Ga}constructor(){this.registers=new Map,this.registersByKey=new Map;}getByKey(e){return this.registersByKey.get(e)?.register}set(e,i){let o=this.registers.get(e);if(o)for(let t of o)this.registersByKey.delete(t.getKeyValue());this.registers.set(e,[]);for(let t of i)this.add(t);}hasRegisters(){return this.registersByKey.size!==0}all(){return Array.from(this.registers.values()).flatMap(e=>e)}get(e){return this.registers.get(e)}has(e){return this.registers.has(e)}add(e){let i=e.getKeyValue(),o=e.reg;this.registers.has(o)||this.registers.set(o,[]);let t=this.registersByKey.get(i);if(!t){let c=this.registers.get(o),u=c.length;c.push(e),this.registersByKey.set(i,{register:e,tag:o,index:u});return}switch(e.getOnDuplicationStrategy()){case 1:return;case 2:let{tag:c,index:u}=t,g=this.registers.get(c);g[u]=e,this.registersByKey.set(i,{register:e,tag:c,index:u});return;case 3:let S=this.registers.get(o),f=S.length;S.push(e),this.registersByKey.set(i,{register:e,tag:o,index:f});return;default:throw new Error(`duplicate register key: ${i}`)}}};_(Ga,"MemoryPersist");var Fa=Ga;var Ja=class Ja{constructor(){}static createInstance(){return new Ja}write(e){console.log(e);}save(){console.log("Saving content");}};_(Ja,"ConsoleOutput");var qa=Ja;var ja=class ja{constructor(e){this._options=e;}save(){this._options.writer.save();}static defaultOptions(e=qa.createInstance()){return {writer:e,fieldSeparator:"|",separatorAtTheRegisterStart:false,separatorAtTheRegisterEnd:false,writeRegisterTag:true}}static newWithDefaultOptions(){return this.newWithOptions(this.defaultOptions())}static newWithOptions(e){return new ja(e)}get writer(){return this._options.writer}generate(e){let i=Reflect.getMetadataKeys(e).filter(t=>typeof t!="symbol"),o=`${this._options.separatorAtTheRegisterStart?this._options.fieldSeparator:""}`;this._options.writeRegisterTag&&(o=o.concat(`${e.reg}${this._options.fieldSeparator}`));for(let t=0;t<i.length;t++){let d=i[t],c=Reflect.getMetadata(d,e);switch(c.dataType){case 0:o=o.concat(this.alphanumericValue(c,e[d]),t!=i.length-1?this._options.fieldSeparator:"");break;case 1:o=o.concat(this.numericValue(c,e[d]),t!=i.length-1?this._options.fieldSeparator:"");break}}this._options.separatorAtTheRegisterEnd&&(o=o.concat(this._options.fieldSeparator)),this.writer.write(o);}alphanumericValue(e,i){if(!e.required&&!i)return "";let o=String(i);return e.removeAccents&&(o=o.normalize("NFD").replace(/[\u0300-\u036f]/g,"")),e.removeSpecialCharacters&&(o=o.replace(/[^a-zA-Z0-9\s]/g,"").trim()),e.maximumLength>0&&(o=o.slice(0,e.maximumLength)),e.fillEntireLength&&(o=o.padEnd(e.maximumLength," ")),o}numericValue(e,i){if(i==null&&(e.required||e.maximumDecimalsLength===0))return "";let o=i!=null?String(i):"0",t=o.indexOf("."),d=t===-1?o:o.substring(0,t),c=t!==-1;if(!e.required&&/^0+$/.test(d)&&!c)return "";let u=d;if(e.maximumDecimalsLength>0){let g;if(c){let S=Number(i).toFixed(e.maximumDecimalsLength),f=S.indexOf(".");g=S.substring(f+1);}else g="0".repeat(e.maximumDecimalsLength);u=u+e.decimalSeparator+g;}return e.fillEntireLength&&e.maximumLength>0&&(u=u.padStart(e.maximumLength,"0")),u}};_(ja,"TaxRegisterGenerator");var Ue=ja;var ut="9999",nt="001",lt="990";var Ha=class Ha extends Ve{constructor(){super(ut,{});this.qtd_lin=0;}};_(Ha,"CloseFile"),se([La()],Ha.prototype,"qtd_lin");var vo=Ha,ka=class ka extends Ve{constructor(i){super(i,{});this.ind_mov=1;}};_(ka,"OpenBlock"),se([ke(true,false,1)],ka.prototype,"ind_mov");var Bo=ka,Ya=class Ya extends Ve{constructor(i){super(i,{});this.qtd_lin=0;}};_(Ya,"CloseBlock"),se([ke()],Ya.prototype,"qtd_lin");var yo=Ya,Wa=class Wa{constructor(e){this._options=e,this._counters=new Ua;}static defaultOptions(e,i){return {openSuffix:nt,closeSuffix:lt,openFileRegister:e,registerGenerator:i}}static newWithDefaultOptions(e){return this.newWithOptions(this.defaultOptions(e,Ue.newWithDefaultOptions()))}static newWithOptions(e){return new Wa(e)}beforeGeneration(e){this.addRegister(this._options.openFileRegister);}generation(e){let i=e.Blocks;for(let o of i)this.addBlock(o);}afterGeneration(e){let i=this._counters.getAllTagsCounters(),o=new Da(Fa.createInstance()),t=new vo;i.set(`${o.name}${nt}`,1),i.set(`${o.name}${lt}`,1),i.set(ut,1),i.forEach((c,u)=>{let g=new We;g.reg_blc=u,g.qtd_reg_blc=c,t.qtd_lin+=c,o.addRegister(g);});let d=new We;d.reg_blc=d.reg,d.qtd_reg_blc=i.size+1,t.qtd_lin+=i.size+1,o.addRegister(d),this.addBlock(o),this._options.registerGenerator.generate(t);}beforeBlockGeneration(e){let i=new Bo(`${e.name}${this._options.openSuffix}`);i.ind_mov=e.hasContent()?0:1,this.addRegister(i);}blockGeneration(e){for(let i of e.registers)this.addRegister(i);}beforeRegisterGeneration(e){}registerGeneration(e){this._options.registerGenerator.generate(e);for(let i of e.getChildren())this.addRegister(i);}afterRegisterGeneration(e){this._counters.countRegister(e);}afterBlockGeneration(e){let i=new yo(`${e.name}${this._options.closeSuffix}`);i.qtd_lin=this._counters.getBlockRegistersTotal(e.name)+1,e.name==="9"&&(i.qtd_lin+=1),this.addRegister(i);}addBlock(e){this.beforeBlockGeneration(e),this.blockGeneration(e),this.afterBlockGeneration(e);}addRegister(e){this.beforeRegisterGeneration(e),this.registerGeneration(e),this.afterRegisterGeneration(e);}generateFile(e){this.beforeGeneration(e),this.generation(e),this.afterGeneration(e),this._options.registerGenerator.save();}};_(Wa,"ReportGenerator");var rt=Wa;var Ka=class Ka{constructor(e){this._options=e;}static defaultOptions(e,i){return {openFileRegister:e,registerGenerator:i}}static newWithDefaultOptions(e){return this.newWithOptions(this.defaultOptions(e,Ue.newWithDefaultOptions()))}static newWithOptions(e){return new Ka(e)}beforeGeneration(e){this._options.openFileRegister&&this.addRegister(this._options.openFileRegister);}generation(e){let i=e.Blocks;for(let o of i)this.addBlock(o);}afterGeneration(e){}beforeBlockGeneration(e){}blockGeneration(e){for(let i of e.registers)this.addRegister(i);}beforeRegisterGeneration(e){}registerGeneration(e){this._options.registerGenerator.generate(e);for(let i of e.getChildren())this.addRegister(i);}afterRegisterGeneration(e){}afterBlockGeneration(e){}addBlock(e){this.beforeBlockGeneration(e),this.blockGeneration(e),this.afterBlockGeneration(e);}addRegister(e){this.beforeRegisterGeneration(e),this.registerGeneration(e),this.afterRegisterGeneration(e);}generateFile(e){this.beforeGeneration(e),this.generation(e),this.afterGeneration(e),this._options.registerGenerator.save();}};_(Ka,"SimpleReportGenerator");var mt=Ka;var Oo=class Oo{constructor(){this._blocks=new Map;}registerBlock(e){return this._blocks.set(e.name,e),this}getBlock(e){return this._blocks.get(e)}get Blocks(){return Array.from(this._blocks.values())}};_(Oo,"TaxReport");var gt=Oo;var Mo=class Mo{constructor(){this.output=[];}write(e){this.output.push(e);}save(){console.log(`Pushed ${this.output.length} lines to array`);}get Output(){return this.output}};_(Mo,"StringArrayOutput");var ft=Mo;var G={AUTH:{UNAUTHORIZED:"UNAUTHORIZED",TOKEN_EXPIRED:"TOKEN_EXPIRED"},DATABASE:{CONNECTION_FAILED:"CONNECTION_FAILED",QUERY_ERROR:"QUERY_ERROR"},VALIDATION:{INVALID_INPUT:"INVALID_INPUT",MISSING_FIELD:"MISSING_FIELD"},INTERNAL:{INTERNAL_SERVER_ERROR:"INTERNAL_SERVER_ERROR",UNEXPECTED_ERROR:"UNEXPECTED_ERROR"},SETTING:{PROFILE_NOT_SET_UP:"PROFILE_NOT_SET_UP",REINF_NOT_ENABLED:"REINF_NOT_ENABLED",R2060_CONFIG_CONFLICT:"R2060_CONFIG_CONFLICT"}};var Is=(d=>(d.AUTH="AUTH",d.DATABASE="DB",d.VALIDATION="VALID",d.INTERNAL="INTERNAL",d.SETTING="SETTING",d))(Is||{}),Za="pt-BR";var Lo=class Lo{constructor(){this.messages={};this.usedKeys=new Set;}addMessage(e){if(this.usedKeys.has(e.key))throw new Error(`Duplicate message key: ${e.key}`);return this.usedKeys.add(e.key),this.messages[e.key]=e,this}build(){return {...this.messages}}};_(Lo,"MessageBuilder");var Do=Lo,Cs=new Do().addMessage({key:G.AUTH.UNAUTHORIZED,category:"AUTH",userMessage:{"pt-BR":"Você não tem permissão para acessar {endpoint}.","en-US":"You do not have permission to access {endpoint}.","es-ES":"No tienes permiso para acceder a {endpoint}."},actionSuggestion:{"pt-BR":"Faça login novamente ou contate o suporte.","en-US":"Log in again or contact support.","es-ES":"Inicia sesión nuevamente o contacta al soporte."},technicalMessage:"Unauthorized access attempt on endpoint {endpoint}."}).addMessage({key:G.AUTH.TOKEN_EXPIRED,category:"AUTH",userMessage:{"pt-BR":"Sua sessão expirou ao acessar {endpoint}.","en-US":"Your session expired while accessing {endpoint}.","es-ES":"Tu sesión ha expirado al acceder a {endpoint}."},actionSuggestion:{"pt-BR":"Faça login novamente para continuar.","en-US":"Log in again to continue.","es-ES":"Inicia sesión nuevamente para continuar."},technicalMessage:"Token expired for user {userId} on endpoint {endpoint}."}).addMessage({key:G.DATABASE.CONNECTION_FAILED,category:"DB",userMessage:{"pt-BR":"Não foi possível conectar ao banco de dados.","en-US":"Could not connect to the database.","es-ES":"No se pudo conectar a la base de datos."},actionSuggestion:{"pt-BR":"Tente novamente mais tarde.","en-US":"Try again later.","es-ES":"Intenta de nuevo más tarde."},technicalMessage:"Database connection failed: {error}."}).addMessage({key:G.DATABASE.QUERY_ERROR,category:"DB",userMessage:{"pt-BR":"Erro ao processar sua solicitação no banco de dados.","en-US":"Error processing your request in the database.","es-ES":"Error al procesar tu solicitud en la base de datos."},actionSuggestion:{"pt-BR":"Tente novamente ou contate o suporte.","en-US":"Try again or contact support.","es-ES":"Intenta de nuevo o contacta al soporte."},technicalMessage:"Database query failed: {query} with error {error}."}).addMessage({key:G.VALIDATION.INVALID_INPUT,category:"VALID",userMessage:{"pt-BR":"Os dados fornecidos são inválidos: {inputDetails}.","en-US":"The provided data is invalkey: {inputDetails}.","es-ES":"Los datos proporcionados son inválidos: {inputDetails}."},actionSuggestion:{"pt-BR":"Verifique os campos e tente novamente.","en-US":"Check the fields and try again.","es-ES":"Verifica los campos e intenta de nuevo."},technicalMessage:"Validation failed for input: {inputDetails}."}).addMessage({key:G.VALIDATION.MISSING_FIELD,category:"VALID",userMessage:{"pt-BR":"Campo obrigatório ausente: {fieldName}.","en-US":"Required field missing: {fieldName}.","es-ES":"Campo obligatorio ausente: {fieldName}."},actionSuggestion:{"pt-BR":"Preencha todos os campos necessários.","en-US":"Fill in all required fields.","es-ES":"Completa todos los campos necesarios."},technicalMessage:"Missing required field: {fieldName}."}).addMessage({key:G.INTERNAL.INTERNAL_SERVER_ERROR,category:"INTERNAL",userMessage:{"pt-BR":"Algo inesperado aconteceu.","en-US":"Something unexpected happended.","es-ES":"Algo inesperado pasó."},actionSuggestion:{"pt-BR":"Tente novamente mais tarde.","en-US":"Try again later.","es-ES":"Intenta de nuevo más tarde."},technicalMessage:"Internal server error: {error}."}).addMessage({key:G.SETTING.PROFILE_NOT_SET_UP,category:"SETTING",userMessage:{"pt-BR":"O Perfil Fiscal Especializado para a obrigação não está configurado.","en-US":"The Specialized Tax Profile for the obligation is not configured.","es-ES":"El Perfil Tributario Especializado para la obligación no está configurado."},actionSuggestion:{"pt-BR":"Configure-o e gere uma nova apuração.","en-US":"Configure it and generate a new auditing.","es-ES":"Configuralo y genera una nueva encuesta."},technicalMessage:"The Specialized Profile ({profileName}) is not configured for the EFD Contributions obligation."}).addMessage({key:G.SETTING.REINF_NOT_ENABLED,category:"SETTING",userMessage:{"pt-BR":"A declaração REINF não está habilitada para este perfil. Ative nas configurações.","en-US":"REINF declaration is not enabled for this profile. Enable in settings.","es-ES":"La declaración REINF no está habilitada para este perfil. Actívala en la configuración."},actionSuggestion:{"pt-BR":"Ative o REINF nas configurações do perfil.","en-US":"Enable REINF in the profile configuration settings.","es-ES":"Activa REINF en la configuración del perfil."},technicalMessage:"REINF is not activated for profile: {profileId}."}).addMessage({key:G.SETTING.R2060_CONFIG_CONFLICT,category:"SETTING",userMessage:{"pt-BR":"Conflito de configuração: R2060 está configurado para apuração por documentos, mas foi solicitada apuração por F100.","en-US":"Configuration conflict: R2060 is configured for document calculation, but F100 calculation was requested.","es-ES":"Conflicto de configuración: R2060 está configurado para cálculo por documentos, pero se solicitó cálculo por F100."},actionSuggestion:{"pt-BR":"Altere a configuração r2060_by_documents para false no perfil.","en-US":"Change r2060_by_documents setting to false in profile configuration.","es-ES":"Cambia la configuración r2060_by_documents a false en el perfil."},technicalMessage:"R2060 is being calculated from documents. Change configuration to use F100 calculation."}).addMessage({key:G.INTERNAL.UNEXPECTED_ERROR,category:"INTERNAL",userMessage:{"pt-BR":"Ocorreu um erro inesperado durante o processamento da apuração REINF.","en-US":"An unexpected error occurred during REINF calculation processing.","es-ES":"Ocurrió un error inesperado durante el procesamiento del cálculo REINF."},actionSuggestion:{"pt-BR":"Verifique os logs da aplicação, recursos do sistema e contate o suporte se o erro persistir.","en-US":"Check application logs, system resources and contact support if the error persists.","es-ES":"Verifica los logs de la aplicación, recursos del sistema y contacta al soporte si el error persiste."},technicalMessage:"Unexpected error while generating REINF calculation: {originalError}. Context: profileId={profileId}, period={period}, tenantId={tenantId}."}),Fe=Cs.build();var Ts={[G.AUTH.UNAUTHORIZED]:{required:["endpoint"]},[G.AUTH.TOKEN_EXPIRED]:{required:["endpoint","userId"]},[G.DATABASE.CONNECTION_FAILED]:{required:["error"]},[G.DATABASE.QUERY_ERROR]:{required:["error","query"]},[G.VALIDATION.INVALID_INPUT]:{required:["inputDetails"]},[G.VALIDATION.MISSING_FIELD]:{required:["fieldName"]},[G.INTERNAL.INTERNAL_SERVER_ERROR]:{required:["error"]},[G.SETTING.PROFILE_NOT_SET_UP]:{required:["profileName"]},[G.SETTING.REINF_NOT_ENABLED]:{required:["profileId"]},[G.SETTING.R2060_CONFIG_CONFLICT]:{required:[]},[G.INTERNAL.UNEXPECTED_ERROR]:{required:["originalError","profileId","period","tenantId"]}};function bt(n,e){let i=Ts[n];if(!i)return;let o=i.required.filter(d=>!(d in e)||e[d]===void 0||e[d]===null);if(o.length>0)throw new Error(`Missing required parameters for message ${n} (${Fe[n].key}): ${o.join(", ")}`);let t=i.required.filter(d=>typeof e[d]=="string"&&e[d].trim()==="");if(t.length>0)throw new Error(`Empty values provided for parameters in message ${n} (${Fe[n].key}): ${t.join(", ")}`)}_(bt,"validateParams");function $a(n,e){return Object.entries(e).reduce((i,[o,t])=>i.replace(`{${o}}`,String(t)),n)}_($a,"formatMessage");function Rs(n,e,i,o=Za){let t=Fe[n];if(!t)throw new Error(`Message with code ${n} not found.`);bt(n,e);let c={file:(new Error().stack?.split("\\n")[2]||"").split("(")[1]?.split(")")[0]||"unknown",memoryUsage:{rss:he(process.memoryUsage().rss),heapUsed:he(process.memoryUsage().heapUsed),heapTotal:he(process.memoryUsage().heapTotal),external:he(process.memoryUsage().external),arrayBuffers:he(process.memoryUsage().arrayBuffers)},cpuUsage:{user:he(process.cpuUsage().user),system:he(process.cpuUsage().system)},...i},u=t.userMessage[o]||t.userMessage[Za],g=t.actionSuggestion[o]||t.actionSuggestion[Za],S=$a(t.technicalMessage,e);return console.error(`[${t.key}] ${S}`,c),{messageCode:n,userMessage:$a(u,e),actionSuggestion:$a(g,e)}}_(Rs,"logWithContext");function he(n){return `${(n/1024/1024).toFixed(2)} MB`}_(he,"formatMemory");var xo=class xo{constructor(e,i,o,t,d,c=false,u=20,g=5,S=1e4,f=45e3){this.host=e;this.port=i;this.database=o;this.username=t;this.password=d;this.isSrv=c;this.maxPoolSize=u;this.minPoolSize=g;this.connectTimeoutMS=S;this.socketTimeoutMS=f;}getConnectionString(){let e=this.username&&this.password?`${encodeURIComponent(this.username)}:${encodeURIComponent(this.password)}@`:"",i=this.isSrv?"":`:${this.port}`;return `${this.isSrv?"mongodb+srv":"mongodb"}://${e}${this.host}${i}/${this.database}`}getPoolOptions(){return {maxPoolSize:this.maxPoolSize,minPoolSize:this.minPoolSize,connectTimeoutMS:this.connectTimeoutMS,socketTimeoutMS:this.socketTimeoutMS}}};_(xo,"MongoConfig");var pt=xo;ot.config();var Vo=class Vo{constructor(e){this.config=e;}getConnection(){return {user:this.config.user,host:this.config.host,database:this.config.database,password:this.config.password,port:this.config.port,ssl:this.config.ssl}}};_(Vo,"PostgresConfig");var St=Vo;
|
|
69
|
+
e."profileId" = $2;`,[o,i]),e.query('SELECT * FROM scps WHERE "establishmentId" = ANY($1::uuid[]) AND tenantid = $2',[c,o]),e.query('SELECT * FROM establishment_events WHERE "establishmentId" = ANY($1::uuid[]) AND tenantid = $2',[c,o])]);return this.mapDataToEstablishments(d,u.rows,g.rows,S.rows)}mapDataToProfile(e,i,o){let t=new Be;if(t.id=e.id,t.active=e.active,t.validFrom=new Date(e.validFrom),t.validTo=e.validTo?new Date(e.validTo):null,t.mainEstablishmentId=e.mainEstablishmentId,t.tenantid=i,t.alias=e.alias,t.taxation_type=e.taxation_type,o&&!t.checkValidityDate(o))throw new Error("Profile out of valid period");return t}mapDataToStartingCreditBalance(e,i){let o=[];for(let t of e){let d=new xe;d.id=t.id,d.tenantid=i,d.period=t.period,d.establishment_id=t.establishment_id,d.profile_id=t.profile_id,d.type=t.type,d.credit_balance_previous_period=t.credit_balance_previous_period,d.credit_balance_sub_auditing=t.credit_balance_sub_auditing,d.credit_balance_previous_period_fcp=t.credit_balance_previous_period_fcp,d.uf=t.uf,d.credit_balance_control_id=t.credit_balance_control_id,d.withholding_nature_indicator=t.withholding_nature_indicator,d.origin_credit=t.origin_credit,d.type_regime=t.type_regime,d.total_value=t.total_value,d.credit_type=t.credit_type,d.created_at=t.created_at,o.push(d);}return o}mapDataToEstablishments(e,i,o,t){let d=[];for(let c of e){let u=new Ne;u.id=c.id,u.active=c.active,u.alias=c.alias,u.tenantid=c.tenantid,u.taxation_type=c.taxation_type,u.cod_inc_trib=c.cod_inc_trib,u.single_national_option=c.single_national_option,u.cprb_option=c.cprb_option,u.fiscal_qualification_type=c.fiscal_qualification_type,u.exception_legal_type=c.exception_legal_type,u.branchId=c.branchId,u.profileId=c.profileId,u.fiscal_id_number=new C(c.fiscal_id_number),u.headerAccountPlanId=c.headerAccountPlanId,u.created_at=c.created_at,u.signatories=this.mapDataToSignatories(i?.filter(g=>g.establishmentId===u.id)??[]),u.scps=this.mapDataToScps(o?.filter(g=>g.establishmentId===u.id)??[]),u.events=this.mapDataToEvents(t?.filter(g=>g.establishmentId===u.id)??[]),d.push(u);}return d}mapDataToSignatories(e){return e.map(i=>{let o=new Le;return o.id=i.id,o.tenantid=i.tenantid,o.establishmentId=i.establishmentId,o.name=i.name,o.active=i.active,o.fiscal_id_number=new C(i.fiscal_id_number),o.address=i.address,o.zip=i.postal_code,o.personType=i.person_type,o.phone=i.phone,o.email=i.email,o.countyCode=i.county_code,o.fiscalOfficeIdNumber=i.fiscal_office_id_number,o.complement=i.complement,o.fax=i.fax,o.crcIdNumber=i.crc_id_number,o.crcRegYear=i.crc_reg_year,o.crcStateInitials=i.crc_state_initials,o.crcSequentialNumber=i.crc_sequential_number,o.crcValidityDate=i.crc_validity_date,o.inactivationDate=i.inactivation_date,o.number=i.number,o.district=i.district,o})}mapDataToScps(e){return e.map(i=>{let o=new De;return o.id=i.id,o.tenantid=i.tenantid,o.establishmentId=i.establishmentId,o.fiscal_id_number=i.fiscal_id_number,o.commercial_name=i.commercial_name,o.description=i.description,o.complement=i.complement,o.active=i.active,o.inactivation_date=i.inactivation_date,o})}mapDataToEvents(e){return e.map(i=>{let o=new ve;return o.id=i.id,o.tenantid=i.tenantid,o.establishmentId=i.establishmentId,o.special_situation=i.special_situation,o.situation_date=i.situation_date,o})}mapDataToReinf(e,i,o){if(!e)return null;let t=i?.map(u=>{let g=new ye;return g.id=u.id,g.tenantid=u.tenantid,g.profile_id=u.profile_id,g.profile_alias=u.profile_alias,g.establishment_id=u.establishment_id,g.establishment_alias=u.establishment_alias,g.cnpj=u.cnpj,g.activity_code=u.activity_code,g.table9=u.table9,g}),d=o?.map(u=>{let g=new Oe;return g.id=u.id,g.tenantid=u.tenantid,g.name=u.name,g.errors=u.errors,g.establishments=u.establishments,g.nature_configs=u.nature_configs,g.income_natures=u.income_natures,g.business_partners=u.business_partners,g.nature_totals=u.nature_totals,g.service_code_totals=u.service_code_totals,g.business_partner_totals=u.business_partner_totals,g.establishment_totals=u.establishment_totals,g.active=u.active,g}),c=new Me;return c.id=e.id,c.natureConfig=d,c.grossRevenueContributionHeaders=t,c.tenantid=e.tenantid,c.profile_id=e.profile_id,c.company_name=e.company_name,c.cnpj=e.cnpj,c.tax_classification_taxpayer=e.tax_classification_taxpayer,c.ecd_required=e.ecd_required,c.payroll_exemption=e.payroll_exemption,c.international_agreement_exemption=e.international_agreement_exemption,c.softhouse_company_name=e.softhouse_company_name,c.softhouse_fiscal_number=e.softhouse_fiscal_number,c.softhouse_contact_name=e.softhouse_contact_name,c.softhouse_telephone=e.softhouse_telephone,c.softhouse_email=e.softhouse_email,c.tax_type=e.tax_type,c.calculation_database=e.calculation_database,c.closing_type=e.closing_type,c.expiration_condition=e.expiration_condition,c.reinf=e.reinf,c.dirf=e.dirf,c.r2060_by_documents=e.r2060_by_documents,c.irf_aliquot=e.irf_aliquot,c.expiration_day=e.expiration_day,c.layout_version=e.layout_version,c.environment_identification=e.environment_identification,c}mapDataToEcd(e){if(!e)return null;let i=new Ie;return i.id=e._id?.toString(),i.tenantid=e.tenantid,i.profile_id=e.profile_id,i.profile_alias=e.profile_alias,i.cod_ent_ref=e.cod_ent_ref,i.cod_inscr=e.cod_inscr,i.num_ord=e.num_ord,i.ind_esc=e.ind_esc,i.is_dlpa_dmpl=e.is_dlpa_dmpl,i.referential_account_plan=e.referential_account_plan,i.ind_tip=e.ind_tip,i}mapDataToEcf(e){if(!e)return null;let i=new Ce;return i.id=e.id,i.tenantid=e.tenantid,i.profile_id=e.profile_id,i.codigo_natureza_juridica=e.codigo_natureza_juridica,i.metodo_avaliacao_estoque_final=e.metodo_avaliacao_estoque_final,i.cnae_principal=e.cnae_principal,i.informar_centro_de_custos=e.informar_centro_de_custos,i.periodo_apuracao_irpj_csll=e.periodo_apuracao_irpj_csll,i.qualificacao_pessoa_juridica=e.qualificacao_pessoa_juridica,i.forma_apuracao_jan=e.forma_apuracao_jan,i.forma_apuracao_fev=e.forma_apuracao_fev,i.forma_apuracao_mar=e.forma_apuracao_mar,i.forma_apuracao_abr=e.forma_apuracao_abr,i.forma_apuracao_mai=e.forma_apuracao_mai,i.forma_apuracao_jun=e.forma_apuracao_jun,i.forma_apuracao_jul=e.forma_apuracao_jul,i.forma_apuracao_ago=e.forma_apuracao_ago,i.forma_apuracao_set=e.forma_apuracao_set,i.forma_apuracao_out=e.forma_apuracao_out,i.forma_apuracao_nov=e.forma_apuracao_nov,i.forma_apuracao_dez=e.forma_apuracao_dez,i.escrituracao=e.escrituracao,i.tipo_pessoa_juridica=e.tipo_pessoa_juridica,i.apuracao_irpj=e.apuracao_irpj,i.apuracao_csll=e.apuracao_csll,i.pj_sujeito_aliquota_csll=e.pj_sujeito_aliquota_csll,i.quantidade_total_scp_socio_ostensivo=e.quantidade_total_scp_socio_ostensivo,i.participacoes_consorcio_empresas=e.participacoes_consorcio_empresas,i.administradora_fundos_e_clubes=e.administradora_fundos_e_clubes,i.operacoes_exterior=e.operacoes_exterior,i.operacoes_pessoa_vinculada=e.operacoes_pessoa_vinculada,i.participacoes_exterior=e.participacoes_exterior,i.pj_artigos_48_49=e.pj_artigos_48_49,i.atividade_rural=e.atividade_rural,i.isencao_reducao_lucro_presumido=e.isencao_reducao_lucro_presumido,i.lucro_exploracao=e.lucro_exploracao,i.ind_finor_finam=e.ind_finor_finam,i.pagamentos_exterior_ou_nao_residentes=e.pagamentos_exterior_ou_nao_residentes,i.recebimentos_exterior_ou_nao_residentes=e.recebimentos_exterior_ou_nao_residentes,i.ativos_exterior=e.ativos_exterior,i.participacao_equivalencia_patrimonial=e.participacao_equivalencia_patrimonial,i.royalties_recebidos_brasil_exterior=e.royalties_recebidos_brasil_exterior,i.royalties_pagos_brasil_exterior=e.royalties_pagos_brasil_exterior,i.comercio_eletronico_e_ti=e.comercio_eletronico_e_ti,i.rendimentos_relativos=e.rendimentos_relativos,i.pagamentos_ou_remessa_brasil_exterior=e.pagamentos_ou_remessa_brasil_exterior,i.pj_habilitada=e.pj_habilitada,i.capacitacao_informatica_e_inclusao=e.capacitacao_informatica_e_inclusao,i.inovacao_tec=e.inovacao_tec,i.areas_livre_comercio=e.areas_livre_comercio,i.polo_industrial_manaus_amazonia=e.polo_industrial_manaus_amazonia,i.zonas_processamento_exportacao=e.zonas_processamento_exportacao,i.entidade_grupo_multinacional=e.entidade_grupo_multinacional,i.declaracao_moeda_estrangeira=e.declaracao_moeda_estrangeira,i.opcao_preco_transferencia_ano_calendario_2023=e.opcao_preco_transferencia_ano_calendario_2023,i.percentual_irpj=e.percentual_irpj,i.percentual_csll=e.percentual_csll,i}async mapDataToEfdContrib(e){if(!e)return null;let i=this._mongoClients.efdContrib,[o,t]=await Promise.all([i.db().collection("revenue_nature_settings").findOne({profile_id:e.profile_id,tenantid:e.tenantid}),i.db().collection("calculation_basis_nature_setting").findOne({profile_id:e.profile_id,tenantid:e.tenantid})]),d=o?.data?.map(g=>{let S=new Te;return S.id=g.id,S.tenantid=g.tenantid,S.profile_id=g.profile_id,S.item_code=g.item_code,S.item_description=g.item_description,S.cst_pis_cofins=g.cst_pis_cofins,S.revenue_nature_code=g.revenue_nature_code,S.revenue_nature_description=g.revenue_nature_description,S.cfop=g.cfop,S.accounts_plan=g.accounts_plan,S.accounting_account=g.accounting_account,S.complementary_description=g.complementary_description,S.active=g.active,S.isMain=g.isMain,S.logs=g.logs,S}),c=t?.data?.map(g=>{let S=new Re;return S.id=g._id,S.tenantid=g.tenantid,S.profiles=g.profiles,S.tax_settings=g.tax_settings,S}),u=new Ee;return u.id=e._id.toString(),u.tenantid=e.tenantid,u.profile_id=e.profile_id,u.ind_nat_pj=e.ind_nat_pj,u.ind_apro_cred=e.ind_apro_cred,u.cod_tipo_cont=e.cod_tipo_cont,u.ind_reg_cum=e.ind_reg_cum,u.profile_alias=e.profile_alias,u.establishment_id=e.establishment_id,u.establishment_alias=e.establishment_alias,u.cod_inc_trib=e.cod_inc_trib,u.cod_atv_econ=e.cod_atv_econ,u.aliq_cont=e.aliq_cont,u.cod_rec=e.cod_rec,u.natureSettings=d,u.calculationBasisNature=c,u}async mapDataToEfdIcmsIpi(e,i=[]){if(!e?.length)return [];let o=[];for(let t of e){let d=i?.filter(g=>g.establishment_id===t.establishment_id),c=[];d?.length&&(c=d.map(g=>{let S=new we;return S.id=g._id,S.tenantid=g.tenantid,S.profile_id=g.profile_id,S.establishment_id=g.establishment_id,S.description=g.description,S}));let u=new Pe;u.id=t._id?.toString(),u.branch_id=t.branch_id,u.profile_id=t.profile_id,u.profile_alias=t.profile_alias,u.establishment_id=t.establishment_id,u.establishment_alias=t.establishment_alias,u.profile_indicator=t.profile_indicator,u.ind_apur=t.ind_apur,u.zfm_alc=t.zfm_alc,u.reg_trib=t.reg_trib,u.has_blockK=t.has_blockK,u.layout_k=t.layout_k,u.tax_type_config=t.tax_type_config,u.has_blockH=t.has_blockH,u.blockH_movement_indicator=t.blockH_movement_indicator,u.icms_credit_config=t.icms_credit_config,u.tenantid=t.tenantid,u.created_at=t.created_at,u.updated_at=t.updated_at,u.gia_st_layout_version=t.gia_st_layout_version,u.icmsAdjustmentSetting=c,o.push(u);}return o}};_(To,"ProfileDbRepository");var st=To;var ct=(e=>(e.REGISTER_CREATED="register_created",e))(ct||{});function ms(n,e){return {event:n,dataTypeName:e.constructor.name,data:e}}_(ms,"newRegisterEvent");function Oa(n){return ms("register_created",n)}_(Oa,"newRegisterEventData");var Ro=class Ro{constructor(e,i){this._name=e,this.eventEmitter=new EventEmitter,this.registersPersist=i;}notifyEvent(e){this.eventEmitter.emit(e.event,e);}get name(){return this._name}get registers(){let e=_((i,o)=>i.reg.localeCompare(o.reg),"sortApproach");return this.registersPersist.all().sort(e)}addSubscriber(e){this.eventEmitter.on("register_created",function(i){return e.eventHandler.call(e,i)});}addRegister(e){this.registersPersist.add(e),this.notifyEvent(Oa(e));}hasContent(){return this.registersPersist.hasRegisters()}getRegisterByKey(e){return this.registersPersist.getByKey(e)}numberOfRegisters(){let e=0;for(let i of this.registersPersist.all())e+=i.numberOfRegisters();return e}};_(Ro,"Block");var Ma=Ro;var Eo=class Eo extends Ma{constructor(e,i="9"){super(i,e);}eventHandler(e){}};_(Eo,"CounterBlock");var Da=Eo;var je=Symbol("key"),He=Symbol("onDuplicationStrategy"),dt=19,fs=255,bs=",",ps=2,Ss=(i=>(i[i.alphanumeric=0]="alphanumeric",i[i.numeric=1]="numeric",i))(Ss||{}),As=(i=>(i[i.property=0]="property",i[i.method=1]="method",i))(As||{}),wo=(t=>(t[t.Error=0]="Error",t[t.Ignore=1]="Ignore",t[t.Overwrite=2]="Overwrite",t[t.Duplicate=3]="Duplicate",t))(wo||{});function _t(n,e,i,o=false,t=0,d=""){return {required:n,dataType:1,maximumLength:e,maximumDecimalsLength:t,fillEntireLength:o,valueProvider:i,decimalSeparator:d}}_(_t,"numericField");function Ps(n,e,i,o=false,t=0,d=false,c=false){return {required:n,dataType:0,maximumLength:e,maximumDecimalsLength:t,fillEntireLength:o,valueProvider:i,decimalSeparator:"",removeAccents:d,removeSpecialCharacters:c}}_(Ps,"alphanumericField");function La(n=false,e=false,i=dt){return function(o,t,d){Reflect.defineMetadata(t,_t(n,i,d?1:0,e),o);}}_(La,"Numeric");function l4(n=false,e=false,i=dt,o=ps,t=bs){return function(d,c,u){Reflect.defineMetadata(c,_t(n,i,u?1:0,e,o,t),d);}}_(l4,"Decimal");function ke(n=false,e=false,i=fs,o=false,t=false){return function(d,c,u){Reflect.defineMetadata(c,Ps(n,i,u?1:0,e,0,o,t),d);}}_(ke,"Alphanumeric");function hs(){return {fields:[]}}_(hs,"key");function zs(n,e){return {fieldName:n,valueProvider:e}}_(zs,"keyFieldDefinition");function xa(){return function(n,e,i){let o=Reflect.getOwnMetadata(je,n);if(!o){let t=Reflect.getMetadata(je,n);t?o={fields:[...t.fields]}:o=hs();}o.fields.push(zs(e,i?1:0)),Reflect.defineMetadata(je,o,n);}}_(xa,"Key");function r4(n=0){return function(e){Reflect.defineMetadata(He,n,e);}}_(r4,"OnDuplication");var Ye=class Ye{constructor(e=0,i="9900"){this.reg_blc="";this.qtd_reg_blc=0;this.reg=i,this.qtd_reg_blc=e;}tagName(){return this.reg}getChildren(){return []}getKeyValue(){return `${this.reg}${this.reg_blc}`}getChildrenByRegTag(e){return []}numberOfRegisters(){throw new Error("Method not implemented.")}numberOfChildRegisters(){throw new Error("Method not implemented.")}numberOfRegisterByTagName(){throw new Error("Method not implemented.")}getOnDuplicationStrategy(){return Reflect.getMetadata(He,this.constructor)??0}};_(Ye,"CounterRegister"),se([xa(),ke()],Ye.prototype,"reg_blc"),se([La()],Ye.prototype,"qtd_reg_blc");var We=Ye;var Va=class Va{constructor(e,i){this.reg="";this._children=[],this._childrenKeys=new Set,this.reg=e,this._registerNotifier=i;}tagName(){return this.reg}addChild(e,i=true){if(i){let o=e.getKeyValue();if(this._childrenKeys.has(o))throw new Error(`duplicate register key: '${o}'`);this._childrenKeys.add(o);}this._children.push(e),this._registerNotifier!==null&&this._registerNotifier.notifyEvent(Oa(e));}getChildren(){return this._children}getKeyValue(){let e=Reflect.getMetadata(je,this),i="";for(let o of e.fields)i=i.concat(this[o.fieldName]||"");return i}getChildrenByRegTag(e){let i=[];for(let o of this.getChildren())o.tagName()===e&&i.push(o);return i}numberOfRegisters(){let e=1;for(let i of this.getChildren())e+=i.numberOfRegisters();return e}numberOfChildRegisters(){let e=this.getChildren().length;for(let i of this.getChildren())e+=i.numberOfChildRegisters();return e}numberOfRegisterByTagName(){let e=new Map;e.set(this.tagName(),1);for(let i of this.getChildren()){let o=i.numberOfRegisterByTagName();for(let[t,d]of o)e.has(t)?e.set(t,e.get(t)+d):e.set(t,d);}return e}getOnDuplicationStrategy(){return Reflect.getMetadata(He,this.constructor)??0}};_(Va,"Register"),se([xa()],Va.prototype,"reg");var Ve=Va;var No=class No{constructor(){this._blocksCounters=new Map;}countRegister(e){let i=e.reg[0],o=this._blocksCounters.has(i)?this._blocksCounters.get(i):new Map;o.has(e.reg)?o.set(e.reg,o.get(e.reg)+1):o.set(e.reg,1),this._blocksCounters.set(i,o);}getBlockRegistersTotal(e){let i=0,o=this._blocksCounters.get(e);if(!o)return i;for(let t of o.values())i+=t;return i}getAllTagsCounters(){let e=new Map;return Array.from(this._blocksCounters.keys()).sort((o,t)=>o.localeCompare(t)).forEach(o=>{let t=this._blocksCounters.get(o);Array.from(t.keys()).sort((c,u)=>c.localeCompare(u)).forEach(c=>{e.set(c,t.get(c));});}),e}};_(No,"TagCounter");var Ua=No;var Ga=class Ga{static createInstance(){return new Ga}constructor(){this.registers=new Map,this.registersByKey=new Map;}getByKey(e){return this.registersByKey.get(e)?.register}set(e,i){let o=this.registers.get(e);if(o)for(let t of o)this.registersByKey.delete(t.getKeyValue());this.registers.set(e,[]);for(let t of i)this.add(t);}hasRegisters(){return this.registersByKey.size!==0}all(){return Array.from(this.registers.values()).flatMap(e=>e)}get(e){return this.registers.get(e)}has(e){return this.registers.has(e)}add(e){let i=e.getKeyValue(),o=e.reg;this.registers.has(o)||this.registers.set(o,[]);let t=this.registersByKey.get(i);if(!t){let c=this.registers.get(o),u=c.length;c.push(e),this.registersByKey.set(i,{register:e,tag:o,index:u});return}switch(e.getOnDuplicationStrategy()){case 1:return;case 2:let{tag:c,index:u}=t,g=this.registers.get(c);g[u]=e,this.registersByKey.set(i,{register:e,tag:c,index:u});return;case 3:let S=this.registers.get(o),f=S.length;S.push(e),this.registersByKey.set(i,{register:e,tag:o,index:f});return;default:throw new Error(`duplicate register key: ${i}`)}}};_(Ga,"MemoryPersist");var Fa=Ga;var Ja=class Ja{constructor(){}static createInstance(){return new Ja}write(e){console.log(e);}save(){console.log("Saving content");}};_(Ja,"ConsoleOutput");var qa=Ja;var ja=class ja{constructor(e){this._options=e;}save(){this._options.writer.save();}static defaultOptions(e=qa.createInstance()){return {writer:e,fieldSeparator:"|",separatorAtTheRegisterStart:false,separatorAtTheRegisterEnd:false,writeRegisterTag:true}}static newWithDefaultOptions(){return this.newWithOptions(this.defaultOptions())}static newWithOptions(e){return new ja(e)}get writer(){return this._options.writer}generate(e){let i=Reflect.getMetadataKeys(e).filter(t=>typeof t!="symbol"),o=`${this._options.separatorAtTheRegisterStart?this._options.fieldSeparator:""}`;this._options.writeRegisterTag&&(o=o.concat(`${e.reg}${this._options.fieldSeparator}`));for(let t=0;t<i.length;t++){let d=i[t],c=Reflect.getMetadata(d,e);switch(c.dataType){case 0:o=o.concat(this.alphanumericValue(c,e[d]),t!=i.length-1?this._options.fieldSeparator:"");break;case 1:o=o.concat(this.numericValue(c,e[d]),t!=i.length-1?this._options.fieldSeparator:"");break}}this._options.separatorAtTheRegisterEnd&&(o=o.concat(this._options.fieldSeparator)),this.writer.write(o);}alphanumericValue(e,i){if(!e.required&&!i)return "";let o=String(i);return this._options.fieldSeparator&&(o=o.replaceAll(this._options.fieldSeparator,"")),e.removeAccents&&(o=o.normalize("NFD").replace(/[\u0300-\u036f]/g,"")),e.removeSpecialCharacters&&(o=o.replace(/[^a-zA-Z0-9\s]/g,"").trim()),e.maximumLength>0&&(o=o.slice(0,e.maximumLength)),e.fillEntireLength&&(o=o.padEnd(e.maximumLength," ")),o}numericValue(e,i){if(i==null&&(e.required||e.maximumDecimalsLength===0))return "";let o=i!=null?String(i):"0",t=o.indexOf("."),d=t===-1?o:o.substring(0,t),c=t!==-1;if(!e.required&&/^0+$/.test(d)&&!c)return "";let u=d;if(e.maximumDecimalsLength>0){let g;if(c){let S=Number(i).toFixed(e.maximumDecimalsLength),f=S.indexOf(".");g=S.substring(f+1);}else g="0".repeat(e.maximumDecimalsLength);u=u+e.decimalSeparator+g;}return e.fillEntireLength&&e.maximumLength>0&&(u=u.padStart(e.maximumLength,"0")),u}};_(ja,"TaxRegisterGenerator");var Ue=ja;var ut="9999",nt="001",lt="990";var Ha=class Ha extends Ve{constructor(){super(ut,{});this.qtd_lin=0;}};_(Ha,"CloseFile"),se([La()],Ha.prototype,"qtd_lin");var vo=Ha,ka=class ka extends Ve{constructor(i){super(i,{});this.ind_mov=1;}};_(ka,"OpenBlock"),se([ke(true,false,1)],ka.prototype,"ind_mov");var Bo=ka,Ya=class Ya extends Ve{constructor(i){super(i,{});this.qtd_lin=0;}};_(Ya,"CloseBlock"),se([ke()],Ya.prototype,"qtd_lin");var yo=Ya,Wa=class Wa{constructor(e){this._options=e,this._counters=new Ua;}static defaultOptions(e,i){return {openSuffix:nt,closeSuffix:lt,openFileRegister:e,registerGenerator:i}}static newWithDefaultOptions(e){return this.newWithOptions(this.defaultOptions(e,Ue.newWithDefaultOptions()))}static newWithOptions(e){return new Wa(e)}beforeGeneration(e){this.addRegister(this._options.openFileRegister);}generation(e){let i=e.Blocks;for(let o of i)this.addBlock(o);}afterGeneration(e){let i=this._counters.getAllTagsCounters(),o=new Da(Fa.createInstance()),t=new vo;i.set(`${o.name}${nt}`,1),i.set(`${o.name}${lt}`,1),i.set(ut,1),i.forEach((c,u)=>{let g=new We;g.reg_blc=u,g.qtd_reg_blc=c,t.qtd_lin+=c,o.addRegister(g);});let d=new We;d.reg_blc=d.reg,d.qtd_reg_blc=i.size+1,t.qtd_lin+=i.size+1,o.addRegister(d),this.addBlock(o),this._options.registerGenerator.generate(t);}beforeBlockGeneration(e){let i=new Bo(`${e.name}${this._options.openSuffix}`);i.ind_mov=e.hasContent()?0:1,this.addRegister(i);}blockGeneration(e){for(let i of e.registers)this.addRegister(i);}beforeRegisterGeneration(e){}registerGeneration(e){this._options.registerGenerator.generate(e);for(let i of e.getChildren())this.addRegister(i);}afterRegisterGeneration(e){this._counters.countRegister(e);}afterBlockGeneration(e){let i=new yo(`${e.name}${this._options.closeSuffix}`);i.qtd_lin=this._counters.getBlockRegistersTotal(e.name)+1,e.name==="9"&&(i.qtd_lin+=1),this.addRegister(i);}addBlock(e){this.beforeBlockGeneration(e),this.blockGeneration(e),this.afterBlockGeneration(e);}addRegister(e){this.beforeRegisterGeneration(e),this.registerGeneration(e),this.afterRegisterGeneration(e);}generateFile(e){this.beforeGeneration(e),this.generation(e),this.afterGeneration(e),this._options.registerGenerator.save();}};_(Wa,"ReportGenerator");var rt=Wa;var Ka=class Ka{constructor(e){this._options=e;}static defaultOptions(e,i){return {openFileRegister:e,registerGenerator:i}}static newWithDefaultOptions(e){return this.newWithOptions(this.defaultOptions(e,Ue.newWithDefaultOptions()))}static newWithOptions(e){return new Ka(e)}beforeGeneration(e){this._options.openFileRegister&&this.addRegister(this._options.openFileRegister);}generation(e){let i=e.Blocks;for(let o of i)this.addBlock(o);}afterGeneration(e){}beforeBlockGeneration(e){}blockGeneration(e){for(let i of e.registers)this.addRegister(i);}beforeRegisterGeneration(e){}registerGeneration(e){this._options.registerGenerator.generate(e);for(let i of e.getChildren())this.addRegister(i);}afterRegisterGeneration(e){}afterBlockGeneration(e){}addBlock(e){this.beforeBlockGeneration(e),this.blockGeneration(e),this.afterBlockGeneration(e);}addRegister(e){this.beforeRegisterGeneration(e),this.registerGeneration(e),this.afterRegisterGeneration(e);}generateFile(e){this.beforeGeneration(e),this.generation(e),this.afterGeneration(e),this._options.registerGenerator.save();}};_(Ka,"SimpleReportGenerator");var mt=Ka;var Oo=class Oo{constructor(){this._blocks=new Map;}registerBlock(e){return this._blocks.set(e.name,e),this}getBlock(e){return this._blocks.get(e)}get Blocks(){return Array.from(this._blocks.values())}};_(Oo,"TaxReport");var gt=Oo;var Mo=class Mo{constructor(){this.output=[];}write(e){this.output.push(e);}save(){console.log(`Pushed ${this.output.length} lines to array`);}get Output(){return this.output}};_(Mo,"StringArrayOutput");var ft=Mo;var G={AUTH:{UNAUTHORIZED:"UNAUTHORIZED",TOKEN_EXPIRED:"TOKEN_EXPIRED"},DATABASE:{CONNECTION_FAILED:"CONNECTION_FAILED",QUERY_ERROR:"QUERY_ERROR"},VALIDATION:{INVALID_INPUT:"INVALID_INPUT",MISSING_FIELD:"MISSING_FIELD"},INTERNAL:{INTERNAL_SERVER_ERROR:"INTERNAL_SERVER_ERROR",UNEXPECTED_ERROR:"UNEXPECTED_ERROR"},SETTING:{PROFILE_NOT_SET_UP:"PROFILE_NOT_SET_UP",REINF_NOT_ENABLED:"REINF_NOT_ENABLED",R2060_CONFIG_CONFLICT:"R2060_CONFIG_CONFLICT"}};var Is=(d=>(d.AUTH="AUTH",d.DATABASE="DB",d.VALIDATION="VALID",d.INTERNAL="INTERNAL",d.SETTING="SETTING",d))(Is||{}),Za="pt-BR";var Lo=class Lo{constructor(){this.messages={};this.usedKeys=new Set;}addMessage(e){if(this.usedKeys.has(e.key))throw new Error(`Duplicate message key: ${e.key}`);return this.usedKeys.add(e.key),this.messages[e.key]=e,this}build(){return {...this.messages}}};_(Lo,"MessageBuilder");var Do=Lo,Cs=new Do().addMessage({key:G.AUTH.UNAUTHORIZED,category:"AUTH",userMessage:{"pt-BR":"Você não tem permissão para acessar {endpoint}.","en-US":"You do not have permission to access {endpoint}.","es-ES":"No tienes permiso para acceder a {endpoint}."},actionSuggestion:{"pt-BR":"Faça login novamente ou contate o suporte.","en-US":"Log in again or contact support.","es-ES":"Inicia sesión nuevamente o contacta al soporte."},technicalMessage:"Unauthorized access attempt on endpoint {endpoint}."}).addMessage({key:G.AUTH.TOKEN_EXPIRED,category:"AUTH",userMessage:{"pt-BR":"Sua sessão expirou ao acessar {endpoint}.","en-US":"Your session expired while accessing {endpoint}.","es-ES":"Tu sesión ha expirado al acceder a {endpoint}."},actionSuggestion:{"pt-BR":"Faça login novamente para continuar.","en-US":"Log in again to continue.","es-ES":"Inicia sesión nuevamente para continuar."},technicalMessage:"Token expired for user {userId} on endpoint {endpoint}."}).addMessage({key:G.DATABASE.CONNECTION_FAILED,category:"DB",userMessage:{"pt-BR":"Não foi possível conectar ao banco de dados.","en-US":"Could not connect to the database.","es-ES":"No se pudo conectar a la base de datos."},actionSuggestion:{"pt-BR":"Tente novamente mais tarde.","en-US":"Try again later.","es-ES":"Intenta de nuevo más tarde."},technicalMessage:"Database connection failed: {error}."}).addMessage({key:G.DATABASE.QUERY_ERROR,category:"DB",userMessage:{"pt-BR":"Erro ao processar sua solicitação no banco de dados.","en-US":"Error processing your request in the database.","es-ES":"Error al procesar tu solicitud en la base de datos."},actionSuggestion:{"pt-BR":"Tente novamente ou contate o suporte.","en-US":"Try again or contact support.","es-ES":"Intenta de nuevo o contacta al soporte."},technicalMessage:"Database query failed: {query} with error {error}."}).addMessage({key:G.VALIDATION.INVALID_INPUT,category:"VALID",userMessage:{"pt-BR":"Os dados fornecidos são inválidos: {inputDetails}.","en-US":"The provided data is invalkey: {inputDetails}.","es-ES":"Los datos proporcionados son inválidos: {inputDetails}."},actionSuggestion:{"pt-BR":"Verifique os campos e tente novamente.","en-US":"Check the fields and try again.","es-ES":"Verifica los campos e intenta de nuevo."},technicalMessage:"Validation failed for input: {inputDetails}."}).addMessage({key:G.VALIDATION.MISSING_FIELD,category:"VALID",userMessage:{"pt-BR":"Campo obrigatório ausente: {fieldName}.","en-US":"Required field missing: {fieldName}.","es-ES":"Campo obligatorio ausente: {fieldName}."},actionSuggestion:{"pt-BR":"Preencha todos os campos necessários.","en-US":"Fill in all required fields.","es-ES":"Completa todos los campos necesarios."},technicalMessage:"Missing required field: {fieldName}."}).addMessage({key:G.INTERNAL.INTERNAL_SERVER_ERROR,category:"INTERNAL",userMessage:{"pt-BR":"Algo inesperado aconteceu.","en-US":"Something unexpected happended.","es-ES":"Algo inesperado pasó."},actionSuggestion:{"pt-BR":"Tente novamente mais tarde.","en-US":"Try again later.","es-ES":"Intenta de nuevo más tarde."},technicalMessage:"Internal server error: {error}."}).addMessage({key:G.SETTING.PROFILE_NOT_SET_UP,category:"SETTING",userMessage:{"pt-BR":"O Perfil Fiscal Especializado para a obrigação não está configurado.","en-US":"The Specialized Tax Profile for the obligation is not configured.","es-ES":"El Perfil Tributario Especializado para la obligación no está configurado."},actionSuggestion:{"pt-BR":"Configure-o e gere uma nova apuração.","en-US":"Configure it and generate a new auditing.","es-ES":"Configuralo y genera una nueva encuesta."},technicalMessage:"The Specialized Profile ({profileName}) is not configured for the EFD Contributions obligation."}).addMessage({key:G.SETTING.REINF_NOT_ENABLED,category:"SETTING",userMessage:{"pt-BR":"A declaração REINF não está habilitada para este perfil. Ative nas configurações.","en-US":"REINF declaration is not enabled for this profile. Enable in settings.","es-ES":"La declaración REINF no está habilitada para este perfil. Actívala en la configuración."},actionSuggestion:{"pt-BR":"Ative o REINF nas configurações do perfil.","en-US":"Enable REINF in the profile configuration settings.","es-ES":"Activa REINF en la configuración del perfil."},technicalMessage:"REINF is not activated for profile: {profileId}."}).addMessage({key:G.SETTING.R2060_CONFIG_CONFLICT,category:"SETTING",userMessage:{"pt-BR":"Conflito de configuração: R2060 está configurado para apuração por documentos, mas foi solicitada apuração por F100.","en-US":"Configuration conflict: R2060 is configured for document calculation, but F100 calculation was requested.","es-ES":"Conflicto de configuración: R2060 está configurado para cálculo por documentos, pero se solicitó cálculo por F100."},actionSuggestion:{"pt-BR":"Altere a configuração r2060_by_documents para false no perfil.","en-US":"Change r2060_by_documents setting to false in profile configuration.","es-ES":"Cambia la configuración r2060_by_documents a false en el perfil."},technicalMessage:"R2060 is being calculated from documents. Change configuration to use F100 calculation."}).addMessage({key:G.INTERNAL.UNEXPECTED_ERROR,category:"INTERNAL",userMessage:{"pt-BR":"Ocorreu um erro inesperado durante o processamento da apuração REINF.","en-US":"An unexpected error occurred during REINF calculation processing.","es-ES":"Ocurrió un error inesperado durante el procesamiento del cálculo REINF."},actionSuggestion:{"pt-BR":"Verifique os logs da aplicação, recursos do sistema e contate o suporte se o erro persistir.","en-US":"Check application logs, system resources and contact support if the error persists.","es-ES":"Verifica los logs de la aplicación, recursos del sistema y contacta al soporte si el error persiste."},technicalMessage:"Unexpected error while generating REINF calculation: {originalError}. Context: profileId={profileId}, period={period}, tenantId={tenantId}."}),Fe=Cs.build();var Ts={[G.AUTH.UNAUTHORIZED]:{required:["endpoint"]},[G.AUTH.TOKEN_EXPIRED]:{required:["endpoint","userId"]},[G.DATABASE.CONNECTION_FAILED]:{required:["error"]},[G.DATABASE.QUERY_ERROR]:{required:["error","query"]},[G.VALIDATION.INVALID_INPUT]:{required:["inputDetails"]},[G.VALIDATION.MISSING_FIELD]:{required:["fieldName"]},[G.INTERNAL.INTERNAL_SERVER_ERROR]:{required:["error"]},[G.SETTING.PROFILE_NOT_SET_UP]:{required:["profileName"]},[G.SETTING.REINF_NOT_ENABLED]:{required:["profileId"]},[G.SETTING.R2060_CONFIG_CONFLICT]:{required:[]},[G.INTERNAL.UNEXPECTED_ERROR]:{required:["originalError","profileId","period","tenantId"]}};function bt(n,e){let i=Ts[n];if(!i)return;let o=i.required.filter(d=>!(d in e)||e[d]===void 0||e[d]===null);if(o.length>0)throw new Error(`Missing required parameters for message ${n} (${Fe[n].key}): ${o.join(", ")}`);let t=i.required.filter(d=>typeof e[d]=="string"&&e[d].trim()==="");if(t.length>0)throw new Error(`Empty values provided for parameters in message ${n} (${Fe[n].key}): ${t.join(", ")}`)}_(bt,"validateParams");function $a(n,e){return Object.entries(e).reduce((i,[o,t])=>i.replace(`{${o}}`,String(t)),n)}_($a,"formatMessage");function Rs(n,e,i,o=Za){let t=Fe[n];if(!t)throw new Error(`Message with code ${n} not found.`);bt(n,e);let c={file:(new Error().stack?.split("\\n")[2]||"").split("(")[1]?.split(")")[0]||"unknown",memoryUsage:{rss:he(process.memoryUsage().rss),heapUsed:he(process.memoryUsage().heapUsed),heapTotal:he(process.memoryUsage().heapTotal),external:he(process.memoryUsage().external),arrayBuffers:he(process.memoryUsage().arrayBuffers)},cpuUsage:{user:he(process.cpuUsage().user),system:he(process.cpuUsage().system)},...i},u=t.userMessage[o]||t.userMessage[Za],g=t.actionSuggestion[o]||t.actionSuggestion[Za],S=$a(t.technicalMessage,e);return console.error(`[${t.key}] ${S}`,c),{messageCode:n,userMessage:$a(u,e),actionSuggestion:$a(g,e)}}_(Rs,"logWithContext");function he(n){return `${(n/1024/1024).toFixed(2)} MB`}_(he,"formatMemory");var xo=class xo{constructor(e,i,o,t,d,c=false,u=20,g=5,S=1e4,f=45e3){this.host=e;this.port=i;this.database=o;this.username=t;this.password=d;this.isSrv=c;this.maxPoolSize=u;this.minPoolSize=g;this.connectTimeoutMS=S;this.socketTimeoutMS=f;}getConnectionString(){let e=this.username&&this.password?`${encodeURIComponent(this.username)}:${encodeURIComponent(this.password)}@`:"",i=this.isSrv?"":`:${this.port}`;return `${this.isSrv?"mongodb+srv":"mongodb"}://${e}${this.host}${i}/${this.database}`}getPoolOptions(){return {maxPoolSize:this.maxPoolSize,minPoolSize:this.minPoolSize,connectTimeoutMS:this.connectTimeoutMS,socketTimeoutMS:this.socketTimeoutMS}}};_(xo,"MongoConfig");var pt=xo;ot.config();var Vo=class Vo{constructor(e){this.config=e;}getConnection(){return {user:this.config.user,host:this.config.host,database:this.config.database,password:this.config.password,port:this.config.port,ssl:this.config.ssl}}};_(Vo,"PostgresConfig");var St=Vo;
|
|
70
70
|
export{ns as ActionTypeEnum,Ke as Addition,de as Address,ke as Alphanumeric,Ma as Block,fe as BuilderAddition,j as BuilderAddress,ie as BuilderConversionFactor,H as BuilderDocument,be as BuilderImportDeclaration,k as BuilderItem,M as BuilderPerson,A as BuilderTax,C as CNPJ,ze as CPF,ts as CST,Re as CalculationBasisNatureSetting,yo as CloseBlock,vo as CloseFile,Kt as CodIncTrib,w as CodeStatusEnum,ds as ConfigTypeEnum,qa as ConsoleOutput,va as Contact,Xo as ContactTypesEnum,_a as ConversionFactor,Da as CounterBlock,We as CounterRegister,Qe as Country,h as CountryCodeEnum,Yt as CprbOption,as as CreditBalanceOriginCreditTypeEnum,is as CreditBalanceRegimeTypeEnum,ia as CteTypeEnum,Za as DEFAULT_LOCALE,l4 as Decimal,fs as DefaultAlphanumericLength,ps as DefaultDecimalLength,bs as DefaultDecimalSeparator,K as DescriptionStatusEnum,Dt as DifalIcmsCategoryEnum,ta as Document,N as DocumentTypeEnum,Lt as DonationIndicatorEnum,Ie as EcdSpecializedProfile,Ce as EcfSpecializedProfile,Ee as EfdContribSpecializedProfile,Pe as EfdIcmsIpiSpecializedProfile,ne as Email,me as EnforceabilityOfISSEnum,Ne as Establishment,ve as EstablishmentEvent,ct as Event,Z as EventEnum,Ss as FieldDataType,Zt as FiscalQualificationType,ue as FreightContractedNatureIndicatorEnum,Q as FreightTypeEnum,ye as GrossRevenueContributionHeaders,Gt as IcmsAdjustmentGroupEnum,Jt as IcmsAdjustmentRegistryEnum,we as IcmsAdjustmentSetting,qt as IcmsAdjustmentTaxTypeEnum,Ht as IcmsAdjustmentTypeEnum,jt as IcmsCalculationIndicatorEnum,sa as ImportDeclaration,le as IntermediationTypeEnum,re as InternationalTransportTypeEnum,y as IssuerIndicatorEnum,ca as Item,B as ItemTypeEnum,_s as JudicialProcessOriginEnum,xa as Key,Et as LayoutDateFormat,dt as MaximumNumericLength,$ as MemoryMasterDataRepository,Fa as MemoryPersist,Is as MessageCategory,G as MessageCode,Fe as Messages,Qi as ModelConverter,Mi as ModelRollback,pt as MongoConfig,$o as MongoRepository,Je as MongoToDocumentBuilder,Xe as MunicipalObligation,Ct as MunicipalObligationIdEnum,Tt as MunicipalObligationNameEnum,It as MunicipalObligationTypeEnum,ya as MunicipalRegistration,Ze as Municipality,Fo as NameCountryEnum,os as NatureCode,Oe as NatureConfig,La as Numeric,cs as ObligationCodeEnum,r4 as OnDuplication,wo as OnDuplicationStrategy,Bo as OpenBlock,R as OperationTypeEnum,D as OurDate,X as PaymentTypeEnum,da as Person,St as PostgresConfig,it as PostgresRepository,V as ProductOriginEnum,Be as Profile,st as ProfileDbRepository,at as ProfileRestRepository,ss as ProfileTaxTypeEnum,Ve as Register,Me as ReinfSpecializedProfile,rt as ReportGenerator,Te as RevenueNatureSettings,_e as RevenueTypeEnum,De as Scp,ea as ServiceCode,Y as ServiceCodeEnum,Le as Signatory,kt as SimpleNationalOption,mt as SimpleReportGenerator,xe as StartingCreditBalance,es as StartingCreditBalanceTypeEnum,$e as State,et as StateCollectionSettings,Qt as StateCollectionSettingsConfigTypeEnum,$t as StateCollectionSettingsTaxTypeEnum,qe as StateEnum,Ba as StateRegistration,W as StateRegistrationIndicatorEnum,v as StatusDocumentEnum,ft as StringArrayOutput,Ua as TagCounter,ce as Tax,rs as TaxCollectionType,Xt as TaxCollectionTypeEnum,ge as TaxRegimeEnum,Ue as TaxRegisterGenerator,gt as TaxReport,ae as TaxTypeEnum,Wt as TaxationType,oa as Telephone,ls as Uf,As as ValueProviderType,xt as ZfmPresumedCreditTypeEnum,Zo as buildMongoFilter,F as calculate_bases_values,E as cleanData,$a as formatMessage,ee as isEmptyObject,je as keyCompositionMetadata,Rs as logWithContext,Oa as newRegisterEventData,Wo as normalizeServiceCode,He as onDuplicationStrategyMetadata,aa as parseState,s as toSafeNumber,a as validationValue};
|