tst-labs / esocial

O esocial é o projeto que reune as iniciativas do TST para atender às necessidades do sistema eSocial do Governo Federal.
BSD 3-Clause "New" or "Revised" License
113 stars 69 forks source link

Atualiza mapeamento do XSD para S-1.2 #381

Closed tiagoben closed 9 months ago

marcelo225 commented 10 months ago

@tiagoben , blz? Alguma previsão para mergear essa versão? Ainda estamos trabalhando com a versão S-1.1 e os ambientes de produção restrita já foram atualizadas para nova versão e a de produção vai ser agora (20/11/2023). Obrigado!

tiagoben commented 10 months ago

Boa tarde @marcelo225 só podemos subir para a master quando o ambiente de produção passar a aceitar essa versão. Devemos fazer isso depois dessa data que você citou. Por enquanto pode ir usando esta branch

marcelo225 commented 10 months ago

@tiagoben , tudo bem?

Atualizando esse PR para nosso repositório, e fizemos uns testes, enviando payloads JSON (versão S-1.1) para processamento e deu esses erros, conforme o log abaixo:

javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement
--
  | at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1420) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1403) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at sun.reflect.GeneratedMethodAccessor2267.invoke(Unknown Source) ~[na:na]
  | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_392]
  | at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_392]
  | at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:311) ~[spring-orm-5.3.13.jar!/:5.3.13]
  | at com.sun.proxy.$Proxy179.flush(Unknown Source) ~[na:na]
  | at br.jus.tst.esocialjt.negocio.EventoTotalizadorServico.salvar(EventoTotalizadorServico.java:40) ~[classes!/:0.0.1-SNAPSHOT]
  | at br.jus.tst.esocialjt.negocio.EventoTotalizadorServico$FastClassBySpringCGLIB$17bdb10c.invoke(<generated>) ~[classes!/:0.0.1-SNAPSHOT]
  | at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.13.jar!/:5.3.13]
  | at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.13.jar!/:5.3.13]
  | at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at br.jus.tst.esocialjt.negocio.EventoTotalizadorServico$EnhancerBySpringCGLIB$a44d4b90.salvar(<generated>) ~[classes!/:0.0.1-SNAPSHOT]
  | at br.jus.tst.esocialjt.negocio.AtualizacaoProcessamentoServico.salvaEventosTotalizadores(AtualizacaoProcessamentoServico.java:98) ~[classes!/:0.0.1-SNAPSHOT]
  | at br.jus.tst.esocialjt.negocio.AtualizacaoProcessamentoServico.lambda$atualizarProcessamentoLote$2(AtualizacaoProcessamentoServico.java:76) ~[classes!/:0.0.1-SNAPSHOT]
  | at java.util.ArrayList.forEach(ArrayList.java:1259) ~[na:1.8.0_392]
  | at br.jus.tst.esocialjt.negocio.AtualizacaoProcessamentoServico.atualizarProcessamentoLote(AtualizacaoProcessamentoServico.java:64) ~[classes!/:0.0.1-SNAPSHOT]
  | at br.jus.tst.esocialjt.negocio.AtualizacaoProcessamentoServico.atualizarTodosEmProcessamento(AtualizacaoProcessamentoServico.java:41) ~[classes!/:0.0.1-SNAPSHOT]
  | at br.jus.tst.esocialjt.negocio.AtualizacaoProcessamentoServico$FastClassBySpringCGLIB$d464c73b.invoke(<generated>) ~[classes!/:0.0.1-SNAPSHOT]
  | at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at br.jus.tst.esocialjt.negocio.AtualizacaoProcessamentoServico$EnhancerBySpringCGLIB$71ee637d.atualizarTodosEmProcessamento(<generated>) ~[classes!/:0.0.1-SNAPSHOT]
  | at br.jus.tst.esocialjt.auto.tarefas.TarefaAtualizacaoProcessamento.executar(TarefaAtualizacaoProcessamento.java:31) ~[classes!/:0.0.1-SNAPSHOT]
  | at br.jus.tst.esocialjt.auto.tarefas.TarefaAtualizacaoProcessamento$FastClassBySpringCGLIB$b57038d2.invoke(<generated>) ~[classes!/:0.0.1-SNAPSHOT]
  | at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.13.jar!/:5.3.13]
  | at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.13.jar!/:5.3.13]
  | at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at br.jus.tst.esocialjt.auto.tarefas.TarefaAtualizacaoProcessamento$EnhancerBySpringCGLIB$cbfceea2.executar(<generated>) ~[classes!/:0.0.1-SNAPSHOT]
  | at br.jus.tst.esocialjt.auto.CicloEnvio.executar(CicloEnvio.java:35) ~[classes!/:0.0.1-SNAPSHOT]
  | at br.jus.tst.esocialjt.auto.CicloEnvio$FastClassBySpringCGLIB$81b29083.invoke(<generated>) ~[classes!/:0.0.1-SNAPSHOT]
  | at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.13.jar!/:5.3.13]
  | at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.13.jar!/:5.3.13]
  | at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) ~[spring-aop-5.3.13.jar!/:5.3.13]
  | at br.jus.tst.esocialjt.auto.CicloEnvio$EnhancerBySpringCGLIB$53fbcc55.executar(<generated>) ~[classes!/:0.0.1-SNAPSHOT]
  | at br.jus.tst.esocialjt.auto.TimerEnvio.lambda$executar$0(TimerEnvio.java:46) ~[classes!/:0.0.1-SNAPSHOT]
  | at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.3.13.jar!/:5.3.13]
  | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_392]
  | at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_392]
  | at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_392]
  | at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_392]
  | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_392]
  | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_392]
  | at java.lang.Thread.run(Thread.java:750) [na:1.8.0_392]
  | Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement
  | at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:109) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:37) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:200) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3381) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3908) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:107) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1(ActionQueue.java:478) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) ~[na:1.8.0_392]
  | at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:475) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:344) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:40) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:107) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1416) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | ... 63 common frames omitted
  | Caused by: org.postgresql.util.PSQLException: ERROR: insert or update on table "est_evento_totalizador" violates foreign **key constraint "est_evento_totalizador_fk01"
  | Detail: Key (txt_nr_recibo_arq_base)=(1.2.0000000000207781687) is not present in table "est_evento".
  | at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2674) ~[postgresql-**42.3.1.jar!/:42.3.1]
  | at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2364) ~[postgresql-42.3.1.jar!/:42.3.1]
  | at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:354) ~[postgresql-42.3.1.jar!/:42.3.1]
  | at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:484) ~[postgresql-42.3.1.jar!/:42.3.1]
  | at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:404) ~[postgresql-42.3.1.jar!/:42.3.1]
  | at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:162) ~[postgresql-42.3.1.jar!/:42.3.1]
  | at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:130) ~[postgresql-42.3.1.jar!/:42.3.1]
  | at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-4.0.3.jar!/:na]
  | at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-4.0.3.jar!/:na]
  | at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197) ~[hibernate-core-5.6.1.Final.jar!/:5.6.1.Final]
  | ... 74 common frames omitted

