diff --git a/src/esocial-jt-dominio/src/main/java/br/jus/tst/esocial/ret/tsv/DadosContratuais.java b/src/esocial-jt-dominio/src/main/java/br/jus/tst/esocial/ret/tsv/DadosContratuais.java index cc161c116..acff6a23f 100644 --- a/src/esocial-jt-dominio/src/main/java/br/jus/tst/esocial/ret/tsv/DadosContratuais.java +++ b/src/esocial-jt-dominio/src/main/java/br/jus/tst/esocial/ret/tsv/DadosContratuais.java @@ -4,15 +4,16 @@ import br.jus.tst.esocial.dominio.semvinculo.MudancaCPF; import br.jus.tst.esocial.dominio.semvinculo.Termino; import br.jus.tst.esocial.dominio.vinculo.Afastamento; -import java.time.LocalDate; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; +import java.util.Calendar; + public class DadosContratuais { private String matricula; private Integer codCateg; - private LocalDate dtInicio; + private Calendar dtInicio; private String nrProcTrab; private Byte natAtividade; private InfoComplementares infoComplementares; @@ -36,11 +37,11 @@ public void setCodCateg(Integer codCateg) { this.codCateg = codCateg; } - public LocalDate getDtInicio() { + public Calendar getDtInicio() { return dtInicio; } - public void setDtInicio(LocalDate dtInicio) { + public void setDtInicio(Calendar dtInicio) { this.dtInicio = dtInicio; } diff --git a/src/esocial-jt-dominio/src/main/java/br/jus/tst/esocial/ret/tsv/DadosDesligamento.java b/src/esocial-jt-dominio/src/main/java/br/jus/tst/esocial/ret/tsv/DadosDesligamento.java new file mode 100644 index 000000000..2c266175b --- /dev/null +++ b/src/esocial-jt-dominio/src/main/java/br/jus/tst/esocial/ret/tsv/DadosDesligamento.java @@ -0,0 +1,30 @@ +package br.jus.tst.esocial.ret.tsv; + +import br.jus.tst.esocial.dominio.semvinculo.termino.InfoTSVTermino; + +import java.util.Objects; + +public class DadosDesligamento { + public InfoTSVTermino infoTSVTermino; + + public InfoTSVTermino getInfoTSVTermino() { + return infoTSVTermino; + } + + public void setInfoTSVTermino(InfoTSVTermino infoTSVTermino) { + this.infoTSVTermino = infoTSVTermino; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DadosDesligamento that = (DadosDesligamento) o; + return Objects.equals(infoTSVTermino, that.infoTSVTermino); + } + + @Override + public int hashCode() { + return Objects.hash(infoTSVTermino); + } +} diff --git a/src/esocial-jt-dominio/src/main/java/br/jus/tst/esocial/ret/tsv/TrabalhadorSemVinculo.java b/src/esocial-jt-dominio/src/main/java/br/jus/tst/esocial/ret/tsv/TrabalhadorSemVinculo.java index fd1b0a8b8..c1fcabfe4 100644 --- a/src/esocial-jt-dominio/src/main/java/br/jus/tst/esocial/ret/tsv/TrabalhadorSemVinculo.java +++ b/src/esocial-jt-dominio/src/main/java/br/jus/tst/esocial/ret/tsv/TrabalhadorSemVinculo.java @@ -1,17 +1,13 @@ package br.jus.tst.esocial.ret.tsv; -import br.jus.tst.esocial.dominio.afasttemp.InfoAfastamento; -import br.jus.tst.esocial.dominio.semvinculo.InfoComplementares; -import java.util.List; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; -import br.jus.tst.esocial.dominio.semvinculo.Termino; public class TrabalhadorSemVinculo { public DadosCadastrais dadosCadastrais; public DadosContratuais dadosContratuais; - public Termino termino; + public DadosDesligamento dadosDesligamento; public DadosCadastrais getDadosCadastrais() { return dadosCadastrais; @@ -21,12 +17,12 @@ public void setDadosCadastrais(DadosCadastrais dadosCadastrais) { this.dadosCadastrais = dadosCadastrais; } - public Termino getTermino() { - return termino; + public DadosDesligamento getDadosDesligamento() { + return dadosDesligamento; } - public void setTermino(Termino termino) { - this.termino = termino; + public void setDadosDesligamento(DadosDesligamento dadosDesligamento) { + this.dadosDesligamento = dadosDesligamento; } public DadosContratuais getDadosContratuais() { @@ -47,7 +43,8 @@ public boolean equals(Object o) { TrabalhadorSemVinculo trabalhadorSemVinculo = (TrabalhadorSemVinculo) o; return new EqualsBuilder() .append(dadosCadastrais, trabalhadorSemVinculo.dadosCadastrais) - .append(dadosCadastrais, trabalhadorSemVinculo.dadosContratuais) + .append(dadosContratuais, trabalhadorSemVinculo.dadosContratuais) + .append(dadosDesligamento, trabalhadorSemVinculo.dadosDesligamento) .isEquals(); } @@ -56,6 +53,7 @@ public int hashCode() { return new HashCodeBuilder(17, 37) .append(dadosCadastrais) .append(dadosContratuais) + .append(dadosDesligamento) .toHashCode(); } } diff --git a/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2205TSV.java b/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2205TSV.java new file mode 100644 index 000000000..e26d6697d --- /dev/null +++ b/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2205TSV.java @@ -0,0 +1,21 @@ +package br.jus.tst.esocialjt.ret.semvinculo; + +import br.jus.tst.esocial.ocorrencia.dados.AltCadastral; +import br.jus.tst.esocialjt.dominio.Ocorrencia; +import org.springframework.beans.BeanUtils; + +import java.util.ArrayList; + +public class Processador2205TSV implements ProcessadorTrabalhadorSemVinculo { + + @Override + public void processaRegistro(ArrayList listaRetTrabalhadorSemVinculo, Ocorrencia ocorrencia) { + AltCadastral alteracao = (AltCadastral) ocorrencia.getDadosOcorrencia(); + + listaRetTrabalhadorSemVinculo.forEach(re -> { + BeanUtils.copyProperties(alteracao.getAlteracao().getDadosTrabalhador(), re.trabalhadorSemVinculo.dadosCadastrais); + re.trabalhadorSemVinculo.dadosCadastrais.nascimento.setPaisNac(alteracao.getAlteracao().getDadosTrabalhador().getPaisNac()); + re.addOcorrencia(ocorrencia); + }); + } +} diff --git a/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2300.java b/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2300.java index 398ee1782..a62aa9197 100644 --- a/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2300.java +++ b/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2300.java @@ -1,8 +1,10 @@ package br.jus.tst.esocialjt.ret.semvinculo; +import br.jus.tst.esocial.dominio.semvinculo.termino.InfoTSVTermino; import br.jus.tst.esocial.ocorrencia.dados.TSVInicio; import br.jus.tst.esocial.ret.tsv.DadosCadastrais; import br.jus.tst.esocial.ret.tsv.DadosContratuais; +import br.jus.tst.esocial.ret.tsv.DadosDesligamento; import br.jus.tst.esocial.ret.tsv.TrabalhadorSemVinculo; import br.jus.tst.esocialjt.dominio.Ocorrencia; import br.jus.tst.esocial.dominio.semvinculo.Termino; @@ -24,17 +26,18 @@ public void processaRegistro(ArrayList listaRetTrabalh BeanUtils.copyProperties(tsvInicio.getTrabalhador(), re.trabalhadorSemVinculo.dadosCadastrais); BeanUtils.copyProperties(tsvInicio.getInfoTSVInicio(), re.trabalhadorSemVinculo.dadosContratuais); - re.trabalhadorSemVinculo.termino = retornaNovoTermino(tsvInicio.getInfoTSVInicio().getTermino()); + re.trabalhadorSemVinculo.dadosDesligamento = retornaNovoTermino(tsvInicio.getInfoTSVInicio().getTermino()); re.addOcorrencia(ocorrencia); listaRetTrabalhadorSemVinculo.add(re); } - private Termino retornaNovoTermino(Termino term) { + private DadosDesligamento retornaNovoTermino(Termino term) { if (term == null) { - return term; + return null; } - Termino termino = new Termino(); - termino.setDtTerm(term.getDtTerm()); - return termino; + DadosDesligamento dadosDesligamento = new DadosDesligamento(); + dadosDesligamento.infoTSVTermino = new InfoTSVTermino(); + dadosDesligamento.infoTSVTermino.setDtTerm(term.getDtTerm()); + return dadosDesligamento; } } diff --git a/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2306.java b/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2306.java new file mode 100644 index 000000000..7448831b0 --- /dev/null +++ b/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2306.java @@ -0,0 +1,71 @@ +package br.jus.tst.esocialjt.ret.semvinculo; + +import br.jus.tst.esocial.dominio.semvinculo.InfoComplementares; +import br.jus.tst.esocial.dominio.semvinculo.InfoDirigenteSindical; +import br.jus.tst.esocial.dominio.semvinculo.InfoMandElet; +import br.jus.tst.esocial.dominio.semvinculo.InfoTrabCedido; +import br.jus.tst.esocial.ocorrencia.dados.TSVAltContr; +import br.jus.tst.esocialjt.dominio.Ocorrencia; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; + +public class Processador2306 implements ProcessadorTrabalhadorSemVinculo { + @Override + public void processaRegistro(ArrayList listaRetTrabalhadorSemVinculo, Ocorrencia ocorrencia) { + TSVAltContr alteracao = (TSVAltContr) ocorrencia.getDadosOcorrencia(); + String matriculaOcorrencia = ocorrencia.getDadosOcorrencia().getMatricula(); + Integer codCateg = alteracao.getIdeTrabSemVinculo().getCodCateg(); + + listaRetTrabalhadorSemVinculo + .stream() + .filter(re -> StringUtils.equals(matriculaOcorrencia, re.getMatricula())) + .filter(re -> codCateg == null || codCateg.equals(re.trabalhadorSemVinculo.getDadosContratuais().getCodCateg())) + .forEach(re -> { + InfoComplementares infoComplementares = re.trabalhadorSemVinculo.dadosContratuais.getInfoComplementares(); + InfoComplementares infoComplementaresAlt = alteracao.getInfoTSVAlteracao().getInfoComplementares(); + if (infoComplementaresAlt != null && infoComplementares != null) { + infoComplementares.setCargoFuncao(infoComplementaresAlt.getCargoFuncao()); + infoComplementares.setRemuneracao(infoComplementaresAlt.getRemuneracao()); + infoComplementares.setInfoEstagiario(infoComplementaresAlt.getInfoEstagiario()); + infoComplementares.setLocalTrabGeral(infoComplementaresAlt.getLocalTrabGeral()); + preencherInfoDirigenteSindical(infoComplementares, infoComplementaresAlt); + preencherInfoTrabCedido(infoComplementares, infoComplementaresAlt); + preencherInfoMandElet(infoComplementares, infoComplementaresAlt); + } + re.addOcorrencia(ocorrencia); + }); + } + + private static void preencherInfoMandElet(InfoComplementares infoComplementares, InfoComplementares infoComplementaresAlt) { + InfoMandElet infoMandElet = infoComplementares.getInfoMandElet(); + InfoMandElet infoMandEletAlt = infoComplementaresAlt.getInfoMandElet(); + if (infoMandEletAlt != null && infoMandElet != null) { + infoMandElet.setTpRegPrev(infoMandEletAlt.getTpRegPrev()); + infoMandElet.setIndRemunCargo(infoMandEletAlt.getIndRemunCargo()); + } else { + infoComplementares.setInfoMandElet(infoMandEletAlt); + } + } + + private static void preencherInfoTrabCedido(InfoComplementares infoComplementares, InfoComplementares infoComplementaresAlt) { + InfoTrabCedido infoTrabCedido = infoComplementares.getInfoTrabCedido(); + InfoTrabCedido infoTrabCedidoAlt = infoComplementaresAlt.getInfoTrabCedido(); + + if (infoTrabCedidoAlt != null && infoTrabCedido != null) { + infoTrabCedido.setTpRegPrev(infoTrabCedidoAlt.getTpRegPrev()); + } else { + infoComplementares.setInfoTrabCedido(infoTrabCedidoAlt); + } + } + + private static void preencherInfoDirigenteSindical(InfoComplementares infoComplementares, InfoComplementares infoComplementaresAlt) { + InfoDirigenteSindical infoDirigenteSindical = infoComplementares.getInfoDirigenteSindical(); + InfoDirigenteSindical infoDirigenteSindicalAlt = infoComplementaresAlt.getInfoDirigenteSindical(); + if (infoDirigenteSindicalAlt != null && infoDirigenteSindical != null) { + infoDirigenteSindical.setTpRegPrev(infoDirigenteSindicalAlt.getTpRegPrev()); + } else { + infoComplementares.setInfoDirigenteSindical(infoDirigenteSindicalAlt); + } + } +} diff --git a/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2399.java b/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2399.java new file mode 100644 index 000000000..6bc8db3eb --- /dev/null +++ b/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2399.java @@ -0,0 +1,31 @@ +package br.jus.tst.esocialjt.ret.semvinculo; + +import br.jus.tst.esocial.dominio.semvinculo.termino.InfoTSVTermino; +import br.jus.tst.esocial.ocorrencia.dados.TSVTermino; +import br.jus.tst.esocial.ret.tsv.DadosDesligamento; +import br.jus.tst.esocialjt.dominio.Ocorrencia; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; + +import java.util.ArrayList; + +public class Processador2399 implements ProcessadorTrabalhadorSemVinculo { + + @Override + public void processaRegistro(ArrayList listaRetTrabalhadorSemVinculo, Ocorrencia ocorrencia) { + TSVTermino termino = (TSVTermino) ocorrencia.getDadosOcorrencia(); + String matriculaOcorrencia = ocorrencia.getDadosOcorrencia().getMatricula(); + Integer codCateg = termino.getIdeTrabSemVinculo().getCodCateg(); + + listaRetTrabalhadorSemVinculo + .stream() + .filter(re -> StringUtils.equals(matriculaOcorrencia, re.getMatricula())) + .filter(re -> codCateg == null || codCateg.equals(re.trabalhadorSemVinculo.getDadosContratuais().getCodCateg())) + .forEach(re -> { + re.trabalhadorSemVinculo.dadosDesligamento = new DadosDesligamento(); + re.trabalhadorSemVinculo.dadosDesligamento.infoTSVTermino = new InfoTSVTermino(); + BeanUtils.copyProperties(termino.getInfoTSVTermino(), re.trabalhadorSemVinculo.dadosDesligamento.infoTSVTermino); + re.addOcorrencia(ocorrencia); + }); + } +} diff --git a/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/TrabalhadorSemVinculoServico.java b/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/TrabalhadorSemVinculoServico.java index 5d3383860..22043864c 100644 --- a/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/TrabalhadorSemVinculoServico.java +++ b/src/esocial-jt-service/src/main/java/br/jus/tst/esocialjt/ret/semvinculo/TrabalhadorSemVinculoServico.java @@ -33,6 +33,7 @@ public List obterRetTrabalhadorSemVinculo(String cpf) specs.nosEstados(Collections.singletonList(Estado.PROCESSADO_COM_SUCESSO)) .and(specs.dosTipos(Arrays.asList( TSV_INICIO, + ALTERACAO_CADASTRAL, TSV_ALTERACAO_CONTRATUAL, TSV_TERMINO ))).and(specs.comCPF(cpf))); @@ -75,6 +76,9 @@ private ProcessadorTrabalhadorSemVinculo getProcessadorTrabalhadorSemVinculo(Tip if (processadores == null) { processadores = new HashMap<>(); processadores.put(TipoOcorrencia.TSV_INICIO, new Processador2300()); + processadores.put(TipoOcorrencia.ALTERACAO_CADASTRAL, new Processador2205TSV()); + processadores.put(TipoOcorrencia.TSV_ALTERACAO_CONTRATUAL, new Processador2306()); + processadores.put(TipoOcorrencia.TSV_TERMINO, new Processador2399()); } return Optional .ofNullable(processadores.get(tipo)) diff --git a/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2205TSVTest.java b/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2205TSVTest.java new file mode 100644 index 000000000..fc3cf3daa --- /dev/null +++ b/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2205TSVTest.java @@ -0,0 +1,64 @@ +package br.jus.tst.esocialjt.ret.semvinculo; + +import br.jus.tst.esocial.ret.tsv.TrabalhadorSemVinculo; +import br.jus.tst.esocialjt.dominio.Ocorrencia; +import br.jus.tst.esocialjt.util.OcorrenciaUtil; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; + +import static org.assertj.core.api.Assertions.assertThat; + +class Processador2205TSVTest { + + @Test + public void deveProcessar2205SobreTSVExistente() { + ArrayList listaRetTrabalhadorSemVinculo = new ArrayList<>(); + TrabalhadorSemVinculo inicial = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2205/inicial.json"); + RetTrabalhadorSemVinculo retTSV = new RetTrabalhadorSemVinculo(); + retTSV.trabalhadorSemVinculo = inicial; + + listaRetTrabalhadorSemVinculo.add(retTSV); + + Ocorrencia ocorrencia = OcorrenciaUtil.lerOcorrencia("ret/trabalhadorsemvinculo/s2205/alteracao_cadastral.json"); + TrabalhadorSemVinculo esperado = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2205/esperado.json"); + + Processador2205TSV processador = new Processador2205TSV(); + processador.processaRegistro(listaRetTrabalhadorSemVinculo, ocorrencia); + + assertThat(listaRetTrabalhadorSemVinculo).hasSize(1); + + assertThat(listaRetTrabalhadorSemVinculo.get(0).trabalhadorSemVinculo).usingRecursiveComparison().isEqualTo(esperado); + assertThat(listaRetTrabalhadorSemVinculo.get(0).ocorrencias).contains(ocorrencia); + } + + @Test + public void deveProcessar2205SobreMaisDeUmTSVExistente() { + ArrayList listaRetTrabalhadorSemVinculo = new ArrayList<>(); + TrabalhadorSemVinculo inicial1 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2205/inicial.json"); + TrabalhadorSemVinculo inicial2 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2205/inicial.json"); + + RetTrabalhadorSemVinculo retEmpregado1 = new RetTrabalhadorSemVinculo(); + retEmpregado1.trabalhadorSemVinculo = inicial1; + listaRetTrabalhadorSemVinculo.add(retEmpregado1); + + RetTrabalhadorSemVinculo retEmpregado2 = new RetTrabalhadorSemVinculo(); + retEmpregado2.trabalhadorSemVinculo = inicial2; + listaRetTrabalhadorSemVinculo.add(retEmpregado2); + + Ocorrencia ocorrencia = OcorrenciaUtil.lerOcorrencia("ret/trabalhadorsemvinculo/s2205/alteracao_cadastral.json"); + TrabalhadorSemVinculo esperado = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2205/esperado.json"); + + Processador2205TSV processador = new Processador2205TSV(); + processador.processaRegistro(listaRetTrabalhadorSemVinculo, ocorrencia); + + assertThat(listaRetTrabalhadorSemVinculo).hasSize(2); + + listaRetTrabalhadorSemVinculo.forEach(re -> { + assertThat(re.trabalhadorSemVinculo).usingRecursiveComparison().isEqualTo(esperado); + assertThat(re.ocorrencias).contains(ocorrencia); + }); + + } + +} \ No newline at end of file diff --git a/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/trabalhadorsemvinculo/Processador2300Test.java b/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2300Test.java similarity index 82% rename from src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/trabalhadorsemvinculo/Processador2300Test.java rename to src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2300Test.java index 7da2df5e2..282ec9af9 100644 --- a/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/trabalhadorsemvinculo/Processador2300Test.java +++ b/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2300Test.java @@ -1,16 +1,13 @@ -package br.jus.tst.esocialjt.ret.trabalhadorsemvinculo; +package br.jus.tst.esocialjt.ret.semvinculo; -import br.jus.tst.esocial.ret.empregado.Empregado; import br.jus.tst.esocial.ret.tsv.TrabalhadorSemVinculo; import br.jus.tst.esocialjt.dominio.Ocorrencia; -import br.jus.tst.esocialjt.ret.semvinculo.Processador2300; -import br.jus.tst.esocialjt.ret.semvinculo.RetTrabalhadorSemVinculo; import br.jus.tst.esocialjt.util.OcorrenciaUtil; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import static org.assertj.core.api.Assertions.assertThat; -import org.junit.jupiter.api.Test; public class Processador2300Test { diff --git a/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2306Test.java b/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2306Test.java new file mode 100644 index 000000000..37f85cbed --- /dev/null +++ b/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2306Test.java @@ -0,0 +1,110 @@ +package br.jus.tst.esocialjt.ret.semvinculo; + +import br.jus.tst.esocial.ocorrencia.dados.TSVAltContr; +import br.jus.tst.esocial.ret.tsv.TrabalhadorSemVinculo; +import br.jus.tst.esocialjt.dominio.Ocorrencia; +import br.jus.tst.esocialjt.util.OcorrenciaUtil; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; + +import static org.assertj.core.api.Assertions.assertThat; + +class Processador2306Test { + + @Test + public void deveProcessar2306SobreTSVExistente() { + ArrayList listaRetTrabalhadorSemVinculo = new ArrayList<>(); + TrabalhadorSemVinculo inicial = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2306/inicial.json"); + RetTrabalhadorSemVinculo retTSV = new RetTrabalhadorSemVinculo(); + retTSV.trabalhadorSemVinculo = inicial; + + listaRetTrabalhadorSemVinculo.add(retTSV); + + Ocorrencia ocorrencia = OcorrenciaUtil.lerOcorrencia("ret/trabalhadorsemvinculo/s2306/tsv_alteracao_contratual.json"); + TrabalhadorSemVinculo esperado = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2306/esperado.json"); + + Processador2306 processador = new Processador2306(); + processador.processaRegistro(listaRetTrabalhadorSemVinculo, ocorrencia); + + assertThat(listaRetTrabalhadorSemVinculo).hasSize(1); + + assertThat(listaRetTrabalhadorSemVinculo.get(0).trabalhadorSemVinculo).usingRecursiveComparison().isEqualTo(esperado); + assertThat(listaRetTrabalhadorSemVinculo.get(0).ocorrencias).contains(ocorrencia); + } + + @Test + public void deveProcessar2306SomenteMatriculaIgual() { + TrabalhadorSemVinculo inicial1 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2306/inicial.json"); + RetTrabalhadorSemVinculo retTSV1 = new RetTrabalhadorSemVinculo(); + retTSV1.trabalhadorSemVinculo = inicial1; + + TrabalhadorSemVinculo inicial2 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2306/inicial.json"); + inicial2.dadosContratuais.setMatricula("88888"); + RetTrabalhadorSemVinculo retTSV2 = new RetTrabalhadorSemVinculo(); + retTSV2.trabalhadorSemVinculo = inicial2; + retTSV2.addOcorrencia(new Ocorrencia()); + + ArrayList listaRetTrabalhadorSemVinculo = new ArrayList<>(); + listaRetTrabalhadorSemVinculo.add(retTSV1); + listaRetTrabalhadorSemVinculo.add(retTSV2); + + Ocorrencia ocorrencia = OcorrenciaUtil.lerOcorrencia("ret/trabalhadorsemvinculo/s2306/tsv_alteracao_contratual.json"); + TrabalhadorSemVinculo esperado1 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2306/esperado.json"); + TrabalhadorSemVinculo esperado2 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2306/inicial.json"); + esperado2.dadosContratuais.setMatricula("88888"); + + Processador2306 processador = new Processador2306(); + processador.processaRegistro(listaRetTrabalhadorSemVinculo, ocorrencia); + + assertThat(listaRetTrabalhadorSemVinculo).hasSize(2); + + assertThat(listaRetTrabalhadorSemVinculo.get(0).trabalhadorSemVinculo).usingRecursiveComparison().isEqualTo(esperado1); + assertThat(listaRetTrabalhadorSemVinculo.get(0).ocorrencias).contains(ocorrencia); + + assertThat(listaRetTrabalhadorSemVinculo.get(1).trabalhadorSemVinculo).usingRecursiveComparison().isEqualTo(esperado2); + assertThat(listaRetTrabalhadorSemVinculo.get(1).ocorrencias).doesNotContain(ocorrencia); + } + + @Test + public void deveProcessar2306SomenteCodCategIgual() { + TrabalhadorSemVinculo inicial1 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2306/inicial.json"); + inicial1.dadosContratuais.setMatricula(null); + RetTrabalhadorSemVinculo retTSV1 = new RetTrabalhadorSemVinculo(); + retTSV1.trabalhadorSemVinculo = inicial1; + + TrabalhadorSemVinculo inicial2 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2306/inicial.json"); + inicial2.dadosContratuais.setMatricula(null); + inicial2.dadosContratuais.setCodCateg(2); + RetTrabalhadorSemVinculo retTSV2 = new RetTrabalhadorSemVinculo(); + retTSV2.trabalhadorSemVinculo = inicial2; + retTSV2.addOcorrencia(new Ocorrencia()); + + ArrayList listaRetTrabalhadorSemVinculo = new ArrayList<>(); + listaRetTrabalhadorSemVinculo.add(retTSV1); + listaRetTrabalhadorSemVinculo.add(retTSV2); + + Ocorrencia ocorrencia = OcorrenciaUtil.lerOcorrencia("ret/trabalhadorsemvinculo/s2306/tsv_alteracao_contratual.json"); + TSVAltContr alteracao = (TSVAltContr) ocorrencia.getDadosOcorrencia(); + alteracao.getIdeTrabSemVinculo().setMatricula(null); + + TrabalhadorSemVinculo esperado1 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2306/esperado.json"); + esperado1.dadosContratuais.setMatricula(null); + + TrabalhadorSemVinculo esperado2 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2306/inicial.json"); + esperado2.dadosContratuais.setMatricula(null); + esperado2.dadosContratuais.setCodCateg(2); + + Processador2306 processador = new Processador2306(); + processador.processaRegistro(listaRetTrabalhadorSemVinculo, ocorrencia); + + assertThat(listaRetTrabalhadorSemVinculo).hasSize(2); + + assertThat(listaRetTrabalhadorSemVinculo.get(0).trabalhadorSemVinculo).usingRecursiveComparison().isEqualTo(esperado1); + assertThat(listaRetTrabalhadorSemVinculo.get(0).ocorrencias).contains(ocorrencia); + + assertThat(listaRetTrabalhadorSemVinculo.get(1).trabalhadorSemVinculo).usingRecursiveComparison().isEqualTo(esperado2); + assertThat(listaRetTrabalhadorSemVinculo.get(1).ocorrencias).doesNotContain(ocorrencia); + } + +} \ No newline at end of file diff --git a/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2399Test.java b/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2399Test.java new file mode 100644 index 000000000..75b28df34 --- /dev/null +++ b/src/esocial-jt-service/src/test/java/br/jus/tst/esocialjt/ret/semvinculo/Processador2399Test.java @@ -0,0 +1,110 @@ +package br.jus.tst.esocialjt.ret.semvinculo; + +import br.jus.tst.esocial.ocorrencia.dados.TSVTermino; +import br.jus.tst.esocial.ret.tsv.TrabalhadorSemVinculo; +import br.jus.tst.esocialjt.dominio.Ocorrencia; +import br.jus.tst.esocialjt.util.OcorrenciaUtil; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; + +import static org.assertj.core.api.Assertions.assertThat; + +class Processador2399Test { + + @Test + public void deveProcessar2399SobreTSVExistente() { + ArrayList listaRetTrabalhadorSemVinculo = new ArrayList<>(); + TrabalhadorSemVinculo inicial = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2399/inicial.json"); + RetTrabalhadorSemVinculo retTSV = new RetTrabalhadorSemVinculo(); + retTSV.trabalhadorSemVinculo = inicial; + + listaRetTrabalhadorSemVinculo.add(retTSV); + + Ocorrencia ocorrencia = OcorrenciaUtil.lerOcorrencia("ret/trabalhadorsemvinculo/s2399/tsv_termino.json"); + TrabalhadorSemVinculo esperado = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2399/esperado.json"); + + Processador2399 processador = new Processador2399(); + processador.processaRegistro(listaRetTrabalhadorSemVinculo, ocorrencia); + + assertThat(listaRetTrabalhadorSemVinculo).hasSize(1); + + assertThat(listaRetTrabalhadorSemVinculo.get(0).trabalhadorSemVinculo).usingRecursiveComparison().isEqualTo(esperado); + assertThat(listaRetTrabalhadorSemVinculo.get(0).ocorrencias).contains(ocorrencia); + } + + @Test + public void deveProcessar2399SomenteMatriculaIgual() { + TrabalhadorSemVinculo inicial1 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2399/inicial.json"); + RetTrabalhadorSemVinculo retTSV1 = new RetTrabalhadorSemVinculo(); + retTSV1.trabalhadorSemVinculo = inicial1; + + TrabalhadorSemVinculo inicial2 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2399/inicial.json"); + inicial2.dadosContratuais.setMatricula("88888"); + RetTrabalhadorSemVinculo retTSV2 = new RetTrabalhadorSemVinculo(); + retTSV2.trabalhadorSemVinculo = inicial2; + retTSV2.addOcorrencia(new Ocorrencia()); + + ArrayList listaRetTrabalhadorSemVinculo = new ArrayList<>(); + listaRetTrabalhadorSemVinculo.add(retTSV1); + listaRetTrabalhadorSemVinculo.add(retTSV2); + + Ocorrencia ocorrencia = OcorrenciaUtil.lerOcorrencia("ret/trabalhadorsemvinculo/s2399/tsv_termino.json"); + TrabalhadorSemVinculo esperado1 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2399/esperado.json"); + TrabalhadorSemVinculo esperado2 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2399/inicial.json"); + esperado2.dadosContratuais.setMatricula("88888"); + + Processador2399 processador = new Processador2399(); + processador.processaRegistro(listaRetTrabalhadorSemVinculo, ocorrencia); + + assertThat(listaRetTrabalhadorSemVinculo).hasSize(2); + + assertThat(listaRetTrabalhadorSemVinculo.get(0).trabalhadorSemVinculo).usingRecursiveComparison().isEqualTo(esperado1); + assertThat(listaRetTrabalhadorSemVinculo.get(0).ocorrencias).contains(ocorrencia); + + assertThat(listaRetTrabalhadorSemVinculo.get(1).trabalhadorSemVinculo).usingRecursiveComparison().isEqualTo(esperado2); + assertThat(listaRetTrabalhadorSemVinculo.get(1).ocorrencias).doesNotContain(ocorrencia); + } + + @Test + public void deveProcessar2399SomenteCodCategIgual() { + TrabalhadorSemVinculo inicial1 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2399/inicial.json"); + inicial1.dadosContratuais.setMatricula(null); + RetTrabalhadorSemVinculo retTSV1 = new RetTrabalhadorSemVinculo(); + retTSV1.trabalhadorSemVinculo = inicial1; + + TrabalhadorSemVinculo inicial2 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2399/inicial.json"); + inicial2.dadosContratuais.setMatricula(null); + inicial2.dadosContratuais.setCodCateg(2); + RetTrabalhadorSemVinculo retTSV2 = new RetTrabalhadorSemVinculo(); + retTSV2.trabalhadorSemVinculo = inicial2; + retTSV2.addOcorrencia(new Ocorrencia()); + + ArrayList listaRetTrabalhadorSemVinculo = new ArrayList<>(); + listaRetTrabalhadorSemVinculo.add(retTSV1); + listaRetTrabalhadorSemVinculo.add(retTSV2); + + Ocorrencia ocorrencia = OcorrenciaUtil.lerOcorrencia("ret/trabalhadorsemvinculo/s2399/tsv_termino.json"); + TSVTermino termino = (TSVTermino) ocorrencia.getDadosOcorrencia(); + termino.getIdeTrabSemVinculo().setMatricula(null); + + TrabalhadorSemVinculo esperado1 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2399/esperado.json"); + esperado1.dadosContratuais.setMatricula(null); + + TrabalhadorSemVinculo esperado2 = OcorrenciaUtil.lerTrabalhadorSemVinculo("ret/trabalhadorsemvinculo/s2399/inicial.json"); + esperado2.dadosContratuais.setMatricula(null); + esperado2.dadosContratuais.setCodCateg(2); + + Processador2399 processador = new Processador2399(); + processador.processaRegistro(listaRetTrabalhadorSemVinculo, ocorrencia); + + assertThat(listaRetTrabalhadorSemVinculo).hasSize(2); + + assertThat(listaRetTrabalhadorSemVinculo.get(0).trabalhadorSemVinculo).usingRecursiveComparison().isEqualTo(esperado1); + assertThat(listaRetTrabalhadorSemVinculo.get(0).ocorrencias).contains(ocorrencia); + + assertThat(listaRetTrabalhadorSemVinculo.get(1).trabalhadorSemVinculo).usingRecursiveComparison().isEqualTo(esperado2); + assertThat(listaRetTrabalhadorSemVinculo.get(1).ocorrencias).doesNotContain(ocorrencia); + } + +} \ No newline at end of file diff --git a/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2205/alteracao_cadastral.json b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2205/alteracao_cadastral.json new file mode 100644 index 000000000..c4f8b6c6f --- /dev/null +++ b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2205/alteracao_cadastral.json @@ -0,0 +1,82 @@ +{ + "tipoOcorrencia": "ALTERACAO_CADASTRAL", + "referencia": "12000", + "operacao": "NORMAL", + "dataOcorrencia": 1522181179561, + "dadosOcorrencia": { + "ideEmpregador": { + "tpInsc": 1, + "nrInsc": "00509968000148" + }, + "ideTrabalhador": { + "cpfTrab": "00100200345" + }, + "alteracao": { + "dtAlteracao": 1522181179561, + "dadosTrabalhador": { + "nmTrab": "ABRAVANEL MOD", + "sexo": "M", + "racaCor": 1, + "estCiv": 1, + "grauInstr": "11", + "nmSoc": "ABRAVANETE", + "paisNac": "106", + "endereco": { + "brasil": { + "tpLograd": "IND", + "dscLograd": "SAFS QUADRA 0 LOTE 0 MOD", + "nrLograd": "1", + "complemento": "LOTE 0", + "bairro": "ZONA CÍVICO-ADMINISTRATIVA MOD", + "cep": "70070943", + "codMunic": 5300108, + "uf": "DF" + }, + "exterior": null + }, + "infoDeficiencia": { + "defFisica": "S", + "defVisual": "S", + "defAuditiva": "S", + "defMental": "S", + "defIntelectual": "S", + "reabReadap": "S", + "observacao": "OBS" + }, + "dependente": [ + { + "tpDep": "01", + "nmDep": "ALMIR SATER", + "dtNascto": 453524400000, + "cpfDep": "00000000191", + "depIRRF": "S", + "depSF": "N", + "incTrab": "N" + }, + { + "tpDep": "09", + "nmDep": "CORA CORALINA", + "dtNascto": 453524400000, + "cpfDep": "00000000192", + "depIRRF": "N", + "depSF": "N", + "incTrab": "N" + }, + { + "tpDep": "03", + "nmDep": "BENICIO SOLO", + "dtNascto": 656391600000, + "cpfDep": "99645142393", + "depIRRF": "S", + "depSF": "S", + "incTrab": "S" + } + ], + "contato": { + "fonePrinc": "6130430003", + "emailPrinc": "abrao2@email.com" + } + } + } + } +} diff --git a/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2205/esperado.json b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2205/esperado.json new file mode 100644 index 000000000..5d17a4875 --- /dev/null +++ b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2205/esperado.json @@ -0,0 +1,97 @@ +{ + "dadosCadastrais": { + "cpfTrab": "00100200345", + "nmTrab": "ABRAVANEL MOD", + "sexo": "M", + "racaCor": 1, + "estCiv": 1, + "grauInstr": "11", + "nmSoc": "ABRAVANETE", + "nascimento": { + "dtNascto": "1975-07-02T03:00:00.000+00:00", + "paisNascto": "105", + "paisNac": "106" + }, + "endereco": { + "brasil": { + "tpLograd": "IND", + "dscLograd": "SAFS QUADRA 0 LOTE 0 MOD", + "nrLograd": "1", + "complemento": "LOTE 0", + "bairro": "ZONA CÍVICO-ADMINISTRATIVA MOD", + "cep": "70070943", + "codMunic": 5300108, + "uf": "DF" + }, + "exterior": null + }, + "infoDeficiencia": { + "defFisica": "S", + "defVisual": "S", + "defAuditiva": "S", + "defMental": "S", + "defIntelectual": "S", + "reabReadap": "S", + "observacao": "OBS" + }, + "dependente": [ + { + "tpDep": "01", + "nmDep": "ALMIR SATER", + "dtNascto": 453524400000, + "cpfDep": "00000000191", + "depIRRF": "S", + "depSF": "N", + "incTrab": "N" + }, + { + "tpDep": "09", + "nmDep": "CORA CORALINA", + "dtNascto": 453524400000, + "cpfDep": "00000000192", + "depIRRF": "N", + "depSF": "N", + "incTrab": "N" + }, + { + "tpDep": "03", + "nmDep": "BENICIO SOLO", + "dtNascto": 656391600000, + "cpfDep": "99645142393", + "depIRRF": "S", + "depSF": "S", + "incTrab": "S" + } + ], + "contato": { + "fonePrinc": "6130430003", + "emailPrinc": "abrao2@email.com" + } + }, + "dadosContratuais": { + "codCateg": 410, + "matricula": "C000001-01012007", + "nrProcTrab": null, + "natAtividade": 1, + "infoComplementares": { + "cargoFuncao": { + "nmCargo": "SERVIDOR DE OUTRO ORGAO", + "nmFuncao": null, + "cbocargo": "111345", + "cbofuncao": null + }, + "remuneracao": null, + "fgts": null, + "infoDirigenteSindical": null, + "infoTrabCedido": { + "categOrig": 301, + "cnpjCednt": "1234567", + "matricCed": "123456", + "dtAdmCed": "2007-09-05T03:00:00.000+00:00", + "tpRegTrab": 2, + "tpRegPrev": 2 + } + }, + "afastamento": null + } +} diff --git a/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2205/inicial.json b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2205/inicial.json new file mode 100644 index 000000000..7dd3e2b02 --- /dev/null +++ b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2205/inicial.json @@ -0,0 +1,88 @@ +{ + "dadosCadastrais": { + "cpfTrab": "00100200345", + "nmTrab": "ABRAVANEL", + "sexo": "M", + "racaCor": 1, + "estCiv": 1, + "grauInstr": "09", + "nmSoc": null, + "nascimento": { + "dtNascto": "1975-07-02T03:00:00.000+00:00", + "paisNascto": "105", + "paisNac": "105" + }, + "endereco": { + "brasil": { + "tpLograd": null, + "dscLograd": "AVENIDA 2", + "nrLograd": "1", + "complemento": "CASA 6", + "bairro": "LUZ", + "cep": "70070943", + "codMunic": 4304606, + "uf": "AC" + }, + "exterior": null + }, + "infoDeficiencia": { + "defFisica": "N", + "defVisual": "N", + "defAuditiva": "N", + "defMental": "N", + "defIntelectual": "N", + "reabReadap": "N", + "observacao": null + }, + "dependente": [ + { + "tpDep": "01", + "nmDep": "ALMIR SATER", + "dtNascto": 453524400000, + "cpfDep": "00000000191", + "depIRRF": "S", + "depSF": "N", + "incTrab": "N" + }, + { + "tpDep": "09", + "nmDep": "CORA CORALINA", + "dtNascto": 453524400000, + "cpfDep": "00000000192", + "depIRRF": "N", + "depSF": "N", + "incTrab": "N" + } + ], + "contato": { + "fonePrinc": "6130430000", + "emailPrinc": "abrav@email.com" + } + }, + "dadosContratuais": { + "codCateg": 410, + "matricula": "C000001-01012007", + "nrProcTrab": null, + "natAtividade": 1, + "infoComplementares": { + "cargoFuncao": { + "nmCargo": "SERVIDOR DE OUTRO ORGAO", + "nmFuncao": null, + "cbocargo": "111345", + "cbofuncao": null + }, + "remuneracao": null, + "fgts": null, + "infoDirigenteSindical": null, + "infoTrabCedido": { + "categOrig": 301, + "cnpjCednt": "1234567", + "matricCed": "123456", + "dtAdmCed": "2007-09-05T03:00:00.000+00:00", + "tpRegTrab": 2, + "tpRegPrev": 2 + } + }, + "afastamento": null + } +} diff --git a/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2300/esperado.json b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2300/esperado.json index d6ce91f62..d7bc3e662 100644 --- a/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2300/esperado.json +++ b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2300/esperado.json @@ -8,66 +8,68 @@ "grauInstr": "09", "nmSoc": null, "nascimento": { - "dtNascto": "1975-07-02T03:00:00.000+00:00", + "dtNascto": "1975-07-02T03:00:00.000+00:00", "paisNascto": "105", "paisNac": "105" }, - "endereco": { - "brasil": { - "tpLograd": null, - "dscLograd": "AVENIDA 2", - "nrLograd": "1", - "complemento": "CASA 6", - "bairro": "LUZ", - "cep": "70070943", - "codMunic": 4304606, - "uf": "AC" - }, - "exterior": null + "endereco": { + "brasil": { + "tpLograd": null, + "dscLograd": "AVENIDA 2", + "nrLograd": "1", + "complemento": "CASA 6", + "bairro": "LUZ", + "cep": "70070943", + "codMunic": 4304606, + "uf": "AC" + }, + "exterior": null }, - "dependente": [{ - "tpDep": "01", - "nmDep": "ALMIR SATER", - "dtNascto": 453524400000, - "cpfDep": "00000000191", - "depIRRF": "S", - "depSF": "N", - "incTrab": "N" - }, - { - "tpDep": "09", - "nmDep": "CORA CORALINA", - "dtNascto": 453524400000, - "cpfDep": "00000000192", - "depIRRF": "N", - "depSF": "N", - "incTrab": "N" - }] - }, + "dependente": [ + { + "tpDep": "01", + "nmDep": "ALMIR SATER", + "dtNascto": 453524400000, + "cpfDep": "00000000191", + "depIRRF": "S", + "depSF": "N", + "incTrab": "N" + }, + { + "tpDep": "09", + "nmDep": "CORA CORALINA", + "dtNascto": 453524400000, + "cpfDep": "00000000192", + "depIRRF": "N", + "depSF": "N", + "incTrab": "N" + } + ] + }, "dadosContratuais": { "codCateg": 410, - "matricula": "C000001-01012007", - "nrProcTrab": null, - "natAtividade": 1, - "infoComplementares": { - "cargoFuncao": { - "nmCargo": "SERVIDOR DE OUTRO ORGAO", - "nmFuncao": null, - "cbocargo": "111345", - "cbofuncao": null - }, - "remuneracao": null, - "fgts": null, - "infoDirigenteSindical": null, - "infoTrabCedido": { - "categOrig": 301, - "cnpjCednt": "1234567", - "matricCed": "123456", - "dtAdmCed": "2007-09-05T03:00:00.000+00:00", - "tpRegTrab": 2, - "tpRegPrev": 2 - } - }, - "afastamento": null -} + "matricula": "C000001-01012007", + "nrProcTrab": null, + "natAtividade": 1, + "infoComplementares": { + "cargoFuncao": { + "nmCargo": "SERVIDOR DE OUTRO ORGAO", + "nmFuncao": null, + "cbocargo": "111345", + "cbofuncao": null + }, + "remuneracao": null, + "fgts": null, + "infoDirigenteSindical": null, + "infoTrabCedido": { + "categOrig": 301, + "cnpjCednt": "1234567", + "matricCed": "123456", + "dtAdmCed": "2007-09-05T03:00:00.000+00:00", + "tpRegTrab": 2, + "tpRegPrev": 2 + } + }, + "afastamento": null + } } diff --git a/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2306/esperado.json b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2306/esperado.json new file mode 100644 index 000000000..3349816f7 --- /dev/null +++ b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2306/esperado.json @@ -0,0 +1,93 @@ +{ + "dadosCadastrais": { + "cpfTrab": "00100200345", + "nmTrab": "ABRAVANEL", + "sexo": "M", + "racaCor": 1, + "estCiv": 1, + "grauInstr": "09", + "nmSoc": null, + "nascimento": { + "dtNascto": "1975-07-02T03:00:00.000+00:00", + "paisNascto": "105", + "paisNac": "105" + }, + "endereco": { + "brasil": { + "tpLograd": null, + "dscLograd": "AVENIDA 2", + "nrLograd": "1", + "complemento": "CASA 6", + "bairro": "LUZ", + "cep": "70070943", + "codMunic": 4304606, + "uf": "AC" + }, + "exterior": null + }, + "infoDeficiencia": { + "defFisica": "N", + "defVisual": "N", + "defAuditiva": "N", + "defMental": "N", + "defIntelectual": "N", + "reabReadap": "N", + "observacao": null + }, + "dependente": [ + { + "tpDep": "01", + "nmDep": "ALMIR SATER", + "dtNascto": 453524400000, + "cpfDep": "00000000191", + "depIRRF": "S", + "depSF": "N", + "incTrab": "N" + }, + { + "tpDep": "09", + "nmDep": "CORA CORALINA", + "dtNascto": 453524400000, + "cpfDep": "00000000192", + "depIRRF": "N", + "depSF": "N", + "incTrab": "N" + } + ], + "contato": { + "fonePrinc": "6130430000", + "emailPrinc": "abrav@email.com" + } + }, + "dadosContratuais": { + "codCateg": 410, + "matricula": "C000001-01012007", + "nrProcTrab": null, + "natAtividade": 1, + "infoComplementares": { + "cargoFuncao": { + "nmCargo": "SERVIDOR DE OUTRO ORGAO", + "nmFuncao": null, + "cbocargo": "111345", + "cbofuncao": null + }, + "remuneracao": null, + "fgts": null, + "infoDirigenteSindical": null, + "infoTrabCedido": { + "categOrig": 301, + "cnpjCednt": "1234567", + "matricCed": "123456", + "dtAdmCed": "2007-09-05T03:00:00.000+00:00", + "tpRegTrab": 2, + "tpRegPrev": 1 + }, + "localTrabGeral": { + "tpInsc": 1, + "nrInsc": "00509968000148", + "descComp": "Teste" + } + }, + "afastamento": null + } +} diff --git a/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2306/inicial.json b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2306/inicial.json new file mode 100644 index 000000000..7dd3e2b02 --- /dev/null +++ b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2306/inicial.json @@ -0,0 +1,88 @@ +{ + "dadosCadastrais": { + "cpfTrab": "00100200345", + "nmTrab": "ABRAVANEL", + "sexo": "M", + "racaCor": 1, + "estCiv": 1, + "grauInstr": "09", + "nmSoc": null, + "nascimento": { + "dtNascto": "1975-07-02T03:00:00.000+00:00", + "paisNascto": "105", + "paisNac": "105" + }, + "endereco": { + "brasil": { + "tpLograd": null, + "dscLograd": "AVENIDA 2", + "nrLograd": "1", + "complemento": "CASA 6", + "bairro": "LUZ", + "cep": "70070943", + "codMunic": 4304606, + "uf": "AC" + }, + "exterior": null + }, + "infoDeficiencia": { + "defFisica": "N", + "defVisual": "N", + "defAuditiva": "N", + "defMental": "N", + "defIntelectual": "N", + "reabReadap": "N", + "observacao": null + }, + "dependente": [ + { + "tpDep": "01", + "nmDep": "ALMIR SATER", + "dtNascto": 453524400000, + "cpfDep": "00000000191", + "depIRRF": "S", + "depSF": "N", + "incTrab": "N" + }, + { + "tpDep": "09", + "nmDep": "CORA CORALINA", + "dtNascto": 453524400000, + "cpfDep": "00000000192", + "depIRRF": "N", + "depSF": "N", + "incTrab": "N" + } + ], + "contato": { + "fonePrinc": "6130430000", + "emailPrinc": "abrav@email.com" + } + }, + "dadosContratuais": { + "codCateg": 410, + "matricula": "C000001-01012007", + "nrProcTrab": null, + "natAtividade": 1, + "infoComplementares": { + "cargoFuncao": { + "nmCargo": "SERVIDOR DE OUTRO ORGAO", + "nmFuncao": null, + "cbocargo": "111345", + "cbofuncao": null + }, + "remuneracao": null, + "fgts": null, + "infoDirigenteSindical": null, + "infoTrabCedido": { + "categOrig": 301, + "cnpjCednt": "1234567", + "matricCed": "123456", + "dtAdmCed": "2007-09-05T03:00:00.000+00:00", + "tpRegTrab": 2, + "tpRegPrev": 2 + } + }, + "afastamento": null + } +} diff --git a/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2306/tsv_alteracao_contratual.json b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2306/tsv_alteracao_contratual.json new file mode 100644 index 000000000..a6da03cab --- /dev/null +++ b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2306/tsv_alteracao_contratual.json @@ -0,0 +1,37 @@ +{ + "tipoOcorrencia": "TSV_ALTERACAO_CONTRATUAL", + "referencia": "77993893704", + "operacao": "NORMAL", + "dataOcorrencia": 1522181179561, + "dadosOcorrencia": { + "ideEmpregador": { + "tpInsc": 1, + "nrInsc": "00509968000148" + }, + "ideTrabSemVinculo": { + "cpfTrab": "77993893704", + "codCateg": 410, + "matricula": "C000001-01012007" + }, + "infoTSVAlteracao": { + "dtAlteracao": 1522181179561, + "infoComplementares": { + "cargoFuncao": { + "nmCargo": "SERVIDOR DE OUTRO ORGAO", + "nmFuncao": null, + "cbocargo": "111345", + "cbofuncao": null + }, + "remuneracao": null, + "infoTrabCedido": { + "tpRegPrev": 1 + }, + "localTrabGeral": { + "tpInsc": 1, + "nrInsc": "00509968000148", + "descComp": "Teste" + } + } + } + } +} diff --git a/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2399/esperado.json b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2399/esperado.json new file mode 100644 index 000000000..31016ee11 --- /dev/null +++ b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2399/esperado.json @@ -0,0 +1,93 @@ +{ + "dadosCadastrais": { + "cpfTrab": "00100200345", + "nmTrab": "ABRAVANEL", + "sexo": "M", + "racaCor": 1, + "estCiv": 1, + "grauInstr": "09", + "nmSoc": null, + "nascimento": { + "dtNascto": "1975-07-02T03:00:00.000+00:00", + "paisNascto": "105", + "paisNac": "105" + }, + "endereco": { + "brasil": { + "tpLograd": null, + "dscLograd": "AVENIDA 2", + "nrLograd": "1", + "complemento": "CASA 6", + "bairro": "LUZ", + "cep": "70070943", + "codMunic": 4304606, + "uf": "AC" + }, + "exterior": null + }, + "infoDeficiencia": { + "defFisica": "N", + "defVisual": "N", + "defAuditiva": "N", + "defMental": "N", + "defIntelectual": "N", + "reabReadap": "N", + "observacao": null + }, + "dependente": [ + { + "tpDep": "01", + "nmDep": "ALMIR SATER", + "dtNascto": 453524400000, + "cpfDep": "00000000191", + "depIRRF": "S", + "depSF": "N", + "incTrab": "N" + }, + { + "tpDep": "09", + "nmDep": "CORA CORALINA", + "dtNascto": 453524400000, + "cpfDep": "00000000192", + "depIRRF": "N", + "depSF": "N", + "incTrab": "N" + } + ], + "contato": { + "fonePrinc": "6130430000", + "emailPrinc": "abrav@email.com" + } + }, + "dadosContratuais": { + "codCateg": 410, + "matricula": "C000001-01012007", + "nrProcTrab": null, + "natAtividade": 1, + "infoComplementares": { + "cargoFuncao": { + "nmCargo": "SERVIDOR DE OUTRO ORGAO", + "nmFuncao": null, + "cbocargo": "111345", + "cbofuncao": null + }, + "remuneracao": null, + "fgts": null, + "infoDirigenteSindical": null, + "infoTrabCedido": { + "categOrig": 301, + "cnpjCednt": "1234567", + "matricCed": "123456", + "dtAdmCed": "2007-09-05T03:00:00.000+00:00", + "tpRegTrab": 2, + "tpRegPrev": 2 + } + }, + "afastamento": null + }, + "dadosDesligamento": { + "infoTSVTermino": { + "dtTerm": 1609815600000 + } + } +} diff --git a/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2399/inicial.json b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2399/inicial.json new file mode 100644 index 000000000..7dd3e2b02 --- /dev/null +++ b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2399/inicial.json @@ -0,0 +1,88 @@ +{ + "dadosCadastrais": { + "cpfTrab": "00100200345", + "nmTrab": "ABRAVANEL", + "sexo": "M", + "racaCor": 1, + "estCiv": 1, + "grauInstr": "09", + "nmSoc": null, + "nascimento": { + "dtNascto": "1975-07-02T03:00:00.000+00:00", + "paisNascto": "105", + "paisNac": "105" + }, + "endereco": { + "brasil": { + "tpLograd": null, + "dscLograd": "AVENIDA 2", + "nrLograd": "1", + "complemento": "CASA 6", + "bairro": "LUZ", + "cep": "70070943", + "codMunic": 4304606, + "uf": "AC" + }, + "exterior": null + }, + "infoDeficiencia": { + "defFisica": "N", + "defVisual": "N", + "defAuditiva": "N", + "defMental": "N", + "defIntelectual": "N", + "reabReadap": "N", + "observacao": null + }, + "dependente": [ + { + "tpDep": "01", + "nmDep": "ALMIR SATER", + "dtNascto": 453524400000, + "cpfDep": "00000000191", + "depIRRF": "S", + "depSF": "N", + "incTrab": "N" + }, + { + "tpDep": "09", + "nmDep": "CORA CORALINA", + "dtNascto": 453524400000, + "cpfDep": "00000000192", + "depIRRF": "N", + "depSF": "N", + "incTrab": "N" + } + ], + "contato": { + "fonePrinc": "6130430000", + "emailPrinc": "abrav@email.com" + } + }, + "dadosContratuais": { + "codCateg": 410, + "matricula": "C000001-01012007", + "nrProcTrab": null, + "natAtividade": 1, + "infoComplementares": { + "cargoFuncao": { + "nmCargo": "SERVIDOR DE OUTRO ORGAO", + "nmFuncao": null, + "cbocargo": "111345", + "cbofuncao": null + }, + "remuneracao": null, + "fgts": null, + "infoDirigenteSindical": null, + "infoTrabCedido": { + "categOrig": 301, + "cnpjCednt": "1234567", + "matricCed": "123456", + "dtAdmCed": "2007-09-05T03:00:00.000+00:00", + "tpRegTrab": 2, + "tpRegPrev": 2 + } + }, + "afastamento": null + } +} diff --git a/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2399/tsv_termino.json b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2399/tsv_termino.json new file mode 100644 index 000000000..6d6fe1896 --- /dev/null +++ b/src/esocial-jt-service/src/test/resources/ret/trabalhadorsemvinculo/s2399/tsv_termino.json @@ -0,0 +1,20 @@ +{ + "tipoOcorrencia": "TSV_TERMINO", + "referencia": "00100200345", + "operacao": "NORMAL", + "dataOcorrencia": 1522181179561, + "dadosOcorrencia": { + "ideEmpregador": { + "tpInsc": 1, + "nrInsc": "00509968000148" + }, + "ideTrabSemVinculo": { + "cpfTrab": "00100200345", + "codCateg": 410, + "matricula": "C000001-01012007" + }, + "infoTSVTermino": { + "dtTerm": 1609815600000 + } + } +}