Se vc prestar atenção deu erro de chave estrangeira:

Caused by: org.postgresql.util.PSQLException: ERROR: insert or update on table "est_evento_totalizador" violates foreign key constraint "est_evento_totalizador_fk01"
--
  | Detail: Key (txt_nr_recibo_arq_base)=(1.2.0000000000207781687) is not present in table "est_evento".

Vi que as tabelas est_evento_totalizador e est_evento tem um relacionamento, conforme a image abaixo:

image

Isso é algum problema pelos payloads estarem na versão S-1.1 ? Precisa fazer algum merge do master para este branch? Teremos que corrigir todos os payloads primeiro ou é bug na aplicação independente disso?

Obrigado!

marcelo225 commented 10 months ago

@tiagoben , continuando sobre o possível erro descrito anteriormente.

Obrigado!

robsontenorio commented 9 months ago

@tiagoben

O governo implantou a versão 1.2 em produção no dia 20/11/2023.

Vcs realmente tão conseguindo enviar usando esse PR?

Por que no ambiente do teste não tá funcionando esse PR. Acontece o erro descrito pelo @marcelo225 .

tiagoben commented 9 months ago

Prezados, boa tarde. Agradeço pelo feedback.

Fiz um teste de envio para a produção restrita com todos dados tanto de trabalhadores com e sem vínculo quanto beneficiários e benefícios. Além dos eventos de tabela, enviei dados cadastrais, alterações e dados de remuneração/pagamentos totalizando 17.412 eventos e não ocorreu o erro informado.

Lendo a documentação técnica do eSocial, não deveria acontecer esse caso do recebimento de um evento sem um número de recibo. Imagino que tenha sido alguma eventualidade na transição que causou esta situação. Peço que verifiquem novamente usando a versão mais recente.