diff --git a/pom.xml b/pom.xml index bc17511..02284e6 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 samuelfac portalunico.siscomex.gov.br - r60-inn-RELEASE + r61-tocantins-RELEASE PortalUnicoSiscomex Classes da API do Portal Único de Comércio Exterior, a nova forma de interação entre as empresas privadas e os diversos órgãos públicos intervenientes no comércio exterior. diff --git a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosApi.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosApi.java index 8826997..28c5ff6 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosApi.java @@ -25,8 +25,7 @@ /** * Cadastro de Atributos * - *

CADA - Cadastro de Atributos

Introdução

Bem-vindo à API do sistema Cadastro de Atributos.

O Cadastro de Atributos define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos:

URLs de Acesso

A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração:

Nome do Ambiente URL de acesso
Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/cadatributos/api
Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api

 

Serviços de Download das Relações

A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura.

Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir:

Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO.

Serviços de Consulta

Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON:

- * + *

CADA - Cadastro de Atributos

Introdução

Bem-vindo à API do sistema Cadastro de Atributos.

O Cadastro de Atributos define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos:

URLs de Acesso

A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração:

Nome do Ambiente URL de acesso
Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/cadatributos/api
Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api

 

Serviços de Download das Relações

A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura.

Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir:

Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO.

Serviços de Consulta

Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON:

*/ @Path("/") @Api(value = "/", description = "") @@ -34,7 +33,6 @@ public interface RelaoDeAtributosApi { /** * Consulta de dados de atributos pelo código - * */ @POST @Path("/ext/atributo/consulta-codigo") @@ -54,7 +52,6 @@ public interface RelaoDeAtributosApi { /** * Consulta de dados de atributos pelo nome - * */ @POST @Path("/ext/atributo/consulta-nome") @@ -74,7 +71,6 @@ public interface RelaoDeAtributosApi { /** * Download do arquivo com a relação de atributos, independente dos vínculos - * */ @GET @Path("/ext/atributo/download/{tipo}") @@ -91,7 +87,6 @@ public interface RelaoDeAtributosApi { /** * Consulta histórico de versões - * */ @GET @Path("/ext/atributo/historico-versoes") diff --git a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorFundamentoLegalApi.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorFundamentoLegalApi.java index 2ef5d9e..54ed00d 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorFundamentoLegalApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorFundamentoLegalApi.java @@ -18,8 +18,7 @@ /** * Cadastro de Atributos * - *

CADA - Cadastro de Atributos

Introdução

Bem-vindo à API do sistema Cadastro de Atributos.

O Cadastro de Atributos define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos:

URLs de Acesso

A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração:

Nome do Ambiente URL de acesso
Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/cadatributos/api
Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api

 

Serviços de Download das Relações

A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura.

Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir:

Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO.

Serviços de Consulta

Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON:

- * + *

CADA - Cadastro de Atributos

Introdução

Bem-vindo à API do sistema Cadastro de Atributos.

O Cadastro de Atributos define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos:

URLs de Acesso

A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração:

Nome do Ambiente URL de acesso
Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/cadatributos/api
Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api

 

Serviços de Download das Relações

A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura.

Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir:

Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO.

Serviços de Consulta

Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON:

*/ @Path("/") @Api(value = "/", description = "") @@ -27,7 +26,6 @@ public interface RelaoDeAtributosPorFundamentoLegalApi { /** * Consulta da relação de atributos por Fundamento Legal - * */ @GET @Path("/ext/atributo-fundamento-legal/{codigo-fundamento-legal}") @@ -44,7 +42,6 @@ public interface RelaoDeAtributosPorFundamentoLegalApi { /** * Download do arquivo com a relação de atributos por Fundamento Legal - * */ @GET @Path("/ext/atributo-fundamento-legal/download/{tipo}") diff --git a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorNcmApi.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorNcmApi.java index 497127c..2d1faea 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorNcmApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorNcmApi.java @@ -19,8 +19,7 @@ /** * Cadastro de Atributos * - *

CADA - Cadastro de Atributos

Introdução

Bem-vindo à API do sistema Cadastro de Atributos.

O Cadastro de Atributos define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos:

URLs de Acesso

A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração:

Nome do Ambiente URL de acesso
Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/cadatributos/api
Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api

 

Serviços de Download das Relações

A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura.

Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir:

Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO.

Serviços de Consulta

Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON:

- * + *

CADA - Cadastro de Atributos

Introdução

Bem-vindo à API do sistema Cadastro de Atributos.

O Cadastro de Atributos define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos:

URLs de Acesso

A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração:

Nome do Ambiente URL de acesso
Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/cadatributos/api
Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api

 

Serviços de Download das Relações

A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura.

Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir:

Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO.

Serviços de Consulta

Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON:

*/ @Path("/") @Api(value = "/", description = "") @@ -28,7 +27,6 @@ public interface RelaoDeAtributosPorNcmApi { /** * Consulta da relação de atributos de um código NCM - * */ @GET @Path("/ext/atributo-ncm/{codigo-ncm}") @@ -45,7 +43,6 @@ public interface RelaoDeAtributosPorNcmApi { /** * Download do arquivo com a relação de atributos por NCM - * */ @GET @Path("/ext/atributo-ncm/download/{tipo}") @@ -62,7 +59,6 @@ public interface RelaoDeAtributosPorNcmApi { /** * Consulta histórico de versões - * */ @GET @Path("/ext/atributo-ncm/historico-versoes") diff --git a/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioAtributoDTO.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioAtributoDTO.java index 5672e59..0138766 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioAtributoDTO.java +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioAtributoDTO.java @@ -393,6 +393,7 @@ public ArquivoDiarioAtributoDTO brid(String brid) { /** * Código WCO ID<br>Tamanho mínimo: 0<br>Tamanho máximo: 10 + * * @return wcoid **/ @JsonProperty("wcoid") @@ -453,6 +454,7 @@ public ArquivoDiarioAtributoDTO formaPreenchimento(FormaPreenchimentoEnum formaP /** * Tamanho máximo<br>Tamanho mínimo: 0<br>Tamanho máximo: 10 + * * @return tamanhoMaximo **/ @JsonProperty("tamanhoMaximo") @@ -471,6 +473,7 @@ public ArquivoDiarioAtributoDTO tamanhoMaximo(Integer tamanhoMaximo) { /** * Máscara<br>Tamanho mínimo: 0<br>Tamanho máximo: 50 + * * @return mascara **/ @JsonProperty("mascara") @@ -489,6 +492,7 @@ public ArquivoDiarioAtributoDTO mascara(String mascara) { /** * Casas Decimais<br>Tamanho mínimo: 0<br>Tamanho máximo: 10 + * * @return casasDecimais **/ @JsonProperty("casasDecimais") @@ -507,6 +511,7 @@ public ArquivoDiarioAtributoDTO casasDecimais(Integer casasDecimais) { /** * Modalidade de operação.<br>Tamanho máximo: 20<br>Domínio:<br>Exportação<br>Importação + * * @return modalidade **/ @JsonProperty("modalidade") @@ -526,6 +531,7 @@ public ArquivoDiarioAtributoDTO modalidade(String modalidade) { /** * Preenchimento obrigatório.<br>Domínio:<br>true<br>false + * * @return obrigatorio **/ @JsonProperty("obrigatorio") @@ -565,6 +571,7 @@ public ArquivoDiarioAtributoDTO dataInicioVigencia(String dataInicioVigencia) { /** * Data de fim de vigência<br>Formato: yyyy-MM-dd + * * @return dataFimVigencia **/ @JsonProperty("dataFimVigencia") @@ -583,6 +590,7 @@ public ArquivoDiarioAtributoDTO dataFimVigencia(String dataFimVigencia) { /** * Informação adicional de preenchimento para o vínculo<br>Tamanho mínimo: 0<br>Tamanho máximo: 1000 + * * @return informacaoAdicional **/ @JsonProperty("informacaoAdicional") @@ -601,6 +609,7 @@ public ArquivoDiarioAtributoDTO informacaoAdicional(String informacaoAdicional) /** * Lista de domínio do atributo + * * @return dominio **/ @JsonProperty("dominio") @@ -624,6 +633,7 @@ public ArquivoDiarioAtributoDTO addDominioItem(ItemAtributoListaConsultaDTO domi /** * Get atributoFiltro + * * @return atributoFiltro **/ @JsonProperty("atributoFiltro") @@ -642,6 +652,7 @@ public ArquivoDiarioAtributoDTO atributoFiltro(ArquivoDiarioAtributoDTO atributo /** * Lista de objetivos do atributo + * * @return objetivos **/ @JsonProperty("objetivos") @@ -665,6 +676,7 @@ public ArquivoDiarioAtributoDTO addObjetivosItem(ObjetivoAtributoConsultaDTO obj /** * Lista de códigos dos órgãos vinculados ao Atributo e NCM<br>Tamanho mínimo: 1<br>Tamanho máximo: 10 + * * @return orgaos **/ @JsonProperty("orgaos") @@ -708,6 +720,7 @@ public ArquivoDiarioAtributoDTO atributoCondicionante(Boolean atributoCondiciona /** * Lista de atributos condicionados + * * @return condicionados **/ @JsonProperty("condicionados") @@ -731,6 +744,7 @@ public ArquivoDiarioAtributoDTO addCondicionadosItem(ArquivoDiarioCondicionadoDT /** * Lista de subatributos + * * @return listaSubatributos **/ @JsonProperty("listaSubatributos") @@ -754,6 +768,7 @@ public ArquivoDiarioAtributoDTO addListaSubatributosItem(ArquivoDiarioAtributoDT /** * Campo multivalorado.<br>Domínio:<br>true<br>false + * * @return multivalorado **/ @JsonProperty("multivalorado") diff --git a/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/DiffArquivoDiarioAtributoDTO.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/DiffArquivoDiarioAtributoDTO.java index 6a143bc..6d91212 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/DiffArquivoDiarioAtributoDTO.java +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/DiffArquivoDiarioAtributoDTO.java @@ -256,6 +256,7 @@ public DiffArquivoDiarioAtributoDTO brid(DiffValorDTO brid) { /** * Get wcoid + * * @return wcoid **/ @JsonProperty("wcoid") @@ -312,6 +313,7 @@ public DiffArquivoDiarioAtributoDTO formaPreenchimento(DiffValorDTO formaPreench /** * Get tamanhoMaximo + * * @return tamanhoMaximo **/ @JsonProperty("tamanhoMaximo") @@ -330,6 +332,7 @@ public DiffArquivoDiarioAtributoDTO tamanhoMaximo(DiffValorDTO tamanhoMaximo) { /** * Get mascara + * * @return mascara **/ @JsonProperty("mascara") @@ -348,6 +351,7 @@ public DiffArquivoDiarioAtributoDTO mascara(DiffValorDTO mascara) { /** * Get casasDecimais + * * @return casasDecimais **/ @JsonProperty("casasDecimais") @@ -366,6 +370,7 @@ public DiffArquivoDiarioAtributoDTO casasDecimais(DiffValorDTO casasDecimais) { /** * Get modalidade + * * @return modalidade **/ @JsonProperty("modalidade") @@ -384,6 +389,7 @@ public DiffArquivoDiarioAtributoDTO modalidade(DiffValorDTO modalidade) { /** * Get obrigatorio + * * @return obrigatorio **/ @JsonProperty("obrigatorio") @@ -421,6 +427,7 @@ public DiffArquivoDiarioAtributoDTO dataInicioVigencia(DiffValorDTO dataInicioVi /** * Get dataFimVigencia + * * @return dataFimVigencia **/ @JsonProperty("dataFimVigencia") @@ -439,6 +446,7 @@ public DiffArquivoDiarioAtributoDTO dataFimVigencia(DiffValorDTO dataFimVigencia /** * Get informacaoAdicional + * * @return informacaoAdicional **/ @JsonProperty("informacaoAdicional") @@ -457,6 +465,7 @@ public DiffArquivoDiarioAtributoDTO informacaoAdicional(DiffValorDTO informacaoA /** * Get dominio + * * @return dominio **/ @JsonProperty("dominio") @@ -475,6 +484,7 @@ public DiffArquivoDiarioAtributoDTO dominio(DiffArquivoDiarioDominioDTO dominio) /** * Get objetivos + * * @return objetivos **/ @JsonProperty("objetivos") @@ -493,6 +503,7 @@ public DiffArquivoDiarioAtributoDTO objetivos(DiffValorDTO objetivos) { /** * Get orgaos + * * @return orgaos **/ @JsonProperty("orgaos") @@ -530,6 +541,7 @@ public DiffArquivoDiarioAtributoDTO atributoCondicionante(DiffValorDTO atributoC /** * Get condicionados + * * @return condicionados **/ @JsonProperty("condicionados") @@ -548,6 +560,7 @@ public DiffArquivoDiarioAtributoDTO condicionados(DiffArquivoDiarioCondicionadoD /** * Get listaSubatributos + * * @return listaSubatributos **/ @JsonProperty("listaSubatributos") @@ -566,6 +579,7 @@ public DiffArquivoDiarioAtributoDTO listaSubatributos(DiffArquivoDiarioSubatribu /** * Get multivalorado + * * @return multivalorado **/ @JsonProperty("multivalorado") diff --git a/src/main/java/br/gov/siscomex/portalunico/catp/model/FabricanteIntegracaoDTO.java b/src/main/java/br/gov/siscomex/portalunico/catp/model/FabricanteIntegracaoDTO.java index 0e34e39..ca736a1 100644 --- a/src/main/java/br/gov/siscomex/portalunico/catp/model/FabricanteIntegracaoDTO.java +++ b/src/main/java/br/gov/siscomex/portalunico/catp/model/FabricanteIntegracaoDTO.java @@ -238,6 +238,7 @@ public FabricanteIntegracaoDTO dataReferencia(OffsetDateTime dataReferencia) { /** * Código do país de origem no formato ISO 3166<br>Tamanho: 2<br>Formato: 'AA' + * * @return codigoPais **/ @JsonProperty("codigoPais") diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/DocumentoDeTransporteApi.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/DocumentoDeTransporteApi.java index c88ea48..2dd7867 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/DocumentoDeTransporteApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/DocumentoDeTransporteApi.java @@ -1,7 +1,7 @@ package br.gov.siscomex.portalunico.cct_ext.api; -import br.gov.siscomex.portalunico.cct_ext.model.DocumentosTransporte; import br.gov.siscomex.portalunico.cct_ext.model.EntregasDocumentoTransporte; +import br.gov.siscomex.portalunico.cct_ext.model.ListaDocumentosTransporte; import br.gov.siscomex.portalunico.cct_ext.model.RecepcoesDocumentoTransporte; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -41,7 +41,7 @@ public interface DocumentoDeTransporteApi { @Produces({"application/json"}) @ApiOperation(value = "Consultar uma lista de Documento de Transporte do tipo DAT", notes = "

Exemplos de Respostas da Consulta DAT

", tags = {"Documento de Transporte"}) @ApiResponses(value = { - @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DocumentosTransporte.class), + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ListaDocumentosTransporte.class), @ApiResponse(code = 400, message = "XML não atende as especificações definidas no XSD (requisições com envio de arquivos xml)"), @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), @@ -61,7 +61,7 @@ public interface DocumentoDeTransporteApi { @Produces({"application/json"}) @ApiOperation(value = "Consultar uma lista de Documento de Transporte do tipo DTAI", notes = "

Exemplos de Respostas da Consulta DTAI

", tags = {"Documento de Transporte"}) @ApiResponses(value = { - @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DocumentosTransporte.class), + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ListaDocumentosTransporte.class), @ApiResponse(code = 400, message = "XML não atende as especificações definidas no XSD (requisições com envio de arquivos xml)"), @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), @@ -81,7 +81,7 @@ public interface DocumentoDeTransporteApi { @Produces({"application/json"}) @ApiOperation(value = "Consultar uma lista de Documento de Transporte do tipo MIC-DTA", notes = "

Exemplos de Respostas da Consulta MIC

", tags = {"Documento de Transporte"}) @ApiResponses(value = { - @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DocumentosTransporte.class), + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ListaDocumentosTransporte.class), @ApiResponse(code = 400, message = "XML não atende as especificações definidas no XSD (requisições com envio de arquivos xml)"), @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), @@ -101,7 +101,7 @@ public interface DocumentoDeTransporteApi { @Produces({"application/json"}) @ApiOperation(value = "Consultar uma lista de Documento de Transporte do tipo TIF-DTA", notes = "

Exemplos de Respostas da Consulta TIF-DTA

", tags = {"Documento de Transporte"}) @ApiResponses(value = { - @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DocumentosTransporte.class), + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ListaDocumentosTransporte.class), @ApiResponse(code = 400, message = "XML não atende as especificações definidas no XSD (requisições com envio de arquivos xml)"), @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Carga.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Carga.java deleted file mode 100644 index 0b39a48..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Carga.java +++ /dev/null @@ -1,508 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import java.math.BigDecimal; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "Carga", propOrder = - {"consignatario", "remetente", "destinatario", "codigoAduanaDestino", "nomeAduanaDestino", "paisOrigemMercadorias", "valorFOTMercadorias", "moedaValorFOT", "valorSeguro", "moedaValorSeguro", "codigoTiposVolumes", "nomeTiposVolumes", "qtdeVolumes", "pesoBruto", "descricaoMercadorias", "documentosAnexos", "nfes" - }) - -@XmlRootElement(name = "Carga") -/** - * Dados da carga - **/ -@ApiModel(description = "Dados da carga") -public class Carga { - - @XmlElement(name = "consignatario", required = true) - @ApiModelProperty(required = true, value = "") - @Valid - private Consignatario consignatario = null; - - @XmlElement(name = "remetente", required = true) - @ApiModelProperty(required = true, value = "") - @Valid - private Remetente remetente = null; - - @XmlElement(name = "destinatario", required = true) - @ApiModelProperty(required = true, value = "") - @Valid - private Destinatrio destinatario = null; - - @XmlElement(name = "codigoAduanaDestino") - @ApiModelProperty(example = "12AB567", value = "Código da aduana de destino
Tamanho: 7
Formato: AAAAAAA") - /** - * Código da aduana de destino
Tamanho: 7
Formato: AAAAAAA - **/ - private String codigoAduanaDestino = null; - - @XmlElement(name = "nomeAduanaDestino", required = true) - @ApiModelProperty(example = "Buenos Aires Aduana", required = true, value = "Nome da aduana de destino
Tamanho: 60") - /** - * Nome da aduana de destino
Tamanho: 60 - **/ - private String nomeAduanaDestino = null; - - @XmlElement(name = "paisOrigemMercadorias", required = true) - @ApiModelProperty(example = "BR", required = true, value = "Sigla do país de origem das mercadorias
Tamanho: 2
Formato: AA
Sigla ISO/Alfa 2 do país") - /** - * Sigla do país de origem das mercadorias
Tamanho: 2
Formato: AA
Sigla ISO/Alfa 2 do país - **/ - private String paisOrigemMercadorias = null; - - @XmlElement(name = "valorFOTMercadorias", required = true) - @ApiModelProperty(example = "20000.0", required = true, value = "Valor FOT das mercadorias
Tamanho: 15.2
Formato: NNNNNNNNNNNNNNN.NN") - @Valid - /** - * Valor FOT das mercadorias
Tamanho: 15.2
Formato: NNNNNNNNNNNNNNN.NN - **/ - private BigDecimal valorFOTMercadorias = null; - - @XmlElement(name = "moedaValorFOT", required = true) - @ApiModelProperty(example = "220", required = true, value = "Código da moeda FOT das mercadorias
Tamanho: 3
Formato: NNN") - /** - * Código da moeda FOT das mercadorias
Tamanho: 3
Formato: NNN - **/ - private String moedaValorFOT = null; - - @XmlElement(name = "valorSeguro") - @ApiModelProperty(example = "1000.0", value = "Valor do seguro
Tamanho: 14.2
Formato: NNNNNNNNNNNNNN.NN") - @Valid - /** - * Valor do seguro
Tamanho: 14.2
Formato: NNNNNNNNNNNNNN.NN - **/ - private BigDecimal valorSeguro = null; - - @XmlElement(name = "moedaValorSeguro") - @ApiModelProperty(example = "220", value = "Código da moeda do seguro
Tamanho: 3
Formato: NNN") - /** - * Código da moeda do seguro
Tamanho: 3
Formato: NNN - **/ - private String moedaValorSeguro = null; - - @XmlElement(name = "codigoTiposVolumes") - @ApiModelProperty(example = "1", value = "Código do tipo de volume
Tamanho: 2
Formato: NN") - /** - * Código do tipo de volume
Tamanho: 2
Formato: NN - **/ - private Integer codigoTiposVolumes = null; - - @XmlElement(name = "nomeTiposVolumes", required = true) - @ApiModelProperty(example = "caixas", required = true, value = "Nome do tipo de volume
Tamanho: 15") - /** - * Nome do tipo de volume
Tamanho: 15 - **/ - private String nomeTiposVolumes = null; - - @XmlElement(name = "qtdeVolumes") - @ApiModelProperty(example = "123456", value = "Quantidade do volume
Tamanho: 6
Formato: NNNNNN") - /** - * Quantidade do volume
Tamanho: 6
Formato: NNNNNN - **/ - private Integer qtdeVolumes = null; - - @XmlElement(name = "pesoBruto", required = true) - @ApiModelProperty(example = "100000.0", required = true, value = "Peso Bruto (kg) da mercadoria
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN") - @Valid - /** - * Peso Bruto (kg) da mercadoria
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN - **/ - private BigDecimal pesoBruto = null; - - @XmlElement(name = "descricaoMercadorias", required = true) - @ApiModelProperty(example = "mercadoria", required = true, value = "Descrição das mercadoria
Tamanho: 520
Marcas e números dos volumes, descrição das mercadorias.") - /** - * Descrição das mercadoria
Tamanho: 520
Marcas e números dos volumes, descrição das mercadorias. - **/ - private String descricaoMercadorias = null; - - @XmlElement(name = "documentosAnexos", required = true) - @ApiModelProperty(example = "Documento 1234", required = true, value = "Documentos anexos
Tamanho: 400") - /** - * Documentos anexos
Tamanho: 400 - **/ - private String documentosAnexos = null; - - @XmlElement(name = "nfes", required = true) - @ApiModelProperty(required = true, value = "") - @Valid - private Nfes nfes = null; - - /** - * Get consignatario - * - * @return consignatario - **/ - @JsonProperty("consignatario") - @NotNull - public Consignatario getConsignatario() { - return consignatario; - } - - public void setConsignatario(Consignatario consignatario) { - this.consignatario = consignatario; - } - - public Carga consignatario(Consignatario consignatario) { - this.consignatario = consignatario; - return this; - } - - /** - * Get remetente - * - * @return remetente - **/ - @JsonProperty("remetente") - @NotNull - public Remetente getRemetente() { - return remetente; - } - - public void setRemetente(Remetente remetente) { - this.remetente = remetente; - } - - public Carga remetente(Remetente remetente) { - this.remetente = remetente; - return this; - } - - /** - * Get destinatario - * - * @return destinatario - **/ - @JsonProperty("destinatario") - @NotNull - public Destinatrio getDestinatario() { - return destinatario; - } - - public void setDestinatario(Destinatrio destinatario) { - this.destinatario = destinatario; - } - - public Carga destinatario(Destinatrio destinatario) { - this.destinatario = destinatario; - return this; - } - - /** - * Código da aduana de destino<br>Tamanho: 7<br>Formato: AAAAAAA - * - * @return codigoAduanaDestino - **/ - @JsonProperty("codigoAduanaDestino") - public String getCodigoAduanaDestino() { - return codigoAduanaDestino; - } - - public void setCodigoAduanaDestino(String codigoAduanaDestino) { - this.codigoAduanaDestino = codigoAduanaDestino; - } - - public Carga codigoAduanaDestino(String codigoAduanaDestino) { - this.codigoAduanaDestino = codigoAduanaDestino; - return this; - } - - /** - * Nome da aduana de destino<br>Tamanho: 60 - * - * @return nomeAduanaDestino - **/ - @JsonProperty("nomeAduanaDestino") - @NotNull - public String getNomeAduanaDestino() { - return nomeAduanaDestino; - } - - public void setNomeAduanaDestino(String nomeAduanaDestino) { - this.nomeAduanaDestino = nomeAduanaDestino; - } - - public Carga nomeAduanaDestino(String nomeAduanaDestino) { - this.nomeAduanaDestino = nomeAduanaDestino; - return this; - } - - /** - * Sigla do país de origem das mercadorias<br>Tamanho: 2<br>Formato: AA<br>Sigla ISO/Alfa 2 do país - * - * @return paisOrigemMercadorias - **/ - @JsonProperty("paisOrigemMercadorias") - @NotNull - public String getPaisOrigemMercadorias() { - return paisOrigemMercadorias; - } - - public void setPaisOrigemMercadorias(String paisOrigemMercadorias) { - this.paisOrigemMercadorias = paisOrigemMercadorias; - } - - public Carga paisOrigemMercadorias(String paisOrigemMercadorias) { - this.paisOrigemMercadorias = paisOrigemMercadorias; - return this; - } - - /** - * Valor FOT das mercadorias<br>Tamanho: 15.2<br>Formato: NNNNNNNNNNNNNNN.NN - * - * @return valorFOTMercadorias - **/ - @JsonProperty("valorFOTMercadorias") - @NotNull - public BigDecimal getValorFOTMercadorias() { - return valorFOTMercadorias; - } - - public void setValorFOTMercadorias(BigDecimal valorFOTMercadorias) { - this.valorFOTMercadorias = valorFOTMercadorias; - } - - public Carga valorFOTMercadorias(BigDecimal valorFOTMercadorias) { - this.valorFOTMercadorias = valorFOTMercadorias; - return this; - } - - /** - * Código da moeda FOT das mercadorias<br>Tamanho: 3<br>Formato: NNN - * - * @return moedaValorFOT - **/ - @JsonProperty("moedaValorFOT") - @NotNull - public String getMoedaValorFOT() { - return moedaValorFOT; - } - - public void setMoedaValorFOT(String moedaValorFOT) { - this.moedaValorFOT = moedaValorFOT; - } - - public Carga moedaValorFOT(String moedaValorFOT) { - this.moedaValorFOT = moedaValorFOT; - return this; - } - - /** - * Valor do seguro<br>Tamanho: 14.2<br>Formato: NNNNNNNNNNNNNN.NN - * @return valorSeguro - **/ - @JsonProperty("valorSeguro") - public BigDecimal getValorSeguro() { - return valorSeguro; - } - - public void setValorSeguro(BigDecimal valorSeguro) { - this.valorSeguro = valorSeguro; - } - - public Carga valorSeguro(BigDecimal valorSeguro) { - this.valorSeguro = valorSeguro; - return this; - } - - /** - * Código da moeda do seguro<br>Tamanho: 3<br>Formato: NNN - * @return moedaValorSeguro - **/ - @JsonProperty("moedaValorSeguro") - public String getMoedaValorSeguro() { - return moedaValorSeguro; - } - - public void setMoedaValorSeguro(String moedaValorSeguro) { - this.moedaValorSeguro = moedaValorSeguro; - } - - public Carga moedaValorSeguro(String moedaValorSeguro) { - this.moedaValorSeguro = moedaValorSeguro; - return this; - } - - /** - * Código do tipo de volume<br>Tamanho: 2<br>Formato: NN - * - * @return codigoTiposVolumes - **/ - @JsonProperty("codigoTiposVolumes") - public Integer getCodigoTiposVolumes() { - return codigoTiposVolumes; - } - - public void setCodigoTiposVolumes(Integer codigoTiposVolumes) { - this.codigoTiposVolumes = codigoTiposVolumes; - } - - public Carga codigoTiposVolumes(Integer codigoTiposVolumes) { - this.codigoTiposVolumes = codigoTiposVolumes; - return this; - } - - /** - * Nome do tipo de volume<br>Tamanho: 15 - * @return nomeTiposVolumes - **/ - @JsonProperty("nomeTiposVolumes") - @NotNull - public String getNomeTiposVolumes() { - return nomeTiposVolumes; - } - - public void setNomeTiposVolumes(String nomeTiposVolumes) { - this.nomeTiposVolumes = nomeTiposVolumes; - } - - public Carga nomeTiposVolumes(String nomeTiposVolumes) { - this.nomeTiposVolumes = nomeTiposVolumes; - return this; - } - - /** - * Quantidade do volume<br>Tamanho: 6<br>Formato: NNNNNN - * @return qtdeVolumes - **/ - @JsonProperty("qtdeVolumes") - public Integer getQtdeVolumes() { - return qtdeVolumes; - } - - public void setQtdeVolumes(Integer qtdeVolumes) { - this.qtdeVolumes = qtdeVolumes; - } - - public Carga qtdeVolumes(Integer qtdeVolumes) { - this.qtdeVolumes = qtdeVolumes; - return this; - } - - /** - * Peso Bruto (kg) da mercadoria<br>Tamanho: 12.3<br>Formato: NNNNNNNNNNNN.NNN - * @return pesoBruto - **/ - @JsonProperty("pesoBruto") - @NotNull - public BigDecimal getPesoBruto() { - return pesoBruto; - } - - public void setPesoBruto(BigDecimal pesoBruto) { - this.pesoBruto = pesoBruto; - } - - public Carga pesoBruto(BigDecimal pesoBruto) { - this.pesoBruto = pesoBruto; - return this; - } - - /** - * Descrição das mercadoria<br>Tamanho: 520<br>Marcas e números dos volumes, descrição das mercadorias. - * - * @return descricaoMercadorias - **/ - @JsonProperty("descricaoMercadorias") - @NotNull - public String getDescricaoMercadorias() { - return descricaoMercadorias; - } - - public void setDescricaoMercadorias(String descricaoMercadorias) { - this.descricaoMercadorias = descricaoMercadorias; - } - - public Carga descricaoMercadorias(String descricaoMercadorias) { - this.descricaoMercadorias = descricaoMercadorias; - return this; - } - - /** - * Documentos anexos<br>Tamanho: 400 - * @return documentosAnexos - **/ - @JsonProperty("documentosAnexos") - @NotNull - public String getDocumentosAnexos() { - return documentosAnexos; - } - - public void setDocumentosAnexos(String documentosAnexos) { - this.documentosAnexos = documentosAnexos; - } - - public Carga documentosAnexos(String documentosAnexos) { - this.documentosAnexos = documentosAnexos; - return this; - } - - /** - * Get nfes - * - * @return nfes - **/ - @JsonProperty("nfes") - @NotNull - public Nfes getNfes() { - return nfes; - } - - public void setNfes(Nfes nfes) { - this.nfes = nfes; - } - - public Carga nfes(Nfes nfes) { - this.nfes = nfes; - return this; - } - - - @Override - public String toString() { - - String sb = "class Carga {\n" + - " consignatario: " + toIndentedString(consignatario) + "\n" + - " remetente: " + toIndentedString(remetente) + "\n" + - " destinatario: " + toIndentedString(destinatario) + "\n" + - " codigoAduanaDestino: " + toIndentedString(codigoAduanaDestino) + "\n" + - " nomeAduanaDestino: " + toIndentedString(nomeAduanaDestino) + "\n" + - " paisOrigemMercadorias: " + toIndentedString(paisOrigemMercadorias) + "\n" + - " valorFOTMercadorias: " + toIndentedString(valorFOTMercadorias) + "\n" + - " moedaValorFOT: " + toIndentedString(moedaValorFOT) + "\n" + - " valorSeguro: " + toIndentedString(valorSeguro) + "\n" + - " moedaValorSeguro: " + toIndentedString(moedaValorSeguro) + "\n" + - " codigoTiposVolumes: " + toIndentedString(codigoTiposVolumes) + "\n" + - " nomeTiposVolumes: " + toIndentedString(nomeTiposVolumes) + "\n" + - " qtdeVolumes: " + toIndentedString(qtdeVolumes) + "\n" + - " pesoBruto: " + toIndentedString(pesoBruto) + "\n" + - " descricaoMercadorias: " + toIndentedString(descricaoMercadorias) + "\n" + - " documentosAnexos: " + toIndentedString(documentosAnexos) + "\n" + - " nfes: " + toIndentedString(nfes) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/CargaSoltaVeiculo.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/CargaSoltaVeiculo.java index 5e3edeb..7e5a665 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/CargaSoltaVeiculo.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/CargaSoltaVeiculo.java @@ -4,58 +4,101 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import javax.validation.Valid; import javax.validation.constraints.NotNull; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "CargaSoltaVeiculo", propOrder = - {"carga" + {"tipoEmbalagem", "total", "quantidade" }) @XmlRootElement(name = "CargaSoltaVeiculo") /** - * Lista de cargas soltas/veículos + * Dados da carga solta/veículo **/ -@ApiModel(description = "Lista de cargas soltas/veículos") +@ApiModel(description = "Dados da carga solta/veículo") public class CargaSoltaVeiculo { - @XmlElement(name = "carga", required = true) - @ApiModelProperty(required = true, value = "Dados da carga solta/veículo") - @Valid + @XmlElement(name = "tipoEmbalagem", required = true) + @ApiModelProperty(example = "10", required = true, value = "Tipo de embalagem conforme a tabela Tipo de Embalagem.
Tamanho: 2
Formato: NN") /** - * Dados da carga solta/veículo + * Tipo de embalagem conforme a tabela Tipo de Embalagem.
Tamanho: 2
Formato: NN **/ - private List carga = new ArrayList<>(); + private Integer tipoEmbalagem = null; + @XmlElement(name = "total") + @ApiModelProperty(example = "99999", value = "Total de embalagens deste tipo, caso não tenha sido informado ainda.
Tamanho: 5
Formato: NNNNN") /** - * Dados da carga solta/veículo + * Total de embalagens deste tipo, caso não tenha sido informado ainda.
Tamanho: 5
Formato: NNNNN + **/ + private Integer total = null; + + @XmlElement(name = "quantidade") + @ApiModelProperty(example = "9999", value = "Quantidade de embalagens deste tipo.
Tamanho: 4
Formato: NNNNN") + /** + * Quantidade de embalagens deste tipo.
Tamanho: 4
Formato: NNNNN + **/ + private Integer quantidade = null; + + /** + * Tipo de embalagem conforme a tabela Tipo de Embalagem.<br>Tamanho: 2<br>Formato: NN * - * @return carga + * @return tipoEmbalagem **/ - @JsonProperty("carga") + @JsonProperty("tipoEmbalagem") @NotNull - public List getCarga() { - return carga; + public Integer getTipoEmbalagem() { + return tipoEmbalagem; } - public void setCarga(List carga) { - this.carga = carga; + public void setTipoEmbalagem(Integer tipoEmbalagem) { + this.tipoEmbalagem = tipoEmbalagem; } - public CargaSoltaVeiculo carga(List carga) { - this.carga = carga; + public CargaSoltaVeiculo tipoEmbalagem(Integer tipoEmbalagem) { + this.tipoEmbalagem = tipoEmbalagem; return this; } - public CargaSoltaVeiculo addCargaItem(CargaSoltaVeiculo cargaItem) { - this.carga.add(cargaItem); + /** + * Total de embalagens deste tipo, caso não tenha sido informado ainda.<br>Tamanho: 5<br>Formato: NNNNN + * + * @return total + **/ + @JsonProperty("total") + public Integer getTotal() { + return total; + } + + public void setTotal(Integer total) { + this.total = total; + } + + public CargaSoltaVeiculo total(Integer total) { + this.total = total; + return this; + } + + /** + * Quantidade de embalagens deste tipo.<br>Tamanho: 4<br>Formato: NNNNN + * + * @return quantidade + **/ + @JsonProperty("quantidade") + public Integer getQuantidade() { + return quantidade; + } + + public void setQuantidade(Integer quantidade) { + this.quantidade = quantidade; + } + + public CargaSoltaVeiculo quantidade(Integer quantidade) { + this.quantidade = quantidade; return this; } @@ -64,7 +107,9 @@ public CargaSoltaVeiculo addCargaItem(CargaSoltaVeiculo cargaItem) { public String toString() { String sb = "class CargaSoltaVeiculo {\n" + - " carga: " + toIndentedString(carga) + "\n" + + " tipoEmbalagem: " + toIndentedString(tipoEmbalagem) + "\n" + + " total: " + toIndentedString(total) + "\n" + + " quantidade: " + toIndentedString(quantidade) + "\n" + "}"; return sb; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Cargas.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Cargas.java new file mode 100644 index 0000000..f35fba2 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Cargas.java @@ -0,0 +1,176 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "Cargas", propOrder = + { "numeroDue", "numeroRuc", "tipoCarga", "siglaUnidadeMedida", "quantidadeManifestada" +}) + +@XmlRootElement(name="Cargas") +/** + * Lista de DUE’s e/ou RUC’s vinculados ao documento de transporte + **/ +@ApiModel(description="Lista de DUE’s e/ou RUC’s vinculados ao documento de transporte") +public class Cargas { + + @XmlElement(name="numeroDue") + @ApiModelProperty(example = "19BR0003000299", value = "Número da DU-E
Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - Numeração sequencial
D - DV") + /** + * Número da DU-E
Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - Numeração sequencial
D - DV + **/ + private String numeroDue = null; + + @XmlElement(name="numeroRuc") + @ApiModelProperty(example = "9BR00000000100000000000000000016630", value = "Número da RUC ou RUC Master
Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN") + /** + * Número da RUC ou RUC Master
Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN + **/ + private String numeroRuc = null; + + @XmlElement(name="tipoCarga") + @ApiModelProperty(value = "") + @Valid + private ItemDTO tipoCarga = null; + + @XmlElement(name="siglaUnidadeMedida") + @ApiModelProperty(example = "un", value = "Sigla da Unidade de Medida") + /** + * Sigla da Unidade de Medida + **/ + private String siglaUnidadeMedida = null; + + @XmlElement(name="quantidadeManifestada") + @ApiModelProperty(example = "100.0", value = "quantidade Manifestada") + @Valid + /** + * quantidade Manifestada + **/ + private BigDecimal quantidadeManifestada = null; + /** + * Número da DU-E<br>Tamanho: 14<br>Formato: AABRSSSSSSSSSD <br>Descrição Formato<br>AA - Ano<br>BR - Brasil<br>SSSSSSSSS - Numeração sequencial<br>D - DV + * @return numeroDue + **/ + @JsonProperty("numeroDue") + public String getNumeroDue() { + return numeroDue; + } + + public void setNumeroDue(String numeroDue) { + this.numeroDue = numeroDue; + } + + public Cargas numeroDue(String numeroDue) { + this.numeroDue = numeroDue; + return this; + } + + /** + * Número da RUC ou RUC Master<br>Tamanho mínimo: 13<br>Tamanho máximo: 35<br>Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN + * @return numeroRuc + **/ + @JsonProperty("numeroRuc") + public String getNumeroRuc() { + return numeroRuc; + } + + public void setNumeroRuc(String numeroRuc) { + this.numeroRuc = numeroRuc; + } + + public Cargas numeroRuc(String numeroRuc) { + this.numeroRuc = numeroRuc; + return this; + } + + /** + * Get tipoCarga + * @return tipoCarga + **/ + @JsonProperty("tipoCarga") + public ItemDTO getTipoCarga() { + return tipoCarga; + } + + public void setTipoCarga(ItemDTO tipoCarga) { + this.tipoCarga = tipoCarga; + } + + public Cargas tipoCarga(ItemDTO tipoCarga) { + this.tipoCarga = tipoCarga; + return this; + } + + /** + * Sigla da Unidade de Medida + * @return siglaUnidadeMedida + **/ + @JsonProperty("siglaUnidadeMedida") + public String getSiglaUnidadeMedida() { + return siglaUnidadeMedida; + } + + public void setSiglaUnidadeMedida(String siglaUnidadeMedida) { + this.siglaUnidadeMedida = siglaUnidadeMedida; + } + + public Cargas siglaUnidadeMedida(String siglaUnidadeMedida) { + this.siglaUnidadeMedida = siglaUnidadeMedida; + return this; + } + + /** + * quantidade Manifestada + * @return quantidadeManifestada + **/ + @JsonProperty("quantidadeManifestada") + public BigDecimal getQuantidadeManifestada() { + return quantidadeManifestada; + } + + public void setQuantidadeManifestada(BigDecimal quantidadeManifestada) { + this.quantidadeManifestada = quantidadeManifestada; + } + + public Cargas quantidadeManifestada(BigDecimal quantidadeManifestada) { + this.quantidadeManifestada = quantidadeManifestada; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Cargas {\n"); + + sb.append(" numeroDue: ").append(toIndentedString(numeroDue)).append("\n"); + sb.append(" numeroRuc: ").append(toIndentedString(numeroRuc)).append("\n"); + sb.append(" tipoCarga: ").append(toIndentedString(tipoCarga)).append("\n"); + sb.append(" siglaUnidadeMedida: ").append(toIndentedString(siglaUnidadeMedida)).append("\n"); + sb.append(" quantidadeManifestada: ").append(toIndentedString(quantidadeManifestada)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Conhecimento.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Conhecimento.java index 3a778d9..bb0241f 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Conhecimento.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Conhecimento.java @@ -14,7 +14,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Conhecimento", propOrder = - {"numero", "dataEmissao", "frete", "carga", "documentosAnexo" + {"numeroConhecimento", "dataEmissaoConhecimento", "frete", "consignatario" }) @XmlRootElement(name = "Conhecimento") @@ -24,72 +24,67 @@ @ApiModel(description = "Dados do conhecimento de carga") public class Conhecimento { - @XmlElement(name = "numero", required = true) - @ApiModelProperty(example = "BR123456789", required = true, value = "Número do conhecimento de carga
Tamanho: 20
Formato: PPNNNNNNNNNNNNNNNNNN, onde PP = sigla ISO/Alfa 2 do país") + @XmlElement(name = "numeroConhecimento", required = true) + @ApiModelProperty(example = "123456789", required = true, value = "Número do conhecimento de carga
Em uma mesma manifestação de embarque não podem ser inseridos conhecimentos de carga com o mesmo número.") /** - * Número do conhecimento de carga
Tamanho: 20
Formato: PPNNNNNNNNNNNNNNNNNN, onde PP = sigla ISO/Alfa 2 do país + * Número do conhecimento de carga
Em uma mesma manifestação de embarque não podem ser inseridos conhecimentos de carga com o mesmo número. **/ - private String numero = null; + private String numeroConhecimento = null; - @XmlElement(name = "dataEmissao", required = true) - @ApiModelProperty(example = "2016-12-19", required = true, value = "Data de emissão do conhecimento de carga
Formato: AAAA-MM-DD") + @XmlElement(name = "dataEmissaoConhecimento", required = true) + @ApiModelProperty(example = "2016-12-19", required = true, value = "Data de emissão do conhecimento de carga") /** - * Data de emissão do conhecimento de carga
Formato: AAAA-MM-DD + * Data de emissão do conhecimento de carga **/ - private String dataEmissao = null; + private String dataEmissaoConhecimento = null; - @XmlElement(name = "frete", required = true) - @ApiModelProperty(required = true, value = "") + @XmlElement(name = "frete") + @ApiModelProperty(value = "") @Valid private Frete frete = null; - @XmlElement(name = "carga", required = true) + @XmlElement(name = "consignatario", required = true) @ApiModelProperty(required = true, value = "") @Valid - private Carga carga = null; - - @XmlElement(name = "documentosAnexo") - @ApiModelProperty(value = "") - @Valid - private DocumentosAnexo documentosAnexo = null; + private Consignatario consignatario = null; /** - * Número do conhecimento de carga<br>Tamanho: 20<br>Formato: PPNNNNNNNNNNNNNNNNNN, onde PP = sigla ISO/Alfa 2 do país + * Número do conhecimento de carga<br>Em uma mesma manifestação de embarque não podem ser inseridos conhecimentos de carga com o mesmo número. * - * @return numero + * @return numeroConhecimento **/ - @JsonProperty("numero") + @JsonProperty("numeroConhecimento") @NotNull - public String getNumero() { - return numero; + public String getNumeroConhecimento() { + return numeroConhecimento; } - public void setNumero(String numero) { - this.numero = numero; + public void setNumeroConhecimento(String numeroConhecimento) { + this.numeroConhecimento = numeroConhecimento; } - public Conhecimento numero(String numero) { - this.numero = numero; + public Conhecimento numeroConhecimento(String numeroConhecimento) { + this.numeroConhecimento = numeroConhecimento; return this; } /** - * Data de emissão do conhecimento de carga<br>Formato: AAAA-MM-DD + * Data de emissão do conhecimento de carga * - * @return dataEmissao + * @return dataEmissaoConhecimento **/ - @JsonProperty("dataEmissao") + @JsonProperty("dataEmissaoConhecimento") @NotNull - public String getDataEmissao() { - return dataEmissao; + public String getDataEmissaoConhecimento() { + return dataEmissaoConhecimento; } - public void setDataEmissao(String dataEmissao) { - this.dataEmissao = dataEmissao; + public void setDataEmissaoConhecimento(String dataEmissaoConhecimento) { + this.dataEmissaoConhecimento = dataEmissaoConhecimento; } - public Conhecimento dataEmissao(String dataEmissao) { - this.dataEmissao = dataEmissao; + public Conhecimento dataEmissaoConhecimento(String dataEmissaoConhecimento) { + this.dataEmissaoConhecimento = dataEmissaoConhecimento; return this; } @@ -99,7 +94,6 @@ public Conhecimento dataEmissao(String dataEmissao) { * @return frete **/ @JsonProperty("frete") - @NotNull public Frete getFrete() { return frete; } @@ -114,41 +108,22 @@ public Conhecimento frete(Frete frete) { } /** - * Get carga + * Get consignatario * - * @return carga + * @return consignatario **/ - @JsonProperty("carga") + @JsonProperty("consignatario") @NotNull - public Carga getCarga() { - return carga; - } - - public void setCarga(Carga carga) { - this.carga = carga; - } - - public Conhecimento carga(Carga carga) { - this.carga = carga; - return this; - } - - /** - * Get documentosAnexo - * - * @return documentosAnexo - **/ - @JsonProperty("documentosAnexo") - public DocumentosAnexo getDocumentosAnexo() { - return documentosAnexo; + public Consignatario getConsignatario() { + return consignatario; } - public void setDocumentosAnexo(DocumentosAnexo documentosAnexo) { - this.documentosAnexo = documentosAnexo; + public void setConsignatario(Consignatario consignatario) { + this.consignatario = consignatario; } - public Conhecimento documentosAnexo(DocumentosAnexo documentosAnexo) { - this.documentosAnexo = documentosAnexo; + public Conhecimento consignatario(Consignatario consignatario) { + this.consignatario = consignatario; return this; } @@ -157,11 +132,10 @@ public Conhecimento documentosAnexo(DocumentosAnexo documentosAnexo) { public String toString() { String sb = "class Conhecimento {\n" + - " numero: " + toIndentedString(numero) + "\n" + - " dataEmissao: " + toIndentedString(dataEmissao) + "\n" + + " numeroConhecimento: " + toIndentedString(numeroConhecimento) + "\n" + + " dataEmissaoConhecimento: " + toIndentedString(dataEmissaoConhecimento) + "\n" + " frete: " + toIndentedString(frete) + "\n" + - " carga: " + toIndentedString(carga) + "\n" + - " documentosAnexo: " + toIndentedString(documentosAnexo) + "\n" + + " consignatario: " + toIndentedString(consignatario) + "\n" + "}"; return sb; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ConhecimentosCarga.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ConhecimentosCarga.java deleted file mode 100644 index 799edba..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ConhecimentosCarga.java +++ /dev/null @@ -1,83 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ConhecimentosCarga", propOrder = - {"conhecimento" - }) - -@XmlRootElement(name = "ConhecimentosCarga") -/** - * Lista dos conhecimento de carga - **/ -@ApiModel(description = "Lista dos conhecimento de carga") -public class ConhecimentosCarga { - - @XmlElement(name = "conhecimento", required = true) - @ApiModelProperty(required = true, value = "Lista dos conhecimento de carga") - @Valid - /** - * Lista dos conhecimento de carga - **/ - private List conhecimento = new ArrayList<>(); - - /** - * Lista dos conhecimento de carga - * - * @return conhecimento - **/ - @JsonProperty("conhecimento") - @NotNull - public List getConhecimento() { - return conhecimento; - } - - public void setConhecimento(List conhecimento) { - this.conhecimento = conhecimento; - } - - public ConhecimentosCarga conhecimento(List conhecimento) { - this.conhecimento = conhecimento; - return this; - } - - public ConhecimentosCarga addConhecimentoItem(Conhecimento conhecimentoItem) { - this.conhecimento.add(conhecimentoItem); - return this; - } - - - @Override - public String toString() { - - String sb = "class ConhecimentosCarga {\n" + - " conhecimento: " + toIndentedString(conhecimento) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Consignatario.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Consignatario.java index 57f3f4f..379c6a0 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Consignatario.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Consignatario.java @@ -4,153 +4,166 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import javax.validation.Valid; import javax.validation.constraints.NotNull; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; +import java.util.ArrayList; +import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Consignatario", propOrder = - {"indConsignadoAOrdem", "pais", "nome", "endereco", "idEstrangeiro" + {"consignadoAOrdem", "nomeConsignatario", "enderecoConsignatario", "paisDestino", "dadosCarga" }) @XmlRootElement(name = "Consignatario") /** - * Dados do consignatário + * Informações do Consignatário **/ -@ApiModel(description = "Dados do consignatário") +@ApiModel(description = "Informações do Consignatário") public class Consignatario { - @XmlElement(name = "indConsignadoAOrdem", required = true) - @ApiModelProperty(example = "1", required = true, value = "Indicador To Order
Domínio: 1 (prepaid), 2 (collect).") + @XmlElement(name = "consignadoAOrdem", required = true) + @ApiModelProperty(example = "N", required = true, value = "Indicador de consignação à ordem
Domínio: Domínio: S (Sim), N(Não).") /** - * Indicador To Order
Domínio: 1 (prepaid), 2 (collect). + * Indicador de consignação à ordem
Domínio: Domínio: S (Sim), N(Não). **/ - private String indConsignadoAOrdem = null; + private String consignadoAOrdem = null; - @XmlElement(name = "pais") - @ApiModelProperty(example = "AR", value = "Sigla do país de origem do consignatário
Tamanho: 2
Formato: AA
Sigla ISO/Alfa 2 do país") + @XmlElement(name = "nomeConsignatario", required = true) + @ApiModelProperty(example = "Nome do Consignatário", required = true, value = "Nome do consignatário
Informado e obrigatório apenas se indicador de consignação à ordem igual a Não.") /** - * Sigla do país de origem do consignatário
Tamanho: 2
Formato: AA
Sigla ISO/Alfa 2 do país + * Nome do consignatário
Informado e obrigatório apenas se indicador de consignação à ordem igual a Não. **/ - private String pais = null; + private String nomeConsignatario = null; - @XmlElement(name = "nome") - @ApiModelProperty(example = "Nome do consignatário", value = "Nome do consignatário
Tamanho: 60
Não deve ser informado quando o indicador to Order for marcado como S (Sim)") + @XmlElement(name = "enderecoConsignatario", required = true) + @ApiModelProperty(example = "Endereço do consignatário", required = true, value = "Endereço do consignatário
Informado e obrigatório apenas se indicador de consignação à ordem igual a Não.") /** - * Nome do consignatário
Tamanho: 60
Não deve ser informado quando o indicador to Order for marcado como S (Sim) + * Endereço do consignatário
Informado e obrigatório apenas se indicador de consignação à ordem igual a Não. **/ - private String nome = null; + private String enderecoConsignatario = null; - @XmlElement(name = "endereco") - @ApiModelProperty(example = "Endereço do consignatário", value = "Endereço do consignatário
Tamanho: 260
Não deve ser informado quando o indicador to Order for marcado como S (Sim)") + @XmlElement(name = "paisDestino", required = true) + @ApiModelProperty(example = "US", required = true, value = "Código do país de destino da carga
Domínio: Tabela de Países - código ISO/ALFA2.") /** - * Endereço do consignatário
Tamanho: 260
Não deve ser informado quando o indicador to Order for marcado como S (Sim) + * Código do país de destino da carga
Domínio: Tabela de Países - código ISO/ALFA2. **/ - private String endereco = null; + private String paisDestino = null; - @XmlElement(name = "idEstrangeiro") - @ApiModelProperty(example = "ABCD123456789", value = "Identificação fiscal do consignatário estrangeiro
Tamanho: 14
Não deve ser informado quando o indicador to Order for marcado como S (Sim)") + @XmlElement(name = "dadosCarga", required = true) + @ApiModelProperty(required = true, value = "Dados das cargas Manifestadas") + @Valid /** - * Identificação fiscal do consignatário estrangeiro
Tamanho: 14
Não deve ser informado quando o indicador to Order for marcado como S (Sim) + * Dados das cargas Manifestadas **/ - private String idEstrangeiro = null; + private List dadosCarga = new ArrayList<>(); /** - * Indicador To Order<br>Domínio: 1 (prepaid), 2 (collect). + * Indicador de consignação à ordem<br>Domínio: Domínio: S (Sim), N(Não). * - * @return indConsignadoAOrdem + * @return consignadoAOrdem **/ - @JsonProperty("indConsignadoAOrdem") + @JsonProperty("consignadoAOrdem") @NotNull - public String getIndConsignadoAOrdem() { - return indConsignadoAOrdem; + public String getConsignadoAOrdem() { + return consignadoAOrdem; } - public void setIndConsignadoAOrdem(String indConsignadoAOrdem) { - this.indConsignadoAOrdem = indConsignadoAOrdem; + public void setConsignadoAOrdem(String consignadoAOrdem) { + this.consignadoAOrdem = consignadoAOrdem; } - public Consignatario indConsignadoAOrdem(String indConsignadoAOrdem) { - this.indConsignadoAOrdem = indConsignadoAOrdem; + public Consignatario consignadoAOrdem(String consignadoAOrdem) { + this.consignadoAOrdem = consignadoAOrdem; return this; } /** - * Sigla do país de origem do consignatário<br>Tamanho: 2<br>Formato: AA<br>Sigla ISO/Alfa 2 do país + * Nome do consignatário<br>Informado e obrigatório apenas se indicador de consignação à ordem igual a Não. * - * @return pais + * @return nomeConsignatario **/ - @JsonProperty("pais") - public String getPais() { - return pais; + @JsonProperty("nomeConsignatario") + @NotNull + public String getNomeConsignatario() { + return nomeConsignatario; } - public void setPais(String pais) { - this.pais = pais; + public void setNomeConsignatario(String nomeConsignatario) { + this.nomeConsignatario = nomeConsignatario; } - public Consignatario pais(String pais) { - this.pais = pais; + public Consignatario nomeConsignatario(String nomeConsignatario) { + this.nomeConsignatario = nomeConsignatario; return this; } /** - * Nome do consignatário<br>Tamanho: 60<br>Não deve ser informado quando o indicador to Order for marcado como S (Sim) + * Endereço do consignatário<br>Informado e obrigatório apenas se indicador de consignação à ordem igual a Não. * - * @return nome + * @return enderecoConsignatario **/ - @JsonProperty("nome") - public String getNome() { - return nome; + @JsonProperty("enderecoConsignatario") + @NotNull + public String getEnderecoConsignatario() { + return enderecoConsignatario; } - public void setNome(String nome) { - this.nome = nome; + public void setEnderecoConsignatario(String enderecoConsignatario) { + this.enderecoConsignatario = enderecoConsignatario; } - public Consignatario nome(String nome) { - this.nome = nome; + public Consignatario enderecoConsignatario(String enderecoConsignatario) { + this.enderecoConsignatario = enderecoConsignatario; return this; } /** - * Endereço do consignatário<br>Tamanho: 260<br>Não deve ser informado quando o indicador to Order for marcado como S (Sim) + * Código do país de destino da carga<br>Domínio: Tabela de Países - código ISO/ALFA2. * - * @return endereco + * @return paisDestino **/ - @JsonProperty("endereco") - public String getEndereco() { - return endereco; + @JsonProperty("paisDestino") + @NotNull + public String getPaisDestino() { + return paisDestino; } - public void setEndereco(String endereco) { - this.endereco = endereco; + public void setPaisDestino(String paisDestino) { + this.paisDestino = paisDestino; } - public Consignatario endereco(String endereco) { - this.endereco = endereco; + public Consignatario paisDestino(String paisDestino) { + this.paisDestino = paisDestino; return this; } /** - * Identificação fiscal do consignatário estrangeiro<br>Tamanho: 14<br>Não deve ser informado quando o indicador to Order for marcado como S (Sim) + * Dados das cargas Manifestadas * - * @return idEstrangeiro + * @return dadosCarga **/ - @JsonProperty("idEstrangeiro") - public String getIdEstrangeiro() { - return idEstrangeiro; + @JsonProperty("dadosCarga") + @NotNull + public List getDadosCarga() { + return dadosCarga; } - public void setIdEstrangeiro(String idEstrangeiro) { - this.idEstrangeiro = idEstrangeiro; + public void setDadosCarga(List dadosCarga) { + this.dadosCarga = dadosCarga; + } + + public Consignatario dadosCarga(List dadosCarga) { + this.dadosCarga = dadosCarga; + return this; } - public Consignatario idEstrangeiro(String idEstrangeiro) { - this.idEstrangeiro = idEstrangeiro; + public Consignatario addDadosCargaItem(DadosCarga dadosCargaItem) { + this.dadosCarga.add(dadosCargaItem); return this; } @@ -159,11 +172,11 @@ public Consignatario idEstrangeiro(String idEstrangeiro) { public String toString() { String sb = "class Consignatario {\n" + - " indConsignadoAOrdem: " + toIndentedString(indConsignadoAOrdem) + "\n" + - " pais: " + toIndentedString(pais) + "\n" + - " nome: " + toIndentedString(nome) + "\n" + - " endereco: " + toIndentedString(endereco) + "\n" + - " idEstrangeiro: " + toIndentedString(idEstrangeiro) + "\n" + + " consignadoAOrdem: " + toIndentedString(consignadoAOrdem) + "\n" + + " nomeConsignatario: " + toIndentedString(nomeConsignatario) + "\n" + + " enderecoConsignatario: " + toIndentedString(enderecoConsignatario) + "\n" + + " paisDestino: " + toIndentedString(paisDestino) + "\n" + + " dadosCarga: " + toIndentedString(dadosCarga) + "\n" + "}"; return sb; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DadosCarga.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DadosCarga.java new file mode 100644 index 0000000..f89d0de --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DadosCarga.java @@ -0,0 +1,115 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.ArrayList; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosCarga", propOrder = + { "documentos", "conteiner" +}) + +@XmlRootElement(name="DadosCarga") +/** + * Dados das cargas Manifestadas + **/ +@ApiModel(description="Dados das cargas Manifestadas") +public class DadosCarga { + + @XmlElement(name="documentos", required = true) + @ApiModelProperty(required = true, value = "Lista das cargas do tipo solta e granel") + @Valid + /** + * Lista das cargas do tipo solta e granel + **/ + private List documentos = new ArrayList<>(); + + @XmlElement(name="conteiner", required = true) + @ApiModelProperty(required = true, value = "Lista dos contêineres") + @Valid + /** + * Lista dos contêineres + **/ + private List conteiner = new ArrayList<>(); + /** + * Lista das cargas do tipo solta e granel + * @return documentos + **/ + @JsonProperty("documentos") + @NotNull + public List getDocumentos() { + return documentos; + } + + public void setDocumentos(List documentos) { + this.documentos = documentos; + } + + public DadosCarga documentos(List documentos) { + this.documentos = documentos; + return this; + } + + public DadosCarga addDocumentosItem(DocumentoCarga documentosItem) { + this.documentos.add(documentosItem); + return this; + } + + /** + * Lista dos contêineres + * @return conteiner + **/ + @JsonProperty("conteiner") + @NotNull + public List getConteiner() { + return conteiner; + } + + public void setConteiner(List conteiner) { + this.conteiner = conteiner; + } + + public DadosCarga conteiner(List conteiner) { + this.conteiner = conteiner; + return this; + } + + public DadosCarga addConteinerItem(Conteiner conteinerItem) { + this.conteiner.add(conteinerItem); + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosCarga {\n"); + + sb.append(" documentos: ").append(toIndentedString(documentos)).append("\n"); + sb.append(" conteiner: ").append(toIndentedString(conteiner)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DadosDocumentoTransporte.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DadosDocumentoTransporte.java new file mode 100644 index 0000000..b1ef7fa --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DadosDocumentoTransporte.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosDocumentoTransporte", propOrder = + { "localSaida" +}) + +@XmlRootElement(name="DadosDocumentoTransporte") +/** + * Dados do documento de transporte + **/ +@ApiModel(description="Dados do documento de transporte") +public class DadosDocumentoTransporte { + + @XmlElement(name="localSaida", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private LocalSaida localSaida = null; + /** + * Get localSaida + * @return localSaida + **/ + @JsonProperty("localSaida") + @NotNull + public LocalSaida getLocalSaida() { + return localSaida; + } + + public void setLocalSaida(LocalSaida localSaida) { + this.localSaida = localSaida; + } + + public DadosDocumentoTransporte localSaida(LocalSaida localSaida) { + this.localSaida = localSaida; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosDocumentoTransporte {\n"); + + sb.append(" localSaida: ").append(toIndentedString(localSaida)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Destinatrio.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Destinatrio.java deleted file mode 100644 index 2aa6bc0..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Destinatrio.java +++ /dev/null @@ -1,126 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "Destinatrio", propOrder = - {"numeroCnpj", "nome", "endereco" - }) - -@XmlRootElement(name = "Destinatrio") -/** - * Dados do destinatário - **/ -@ApiModel(description = "Dados do destinatário") -public class Destinatrio { - - @XmlElement(name = "numeroCnpj") - @ApiModelProperty(example = "12345678901234", value = "CNPJ do destinatário
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório para remetente brasileiro.") - /** - * CNPJ do destinatário
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório para remetente brasileiro. - **/ - private String numeroCnpj = null; - - @XmlElement(name = "nome") - @ApiModelProperty(example = "Nome do destinatário estrangeiro", value = "Nome do destinatário estrangeiro
Tamanho: 60
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao nome do remetente estrangeiro.") - /** - * Nome do destinatário estrangeiro
Tamanho: 60
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao nome do remetente estrangeiro. - **/ - private String nome = null; - - @XmlElement(name = "endereco") - @ApiModelProperty(example = "Endereço do destinatário estrangeiro", value = "Endereço do destinatário estrangeiro
Tamanho: 120
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao endereço do remetente estrangeiro.") - /** - * Endereço do destinatário estrangeiro
Tamanho: 120
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao endereço do remetente estrangeiro. - **/ - private String endereco = null; - - /** - * CNPJ do destinatário<br>Tamanho: 14<br>Formato: NNNNNNNNNNNNNN<br>Informado e obrigatório para remetente brasileiro. - * - * @return numeroCnpj - **/ - @JsonProperty("numeroCnpj") - public String getNumeroCnpj() { - return numeroCnpj; - } - - public void setNumeroCnpj(String numeroCnpj) { - this.numeroCnpj = numeroCnpj; - } - - public Destinatrio numeroCnpj(String numeroCnpj) { - this.numeroCnpj = numeroCnpj; - return this; - } - - /** - * Nome do destinatário estrangeiro<br>Tamanho: 60<br>Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao nome do remetente estrangeiro. - * - * @return nome - **/ - @JsonProperty("nome") - public String getNome() { - return nome; - } - - public void setNome(String nome) { - this.nome = nome; - } - - public Destinatrio nome(String nome) { - this.nome = nome; - return this; - } - - /** - * Endereço do destinatário estrangeiro<br>Tamanho: 120<br>Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao endereço do remetente estrangeiro. - * - * @return endereco - **/ - @JsonProperty("endereco") - public String getEndereco() { - return endereco; - } - - public void setEndereco(String endereco) { - this.endereco = endereco; - } - - public Destinatrio endereco(String endereco) { - this.endereco = endereco; - return this; - } - - - @Override - public String toString() { - - String sb = "class Destinatrio {\n" + - " numeroCnpj: " + toIndentedString(numeroCnpj) + "\n" + - " nome: " + toIndentedString(nome) + "\n" + - " endereco: " + toIndentedString(endereco) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocTransporte.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocTransporte.java deleted file mode 100644 index ab9f345..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocTransporte.java +++ /dev/null @@ -1,102 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "DocTransporte", propOrder = - {"numero", "dataEmissao" - }) - -@XmlRootElement(name = "DocTransporte") -/** - * Dados do Documento de Transporte - **/ -@ApiModel(description = "Dados do Documento de Transporte") -public class DocTransporte { - - @XmlElement(name = "numero", required = true) - @ApiModelProperty(example = "BR554885728 AIRES", required = true, value = "Número do documento de transporte
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: BRNNNNNNNNNNNNN, onde 999999999 é um número sequencial.") - /** - * Número do documento de transporte
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: BRNNNNNNNNNNNNN, onde 999999999 é um número sequencial. - **/ - private String numero = null; - - @XmlElement(name = "dataEmissao", required = true) - @ApiModelProperty(example = "2019-05-30", required = true, value = "Data de emissão do documento de transporte
Formato: AAAA-MM-DD") - /** - * Data de emissão do documento de transporte
Formato: AAAA-MM-DD - **/ - private String dataEmissao = null; - - /** - * Número do documento de transporte<br>Tamanho mínimo: 5<br>Tamanho Máximo: 15<br>Formato: BRNNNNNNNNNNNNN, onde 999999999 é um número sequencial. - * - * @return numero - **/ - @JsonProperty("numero") - @NotNull - public String getNumero() { - return numero; - } - - public void setNumero(String numero) { - this.numero = numero; - } - - public DocTransporte numero(String numero) { - this.numero = numero; - return this; - } - - /** - * Data de emissão do documento de transporte<br>Formato: AAAA-MM-DD - * - * @return dataEmissao - **/ - @JsonProperty("dataEmissao") - @NotNull - public String getDataEmissao() { - return dataEmissao; - } - - public void setDataEmissao(String dataEmissao) { - this.dataEmissao = dataEmissao; - } - - public DocTransporte dataEmissao(String dataEmissao) { - this.dataEmissao = dataEmissao; - return this; - } - - - @Override - public String toString() { - - String sb = "class DocTransporte {\n" + - " numero: " + toIndentedString(numero) + "\n" + - " dataEmissao: " + toIndentedString(dataEmissao) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoAnexo.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoAnexo.java deleted file mode 100644 index 63ffa27..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoAnexo.java +++ /dev/null @@ -1,105 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import java.math.BigDecimal; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "DocumentoAnexo", propOrder = - {"numero", "tipo" - }) - -@XmlRootElement(name = "DocumentoAnexo") -/** - * Documentos Anexo - **/ -@ApiModel(description = "Documentos Anexo") -public class DocumentoAnexo { - - @XmlElement(name = "numero", required = true) - @ApiModelProperty(example = "1223123123", required = true, value = "Número de Documento Anexo.
Tamanho: 39
Formato: AAA..AA") - /** - * Número de Documento Anexo.
Tamanho: 39
Formato: AAA..AA - **/ - private String numero = null; - - @XmlElement(name = "tipo", required = true) - @ApiModelProperty(required = true, value = "Tipo de Documento Anexo.
Tamanho: 16
Formato: AAA..AA") - @Valid - /** - * Tipo de Documento Anexo.
Tamanho: 16
Formato: AAA..AA - **/ - private BigDecimal tipo = null; - - /** - * Número de Documento Anexo.<br>Tamanho: 39<br>Formato: AAA..AA - * - * @return numero - **/ - @JsonProperty("numero") - @NotNull - public String getNumero() { - return numero; - } - - public void setNumero(String numero) { - this.numero = numero; - } - - public DocumentoAnexo numero(String numero) { - this.numero = numero; - return this; - } - - /** - * Tipo de Documento Anexo.<br>Tamanho: 16<br>Formato: AAA..AA - * - * @return tipo - **/ - @JsonProperty("tipo") - @NotNull - public BigDecimal getTipo() { - return tipo; - } - - public void setTipo(BigDecimal tipo) { - this.tipo = tipo; - } - - public DocumentoAnexo tipo(BigDecimal tipo) { - this.tipo = tipo; - return this; - } - - - @Override - public String toString() { - - String sb = "class DocumentoAnexo {\n" + - " numero: " + toIndentedString(numero) + "\n" + - " tipo: " + toIndentedString(tipo) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoCarga.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoCarga.java index 8a9292c..fa2481b 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoCarga.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoCarga.java @@ -4,44 +4,65 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import javax.validation.Valid; +import javax.validation.constraints.NotNull; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; +import java.util.ArrayList; +import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DocumentoCarga", propOrder = - {"numeroDUE", "numeroRUC" + {"numeroDUE", "numeroRUC", "cargaSoltaVeiculo", "granel" }) @XmlRootElement(name = "DocumentoCarga") /** - * Documento de carga + * Dados das cargas do tipo solta e granel **/ -@ApiModel(description = "Documento de carga") +@ApiModel(description = "Dados das cargas do tipo solta e granel") public class DocumentoCarga { - @XmlElement(name = "numeroDUE") - @ApiModelProperty(example = "17BR0000453160", value = "Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - número sequencial
D - DV") + @XmlElement(name = "numeroDUE", required = true) + @ApiModelProperty(example = "17BR0000451567", required = true, value = "Número da DU-E
Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - Numeração sequencial
D - DV") /** - * Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - número sequencial
D - DV + * Número da DU-E
Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - Numeração sequencial
D - DV **/ private String numeroDUE = null; - @XmlElement(name = "numeroRUC") - @ApiModelProperty(example = "7BR00000000100000000000000000048055", value = "Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN") + @XmlElement(name = "numeroRUC", required = true) + @ApiModelProperty(example = "7BR276574827551833214353477473070", required = true, value = "Número da RUC ou RUC Master
Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN") /** - * Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN + * Número da RUC ou RUC Master
Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN **/ private String numeroRUC = null; + @XmlElement(name = "cargaSoltaVeiculo", required = true) + @ApiModelProperty(required = true, value = "Lista de cargas soltas/veículos") + @Valid /** - * Tamanho: 14<br>Formato: AABRSSSSSSSSSD<br>Descrição Formato<br>AA - Ano<br>BR - Brasil<br>SSSSSSSSS - número sequencial<br>D - DV + * Lista de cargas soltas/veículos + **/ + private List cargaSoltaVeiculo = new ArrayList<>(); + + @XmlElement(name = "granel", required = true) + @ApiModelProperty(required = true, value = "Lista de graneis") + @Valid + /** + * Lista de graneis + **/ + private List granel = new ArrayList<>(); + + /** + * Número da DU-E<br>Tamanho: 14<br>Formato: AABRSSSSSSSSSD <br>Descrição Formato<br>AA - Ano<br>BR - Brasil<br>SSSSSSSSS - Numeração sequencial<br>D - DV * * @return numeroDUE **/ @JsonProperty("numeroDUE") + @NotNull public String getNumeroDUE() { return numeroDUE; } @@ -56,11 +77,12 @@ public DocumentoCarga numeroDUE(String numeroDUE) { } /** - * Tamanho mínimo: 13<br>Tamanho máximo: 35<br>Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN + * Número da RUC ou RUC Master<br>Tamanho mínimo: 13<br>Tamanho máximo: 35<br>Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN * * @return numeroRUC **/ @JsonProperty("numeroRUC") + @NotNull public String getNumeroRUC() { return numeroRUC; } @@ -74,6 +96,56 @@ public DocumentoCarga numeroRUC(String numeroRUC) { return this; } + /** + * Lista de cargas soltas/veículos + * + * @return cargaSoltaVeiculo + **/ + @JsonProperty("cargaSoltaVeiculo") + @NotNull + public List getCargaSoltaVeiculo() { + return cargaSoltaVeiculo; + } + + public void setCargaSoltaVeiculo(List cargaSoltaVeiculo) { + this.cargaSoltaVeiculo = cargaSoltaVeiculo; + } + + public DocumentoCarga cargaSoltaVeiculo(List cargaSoltaVeiculo) { + this.cargaSoltaVeiculo = cargaSoltaVeiculo; + return this; + } + + public DocumentoCarga addCargaSoltaVeiculoItem(CargaSoltaVeiculo cargaSoltaVeiculoItem) { + this.cargaSoltaVeiculo.add(cargaSoltaVeiculoItem); + return this; + } + + /** + * Lista de graneis + * + * @return granel + **/ + @JsonProperty("granel") + @NotNull + public List getGranel() { + return granel; + } + + public void setGranel(List granel) { + this.granel = granel; + } + + public DocumentoCarga granel(List granel) { + this.granel = granel; + return this; + } + + public DocumentoCarga addGranelItem(Granel granelItem) { + this.granel.add(granelItem); + return this; + } + @Override public String toString() { @@ -81,6 +153,8 @@ public String toString() { String sb = "class DocumentoCarga {\n" + " numeroDUE: " + toIndentedString(numeroDUE) + "\n" + " numeroRUC: " + toIndentedString(numeroRUC) + "\n" + + " cargaSoltaVeiculo: " + toIndentedString(cargaSoltaVeiculo) + "\n" + + " granel: " + toIndentedString(granel) + "\n" + "}"; return sb; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoTransporte.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoTransporte.java new file mode 100644 index 0000000..0f158ae --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoTransporte.java @@ -0,0 +1,925 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DocumentoTransporte", propOrder = + { "numeroDocumentoTransporte", "tipoDocumentoTransporte", "numeroRUT", "viaTransporte", "situacaoAtual", "situacoesObservacao", "dataEmissao", "cpfCnpjTransportador", "nomeTransportador", "tipoDAT", "localOrigem", "localDestinoPrevisto", "localDestinoRealizado", "localManifestacao", "localEstoque", "veiculoFerroviario", "veiculoRodoviario", "conteineres", "cargas", "pesoBrutoTransportado", "observacao", "dadosVeiculoConferem", "dadosUnidadeTransporteConferem", "dadosConteinerConferem", "dadosEmbalagemConferem", "cargaComAvaria", "descricaoAvaria", "cargaComDivergencia", "descricaoDivergencia", "observacaoRecepcao" +}) + +@XmlRootElement(name="DocumentoTransporte") +/** + * Documento de Transporte + **/ +@ApiModel(description="Documento de Transporte") +public class DocumentoTransporte { + + @XmlElement(name="numeroDocumentoTransporte") + @ApiModelProperty(example = "BR000000001", value = "Número do documento de transporte") + /** + * Número do documento de transporte + **/ + private String numeroDocumentoTransporte = null; + + +@XmlType(name="TipoDocumentoTransporteEnum") +@XmlEnum(String.class) +public enum TipoDocumentoTransporteEnum { + + @XmlEnumValue("MIC_DTA") + @JsonProperty("MIC_DTA") + MIC_DTA(String.valueOf("MIC_DTA")), + + @XmlEnumValue("TIF_DTA") + @JsonProperty("TIF_DTA") + TIF_DTA(String.valueOf("TIF_DTA")), + + @XmlEnumValue("DTAI") + @JsonProperty("DTAI") + DTAI(String.valueOf("DTAI")), + + @XmlEnumValue("DAT") + @JsonProperty("DAT") + DAT(String.valueOf("DAT")); + + + private String value; + + TipoDocumentoTransporteEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoDocumentoTransporteEnum fromValue(String v) { + for (TipoDocumentoTransporteEnum b : TipoDocumentoTransporteEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoDocumentoTransporteEnum"); + } +} + + @XmlElement(name="tipoDocumentoTransporte") + @ApiModelProperty(value = "Tipo de documento de transporte") + /** + * Tipo de documento de transporte + **/ + private TipoDocumentoTransporteEnum tipoDocumentoTransporte = null; + + @XmlElement(name="numeroRUT") + @ApiModelProperty(example = "24BR000064T", value = "Número do RUT") + /** + * Número do RUT + **/ + private String numeroRUT = null; + + @XmlElement(name="viaTransporte") + @ApiModelProperty(value = "") + @Valid + private ViaDeTransporteCCTDTO viaTransporte = null; + + @XmlElement(name="situacaoAtual") + @ApiModelProperty(example = "Manifestado", value = "Situação do documento de transporte") + /** + * Situação do documento de transporte + **/ + private String situacaoAtual = null; + + @XmlElement(name="situacoesObservacao") + @ApiModelProperty(value = "Situação do documento de transporte") + /** + * Situação do documento de transporte + **/ + private Map situacoesObservacao = null; + + @XmlElement(name="dataEmissao") + @ApiModelProperty(example = "2019-01-04", value = "Data de Emissão do Documento de Transporte
No formato AAAA-MM-YY") + /** + * Data de Emissão do Documento de Transporte
No formato AAAA-MM-YY + **/ + private String dataEmissao = null; + + @XmlElement(name="cpfCnpjTransportador") + @ApiModelProperty(example = "27657485000147", value = "CPF ou CNPJ do Transportador") + /** + * CPF ou CNPJ do Transportador + **/ + private String cpfCnpjTransportador = null; + + @XmlElement(name="nomeTransportador") + @ApiModelProperty(example = "IEYIQBEIWMVEU KXIXW DVNW", value = "Nome do Transportador") + /** + * Nome do Transportador + **/ + private String nomeTransportador = null; + + +@XmlType(name="TipoDATEnum") +@XmlEnum(String.class) +public enum TipoDATEnum { + + @XmlEnumValue("SIMPLIFICADO") + @JsonProperty("SIMPLIFICADO") + SIMPLIFICADO(String.valueOf("SIMPLIFICADO")), + + @XmlEnumValue("COMPLETO") + @JsonProperty("COMPLETO") + COMPLETO(String.valueOf("COMPLETO")); + + + private String value; + + TipoDATEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoDATEnum fromValue(String v) { + for (TipoDATEnum b : TipoDATEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoDATEnum"); + } +} + + @XmlElement(name="tipoDAT") + @ApiModelProperty(value = "Tipo do DAT") + /** + * Tipo do DAT + **/ + private TipoDATEnum tipoDAT = null; + + @XmlElement(name="localOrigem") + @ApiModelProperty(value = "") + @Valid + private Local localOrigem = null; + + @XmlElement(name="localDestinoPrevisto") + @ApiModelProperty(value = "") + @Valid + private Local localDestinoPrevisto = null; + + @XmlElement(name="localDestinoRealizado") + @ApiModelProperty(value = "") + @Valid + private Local localDestinoRealizado = null; + + @XmlElement(name="localManifestacao") + @ApiModelProperty(value = "") + @Valid + private Local localManifestacao = null; + + @XmlElement(name="localEstoque") + @ApiModelProperty(value = "") + @Valid + private Local localEstoque = null; + + @XmlElement(name="veiculoFerroviario") + @ApiModelProperty(value = "") + @Valid + private VeiculoFerroviario veiculoFerroviario = null; + + @XmlElement(name="veiculoRodoviario") + @ApiModelProperty(value = "") + @Valid + private VeiculoRodovario veiculoRodoviario = null; + + @XmlElement(name="conteineres") + @ApiModelProperty(value = "Lista de Contêineres vinculados ao documento de transporte") + @Valid + /** + * Lista de Contêineres vinculados ao documento de transporte + **/ + private List conteineres = null; + + @XmlElement(name="cargas") + @ApiModelProperty(value = "Lista de DUE’s e/ou RUC’s vinculados ao documento de transporte") + @Valid + /** + * Lista de DUE’s e/ou RUC’s vinculados ao documento de transporte + **/ + private List cargas = null; + + @XmlElement(name="pesoBrutoTransportado") + @ApiModelProperty(example = "9999.99", value = "Peso aferido na balança do recinto em Kg
Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.
Tamanho: 4.2
Formato: NNNN.NN") + @Valid + /** + * Peso aferido na balança do recinto em Kg
Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.
Tamanho: 4.2
Formato: NNNN.NN + **/ + private BigDecimal pesoBrutoTransportado = null; + + @XmlElement(name="observacao") + @ApiModelProperty(example = "Observações adicionais", value = "Observações adicionais") + /** + * Observações adicionais + **/ + private String observacao = null; + + @XmlElement(name="dadosVeiculoConferem") + @ApiModelProperty(example = "N", value = "Indicador de conferência dos dados do veículo com os dados recepcionados
Domínio: S = Sim, N = Não e NA = Não se aplica") + /** + * Indicador de conferência dos dados do veículo com os dados recepcionados
Domínio: S = Sim, N = Não e NA = Não se aplica + **/ + private String dadosVeiculoConferem = null; + + @XmlElement(name="dadosUnidadeTransporteConferem") + @ApiModelProperty(example = "N", value = "Indicador de conferência dos dados da unidade de transporte com os dados recepcionados
Domínio: S = Sim, N = Não e NA = Não se aplica") + /** + * Indicador de conferência dos dados da unidade de transporte com os dados recepcionados
Domínio: S = Sim, N = Não e NA = Não se aplica + **/ + private String dadosUnidadeTransporteConferem = null; + + @XmlElement(name="dadosConteinerConferem") + @ApiModelProperty(example = "N", value = "Indicador de conferência dos dados do contêiner com os dados recepcionados
Domínio: S = Sim, N = Não e NA = Não se aplica") + /** + * Indicador de conferência dos dados do contêiner com os dados recepcionados
Domínio: S = Sim, N = Não e NA = Não se aplica + **/ + private String dadosConteinerConferem = null; + + @XmlElement(name="dadosEmbalagemConferem") + @ApiModelProperty(example = "N", value = "Indicador de conferência dos dados das embalagens com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica") + /** + * Indicador de conferência dos dados das embalagens com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica + **/ + private String dadosEmbalagemConferem = null; + + @XmlElement(name="cargaComAvaria") + @ApiModelProperty(example = "N", value = "Indicador de avarias
Domínio: S = Sim, N = Não e NA = Não se aplica") + /** + * Indicador de avarias
Domínio: S = Sim, N = Não e NA = Não se aplica + **/ + private String cargaComAvaria = null; + + @XmlElement(name="descricaoAvaria") + @ApiModelProperty(example = "Avarias identificadas", value = "Avarias identificadas") + /** + * Avarias identificadas + **/ + private String descricaoAvaria = null; + + @XmlElement(name="cargaComDivergencia") + @ApiModelProperty(example = "N", value = "Indicador de divergências
Domínio: S = Sim, N = Não e NA = Não se aplica") + /** + * Indicador de divergências
Domínio: S = Sim, N = Não e NA = Não se aplica + **/ + private String cargaComDivergencia = null; + + @XmlElement(name="descricaoDivergencia") + @ApiModelProperty(example = "Divergências identificadas", value = "Divergências identificadas") + /** + * Divergências identificadas + **/ + private String descricaoDivergencia = null; + + @XmlElement(name="observacaoRecepcao") + @ApiModelProperty(example = "Observações adicionais", value = "Observações adicionais") + /** + * Observações adicionais + **/ + private String observacaoRecepcao = null; + /** + * Número do documento de transporte + * @return numeroDocumentoTransporte + **/ + @JsonProperty("numeroDocumentoTransporte") + public String getNumeroDocumentoTransporte() { + return numeroDocumentoTransporte; + } + + public void setNumeroDocumentoTransporte(String numeroDocumentoTransporte) { + this.numeroDocumentoTransporte = numeroDocumentoTransporte; + } + + public DocumentoTransporte numeroDocumentoTransporte(String numeroDocumentoTransporte) { + this.numeroDocumentoTransporte = numeroDocumentoTransporte; + return this; + } + + /** + * Tipo de documento de transporte + * @return tipoDocumentoTransporte + **/ + @JsonProperty("tipoDocumentoTransporte") + public String getTipoDocumentoTransporte() { + if (tipoDocumentoTransporte == null) { + return null; + } + return tipoDocumentoTransporte.value(); + } + + public void setTipoDocumentoTransporte(TipoDocumentoTransporteEnum tipoDocumentoTransporte) { + this.tipoDocumentoTransporte = tipoDocumentoTransporte; + } + + public DocumentoTransporte tipoDocumentoTransporte(TipoDocumentoTransporteEnum tipoDocumentoTransporte) { + this.tipoDocumentoTransporte = tipoDocumentoTransporte; + return this; + } + + /** + * Número do RUT + * @return numeroRUT + **/ + @JsonProperty("numeroRUT") + public String getNumeroRUT() { + return numeroRUT; + } + + public void setNumeroRUT(String numeroRUT) { + this.numeroRUT = numeroRUT; + } + + public DocumentoTransporte numeroRUT(String numeroRUT) { + this.numeroRUT = numeroRUT; + return this; + } + + /** + * Get viaTransporte + * @return viaTransporte + **/ + @JsonProperty("viaTransporte") + public ViaDeTransporteCCTDTO getViaTransporte() { + return viaTransporte; + } + + public void setViaTransporte(ViaDeTransporteCCTDTO viaTransporte) { + this.viaTransporte = viaTransporte; + } + + public DocumentoTransporte viaTransporte(ViaDeTransporteCCTDTO viaTransporte) { + this.viaTransporte = viaTransporte; + return this; + } + + /** + * Situação do documento de transporte + * @return situacaoAtual + **/ + @JsonProperty("situacaoAtual") + public String getSituacaoAtual() { + return situacaoAtual; + } + + public void setSituacaoAtual(String situacaoAtual) { + this.situacaoAtual = situacaoAtual; + } + + public DocumentoTransporte situacaoAtual(String situacaoAtual) { + this.situacaoAtual = situacaoAtual; + return this; + } + + /** + * Situação do documento de transporte + * @return situacoesObservacao + **/ + @JsonProperty("situacoesObservacao") + public Map getSituacoesObservacao() { + return situacoesObservacao; + } + + public void setSituacoesObservacao(Map situacoesObservacao) { + this.situacoesObservacao = situacoesObservacao; + } + + public DocumentoTransporte situacoesObservacao(Map situacoesObservacao) { + this.situacoesObservacao = situacoesObservacao; + return this; + } + + public DocumentoTransporte putSituacoesObservacaoItem(String key, String situacoesObservacaoItem) { + this.situacoesObservacao.put(key, situacoesObservacaoItem); + return this; + } + + /** + * Data de Emissão do Documento de Transporte<br>No formato AAAA-MM-YY + * @return dataEmissao + **/ + @JsonProperty("dataEmissao") + public String getDataEmissao() { + return dataEmissao; + } + + public void setDataEmissao(String dataEmissao) { + this.dataEmissao = dataEmissao; + } + + public DocumentoTransporte dataEmissao(String dataEmissao) { + this.dataEmissao = dataEmissao; + return this; + } + + /** + * CPF ou CNPJ do Transportador + * @return cpfCnpjTransportador + **/ + @JsonProperty("cpfCnpjTransportador") + public String getCpfCnpjTransportador() { + return cpfCnpjTransportador; + } + + public void setCpfCnpjTransportador(String cpfCnpjTransportador) { + this.cpfCnpjTransportador = cpfCnpjTransportador; + } + + public DocumentoTransporte cpfCnpjTransportador(String cpfCnpjTransportador) { + this.cpfCnpjTransportador = cpfCnpjTransportador; + return this; + } + + /** + * Nome do Transportador + * @return nomeTransportador + **/ + @JsonProperty("nomeTransportador") + public String getNomeTransportador() { + return nomeTransportador; + } + + public void setNomeTransportador(String nomeTransportador) { + this.nomeTransportador = nomeTransportador; + } + + public DocumentoTransporte nomeTransportador(String nomeTransportador) { + this.nomeTransportador = nomeTransportador; + return this; + } + + /** + * Tipo do DAT + * @return tipoDAT + **/ + @JsonProperty("tipoDAT") + public String getTipoDAT() { + if (tipoDAT == null) { + return null; + } + return tipoDAT.value(); + } + + public void setTipoDAT(TipoDATEnum tipoDAT) { + this.tipoDAT = tipoDAT; + } + + public DocumentoTransporte tipoDAT(TipoDATEnum tipoDAT) { + this.tipoDAT = tipoDAT; + return this; + } + + /** + * Get localOrigem + * @return localOrigem + **/ + @JsonProperty("localOrigem") + public Local getLocalOrigem() { + return localOrigem; + } + + public void setLocalOrigem(Local localOrigem) { + this.localOrigem = localOrigem; + } + + public DocumentoTransporte localOrigem(Local localOrigem) { + this.localOrigem = localOrigem; + return this; + } + + /** + * Get localDestinoPrevisto + * @return localDestinoPrevisto + **/ + @JsonProperty("localDestinoPrevisto") + public Local getLocalDestinoPrevisto() { + return localDestinoPrevisto; + } + + public void setLocalDestinoPrevisto(Local localDestinoPrevisto) { + this.localDestinoPrevisto = localDestinoPrevisto; + } + + public DocumentoTransporte localDestinoPrevisto(Local localDestinoPrevisto) { + this.localDestinoPrevisto = localDestinoPrevisto; + return this; + } + + /** + * Get localDestinoRealizado + * @return localDestinoRealizado + **/ + @JsonProperty("localDestinoRealizado") + public Local getLocalDestinoRealizado() { + return localDestinoRealizado; + } + + public void setLocalDestinoRealizado(Local localDestinoRealizado) { + this.localDestinoRealizado = localDestinoRealizado; + } + + public DocumentoTransporte localDestinoRealizado(Local localDestinoRealizado) { + this.localDestinoRealizado = localDestinoRealizado; + return this; + } + + /** + * Get localManifestacao + * @return localManifestacao + **/ + @JsonProperty("localManifestacao") + public Local getLocalManifestacao() { + return localManifestacao; + } + + public void setLocalManifestacao(Local localManifestacao) { + this.localManifestacao = localManifestacao; + } + + public DocumentoTransporte localManifestacao(Local localManifestacao) { + this.localManifestacao = localManifestacao; + return this; + } + + /** + * Get localEstoque + * @return localEstoque + **/ + @JsonProperty("localEstoque") + public Local getLocalEstoque() { + return localEstoque; + } + + public void setLocalEstoque(Local localEstoque) { + this.localEstoque = localEstoque; + } + + public DocumentoTransporte localEstoque(Local localEstoque) { + this.localEstoque = localEstoque; + return this; + } + + /** + * Get veiculoFerroviario + * @return veiculoFerroviario + **/ + @JsonProperty("veiculoFerroviario") + public VeiculoFerroviario getVeiculoFerroviario() { + return veiculoFerroviario; + } + + public void setVeiculoFerroviario(VeiculoFerroviario veiculoFerroviario) { + this.veiculoFerroviario = veiculoFerroviario; + } + + public DocumentoTransporte veiculoFerroviario(VeiculoFerroviario veiculoFerroviario) { + this.veiculoFerroviario = veiculoFerroviario; + return this; + } + + /** + * Get veiculoRodoviario + * @return veiculoRodoviario + **/ + @JsonProperty("veiculoRodoviario") + public VeiculoRodovario getVeiculoRodoviario() { + return veiculoRodoviario; + } + + public void setVeiculoRodoviario(VeiculoRodovario veiculoRodoviario) { + this.veiculoRodoviario = veiculoRodoviario; + } + + public DocumentoTransporte veiculoRodoviario(VeiculoRodovario veiculoRodoviario) { + this.veiculoRodoviario = veiculoRodoviario; + return this; + } + + /** + * Lista de Contêineres vinculados ao documento de transporte + * @return conteineres + **/ + @JsonProperty("conteineres") + public List getConteineres() { + return conteineres; + } + + public void setConteineres(List conteineres) { + this.conteineres = conteineres; + } + + public DocumentoTransporte conteineres(List conteineres) { + this.conteineres = conteineres; + return this; + } + + public DocumentoTransporte addConteineresItem(Conteineres conteineresItem) { + this.conteineres.add(conteineresItem); + return this; + } + + /** + * Lista de DUE’s e/ou RUC’s vinculados ao documento de transporte + * @return cargas + **/ + @JsonProperty("cargas") + public List getCargas() { + return cargas; + } + + public void setCargas(List cargas) { + this.cargas = cargas; + } + + public DocumentoTransporte cargas(List cargas) { + this.cargas = cargas; + return this; + } + + public DocumentoTransporte addCargasItem(Cargas cargasItem) { + this.cargas.add(cargasItem); + return this; + } + + /** + * Peso aferido na balança do recinto em Kg<br>Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.<br>Tamanho: 4.2<br>Formato: NNNN.NN + * @return pesoBrutoTransportado + **/ + @JsonProperty("pesoBrutoTransportado") + public BigDecimal getPesoBrutoTransportado() { + return pesoBrutoTransportado; + } + + public void setPesoBrutoTransportado(BigDecimal pesoBrutoTransportado) { + this.pesoBrutoTransportado = pesoBrutoTransportado; + } + + public DocumentoTransporte pesoBrutoTransportado(BigDecimal pesoBrutoTransportado) { + this.pesoBrutoTransportado = pesoBrutoTransportado; + return this; + } + + /** + * Observações adicionais + * @return observacao + **/ + @JsonProperty("observacao") + public String getObservacao() { + return observacao; + } + + public void setObservacao(String observacao) { + this.observacao = observacao; + } + + public DocumentoTransporte observacao(String observacao) { + this.observacao = observacao; + return this; + } + + /** + * Indicador de conferência dos dados do veículo com os dados recepcionados<br>Domínio: S = Sim, N = Não e NA = Não se aplica + * @return dadosVeiculoConferem + **/ + @JsonProperty("dadosVeiculoConferem") + public String getDadosVeiculoConferem() { + return dadosVeiculoConferem; + } + + public void setDadosVeiculoConferem(String dadosVeiculoConferem) { + this.dadosVeiculoConferem = dadosVeiculoConferem; + } + + public DocumentoTransporte dadosVeiculoConferem(String dadosVeiculoConferem) { + this.dadosVeiculoConferem = dadosVeiculoConferem; + return this; + } + + /** + * Indicador de conferência dos dados da unidade de transporte com os dados recepcionados<br>Domínio: S = Sim, N = Não e NA = Não se aplica + * @return dadosUnidadeTransporteConferem + **/ + @JsonProperty("dadosUnidadeTransporteConferem") + public String getDadosUnidadeTransporteConferem() { + return dadosUnidadeTransporteConferem; + } + + public void setDadosUnidadeTransporteConferem(String dadosUnidadeTransporteConferem) { + this.dadosUnidadeTransporteConferem = dadosUnidadeTransporteConferem; + } + + public DocumentoTransporte dadosUnidadeTransporteConferem(String dadosUnidadeTransporteConferem) { + this.dadosUnidadeTransporteConferem = dadosUnidadeTransporteConferem; + return this; + } + + /** + * Indicador de conferência dos dados do contêiner com os dados recepcionados<br>Domínio: S = Sim, N = Não e NA = Não se aplica + * @return dadosConteinerConferem + **/ + @JsonProperty("dadosConteinerConferem") + public String getDadosConteinerConferem() { + return dadosConteinerConferem; + } + + public void setDadosConteinerConferem(String dadosConteinerConferem) { + this.dadosConteinerConferem = dadosConteinerConferem; + } + + public DocumentoTransporte dadosConteinerConferem(String dadosConteinerConferem) { + this.dadosConteinerConferem = dadosConteinerConferem; + return this; + } + + /** + * Indicador de conferência dos dados das embalagens com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica + * @return dadosEmbalagemConferem + **/ + @JsonProperty("dadosEmbalagemConferem") + public String getDadosEmbalagemConferem() { + return dadosEmbalagemConferem; + } + + public void setDadosEmbalagemConferem(String dadosEmbalagemConferem) { + this.dadosEmbalagemConferem = dadosEmbalagemConferem; + } + + public DocumentoTransporte dadosEmbalagemConferem(String dadosEmbalagemConferem) { + this.dadosEmbalagemConferem = dadosEmbalagemConferem; + return this; + } + + /** + * Indicador de avarias<br>Domínio: S = Sim, N = Não e NA = Não se aplica + * @return cargaComAvaria + **/ + @JsonProperty("cargaComAvaria") + public String getCargaComAvaria() { + return cargaComAvaria; + } + + public void setCargaComAvaria(String cargaComAvaria) { + this.cargaComAvaria = cargaComAvaria; + } + + public DocumentoTransporte cargaComAvaria(String cargaComAvaria) { + this.cargaComAvaria = cargaComAvaria; + return this; + } + + /** + * Avarias identificadas + * @return descricaoAvaria + **/ + @JsonProperty("descricaoAvaria") + public String getDescricaoAvaria() { + return descricaoAvaria; + } + + public void setDescricaoAvaria(String descricaoAvaria) { + this.descricaoAvaria = descricaoAvaria; + } + + public DocumentoTransporte descricaoAvaria(String descricaoAvaria) { + this.descricaoAvaria = descricaoAvaria; + return this; + } + + /** + * Indicador de divergências<br>Domínio: S = Sim, N = Não e NA = Não se aplica + * @return cargaComDivergencia + **/ + @JsonProperty("cargaComDivergencia") + public String getCargaComDivergencia() { + return cargaComDivergencia; + } + + public void setCargaComDivergencia(String cargaComDivergencia) { + this.cargaComDivergencia = cargaComDivergencia; + } + + public DocumentoTransporte cargaComDivergencia(String cargaComDivergencia) { + this.cargaComDivergencia = cargaComDivergencia; + return this; + } + + /** + * Divergências identificadas + * @return descricaoDivergencia + **/ + @JsonProperty("descricaoDivergencia") + public String getDescricaoDivergencia() { + return descricaoDivergencia; + } + + public void setDescricaoDivergencia(String descricaoDivergencia) { + this.descricaoDivergencia = descricaoDivergencia; + } + + public DocumentoTransporte descricaoDivergencia(String descricaoDivergencia) { + this.descricaoDivergencia = descricaoDivergencia; + return this; + } + + /** + * Observações adicionais + * @return observacaoRecepcao + **/ + @JsonProperty("observacaoRecepcao") + public String getObservacaoRecepcao() { + return observacaoRecepcao; + } + + public void setObservacaoRecepcao(String observacaoRecepcao) { + this.observacaoRecepcao = observacaoRecepcao; + } + + public DocumentoTransporte observacaoRecepcao(String observacaoRecepcao) { + this.observacaoRecepcao = observacaoRecepcao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DocumentoTransporte {\n"); + + sb.append(" numeroDocumentoTransporte: ").append(toIndentedString(numeroDocumentoTransporte)).append("\n"); + sb.append(" tipoDocumentoTransporte: ").append(toIndentedString(tipoDocumentoTransporte)).append("\n"); + sb.append(" numeroRUT: ").append(toIndentedString(numeroRUT)).append("\n"); + sb.append(" viaTransporte: ").append(toIndentedString(viaTransporte)).append("\n"); + sb.append(" situacaoAtual: ").append(toIndentedString(situacaoAtual)).append("\n"); + sb.append(" situacoesObservacao: ").append(toIndentedString(situacoesObservacao)).append("\n"); + sb.append(" dataEmissao: ").append(toIndentedString(dataEmissao)).append("\n"); + sb.append(" cpfCnpjTransportador: ").append(toIndentedString(cpfCnpjTransportador)).append("\n"); + sb.append(" nomeTransportador: ").append(toIndentedString(nomeTransportador)).append("\n"); + sb.append(" tipoDAT: ").append(toIndentedString(tipoDAT)).append("\n"); + sb.append(" localOrigem: ").append(toIndentedString(localOrigem)).append("\n"); + sb.append(" localDestinoPrevisto: ").append(toIndentedString(localDestinoPrevisto)).append("\n"); + sb.append(" localDestinoRealizado: ").append(toIndentedString(localDestinoRealizado)).append("\n"); + sb.append(" localManifestacao: ").append(toIndentedString(localManifestacao)).append("\n"); + sb.append(" localEstoque: ").append(toIndentedString(localEstoque)).append("\n"); + sb.append(" veiculoFerroviario: ").append(toIndentedString(veiculoFerroviario)).append("\n"); + sb.append(" veiculoRodoviario: ").append(toIndentedString(veiculoRodoviario)).append("\n"); + sb.append(" conteineres: ").append(toIndentedString(conteineres)).append("\n"); + sb.append(" cargas: ").append(toIndentedString(cargas)).append("\n"); + sb.append(" pesoBrutoTransportado: ").append(toIndentedString(pesoBrutoTransportado)).append("\n"); + sb.append(" observacao: ").append(toIndentedString(observacao)).append("\n"); + sb.append(" dadosVeiculoConferem: ").append(toIndentedString(dadosVeiculoConferem)).append("\n"); + sb.append(" dadosUnidadeTransporteConferem: ").append(toIndentedString(dadosUnidadeTransporteConferem)).append("\n"); + sb.append(" dadosConteinerConferem: ").append(toIndentedString(dadosConteinerConferem)).append("\n"); + sb.append(" dadosEmbalagemConferem: ").append(toIndentedString(dadosEmbalagemConferem)).append("\n"); + sb.append(" cargaComAvaria: ").append(toIndentedString(cargaComAvaria)).append("\n"); + sb.append(" descricaoAvaria: ").append(toIndentedString(descricaoAvaria)).append("\n"); + sb.append(" cargaComDivergencia: ").append(toIndentedString(cargaComDivergencia)).append("\n"); + sb.append(" descricaoDivergencia: ").append(toIndentedString(descricaoDivergencia)).append("\n"); + sb.append(" observacaoRecepcao: ").append(toIndentedString(observacaoRecepcao)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoTransporteCover.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoTransporteCover.java new file mode 100644 index 0000000..936690f --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoTransporteCover.java @@ -0,0 +1,290 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DocumentoTransporteCover", propOrder = + { "identificacaoDocumentoTransporte", "tipoDocumentoTransporte", "dataEmissaoDocumentoTransporte", "dadosVeiculoConferem", "dadosUnidadeTransporteConferem", "dadosConteinerConferem", "dadosEmbalagemConferem", "pesoAferido", "motivoNaoPesagem" +}) + +@XmlRootElement(name="DocumentoTransporteCover") +/** + * Dados dos documentos de transporte + **/ +@ApiModel(description="Dados dos documentos de transporte") +public class DocumentoTransporteCover { + + @XmlElement(name="identificacaoDocumentoTransporte", required = true) + @ApiModelProperty(example = "16BR0008093", required = true, value = "Identificação do documento de transporte
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: AAAAAAAAAAAAAAA") + /** + * Identificação do documento de transporte
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: AAAAAAAAAAAAAAA + **/ + private String identificacaoDocumentoTransporte = null; + + @XmlElement(name="tipoDocumentoTransporte", required = true) + @ApiModelProperty(example = "1", required = true, value = "Tipo do documento de transporte
Tamanho: 2
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros") + /** + * Tipo do documento de transporte
Tamanho: 2
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros + **/ + private Integer tipoDocumentoTransporte = null; + + @XmlElement(name="dataEmissaoDocumentoTransporte", required = true) + @ApiModelProperty(example = "2018-04-01", required = true, value = "Data de emissão do documento de transporte
Formato: AAAA-MM-DD") + /** + * Data de emissão do documento de transporte
Formato: AAAA-MM-DD + **/ + private String dataEmissaoDocumentoTransporte = null; + + @XmlElement(name="dadosVeiculoConferem", required = true) + @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados do veículo com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica") + /** + * Indicador de conferência dos dados do veículo com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica + **/ + private String dadosVeiculoConferem = null; + + @XmlElement(name="dadosUnidadeTransporteConferem", required = true) + @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados da unidade de transporte com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica") + /** + * Indicador de conferência dos dados da unidade de transporte com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica + **/ + private String dadosUnidadeTransporteConferem = null; + + @XmlElement(name="dadosConteinerConferem", required = true) + @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados do contêiner com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica") + /** + * Indicador de conferência dos dados do contêiner com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica + **/ + private String dadosConteinerConferem = null; + + @XmlElement(name="dadosEmbalagemConferem", required = true) + @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados das embalagens com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica") + /** + * Indicador de conferência dos dados das embalagens com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica + **/ + private String dadosEmbalagemConferem = null; + + @XmlElement(name="pesoAferido") + @ApiModelProperty(example = "100.0", value = "Peso aferido na balança do recinto em Kg.
Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN") + @Valid + /** + * Peso aferido na balança do recinto em Kg.
Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN + **/ + private BigDecimal pesoAferido = null; + + @XmlElement(name="motivoNaoPesagem") + @ApiModelProperty(example = "Motivo da não realização da pesagem", value = "Motivo da não realização da pesagem
Tamanho: 250
Deve ser informado somente quando não há informação de pesagem. Neste caso, é obrigatório.") + /** + * Motivo da não realização da pesagem
Tamanho: 250
Deve ser informado somente quando não há informação de pesagem. Neste caso, é obrigatório. + **/ + private String motivoNaoPesagem = null; + /** + * Identificação do documento de transporte<br>Tamanho mínimo: 5<br>Tamanho Máximo: 15<br>Formato: AAAAAAAAAAAAAAA + * @return identificacaoDocumentoTransporte + **/ + @JsonProperty("identificacaoDocumentoTransporte") + @NotNull + public String getIdentificacaoDocumentoTransporte() { + return identificacaoDocumentoTransporte; + } + + public void setIdentificacaoDocumentoTransporte(String identificacaoDocumentoTransporte) { + this.identificacaoDocumentoTransporte = identificacaoDocumentoTransporte; + } + + public DocumentoTransporteCover identificacaoDocumentoTransporte(String identificacaoDocumentoTransporte) { + this.identificacaoDocumentoTransporte = identificacaoDocumentoTransporte; + return this; + } + + /** + * Tipo do documento de transporte<br>Tamanho: 2<br>Domínio<br>01 - MIC/DTA<br>02 - TIF/DTA<br>03 - DTAI<br>04 - Outros + * @return tipoDocumentoTransporte + **/ + @JsonProperty("tipoDocumentoTransporte") + @NotNull + public Integer getTipoDocumentoTransporte() { + return tipoDocumentoTransporte; + } + + public void setTipoDocumentoTransporte(Integer tipoDocumentoTransporte) { + this.tipoDocumentoTransporte = tipoDocumentoTransporte; + } + + public DocumentoTransporteCover tipoDocumentoTransporte(Integer tipoDocumentoTransporte) { + this.tipoDocumentoTransporte = tipoDocumentoTransporte; + return this; + } + + /** + * Data de emissão do documento de transporte<br>Formato: AAAA-MM-DD + * @return dataEmissaoDocumentoTransporte + **/ + @JsonProperty("dataEmissaoDocumentoTransporte") + @NotNull + public String getDataEmissaoDocumentoTransporte() { + return dataEmissaoDocumentoTransporte; + } + + public void setDataEmissaoDocumentoTransporte(String dataEmissaoDocumentoTransporte) { + this.dataEmissaoDocumentoTransporte = dataEmissaoDocumentoTransporte; + } + + public DocumentoTransporteCover dataEmissaoDocumentoTransporte(String dataEmissaoDocumentoTransporte) { + this.dataEmissaoDocumentoTransporte = dataEmissaoDocumentoTransporte; + return this; + } + + /** + * Indicador de conferência dos dados do veículo com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica + * @return dadosVeiculoConferem + **/ + @JsonProperty("dadosVeiculoConferem") + @NotNull + public String getDadosVeiculoConferem() { + return dadosVeiculoConferem; + } + + public void setDadosVeiculoConferem(String dadosVeiculoConferem) { + this.dadosVeiculoConferem = dadosVeiculoConferem; + } + + public DocumentoTransporteCover dadosVeiculoConferem(String dadosVeiculoConferem) { + this.dadosVeiculoConferem = dadosVeiculoConferem; + return this; + } + + /** + * Indicador de conferência dos dados da unidade de transporte com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica + * @return dadosUnidadeTransporteConferem + **/ + @JsonProperty("dadosUnidadeTransporteConferem") + @NotNull + public String getDadosUnidadeTransporteConferem() { + return dadosUnidadeTransporteConferem; + } + + public void setDadosUnidadeTransporteConferem(String dadosUnidadeTransporteConferem) { + this.dadosUnidadeTransporteConferem = dadosUnidadeTransporteConferem; + } + + public DocumentoTransporteCover dadosUnidadeTransporteConferem(String dadosUnidadeTransporteConferem) { + this.dadosUnidadeTransporteConferem = dadosUnidadeTransporteConferem; + return this; + } + + /** + * Indicador de conferência dos dados do contêiner com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica + * @return dadosConteinerConferem + **/ + @JsonProperty("dadosConteinerConferem") + @NotNull + public String getDadosConteinerConferem() { + return dadosConteinerConferem; + } + + public void setDadosConteinerConferem(String dadosConteinerConferem) { + this.dadosConteinerConferem = dadosConteinerConferem; + } + + public DocumentoTransporteCover dadosConteinerConferem(String dadosConteinerConferem) { + this.dadosConteinerConferem = dadosConteinerConferem; + return this; + } + + /** + * Indicador de conferência dos dados das embalagens com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica + * @return dadosEmbalagemConferem + **/ + @JsonProperty("dadosEmbalagemConferem") + @NotNull + public String getDadosEmbalagemConferem() { + return dadosEmbalagemConferem; + } + + public void setDadosEmbalagemConferem(String dadosEmbalagemConferem) { + this.dadosEmbalagemConferem = dadosEmbalagemConferem; + } + + public DocumentoTransporteCover dadosEmbalagemConferem(String dadosEmbalagemConferem) { + this.dadosEmbalagemConferem = dadosEmbalagemConferem; + return this; + } + + /** + * Peso aferido na balança do recinto em Kg.<br>Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.<br>Tamanho: 12.3<br>Formato: NNNNNNNNNNNN.NNN + * @return pesoAferido + **/ + @JsonProperty("pesoAferido") + public BigDecimal getPesoAferido() { + return pesoAferido; + } + + public void setPesoAferido(BigDecimal pesoAferido) { + this.pesoAferido = pesoAferido; + } + + public DocumentoTransporteCover pesoAferido(BigDecimal pesoAferido) { + this.pesoAferido = pesoAferido; + return this; + } + + /** + * Motivo da não realização da pesagem<br>Tamanho: 250<br>Deve ser informado somente quando não há informação de pesagem. Neste caso, é obrigatório. + * @return motivoNaoPesagem + **/ + @JsonProperty("motivoNaoPesagem") + public String getMotivoNaoPesagem() { + return motivoNaoPesagem; + } + + public void setMotivoNaoPesagem(String motivoNaoPesagem) { + this.motivoNaoPesagem = motivoNaoPesagem; + } + + public DocumentoTransporteCover motivoNaoPesagem(String motivoNaoPesagem) { + this.motivoNaoPesagem = motivoNaoPesagem; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DocumentoTransporteCover {\n"); + + sb.append(" identificacaoDocumentoTransporte: ").append(toIndentedString(identificacaoDocumentoTransporte)).append("\n"); + sb.append(" tipoDocumentoTransporte: ").append(toIndentedString(tipoDocumentoTransporte)).append("\n"); + sb.append(" dataEmissaoDocumentoTransporte: ").append(toIndentedString(dataEmissaoDocumentoTransporte)).append("\n"); + sb.append(" dadosVeiculoConferem: ").append(toIndentedString(dadosVeiculoConferem)).append("\n"); + sb.append(" dadosUnidadeTransporteConferem: ").append(toIndentedString(dadosUnidadeTransporteConferem)).append("\n"); + sb.append(" dadosConteinerConferem: ").append(toIndentedString(dadosConteinerConferem)).append("\n"); + sb.append(" dadosEmbalagemConferem: ").append(toIndentedString(dadosEmbalagemConferem)).append("\n"); + sb.append(" pesoAferido: ").append(toIndentedString(pesoAferido)).append("\n"); + sb.append(" motivoNaoPesagem: ").append(toIndentedString(motivoNaoPesagem)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoTransportePK.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoTransportePK.java new file mode 100644 index 0000000..3a9c7a6 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoTransportePK.java @@ -0,0 +1,90 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DocumentoTransportePK", propOrder = + { "ano", "sequencia" +}) + +@XmlRootElement(name="DocumentoTransportePK") +public class DocumentoTransportePK { + + @XmlElement(name="ano") + @ApiModelProperty(value = "") + @Valid + private BigDecimal ano = null; + + @XmlElement(name="sequencia") + @ApiModelProperty(value = "") + @Valid + private BigDecimal sequencia = null; + /** + * Get ano + * @return ano + **/ + @JsonProperty("ano") + public BigDecimal getAno() { + return ano; + } + + public void setAno(BigDecimal ano) { + this.ano = ano; + } + + public DocumentoTransportePK ano(BigDecimal ano) { + this.ano = ano; + return this; + } + + /** + * Get sequencia + * @return sequencia + **/ + @JsonProperty("sequencia") + public BigDecimal getSequencia() { + return sequencia; + } + + public void setSequencia(BigDecimal sequencia) { + this.sequencia = sequencia; + } + + public DocumentoTransportePK sequencia(BigDecimal sequencia) { + this.sequencia = sequencia; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DocumentoTransportePK {\n"); + + sb.append(" ano: ").append(toIndentedString(ano)).append("\n"); + sb.append(" sequencia: ").append(toIndentedString(sequencia)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentosAnexo.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentosAnexo.java deleted file mode 100644 index 0955050..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentosAnexo.java +++ /dev/null @@ -1,80 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import java.util.List; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "DocumentosAnexo", propOrder = - {"documentoAnexo" - }) - -@XmlRootElement(name = "DocumentosAnexo") -/** - * Documentos em Anexo - **/ -@ApiModel(description = "Documentos em Anexo") -public class DocumentosAnexo { - - @XmlElement(name = "documentoAnexo") - @ApiModelProperty(value = "Documentos em Passagem") - @Valid - /** - * Documentos em Passagem - **/ - private List documentoAnexo = null; - - /** - * Documentos em Passagem - * - * @return documentoAnexo - **/ - @JsonProperty("documentoAnexo") - public List getDocumentoAnexo() { - return documentoAnexo; - } - - public void setDocumentoAnexo(List documentoAnexo) { - this.documentoAnexo = documentoAnexo; - } - - public DocumentosAnexo documentoAnexo(List documentoAnexo) { - this.documentoAnexo = documentoAnexo; - return this; - } - - public DocumentosAnexo addDocumentoAnexoItem(DocumentoAnexo documentoAnexoItem) { - this.documentoAnexo.add(documentoAnexoItem); - return this; - } - - - @Override - public String toString() { - - String sb = "class DocumentosAnexo {\n" + - " documentoAnexo: " + toIndentedString(documentoAnexo) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentosTransporte.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentosTransporte.java deleted file mode 100644 index ea98887..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentosTransporte.java +++ /dev/null @@ -1,298 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import java.math.BigDecimal; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "DocumentosTransporte", propOrder = - {"identificacaoDocumentoTransporte", "tipoDocumentoTransporte", "dataEmissaoDocumentoTransporte", "dadosVeiculoConferem", "dadosUnidadeTransporteConferem", "dadosConteinerConferem", "dadosEmbalagemConferem", "pesoAferido", "motivoNaoPesagem" - }) - -@XmlRootElement(name = "DocumentosTransporte") -/** - * Dados dos documentos de transporte - **/ -@ApiModel(description = "Dados dos documentos de transporte") -public class DocumentosTransporte { - - @XmlElement(name = "identificacaoDocumentoTransporte", required = true) - @ApiModelProperty(example = "16BR0008093", required = true, value = "Identificação do documento de transporte
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: AAAAAAAAAAAAAAA") - /** - * Identificação do documento de transporte
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: AAAAAAAAAAAAAAA - **/ - private String identificacaoDocumentoTransporte = null; - - @XmlElement(name = "tipoDocumentoTransporte", required = true) - @ApiModelProperty(example = "1", required = true, value = "Tipo do documento de transporte
Tamanho: 2
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros") - /** - * Tipo do documento de transporte
Tamanho: 2
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros - **/ - private Integer tipoDocumentoTransporte = null; - - @XmlElement(name = "dataEmissaoDocumentoTransporte", required = true) - @ApiModelProperty(example = "2018-04-01", required = true, value = "Data de emissão do documento de transporte
Formato: AAAA-MM-DD") - /** - * Data de emissão do documento de transporte
Formato: AAAA-MM-DD - **/ - private String dataEmissaoDocumentoTransporte = null; - - @XmlElement(name = "dadosVeiculoConferem", required = true) - @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados do veículo com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica") - /** - * Indicador de conferência dos dados do veículo com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica - **/ - private String dadosVeiculoConferem = null; - - @XmlElement(name = "dadosUnidadeTransporteConferem", required = true) - @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados da unidade de transporte com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica") - /** - * Indicador de conferência dos dados da unidade de transporte com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica - **/ - private String dadosUnidadeTransporteConferem = null; - - @XmlElement(name = "dadosConteinerConferem", required = true) - @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados do contêiner com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica") - /** - * Indicador de conferência dos dados do contêiner com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica - **/ - private String dadosConteinerConferem = null; - - @XmlElement(name = "dadosEmbalagemConferem", required = true) - @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados das embalagens com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica") - /** - * Indicador de conferência dos dados das embalagens com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica - **/ - private String dadosEmbalagemConferem = null; - - @XmlElement(name = "pesoAferido") - @ApiModelProperty(example = "100.0", value = "Peso aferido na balança do recinto em Kg.
Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN") - @Valid - /** - * Peso aferido na balança do recinto em Kg.
Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN - **/ - private BigDecimal pesoAferido = null; - - @XmlElement(name = "motivoNaoPesagem") - @ApiModelProperty(example = "Motivo da não realização da pesagem", value = "Motivo da não realização da pesagem
Tamanho: 250
Deve ser informado somente quando não há informação de pesagem. Neste caso, é obrigatório.") - /** - * Motivo da não realização da pesagem
Tamanho: 250
Deve ser informado somente quando não há informação de pesagem. Neste caso, é obrigatório. - **/ - private String motivoNaoPesagem = null; - - /** - * Identificação do documento de transporte<br>Tamanho mínimo: 5<br>Tamanho Máximo: 15<br>Formato: AAAAAAAAAAAAAAA - * - * @return identificacaoDocumentoTransporte - **/ - @JsonProperty("identificacaoDocumentoTransporte") - @NotNull - public String getIdentificacaoDocumentoTransporte() { - return identificacaoDocumentoTransporte; - } - - public void setIdentificacaoDocumentoTransporte(String identificacaoDocumentoTransporte) { - this.identificacaoDocumentoTransporte = identificacaoDocumentoTransporte; - } - - public DocumentosTransporte identificacaoDocumentoTransporte(String identificacaoDocumentoTransporte) { - this.identificacaoDocumentoTransporte = identificacaoDocumentoTransporte; - return this; - } - - /** - * Tipo do documento de transporte<br>Tamanho: 2<br>Domínio<br>01 - MIC/DTA<br>02 - TIF/DTA<br>03 - DTAI<br>04 - Outros - * - * @return tipoDocumentoTransporte - **/ - @JsonProperty("tipoDocumentoTransporte") - @NotNull - public Integer getTipoDocumentoTransporte() { - return tipoDocumentoTransporte; - } - - public void setTipoDocumentoTransporte(Integer tipoDocumentoTransporte) { - this.tipoDocumentoTransporte = tipoDocumentoTransporte; - } - - public DocumentosTransporte tipoDocumentoTransporte(Integer tipoDocumentoTransporte) { - this.tipoDocumentoTransporte = tipoDocumentoTransporte; - return this; - } - - /** - * Data de emissão do documento de transporte<br>Formato: AAAA-MM-DD - * - * @return dataEmissaoDocumentoTransporte - **/ - @JsonProperty("dataEmissaoDocumentoTransporte") - @NotNull - public String getDataEmissaoDocumentoTransporte() { - return dataEmissaoDocumentoTransporte; - } - - public void setDataEmissaoDocumentoTransporte(String dataEmissaoDocumentoTransporte) { - this.dataEmissaoDocumentoTransporte = dataEmissaoDocumentoTransporte; - } - - public DocumentosTransporte dataEmissaoDocumentoTransporte(String dataEmissaoDocumentoTransporte) { - this.dataEmissaoDocumentoTransporte = dataEmissaoDocumentoTransporte; - return this; - } - - /** - * Indicador de conferência dos dados do veículo com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica - * - * @return dadosVeiculoConferem - **/ - @JsonProperty("dadosVeiculoConferem") - @NotNull - public String getDadosVeiculoConferem() { - return dadosVeiculoConferem; - } - - public void setDadosVeiculoConferem(String dadosVeiculoConferem) { - this.dadosVeiculoConferem = dadosVeiculoConferem; - } - - public DocumentosTransporte dadosVeiculoConferem(String dadosVeiculoConferem) { - this.dadosVeiculoConferem = dadosVeiculoConferem; - return this; - } - - /** - * Indicador de conferência dos dados da unidade de transporte com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica - * - * @return dadosUnidadeTransporteConferem - **/ - @JsonProperty("dadosUnidadeTransporteConferem") - @NotNull - public String getDadosUnidadeTransporteConferem() { - return dadosUnidadeTransporteConferem; - } - - public void setDadosUnidadeTransporteConferem(String dadosUnidadeTransporteConferem) { - this.dadosUnidadeTransporteConferem = dadosUnidadeTransporteConferem; - } - - public DocumentosTransporte dadosUnidadeTransporteConferem(String dadosUnidadeTransporteConferem) { - this.dadosUnidadeTransporteConferem = dadosUnidadeTransporteConferem; - return this; - } - - /** - * Indicador de conferência dos dados do contêiner com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica - * - * @return dadosConteinerConferem - **/ - @JsonProperty("dadosConteinerConferem") - @NotNull - public String getDadosConteinerConferem() { - return dadosConteinerConferem; - } - - public void setDadosConteinerConferem(String dadosConteinerConferem) { - this.dadosConteinerConferem = dadosConteinerConferem; - } - - public DocumentosTransporte dadosConteinerConferem(String dadosConteinerConferem) { - this.dadosConteinerConferem = dadosConteinerConferem; - return this; - } - - /** - * Indicador de conferência dos dados das embalagens com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica - * - * @return dadosEmbalagemConferem - **/ - @JsonProperty("dadosEmbalagemConferem") - @NotNull - public String getDadosEmbalagemConferem() { - return dadosEmbalagemConferem; - } - - public void setDadosEmbalagemConferem(String dadosEmbalagemConferem) { - this.dadosEmbalagemConferem = dadosEmbalagemConferem; - } - - public DocumentosTransporte dadosEmbalagemConferem(String dadosEmbalagemConferem) { - this.dadosEmbalagemConferem = dadosEmbalagemConferem; - return this; - } - - /** - * Peso aferido na balança do recinto em Kg.<br>Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.<br>Tamanho: 12.3<br>Formato: NNNNNNNNNNNN.NNN - * - * @return pesoAferido - **/ - @JsonProperty("pesoAferido") - public BigDecimal getPesoAferido() { - return pesoAferido; - } - - public void setPesoAferido(BigDecimal pesoAferido) { - this.pesoAferido = pesoAferido; - } - - public DocumentosTransporte pesoAferido(BigDecimal pesoAferido) { - this.pesoAferido = pesoAferido; - return this; - } - - /** - * Motivo da não realização da pesagem<br>Tamanho: 250<br>Deve ser informado somente quando não há informação de pesagem. Neste caso, é obrigatório. - * @return motivoNaoPesagem - **/ - @JsonProperty("motivoNaoPesagem") - public String getMotivoNaoPesagem() { - return motivoNaoPesagem; - } - - public void setMotivoNaoPesagem(String motivoNaoPesagem) { - this.motivoNaoPesagem = motivoNaoPesagem; - } - - public DocumentosTransporte motivoNaoPesagem(String motivoNaoPesagem) { - this.motivoNaoPesagem = motivoNaoPesagem; - return this; - } - - - @Override - public String toString() { - - String sb = "class DocumentosTransporte {\n" + - " identificacaoDocumentoTransporte: " + toIndentedString(identificacaoDocumentoTransporte) + "\n" + - " tipoDocumentoTransporte: " + toIndentedString(tipoDocumentoTransporte) + "\n" + - " dataEmissaoDocumentoTransporte: " + toIndentedString(dataEmissaoDocumentoTransporte) + "\n" + - " dadosVeiculoConferem: " + toIndentedString(dadosVeiculoConferem) + "\n" + - " dadosUnidadeTransporteConferem: " + toIndentedString(dadosUnidadeTransporteConferem) + "\n" + - " dadosConteinerConferem: " + toIndentedString(dadosConteinerConferem) + "\n" + - " dadosEmbalagemConferem: " + toIndentedString(dadosEmbalagemConferem) + "\n" + - " pesoAferido: " + toIndentedString(pesoAferido) + "\n" + - " motivoNaoPesagem: " + toIndentedString(motivoNaoPesagem) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/EntregaDocumentoTransporte.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/EntregaDocumentoTransporte.java index 7a74b01..eb4dd06 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/EntregaDocumentoTransporte.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/EntregaDocumentoTransporte.java @@ -58,7 +58,7 @@ public class EntregaDocumentoTransporte { /** * Dados dos documentos de transporte **/ - private List documentosTransporte = new ArrayList<>(); + private List documentosTransporte = new ArrayList<>(); @XmlElement(name = "transitoSimplificado") @ApiModelProperty(value = "") @@ -150,20 +150,20 @@ public EntregaDocumentoTransporte local(Local local) { **/ @JsonProperty("documentosTransporte") @NotNull - public List getDocumentosTransporte() { + public List getDocumentosTransporte() { return documentosTransporte; } - public void setDocumentosTransporte(List documentosTransporte) { + public void setDocumentosTransporte(List documentosTransporte) { this.documentosTransporte = documentosTransporte; } - public EntregaDocumentoTransporte documentosTransporte(List documentosTransporte) { + public EntregaDocumentoTransporte documentosTransporte(List documentosTransporte) { this.documentosTransporte = documentosTransporte; return this; } - public EntregaDocumentoTransporte addDocumentosTransporteItem(DocumentosTransporte documentosTransporteItem) { + public EntregaDocumentoTransporte addDocumentosTransporteItem(DocumentoTransporteCover documentosTransporteItem) { this.documentosTransporte.add(documentosTransporteItem); return this; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Frete.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Frete.java index a5594df..229e501 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Frete.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Frete.java @@ -15,7 +15,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Frete", propOrder = - {"codigoMoedaFrete", "formaPagamento", "valor" + {"codigoMoedaFrete", "formaPagamentoFrete", "valorFrete" }) @XmlRootElement(name = "Frete") @@ -26,29 +26,29 @@ public class Frete { @XmlElement(name = "codigoMoedaFrete", required = true) - @ApiModelProperty(example = "USD", required = true, value = "Código da moeda do Frete
Domínio: Tabela Tipo de Moeda") + @ApiModelProperty(example = "USD", required = true, value = "Código da moeda do Frete
Tamanho: 3
Formato: AAA
Domínio: Tabela Tipo de Moeda") /** - * Código da moeda do Frete
Domínio: Tabela Tipo de Moeda + * Código da moeda do Frete
Tamanho: 3
Formato: AAA
Domínio: Tabela Tipo de Moeda **/ private String codigoMoedaFrete = null; - @XmlElement(name = "formaPagamento", required = true) + @XmlElement(name = "formaPagamentoFrete", required = true) @ApiModelProperty(example = "1", required = true, value = "Forma de pagamento do frete
Domínio: 1 (prepaid), 2 (collect).") /** * Forma de pagamento do frete
Domínio: 1 (prepaid), 2 (collect). **/ - private String formaPagamento = null; + private String formaPagamentoFrete = null; - @XmlElement(name = "valor", required = true) - @ApiModelProperty(example = "15632.87", required = true, value = "Valor do frete") + @XmlElement(name = "valorFrete", required = true) + @ApiModelProperty(example = "15632.87", required = true, value = "Valor do frete
Tamanho: 15.2
Formato: Decimal, com duas casas decimais separadas por ponto") @Valid /** - * Valor do frete + * Valor do frete
Tamanho: 15.2
Formato: Decimal, com duas casas decimais separadas por ponto **/ - private BigDecimal valor = null; + private BigDecimal valorFrete = null; /** - * Código da moeda do Frete<br>Domínio: Tabela Tipo de Moeda + * Código da moeda do Frete<br>Tamanho: 3<br>Formato: AAA<br>Domínio: Tabela Tipo de Moeda * * @return codigoMoedaFrete **/ @@ -70,40 +70,40 @@ public Frete codigoMoedaFrete(String codigoMoedaFrete) { /** * Forma de pagamento do frete<br>Domínio: 1 (prepaid), 2 (collect). * - * @return formaPagamento + * @return formaPagamentoFrete **/ - @JsonProperty("formaPagamento") + @JsonProperty("formaPagamentoFrete") @NotNull - public String getFormaPagamento() { - return formaPagamento; + public String getFormaPagamentoFrete() { + return formaPagamentoFrete; } - public void setFormaPagamento(String formaPagamento) { - this.formaPagamento = formaPagamento; + public void setFormaPagamentoFrete(String formaPagamentoFrete) { + this.formaPagamentoFrete = formaPagamentoFrete; } - public Frete formaPagamento(String formaPagamento) { - this.formaPagamento = formaPagamento; + public Frete formaPagamentoFrete(String formaPagamentoFrete) { + this.formaPagamentoFrete = formaPagamentoFrete; return this; } /** - * Valor do frete + * Valor do frete<br>Tamanho: 15.2<br>Formato: Decimal, com duas casas decimais separadas por ponto * - * @return valor + * @return valorFrete **/ - @JsonProperty("valor") + @JsonProperty("valorFrete") @NotNull - public BigDecimal getValor() { - return valor; + public BigDecimal getValorFrete() { + return valorFrete; } - public void setValor(BigDecimal valor) { - this.valor = valor; + public void setValorFrete(BigDecimal valorFrete) { + this.valorFrete = valorFrete; } - public Frete valor(BigDecimal valor) { - this.valor = valor; + public Frete valorFrete(BigDecimal valorFrete) { + this.valorFrete = valorFrete; return this; } @@ -113,8 +113,8 @@ public String toString() { String sb = "class Frete {\n" + " codigoMoedaFrete: " + toIndentedString(codigoMoedaFrete) + "\n" + - " formaPagamento: " + toIndentedString(formaPagamento) + "\n" + - " valor: " + toIndentedString(valor) + "\n" + + " formaPagamentoFrete: " + toIndentedString(formaPagamentoFrete) + "\n" + + " valorFrete: " + toIndentedString(valorFrete) + "\n" + "}"; return sb; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Granel.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Granel.java index 15d8961..feec208 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Granel.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Granel.java @@ -11,51 +11,127 @@ import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; +import java.math.BigDecimal; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Granel", propOrder = - {"carga" + {"tipoGranel", "sgUnidadeMedida", "total", "quantidade" }) @XmlRootElement(name = "Granel") /** - * Lista de granel + * Dados do granel **/ -@ApiModel(description = "Lista de granel") +@ApiModel(description = "Dados do granel") public class Granel { - @XmlElement(name = "carga", required = true) - @ApiModelProperty(required = true, value = "lista de granel") + @XmlElement(name = "tipoGranel", required = true) + @ApiModelProperty(example = "19", required = true, value = "Tipo de granel conforme a tabela Tipo de Granel
Tamanho: 2
Formato: NN") + /** + * Tipo de granel conforme a tabela Tipo de Granel
Tamanho: 2
Formato: NN + **/ + private Integer tipoGranel = null; + + @XmlElement(name = "sgUnidadeMedida", required = true) + @ApiModelProperty(example = "kg", required = true, value = "Unidade de medida estatística
Tamanho: 4
Formato: AAAA
Domínio: kg = quilo e m3 = metro cúbico.") + /** + * Unidade de medida estatística
Tamanho: 4
Formato: AAAA
Domínio: kg = quilo e m3 = metro cúbico. + **/ + private String sgUnidadeMedida = null; + + @XmlElement(name = "total", required = true) + @ApiModelProperty(example = "9923.456", required = true, value = "Peso bruto total, caso ainda não tenha sido informado
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN") + @Valid + /** + * Peso bruto total, caso ainda não tenha sido informado
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN + **/ + private BigDecimal total = null; + + @XmlElement(name = "quantidade", required = true) + @ApiModelProperty(example = "123.456", required = true, value = "Peso bruto
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN") @Valid /** - * lista de granel + * Peso bruto
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN + **/ + private BigDecimal quantidade = null; + + /** + * Tipo de granel conforme a tabela Tipo de Granel<br>Tamanho: 2<br>Formato: NN + * + * @return tipoGranel + **/ + @JsonProperty("tipoGranel") + @NotNull + public Integer getTipoGranel() { + return tipoGranel; + } + + public void setTipoGranel(Integer tipoGranel) { + this.tipoGranel = tipoGranel; + } + + public Granel tipoGranel(Integer tipoGranel) { + this.tipoGranel = tipoGranel; + return this; + } + + /** + * Unidade de medida estatística<br>Tamanho: 4<br>Formato: AAAA<br>Domínio: kg = quilo e m3 = metro cúbico. + * + * @return sgUnidadeMedida **/ - private List carga = new ArrayList<>(); + @JsonProperty("sgUnidadeMedida") + @NotNull + public String getSgUnidadeMedida() { + return sgUnidadeMedida; + } + + public void setSgUnidadeMedida(String sgUnidadeMedida) { + this.sgUnidadeMedida = sgUnidadeMedida; + } + + public Granel sgUnidadeMedida(String sgUnidadeMedida) { + this.sgUnidadeMedida = sgUnidadeMedida; + return this; + } /** - * lista de granel + * Peso bruto total, caso ainda não tenha sido informado<br>Tamanho: 12.3<br>Formato: NNNNNNNNNNNN.NNN * - * @return carga + * @return total **/ - @JsonProperty("carga") + @JsonProperty("total") @NotNull - public List getCarga() { - return carga; + public BigDecimal getTotal() { + return total; } - public void setCarga(List carga) { - this.carga = carga; + public void setTotal(BigDecimal total) { + this.total = total; } - public Granel carga(List carga) { - this.carga = carga; + public Granel total(BigDecimal total) { + this.total = total; return this; } - public Granel addCargaItem(Granel cargaItem) { - this.carga.add(cargaItem); + /** + * Peso bruto<br>Tamanho: 12.3<br>Formato: NNNNNNNNNNNN.NNN + * + * @return quantidade + **/ + @JsonProperty("quantidade") + @NotNull + public BigDecimal getQuantidade() { + return quantidade; + } + + public void setQuantidade(BigDecimal quantidade) { + this.quantidade = quantidade; + } + + public Granel quantidade(BigDecimal quantidade) { + this.quantidade = quantidade; return this; } @@ -64,7 +140,10 @@ public Granel addCargaItem(Granel cargaItem) { public String toString() { String sb = "class Granel {\n" + - " carga: " + toIndentedString(carga) + "\n" + + " tipoGranel: " + toIndentedString(tipoGranel) + "\n" + + " sgUnidadeMedida: " + toIndentedString(sgUnidadeMedida) + "\n" + + " total: " + toIndentedString(total) + "\n" + + " quantidade: " + toIndentedString(quantidade) + "\n" + "}"; return sb; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/InfoGeral.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/InfoGeral.java deleted file mode 100644 index 226fe7d..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/InfoGeral.java +++ /dev/null @@ -1,323 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlEnumValue; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "InfoGeral", propOrder = - {"cpfManifestador", "cnpjManifestador", "paisDestino", "cidadeDestino", "indTransitoAduaneiroInternacional", "docTransporte", "localSaida", "observacoes" - }) - -@XmlRootElement(name = "InfoGeral") -/** - * Dados gerais da Manifestação - **/ -@ApiModel(description = "Dados gerais da Manifestação") -public class InfoGeral { - - @XmlElement(name = "cpfManifestador") - @ApiModelProperty(example = "15573459106", value = "CPF do Manifestador
Tamanho: 11
Formato: NNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa física.") - /** - * CPF do Manifestador
Tamanho: 11
Formato: NNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa física. - **/ - private String cpfManifestador = null; - - @XmlElement(name = "cnpjManifestador") - @ApiModelProperty(example = "15573459000106", value = "CNPJ do Manifestador
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa jurídica.") - /** - * CNPJ do Manifestador
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa jurídica. - **/ - private String cnpjManifestador = null; - - - @XmlType(name = "PaisDestinoEnum") - @XmlEnum(String.class) - public enum PaisDestinoEnum { - - @XmlEnumValue("AR") - @JsonProperty("AR") - AR("AR"), - - @XmlEnumValue("BO") - @JsonProperty("BO") - BO("BO"), - - @XmlEnumValue("CL") - @JsonProperty("CL") - CL("CL"), - - @XmlEnumValue("PY") - @JsonProperty("PY") - PY("PY"), - - @XmlEnumValue("PE") - @JsonProperty("PE") - PE("PE"), - - @XmlEnumValue("UY") - @JsonProperty("UY") - UY("UY"); - - - private final String value; - - PaisDestinoEnum(String v) { - value = v; - } - - public String value() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - public static PaisDestinoEnum fromValue(String v) { - for (PaisDestinoEnum b : PaisDestinoEnum.values()) { - if (String.valueOf(b.value).equals(v)) { - return b; - } - } - throw new IllegalArgumentException("Unexpected value '" + v + "' to PaisDestinoEnum"); - } - } - - @XmlElement(name = "paisDestino", required = true) - @ApiModelProperty(example = "AR", required = true, value = "Código do país de destino da carga
Tamanho: 2
Formato: AA
Domínio:
AR (Argentina),
BO (Bolívia),
CL (Chile),
PY (Paraguai),
PE (Peru),
UY (Uruguai)") - /** - * Código do país de destino da carga
Tamanho: 2
Formato: AA
Domínio:
AR (Argentina),
BO (Bolívia),
CL (Chile),
PY (Paraguai),
PE (Peru),
UY (Uruguai) - **/ - private PaisDestinoEnum paisDestino = null; - - @XmlElement(name = "cidadeDestino", required = true) - @ApiModelProperty(example = "BUENOS AIRES", required = true, value = "Nome da cidade de destino da carga
Tamanho: 60") - /** - * Nome da cidade de destino da carga
Tamanho: 60 - **/ - private String cidadeDestino = null; - - @XmlElement(name = "indTransitoAduaneiroInternacional", required = true) - @ApiModelProperty(example = "S", required = true, value = "Indicador de transito aduaneiro internacional
Domínio:
S (Sim),
N(Não).") - /** - * Indicador de transito aduaneiro internacional
Domínio:
S (Sim),
N(Não). - **/ - private String indTransitoAduaneiroInternacional = null; - - @XmlElement(name = "docTransporte", required = true) - @ApiModelProperty(required = true, value = "") - @Valid - private DocTransporte docTransporte = null; - - @XmlElement(name = "localSaida", required = true) - @ApiModelProperty(required = true, value = "") - @Valid - private LocalSaida localSaida = null; - - @XmlElement(name = "observacoes") - @ApiModelProperty(example = "MIC/DTA Pre-ACD", value = "Observações
Tamanho: 250") - /** - * Observações
Tamanho: 250 - **/ - private String observacoes = null; - - /** - * CPF do Manifestador<br>Tamanho: 11<br>Formato: NNNNNNNNNNN<br>Informado e obrigatório apenas para transportador nacional do tipo pessoa física. - * - * @return cpfManifestador - **/ - @JsonProperty("cpfManifestador") - public String getCpfManifestador() { - return cpfManifestador; - } - - public void setCpfManifestador(String cpfManifestador) { - this.cpfManifestador = cpfManifestador; - } - - public InfoGeral cpfManifestador(String cpfManifestador) { - this.cpfManifestador = cpfManifestador; - return this; - } - - /** - * CNPJ do Manifestador<br>Tamanho: 14<br>Formato: NNNNNNNNNNNNNN<br>Informado e obrigatório apenas para transportador nacional do tipo pessoa jurídica. - * - * @return cnpjManifestador - **/ - @JsonProperty("cnpjManifestador") - public String getCnpjManifestador() { - return cnpjManifestador; - } - - public void setCnpjManifestador(String cnpjManifestador) { - this.cnpjManifestador = cnpjManifestador; - } - - public InfoGeral cnpjManifestador(String cnpjManifestador) { - this.cnpjManifestador = cnpjManifestador; - return this; - } - - /** - * Código do país de destino da carga<br>Tamanho: 2<br>Formato: AA<br>Domínio: <br>AR (Argentina), <br>BO (Bolívia), <br>CL (Chile), <br>PY (Paraguai), <br>PE (Peru), <br>UY (Uruguai) - * - * @return paisDestino - **/ - @JsonProperty("paisDestino") - @NotNull - public String getPaisDestino() { - if (paisDestino == null) { - return null; - } - return paisDestino.value(); - } - - public void setPaisDestino(PaisDestinoEnum paisDestino) { - this.paisDestino = paisDestino; - } - - public InfoGeral paisDestino(PaisDestinoEnum paisDestino) { - this.paisDestino = paisDestino; - return this; - } - - /** - * Nome da cidade de destino da carga<br>Tamanho: 60 - * - * @return cidadeDestino - **/ - @JsonProperty("cidadeDestino") - @NotNull - public String getCidadeDestino() { - return cidadeDestino; - } - - public void setCidadeDestino(String cidadeDestino) { - this.cidadeDestino = cidadeDestino; - } - - public InfoGeral cidadeDestino(String cidadeDestino) { - this.cidadeDestino = cidadeDestino; - return this; - } - - /** - * Indicador de transito aduaneiro internacional<br>Domínio: <br>S (Sim), <br>N(Não). - * - * @return indTransitoAduaneiroInternacional - **/ - @JsonProperty("indTransitoAduaneiroInternacional") - @NotNull - public String getIndTransitoAduaneiroInternacional() { - return indTransitoAduaneiroInternacional; - } - - public void setIndTransitoAduaneiroInternacional(String indTransitoAduaneiroInternacional) { - this.indTransitoAduaneiroInternacional = indTransitoAduaneiroInternacional; - } - - public InfoGeral indTransitoAduaneiroInternacional(String indTransitoAduaneiroInternacional) { - this.indTransitoAduaneiroInternacional = indTransitoAduaneiroInternacional; - return this; - } - - /** - * Get docTransporte - * - * @return docTransporte - **/ - @JsonProperty("docTransporte") - @NotNull - public DocTransporte getDocTransporte() { - return docTransporte; - } - - public void setDocTransporte(DocTransporte docTransporte) { - this.docTransporte = docTransporte; - } - - public InfoGeral docTransporte(DocTransporte docTransporte) { - this.docTransporte = docTransporte; - return this; - } - - /** - * Get localSaida - * - * @return localSaida - **/ - @JsonProperty("localSaida") - @NotNull - public LocalSaida getLocalSaida() { - return localSaida; - } - - public void setLocalSaida(LocalSaida localSaida) { - this.localSaida = localSaida; - } - - public InfoGeral localSaida(LocalSaida localSaida) { - this.localSaida = localSaida; - return this; - } - - /** - * Observações<br>Tamanho: 250 - * @return observacoes - **/ - @JsonProperty("observacoes") - public String getObservacoes() { - return observacoes; - } - - public void setObservacoes(String observacoes) { - this.observacoes = observacoes; - } - - public InfoGeral observacoes(String observacoes) { - this.observacoes = observacoes; - return this; - } - - - @Override - public String toString() { - - String sb = "class InfoGeral {\n" + - " cpfManifestador: " + toIndentedString(cpfManifestador) + "\n" + - " cnpjManifestador: " + toIndentedString(cnpjManifestador) + "\n" + - " paisDestino: " + toIndentedString(paisDestino) + "\n" + - " cidadeDestino: " + toIndentedString(cidadeDestino) + "\n" + - " indTransitoAduaneiroInternacional: " + toIndentedString(indTransitoAduaneiroInternacional) + "\n" + - " docTransporte: " + toIndentedString(docTransporte) + "\n" + - " localSaida: " + toIndentedString(localSaida) + "\n" + - " observacoes: " + toIndentedString(observacoes) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ItemDTO.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ItemDTO.java new file mode 100644 index 0000000..90bb514 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ItemDTO.java @@ -0,0 +1,86 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "ItemDTO", propOrder = + { "codigo", "descricao" +}) + +@XmlRootElement(name="ItemDTO") +public class ItemDTO { + + @XmlElement(name="codigo") + @ApiModelProperty(value = "") + private String codigo = null; + + @XmlElement(name="descricao") + @ApiModelProperty(value = "") + private String descricao = null; + /** + * Get codigo + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public ItemDTO codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Get descricao + * @return descricao + **/ + @JsonProperty("descricao") + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public ItemDTO descricao(String descricao) { + this.descricao = descricao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemDTO {\n"); + + sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n"); + sb.append(" descricao: ").append(toIndentedString(descricao)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ListaDocumentosTransporte.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ListaDocumentosTransporte.java new file mode 100644 index 0000000..6204b48 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ListaDocumentosTransporte.java @@ -0,0 +1,111 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "ListaDocumentosTransporte", propOrder = + { "documentosTransporte", "mensagens" +}) + +@XmlRootElement(name="ListaDocumentosTransporte") +/** + * Lista com resultado da consulta de documentos de transporte + **/ +@ApiModel(description="Lista com resultado da consulta de documentos de transporte") +public class ListaDocumentosTransporte { + + @XmlElement(name="documentosTransporte") + @ApiModelProperty(value = "Lista de Documentos de Transporte") + @Valid + /** + * Lista de Documentos de Transporte + **/ + private List documentosTransporte = null; + + @XmlElement(name="mensagens") + @ApiModelProperty(value = "Lista de mensagens") + @Valid + /** + * Lista de mensagens + **/ + private List mensagens = null; + /** + * Lista de Documentos de Transporte + * @return documentosTransporte + **/ + @JsonProperty("documentosTransporte") + public List getDocumentosTransporte() { + return documentosTransporte; + } + + public void setDocumentosTransporte(List documentosTransporte) { + this.documentosTransporte = documentosTransporte; + } + + public ListaDocumentosTransporte documentosTransporte(List documentosTransporte) { + this.documentosTransporte = documentosTransporte; + return this; + } + + public ListaDocumentosTransporte addDocumentosTransporteItem(DocumentoTransporte documentosTransporteItem) { + this.documentosTransporte.add(documentosTransporteItem); + return this; + } + + /** + * Lista de mensagens + * @return mensagens + **/ + @JsonProperty("mensagens") + public List getMensagens() { + return mensagens; + } + + public void setMensagens(List mensagens) { + this.mensagens = mensagens; + } + + public ListaDocumentosTransporte mensagens(List mensagens) { + this.mensagens = mensagens; + return this; + } + + public ListaDocumentosTransporte addMensagensItem(Mensagem mensagensItem) { + this.mensagens.add(mensagensItem); + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ListaDocumentosTransporte {\n"); + + sb.append(" documentosTransporte: ").append(toIndentedString(documentosTransporte)).append("\n"); + sb.append(" mensagens: ").append(toIndentedString(mensagens)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Local.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Local.java index e11c991..7f87e98 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Local.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Local.java @@ -5,7 +5,6 @@ import io.swagger.annotations.ApiModelProperty; import javax.validation.Valid; -import javax.validation.constraints.NotNull; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; @@ -19,22 +18,22 @@ @XmlRootElement(name = "Local") /** - * Dados do local da recepção + * Dados do local da entrega **/ -@ApiModel(description = "Dados do local da recepção") +@ApiModel(description = "Dados do local da entrega") public class Local { - @XmlElement(name = "codigoURF", required = true) - @ApiModelProperty(example = "0817600", required = true, value = "Código da Unidade da Receita Federal de Despacho
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de Unidades da RFB de Despacho") + @XmlElement(name = "codigoURF") + @ApiModelProperty(example = "0717600", value = "Código da unidade da Receita Federal onde a recepção está sendo efetuada
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de Unidades da RFB.
Deve ser informado apenas quando o receptor não for um depositário.") /** - * Código da Unidade da Receita Federal de Despacho
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de Unidades da RFB de Despacho + * Código da unidade da Receita Federal onde a recepção está sendo efetuada
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de Unidades da RFB.
Deve ser informado apenas quando o receptor não for um depositário. **/ private String codigoURF = null; @XmlElement(name = "codigoRA") - @ApiModelProperty(example = "8911101", value = "Código do Recinto Alfandegado
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de Recintos Alfandegados.
Deve ser informado somente quando o atributo coordenadas não for informado.") + @ApiModelProperty(example = "7911101", value = "Código do recinto alfandegado onde a recepção está sendo efetuada
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de recintos aduaneiros
Deve ser informado apenas quando o receptor for um depositário.") /** - * Código do Recinto Alfandegado
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de Recintos Alfandegados.
Deve ser informado somente quando o atributo coordenadas não for informado. + * Código do recinto alfandegado onde a recepção está sendo efetuada
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de recintos aduaneiros
Deve ser informado apenas quando o receptor for um depositário. **/ private String codigoRA = null; @@ -44,12 +43,11 @@ public class Local { private Coordenadas coordenadas = null; /** - * Código da Unidade da Receita Federal de Despacho<br>Tamanho: 7<br>Formato: NNNNNNN<br>Domínio: Tabela de Unidades da RFB de Despacho + * Código da unidade da Receita Federal onde a recepção está sendo efetuada<br>Tamanho: 7<br>Formato: NNNNNNN<br>Domínio: Tabela de Unidades da RFB.<br>Deve ser informado apenas quando o receptor não for um depositário. * * @return codigoURF **/ @JsonProperty("codigoURF") - @NotNull public String getCodigoURF() { return codigoURF; } @@ -64,7 +62,7 @@ public Local codigoURF(String codigoURF) { } /** - * Código do Recinto Alfandegado<br>Tamanho: 7<br>Formato: NNNNNNN<br>Domínio: Tabela de Recintos Alfandegados.<br>Deve ser informado somente quando o atributo coordenadas não for informado. + * Código do recinto alfandegado onde a recepção está sendo efetuada<br>Tamanho: 7<br>Formato: NNNNNNN<br>Domínio: Tabela de recintos aduaneiros<br>Deve ser informado apenas quando o receptor for um depositário. * * @return codigoRA **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/LocalSaida.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/LocalSaida.java index 7d1a8e3..f8bb142 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/LocalSaida.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/LocalSaida.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import javax.validation.Valid; import javax.validation.constraints.NotNull; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; @@ -13,14 +14,14 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "LocalSaida", propOrder = - {"codigoURF", "codigoRA" + {"codigoURF", "codigoRA", "cnpjResponsavel", "coordenadas" }) @XmlRootElement(name = "LocalSaida") /** - * Dados do Local de Saída + * Local de saída **/ -@ApiModel(description = "Dados do Local de Saída") +@ApiModel(description = "Local de saída") public class LocalSaida { @XmlElement(name = "codigoURF", required = true) @@ -37,6 +38,18 @@ public class LocalSaida { **/ private String codigoRA = null; + @XmlElement(name = "cnpjResponsavel", required = true) + @ApiModelProperty(example = "15573459000106", required = true, value = "CNPJ do responsável pelo local
Tamanho: 14
Formato: NNNNNNNNNNNNNN") + /** + * CNPJ do responsável pelo local
Tamanho: 14
Formato: NNNNNNNNNNNNNN + **/ + private String cnpjResponsavel = null; + + @XmlElement(name = "coordenadas", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private Coordenadas coordenadas = null; + /** * Código da Unidade de Região Fiscal<br>Tamanho: 7<br>Formato: NNNNNNN * @@ -77,6 +90,46 @@ public LocalSaida codigoRA(String codigoRA) { return this; } + /** + * CNPJ do responsável pelo local<br>Tamanho: 14<br>Formato: NNNNNNNNNNNNNN + * + * @return cnpjResponsavel + **/ + @JsonProperty("cnpjResponsavel") + @NotNull + public String getCnpjResponsavel() { + return cnpjResponsavel; + } + + public void setCnpjResponsavel(String cnpjResponsavel) { + this.cnpjResponsavel = cnpjResponsavel; + } + + public LocalSaida cnpjResponsavel(String cnpjResponsavel) { + this.cnpjResponsavel = cnpjResponsavel; + return this; + } + + /** + * Get coordenadas + * + * @return coordenadas + **/ + @JsonProperty("coordenadas") + @NotNull + public Coordenadas getCoordenadas() { + return coordenadas; + } + + public void setCoordenadas(Coordenadas coordenadas) { + this.coordenadas = coordenadas; + } + + public LocalSaida coordenadas(Coordenadas coordenadas) { + this.coordenadas = coordenadas; + return this; + } + @Override public String toString() { @@ -84,6 +137,8 @@ public String toString() { String sb = "class LocalSaida {\n" + " codigoURF: " + toIndentedString(codigoURF) + "\n" + " codigoRA: " + toIndentedString(codigoRA) + "\n" + + " cnpjResponsavel: " + toIndentedString(cnpjResponsavel) + "\n" + + " coordenadas: " + toIndentedString(coordenadas) + "\n" + "}"; return sb; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Manifestacao.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Manifestacao.java index 6cc5f7b..83bc0c7 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Manifestacao.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Manifestacao.java @@ -11,58 +11,125 @@ import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; +import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Manifestacao", propOrder = - {"identificacaoManifestacao", "infoGeral", "veiculo", "transportador", "conhecimentos", "carga", "rota" + {"identificacaoManifestacao", "tipoDocumentoTransporte", "indCargaEnviadaDespacho", "cargaJaEmbarcada", "cnpjTransportador", "cpfTransportador", "codigoURF", "codigoRA", "coordenadas", "cnpjRespEstoqueCarga", "veiculoAereo", "veiculoAquaviario", "outroModal", "conhecimento", "transporteProprio", "observacoes" }) @XmlRootElement(name = "Manifestacao") /** - * Manifesto de Dados de Embarque para Exportação de Carga Pré ACD + * Manifesto de Dados de Embarque para Exportação **/ -@ApiModel(description = "Manifesto de Dados de Embarque para Exportação de Carga Pré ACD") +@ApiModel(description = "Manifesto de Dados de Embarque para Exportação") public class Manifestacao { @XmlElement(name = "identificacaoManifestacao", required = true) - @ApiModelProperty(example = "MAN001", required = true, value = "Identificação da Manifestação
Esta informação não será armazenada pelo sistema, servindo apenas como uma identificação de cada manifesto no momento da exibição de eventuais mensagens de erro. Este campo é uma chave dentro do arquivo XML, não admitindo duplicatas.
Tamanho: 13
Formato: AAAAAAAAAAAAA") + @ApiModelProperty(example = "MAN001", required = true, value = "Identificação da Manifestação
Esta informação não será armazenada pelo sistema, servindo apenas como uma identificação de cada manifesto no momento da exibição de eventuais mensagens de erro. Este campo é uma chave dentro do arquivo XML, não admitindo duplicatas.") /** - * Identificação da Manifestação
Esta informação não será armazenada pelo sistema, servindo apenas como uma identificação de cada manifesto no momento da exibição de eventuais mensagens de erro. Este campo é uma chave dentro do arquivo XML, não admitindo duplicatas.
Tamanho: 13
Formato: AAAAAAAAAAAAA + * Identificação da Manifestação
Esta informação não será armazenada pelo sistema, servindo apenas como uma identificação de cada manifesto no momento da exibição de eventuais mensagens de erro. Este campo é uma chave dentro do arquivo XML, não admitindo duplicatas. **/ private String identificacaoManifestacao = null; - @XmlElement(name = "infoGeral", required = true) - @ApiModelProperty(required = true, value = "") + @XmlElement(name = "tipoDocumentoTransporte", required = true) + @ApiModelProperty(example = "01", required = true, value = "Tipo de Documento de Transporte
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros") + /** + * Tipo de Documento de Transporte
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros + **/ + private String tipoDocumentoTransporte = null; + + @XmlElement(name = "indCargaEnviadaDespacho", required = true) + @ApiModelProperty(example = "N", required = true, value = "Indicador Carga Enviada para Despacho
Domínio: S (Sim), N(Não)") + /** + * Indicador Carga Enviada para Despacho
Domínio: S (Sim), N(Não) + **/ + private String indCargaEnviadaDespacho = null; + + @XmlElement(name = "cargaJaEmbarcada", required = true) + @ApiModelProperty(example = "S", required = true, value = "Indicador Carga já Embarcada
Domínio: S (Sim), N(Não)") + /** + * Indicador Carga já Embarcada
Domínio: S (Sim), N(Não) + **/ + private String cargaJaEmbarcada = null; + + @XmlElement(name = "cnpjTransportador") + @ApiModelProperty(example = "15573459000106", value = "CNPJ do Transportadorr
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa jurídica.") + /** + * CNPJ do Transportadorr
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa jurídica. + **/ + private String cnpjTransportador = null; + + @XmlElement(name = "cpfTransportador") + @ApiModelProperty(example = "15573459106", value = "CPF do Transportadorr
Tamanho: 11
Formato: NNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa física.") + /** + * CPF do Transportadorr
Tamanho: 11
Formato: NNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa física. + **/ + private String cpfTransportador = null; + + @XmlElement(name = "codigoURF") + @ApiModelProperty(example = "0717700", value = "Código da Unidade de Região FiscalF
Tamanho: 7
Formato: NNNNNNN
Obrigatório quando não foi informado um RA") + /** + * Código da Unidade de Região FiscalF
Tamanho: 7
Formato: NNNNNNN
Obrigatório quando não foi informado um RA + **/ + private String codigoURF = null; + + @XmlElement(name = "codigoRA") + @ApiModelProperty(example = "7911101", value = "Código do Recinto AduaneiroF
Tamanho: 7
Formato: NNNNNNN
Obrigatório quando não foi informada uma URF") + /** + * Código do Recinto AduaneiroF
Tamanho: 7
Formato: NNNNNNN
Obrigatório quando não foi informada uma URF + **/ + private String codigoRA = null; + + @XmlElement(name = "coordenadas") + @ApiModelProperty(value = "") @Valid - private InfoGeral infoGeral = null; + private Coordenadas coordenadas = null; + + @XmlElement(name = "cnpjRespEstoqueCarga") + @ApiModelProperty(example = "15573459000106", value = "CNPJ do responsável pelo estoque da carga
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Obrigatório apenas para o manifesto de embarque de carga ainda não embarcada, quando foram informados URF + coordenadas e a carga não consta no estoque de um depositário.") + /** + * CNPJ do responsável pelo estoque da carga
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Obrigatório apenas para o manifesto de embarque de carga ainda não embarcada, quando foram informados URF + coordenadas e a carga não consta no estoque de um depositário. + **/ + private String cnpjRespEstoqueCarga = null; - @XmlElement(name = "veiculo", required = true) - @ApiModelProperty(required = true, value = "") + @XmlElement(name = "veiculoAereo") + @ApiModelProperty(value = "") @Valid - private Veiculo veiculo = null; + private VeiculoAereo veiculoAereo = null; - @XmlElement(name = "transportador", required = true) - @ApiModelProperty(required = true, value = "") + @XmlElement(name = "veiculoAquaviario") + @ApiModelProperty(value = "") @Valid - private Transportador transportador = null; + private VeiculoAquaviario veiculoAquaviario = null; - @XmlElement(name = "conhecimentos", required = true) - @ApiModelProperty(required = true, value = "") + @XmlElement(name = "outroModal") + @ApiModelProperty(value = "") @Valid - private ConhecimentosCarga conhecimentos = null; + private OutroModal outroModal = null; - @XmlElement(name = "carga", required = true) - @ApiModelProperty(required = true, value = "") + @XmlElement(name = "conhecimento") + @ApiModelProperty(value = "Dados do conhecimento de carga
Informado e obrigatório apenas quando a manifestação dos dados de embarque for acobertada por conhecimento de carga.") @Valid - private Carga carga = null; + /** + * Dados do conhecimento de carga
Informado e obrigatório apenas quando a manifestação dos dados de embarque for acobertada por conhecimento de carga. + **/ + private List conhecimento = null; - @XmlElement(name = "rota") + @XmlElement(name = "transporteProprio") @ApiModelProperty(value = "") @Valid - private Rota rota = null; + private TransporteProprio transporteProprio = null; + + @XmlElement(name = "observacoes", required = true) + @ApiModelProperty(example = "ANIFESTO COM CONTEINER E DOCUMENTO", required = true, value = "Observações
Tamanho: 250") + /** + * Observações
Tamanho: 250 + **/ + private String observacoes = null; /** - * Identificação da Manifestação<br>Esta informação não será armazenada pelo sistema, servindo apenas como uma identificação de cada manifesto no momento da exibição de eventuais mensagens de erro. Este campo é uma chave dentro do arquivo XML, não admitindo duplicatas.<br>Tamanho: 13<br>Formato: AAAAAAAAAAAAA + * Identificação da Manifestação<br>Esta informação não será armazenada pelo sistema, servindo apenas como uma identificação de cada manifesto no momento da exibição de eventuais mensagens de erro. Este campo é uma chave dentro do arquivo XML, não admitindo duplicatas. * * @return identificacaoManifestacao **/ @@ -82,120 +149,296 @@ public Manifestacao identificacaoManifestacao(String identificacaoManifestacao) } /** - * Get infoGeral + * Tipo de Documento de Transporte<br>Domínio<br>01 - MIC/DTA<br>02 - TIF/DTA<br>03 - DTAI<br>04 - Outros * - * @return infoGeral + * @return tipoDocumentoTransporte **/ - @JsonProperty("infoGeral") + @JsonProperty("tipoDocumentoTransporte") @NotNull - public InfoGeral getInfoGeral() { - return infoGeral; + public String getTipoDocumentoTransporte() { + return tipoDocumentoTransporte; } - public void setInfoGeral(InfoGeral infoGeral) { - this.infoGeral = infoGeral; + public void setTipoDocumentoTransporte(String tipoDocumentoTransporte) { + this.tipoDocumentoTransporte = tipoDocumentoTransporte; } - public Manifestacao infoGeral(InfoGeral infoGeral) { - this.infoGeral = infoGeral; + public Manifestacao tipoDocumentoTransporte(String tipoDocumentoTransporte) { + this.tipoDocumentoTransporte = tipoDocumentoTransporte; return this; } /** - * Get veiculo + * Indicador Carga Enviada para Despacho<br>Domínio: S (Sim), N(Não) * - * @return veiculo + * @return indCargaEnviadaDespacho **/ - @JsonProperty("veiculo") + @JsonProperty("indCargaEnviadaDespacho") @NotNull - public Veiculo getVeiculo() { - return veiculo; + public String getIndCargaEnviadaDespacho() { + return indCargaEnviadaDespacho; } - public void setVeiculo(Veiculo veiculo) { - this.veiculo = veiculo; + public void setIndCargaEnviadaDespacho(String indCargaEnviadaDespacho) { + this.indCargaEnviadaDespacho = indCargaEnviadaDespacho; } - public Manifestacao veiculo(Veiculo veiculo) { - this.veiculo = veiculo; + public Manifestacao indCargaEnviadaDespacho(String indCargaEnviadaDespacho) { + this.indCargaEnviadaDespacho = indCargaEnviadaDespacho; return this; } /** - * Get transportador + * Indicador Carga já Embarcada<br>Domínio: S (Sim), N(Não) * - * @return transportador + * @return cargaJaEmbarcada **/ - @JsonProperty("transportador") + @JsonProperty("cargaJaEmbarcada") @NotNull - public Transportador getTransportador() { - return transportador; + public String getCargaJaEmbarcada() { + return cargaJaEmbarcada; } - public void setTransportador(Transportador transportador) { - this.transportador = transportador; + public void setCargaJaEmbarcada(String cargaJaEmbarcada) { + this.cargaJaEmbarcada = cargaJaEmbarcada; } - public Manifestacao transportador(Transportador transportador) { - this.transportador = transportador; + public Manifestacao cargaJaEmbarcada(String cargaJaEmbarcada) { + this.cargaJaEmbarcada = cargaJaEmbarcada; return this; } /** - * Get conhecimentos + * CNPJ do Transportadorr<br>Tamanho: 14<br>Formato: NNNNNNNNNNNNNN<br>Informado e obrigatório apenas para transportador nacional do tipo pessoa jurídica. * - * @return conhecimentos + * @return cnpjTransportador **/ - @JsonProperty("conhecimentos") - @NotNull - public ConhecimentosCarga getConhecimentos() { - return conhecimentos; + @JsonProperty("cnpjTransportador") + public String getCnpjTransportador() { + return cnpjTransportador; } - public void setConhecimentos(ConhecimentosCarga conhecimentos) { - this.conhecimentos = conhecimentos; + public void setCnpjTransportador(String cnpjTransportador) { + this.cnpjTransportador = cnpjTransportador; } - public Manifestacao conhecimentos(ConhecimentosCarga conhecimentos) { - this.conhecimentos = conhecimentos; + public Manifestacao cnpjTransportador(String cnpjTransportador) { + this.cnpjTransportador = cnpjTransportador; return this; } /** - * Get carga + * CPF do Transportadorr<br>Tamanho: 11<br>Formato: NNNNNNNNNNN<br>Informado e obrigatório apenas para transportador nacional do tipo pessoa física. * - * @return carga + * @return cpfTransportador **/ - @JsonProperty("carga") - @NotNull - public Carga getCarga() { - return carga; + @JsonProperty("cpfTransportador") + public String getCpfTransportador() { + return cpfTransportador; + } + + public void setCpfTransportador(String cpfTransportador) { + this.cpfTransportador = cpfTransportador; + } + + public Manifestacao cpfTransportador(String cpfTransportador) { + this.cpfTransportador = cpfTransportador; + return this; + } + + /** + * Código da Unidade de Região FiscalF<br>Tamanho: 7<br>Formato: NNNNNNN<br>Obrigatório quando não foi informado um RA + * + * @return codigoURF + **/ + @JsonProperty("codigoURF") + public String getCodigoURF() { + return codigoURF; + } + + public void setCodigoURF(String codigoURF) { + this.codigoURF = codigoURF; + } + + public Manifestacao codigoURF(String codigoURF) { + this.codigoURF = codigoURF; + return this; + } + + /** + * Código do Recinto AduaneiroF<br>Tamanho: 7<br>Formato: NNNNNNN<br>Obrigatório quando não foi informada uma URF + * + * @return codigoRA + **/ + @JsonProperty("codigoRA") + public String getCodigoRA() { + return codigoRA; + } + + public void setCodigoRA(String codigoRA) { + this.codigoRA = codigoRA; + } + + public Manifestacao codigoRA(String codigoRA) { + this.codigoRA = codigoRA; + return this; + } + + /** + * Get coordenadas + * + * @return coordenadas + **/ + @JsonProperty("coordenadas") + public Coordenadas getCoordenadas() { + return coordenadas; } - public void setCarga(Carga carga) { - this.carga = carga; + public void setCoordenadas(Coordenadas coordenadas) { + this.coordenadas = coordenadas; } - public Manifestacao carga(Carga carga) { - this.carga = carga; + public Manifestacao coordenadas(Coordenadas coordenadas) { + this.coordenadas = coordenadas; return this; } /** - * Get rota - * @return rota + * CNPJ do responsável pelo estoque da carga<br>Tamanho: 14<br>Formato: NNNNNNNNNNNNNN<br>Obrigatório apenas para o manifesto de embarque de carga ainda não embarcada, quando foram informados URF + coordenadas e a carga não consta no estoque de um depositário. + * + * @return cnpjRespEstoqueCarga **/ - @JsonProperty("rota") - public Rota getRota() { - return rota; + @JsonProperty("cnpjRespEstoqueCarga") + public String getCnpjRespEstoqueCarga() { + return cnpjRespEstoqueCarga; + } + + public void setCnpjRespEstoqueCarga(String cnpjRespEstoqueCarga) { + this.cnpjRespEstoqueCarga = cnpjRespEstoqueCarga; + } + + public Manifestacao cnpjRespEstoqueCarga(String cnpjRespEstoqueCarga) { + this.cnpjRespEstoqueCarga = cnpjRespEstoqueCarga; + return this; + } + + /** + * Get veiculoAereo + * + * @return veiculoAereo + **/ + @JsonProperty("veiculoAereo") + public VeiculoAereo getVeiculoAereo() { + return veiculoAereo; + } + + public void setVeiculoAereo(VeiculoAereo veiculoAereo) { + this.veiculoAereo = veiculoAereo; + } + + public Manifestacao veiculoAereo(VeiculoAereo veiculoAereo) { + this.veiculoAereo = veiculoAereo; + return this; + } + + /** + * Get veiculoAquaviario + * + * @return veiculoAquaviario + **/ + @JsonProperty("veiculoAquaviario") + public VeiculoAquaviario getVeiculoAquaviario() { + return veiculoAquaviario; + } + + public void setVeiculoAquaviario(VeiculoAquaviario veiculoAquaviario) { + this.veiculoAquaviario = veiculoAquaviario; + } + + public Manifestacao veiculoAquaviario(VeiculoAquaviario veiculoAquaviario) { + this.veiculoAquaviario = veiculoAquaviario; + return this; + } + + /** + * Get outroModal + * + * @return outroModal + **/ + @JsonProperty("outroModal") + public OutroModal getOutroModal() { + return outroModal; + } + + public void setOutroModal(OutroModal outroModal) { + this.outroModal = outroModal; + } + + public Manifestacao outroModal(OutroModal outroModal) { + this.outroModal = outroModal; + return this; + } + + /** + * Dados do conhecimento de carga<br>Informado e obrigatório apenas quando a manifestação dos dados de embarque for acobertada por conhecimento de carga. + * + * @return conhecimento + **/ + @JsonProperty("conhecimento") + public List getConhecimento() { + return conhecimento; + } + + public void setConhecimento(List conhecimento) { + this.conhecimento = conhecimento; + } + + public Manifestacao conhecimento(List conhecimento) { + this.conhecimento = conhecimento; + return this; + } + + public Manifestacao addConhecimentoItem(Conhecimento conhecimentoItem) { + this.conhecimento.add(conhecimentoItem); + return this; + } + + /** + * Get transporteProprio + * + * @return transporteProprio + **/ + @JsonProperty("transporteProprio") + public TransporteProprio getTransporteProprio() { + return transporteProprio; + } + + public void setTransporteProprio(TransporteProprio transporteProprio) { + this.transporteProprio = transporteProprio; + } + + public Manifestacao transporteProprio(TransporteProprio transporteProprio) { + this.transporteProprio = transporteProprio; + return this; + } + + /** + * Observações<br>Tamanho: 250 + * + * @return observacoes + **/ + @JsonProperty("observacoes") + @NotNull + public String getObservacoes() { + return observacoes; } - public void setRota(Rota rota) { - this.rota = rota; + public void setObservacoes(String observacoes) { + this.observacoes = observacoes; } - public Manifestacao rota(Rota rota) { - this.rota = rota; + public Manifestacao observacoes(String observacoes) { + this.observacoes = observacoes; return this; } @@ -205,12 +448,21 @@ public String toString() { String sb = "class Manifestacao {\n" + " identificacaoManifestacao: " + toIndentedString(identificacaoManifestacao) + "\n" + - " infoGeral: " + toIndentedString(infoGeral) + "\n" + - " veiculo: " + toIndentedString(veiculo) + "\n" + - " transportador: " + toIndentedString(transportador) + "\n" + - " conhecimentos: " + toIndentedString(conhecimentos) + "\n" + - " carga: " + toIndentedString(carga) + "\n" + - " rota: " + toIndentedString(rota) + "\n" + + " tipoDocumentoTransporte: " + toIndentedString(tipoDocumentoTransporte) + "\n" + + " indCargaEnviadaDespacho: " + toIndentedString(indCargaEnviadaDespacho) + "\n" + + " cargaJaEmbarcada: " + toIndentedString(cargaJaEmbarcada) + "\n" + + " cnpjTransportador: " + toIndentedString(cnpjTransportador) + "\n" + + " cpfTransportador: " + toIndentedString(cpfTransportador) + "\n" + + " codigoURF: " + toIndentedString(codigoURF) + "\n" + + " codigoRA: " + toIndentedString(codigoRA) + "\n" + + " coordenadas: " + toIndentedString(coordenadas) + "\n" + + " cnpjRespEstoqueCarga: " + toIndentedString(cnpjRespEstoqueCarga) + "\n" + + " veiculoAereo: " + toIndentedString(veiculoAereo) + "\n" + + " veiculoAquaviario: " + toIndentedString(veiculoAquaviario) + "\n" + + " outroModal: " + toIndentedString(outroModal) + "\n" + + " conhecimento: " + toIndentedString(conhecimento) + "\n" + + " transporteProprio: " + toIndentedString(transporteProprio) + "\n" + + " observacoes: " + toIndentedString(observacoes) + "\n" + "}"; return sb; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Nfe.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Nfe.java deleted file mode 100644 index 0a6c09f..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Nfe.java +++ /dev/null @@ -1,101 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "Nfe", propOrder = - {"chaveAcesso", "conteineres" - }) - -@XmlRootElement(name = "Nfe") -/** - * Dados da nota fiscal eletrônica - **/ -@ApiModel(description = "Dados da nota fiscal eletrônica") -public class Nfe { - - @XmlElement(name = "chaveAcesso", required = true) - @ApiModelProperty(example = "35190500000000002720550900013694961000000003", required = true, value = "Chave de acesso da nota fiscal eletrônica
Tamanho: 44") - /** - * Chave de acesso da nota fiscal eletrônica
Tamanho: 44 - **/ - private String chaveAcesso = null; - - @XmlElement(name = "conteineres", required = true) - @ApiModelProperty(required = true, value = "") - @Valid - private Conteineres conteineres = null; - - /** - * Chave de acesso da nota fiscal eletrônica<br>Tamanho: 44 - * - * @return chaveAcesso - **/ - @JsonProperty("chaveAcesso") - @NotNull - public String getChaveAcesso() { - return chaveAcesso; - } - - public void setChaveAcesso(String chaveAcesso) { - this.chaveAcesso = chaveAcesso; - } - - public Nfe chaveAcesso(String chaveAcesso) { - this.chaveAcesso = chaveAcesso; - return this; - } - - /** - * Get conteineres - * - * @return conteineres - **/ - @JsonProperty("conteineres") - @NotNull - public Conteineres getConteineres() { - return conteineres; - } - - public void setConteineres(Conteineres conteineres) { - this.conteineres = conteineres; - } - - public Nfe conteineres(Conteineres conteineres) { - this.conteineres = conteineres; - return this; - } - - - @Override - public String toString() { - - String sb = "class Nfe {\n" + - " chaveAcesso: " + toIndentedString(chaveAcesso) + "\n" + - " conteineres: " + toIndentedString(conteineres) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Nfes.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Nfes.java deleted file mode 100644 index 3879db4..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Nfes.java +++ /dev/null @@ -1,83 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "Nfes", propOrder = - {"nfe" - }) - -@XmlRootElement(name = "Nfes") -/** - * Lista das notas fiscais eletrônicas - **/ -@ApiModel(description = "Lista das notas fiscais eletrônicas") -public class Nfes { - - @XmlElement(name = "nfe", required = true) - @ApiModelProperty(required = true, value = "Lista das notas fiscais eletrônicas") - @Valid - /** - * Lista das notas fiscais eletrônicas - **/ - private List nfe = new ArrayList<>(); - - /** - * Lista das notas fiscais eletrônicas - * - * @return nfe - **/ - @JsonProperty("nfe") - @NotNull - public List getNfe() { - return nfe; - } - - public void setNfe(List nfe) { - this.nfe = nfe; - } - - public Nfes nfe(List nfe) { - this.nfe = nfe; - return this; - } - - public Nfes addNfeItem(Nfe nfeItem) { - this.nfe.add(nfeItem); - return this; - } - - - @Override - public String toString() { - - String sb = "class Nfes {\n" + - " nfe: " + toIndentedString(nfe) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/OutroModal.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/OutroModal.java new file mode 100644 index 0000000..f0a266e --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/OutroModal.java @@ -0,0 +1,180 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "OutroModal", propOrder = + { "codigoTipoModal", "identificacaoVeiculo", "numeroDocumentoTransporte", "dataEmissaoDocumentoTransporte", "dadosDocumentoTransporte" +}) + +@XmlRootElement(name="OutroModal") +/** + * Dados para veículos de outros modais + **/ +@ApiModel(description="Dados para veículos de outros modais") +public class OutroModal { + + @XmlElement(name="codigoTipoModal", required = true) + @ApiModelProperty(example = "01", required = true, value = "Código do tipo de modal
Tamanho: 2
Formato: ((") + /** + * Código do tipo de modal
Tamanho: 2
Formato: (( + **/ + private String codigoTipoModal = null; + + @XmlElement(name="identificacaoVeiculo", required = true) + @ApiModelProperty(example = "BLT1230", required = true, value = "Identificacao Veículo
Tamanho: 15
Formato: AAAAAAAAAAAAAAA") + /** + * Identificacao Veículo
Tamanho: 15
Formato: AAAAAAAAAAAAAAA + **/ + private String identificacaoVeiculo = null; + + @XmlElement(name="numeroDocumentoTransporte", required = true) + @ApiModelProperty(example = "15573459", required = true, value = "Número do documento de transporte
Tamanho mínimo: 5
Tamanho máximo: 15") + /** + * Número do documento de transporte
Tamanho mínimo: 5
Tamanho máximo: 15 + **/ + private String numeroDocumentoTransporte = null; + + @XmlElement(name="dataEmissaoDocumentoTransporte", required = true) + @ApiModelProperty(example = "2016-12-19", required = true, value = "Data de emissao do documento de transporte
Formato: AAAA-MM-DD") + /** + * Data de emissao do documento de transporte
Formato: AAAA-MM-DD + **/ + private String dataEmissaoDocumentoTransporte = null; + + @XmlElement(name="dadosDocumentoTransporte", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private DadosDocumentoTransporte dadosDocumentoTransporte = null; + /** + * Código do tipo de modal<br>Tamanho: 2<br>Formato: (( + * @return codigoTipoModal + **/ + @JsonProperty("codigoTipoModal") + @NotNull + public String getCodigoTipoModal() { + return codigoTipoModal; + } + + public void setCodigoTipoModal(String codigoTipoModal) { + this.codigoTipoModal = codigoTipoModal; + } + + public OutroModal codigoTipoModal(String codigoTipoModal) { + this.codigoTipoModal = codigoTipoModal; + return this; + } + + /** + * Identificacao Veículo<br>Tamanho: 15<br>Formato: AAAAAAAAAAAAAAA + * @return identificacaoVeiculo + **/ + @JsonProperty("identificacaoVeiculo") + @NotNull + public String getIdentificacaoVeiculo() { + return identificacaoVeiculo; + } + + public void setIdentificacaoVeiculo(String identificacaoVeiculo) { + this.identificacaoVeiculo = identificacaoVeiculo; + } + + public OutroModal identificacaoVeiculo(String identificacaoVeiculo) { + this.identificacaoVeiculo = identificacaoVeiculo; + return this; + } + + /** + * Número do documento de transporte<br>Tamanho mínimo: 5<br>Tamanho máximo: 15 + * @return numeroDocumentoTransporte + **/ + @JsonProperty("numeroDocumentoTransporte") + @NotNull + public String getNumeroDocumentoTransporte() { + return numeroDocumentoTransporte; + } + + public void setNumeroDocumentoTransporte(String numeroDocumentoTransporte) { + this.numeroDocumentoTransporte = numeroDocumentoTransporte; + } + + public OutroModal numeroDocumentoTransporte(String numeroDocumentoTransporte) { + this.numeroDocumentoTransporte = numeroDocumentoTransporte; + return this; + } + + /** + * Data de emissao do documento de transporte<br>Formato: AAAA-MM-DD + * @return dataEmissaoDocumentoTransporte + **/ + @JsonProperty("dataEmissaoDocumentoTransporte") + @NotNull + public String getDataEmissaoDocumentoTransporte() { + return dataEmissaoDocumentoTransporte; + } + + public void setDataEmissaoDocumentoTransporte(String dataEmissaoDocumentoTransporte) { + this.dataEmissaoDocumentoTransporte = dataEmissaoDocumentoTransporte; + } + + public OutroModal dataEmissaoDocumentoTransporte(String dataEmissaoDocumentoTransporte) { + this.dataEmissaoDocumentoTransporte = dataEmissaoDocumentoTransporte; + return this; + } + + /** + * Get dadosDocumentoTransporte + * @return dadosDocumentoTransporte + **/ + @JsonProperty("dadosDocumentoTransporte") + @NotNull + public DadosDocumentoTransporte getDadosDocumentoTransporte() { + return dadosDocumentoTransporte; + } + + public void setDadosDocumentoTransporte(DadosDocumentoTransporte dadosDocumentoTransporte) { + this.dadosDocumentoTransporte = dadosDocumentoTransporte; + } + + public OutroModal dadosDocumentoTransporte(DadosDocumentoTransporte dadosDocumentoTransporte) { + this.dadosDocumentoTransporte = dadosDocumentoTransporte; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OutroModal {\n"); + + sb.append(" codigoTipoModal: ").append(toIndentedString(codigoTipoModal)).append("\n"); + sb.append(" identificacaoVeiculo: ").append(toIndentedString(identificacaoVeiculo)).append("\n"); + sb.append(" numeroDocumentoTransporte: ").append(toIndentedString(numeroDocumentoTransporte)).append("\n"); + sb.append(" dataEmissaoDocumentoTransporte: ").append(toIndentedString(dataEmissaoDocumentoTransporte)).append("\n"); + sb.append(" dadosDocumentoTransporte: ").append(toIndentedString(dadosDocumentoTransporte)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RecepcaoDocumentoTransporte.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RecepcaoDocumentoTransporte.java index 4decc6f..788f6ba 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RecepcaoDocumentoTransporte.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RecepcaoDocumentoTransporte.java @@ -65,7 +65,7 @@ public class RecepcaoDocumentoTransporte { /** * Dados dos documentos de transporte **/ - private List documentosTransporte = new ArrayList<>(); + private List documentosTransporte = new ArrayList<>(); @XmlElement(name = "transportador", required = true) @ApiModelProperty(required = true, value = "") @@ -211,20 +211,20 @@ public RecepcaoDocumentoTransporte referenciaLocalRecepcao(String referenciaLoca **/ @JsonProperty("documentosTransporte") @NotNull - public List getDocumentosTransporte() { + public List getDocumentosTransporte() { return documentosTransporte; } - public void setDocumentosTransporte(List documentosTransporte) { + public void setDocumentosTransporte(List documentosTransporte) { this.documentosTransporte = documentosTransporte; } - public RecepcaoDocumentoTransporte documentosTransporte(List documentosTransporte) { + public RecepcaoDocumentoTransporte documentosTransporte(List documentosTransporte) { this.documentosTransporte = documentosTransporte; return this; } - public RecepcaoDocumentoTransporte addDocumentosTransporteItem(DocumentosTransporte documentosTransporteItem) { + public RecepcaoDocumentoTransporte addDocumentosTransporteItem(DocumentoTransporteCover documentosTransporteItem) { this.documentosTransporte.add(documentosTransporteItem); return this; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Remetente.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Remetente.java deleted file mode 100644 index 04682da..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Remetente.java +++ /dev/null @@ -1,180 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "Remetente", propOrder = - {"numeroCpf", "numeroCnpj", "nome", "endereco", "registroFiscal" - }) - -@XmlRootElement(name = "Remetente") -/** - * Dados do remetente - **/ -@ApiModel(description = "Dados do remetente") -public class Remetente { - - @XmlElement(name = "numeroCpf") - @ApiModelProperty(example = "12345678901", value = "CPF do remetente
Tamanho: 11
Formato: NNNNNNNNNNN
Informado e obrigatório para remetente brasileiro, e o CNPJ não foi informado.") - /** - * CPF do remetente
Tamanho: 11
Formato: NNNNNNNNNNN
Informado e obrigatório para remetente brasileiro, e o CNPJ não foi informado. - **/ - private String numeroCpf = null; - - @XmlElement(name = "numeroCnpj") - @ApiModelProperty(example = "12345678901234", value = "CNPJ do remetente
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório para remetente brasileiro, e o CPF não foi informado.") - /** - * CNPJ do remetente
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório para remetente brasileiro, e o CPF não foi informado. - **/ - private String numeroCnpj = null; - - @XmlElement(name = "nome") - @ApiModelProperty(example = "Nome do remetente estrangeiro", value = "Nome do remetente estrangeiro
Tamanho: 60
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao nome do remetente estrangeiro.") - /** - * Nome do remetente estrangeiro
Tamanho: 60
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao nome do remetente estrangeiro. - **/ - private String nome = null; - - @XmlElement(name = "endereco") - @ApiModelProperty(example = "Endereço do remetente estrangeiro", value = "Endereço do remetente estrangeiro
Tamanho: 120
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao endereço do remetente estrangeiro.") - /** - * Endereço do remetente estrangeiro
Tamanho: 120
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao endereço do remetente estrangeiro. - **/ - private String endereco = null; - - @XmlElement(name = "registroFiscal") - @ApiModelProperty(value = "Registro Fiscal do Remetente") - /** - * Registro Fiscal do Remetente - **/ - private String registroFiscal = null; - - /** - * CPF do remetente<br>Tamanho: 11<br>Formato: NNNNNNNNNNN<br>Informado e obrigatório para remetente brasileiro, e o CNPJ não foi informado. - * - * @return numeroCpf - **/ - @JsonProperty("numeroCpf") - public String getNumeroCpf() { - return numeroCpf; - } - - public void setNumeroCpf(String numeroCpf) { - this.numeroCpf = numeroCpf; - } - - public Remetente numeroCpf(String numeroCpf) { - this.numeroCpf = numeroCpf; - return this; - } - - /** - * CNPJ do remetente<br>Tamanho: 14<br>Formato: NNNNNNNNNNNNNN<br>Informado e obrigatório para remetente brasileiro, e o CPF não foi informado. - * - * @return numeroCnpj - **/ - @JsonProperty("numeroCnpj") - public String getNumeroCnpj() { - return numeroCnpj; - } - - public void setNumeroCnpj(String numeroCnpj) { - this.numeroCnpj = numeroCnpj; - } - - public Remetente numeroCnpj(String numeroCnpj) { - this.numeroCnpj = numeroCnpj; - return this; - } - - /** - * Nome do remetente estrangeiro<br>Tamanho: 60<br>Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao nome do remetente estrangeiro. - * - * @return nome - **/ - @JsonProperty("nome") - public String getNome() { - return nome; - } - - public void setNome(String nome) { - this.nome = nome; - } - - public Remetente nome(String nome) { - this.nome = nome; - return this; - } - - /** - * Endereço do remetente estrangeiro<br> Tamanho: 120<br>Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao endereço do remetente estrangeiro. - * - * @return endereco - **/ - @JsonProperty("endereco") - public String getEndereco() { - return endereco; - } - - public void setEndereco(String endereco) { - this.endereco = endereco; - } - - public Remetente endereco(String endereco) { - this.endereco = endereco; - return this; - } - - /** - * Registro Fiscal do Remetente - * - * @return registroFiscal - **/ - @JsonProperty("registroFiscal") - public String getRegistroFiscal() { - return registroFiscal; - } - - public void setRegistroFiscal(String registroFiscal) { - this.registroFiscal = registroFiscal; - } - - public Remetente registroFiscal(String registroFiscal) { - this.registroFiscal = registroFiscal; - return this; - } - - - @Override - public String toString() { - - String sb = "class Remetente {\n" + - " numeroCpf: " + toIndentedString(numeroCpf) + "\n" + - " numeroCnpj: " + toIndentedString(numeroCnpj) + "\n" + - " nome: " + toIndentedString(nome) + "\n" + - " endereco: " + toIndentedString(endereco) + "\n" + - " registroFiscal: " + toIndentedString(registroFiscal) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ResultadoConsultaConteiner.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ResultadoConsultaConteiner.java index 9a3591d..3c95b85 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ResultadoConsultaConteiner.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ResultadoConsultaConteiner.java @@ -67,7 +67,7 @@ public class ResultadoConsultaConteiner { @XmlElement(name = "documentosTransporte") @ApiModelProperty(value = "") @Valid - private List documentosTransporte = null; + private List documentosTransporte = null; @XmlElement(name = "permiteMovimentacao") @ApiModelProperty(example = "true", value = "") @@ -203,20 +203,20 @@ public ResultadoConsultaConteiner addDocumentosCargaItem(DocumentosCarga documen * @return documentosTransporte **/ @JsonProperty("documentosTransporte") - public List getDocumentosTransporte() { + public List getDocumentosTransporte() { return documentosTransporte; } - public void setDocumentosTransporte(List documentosTransporte) { + public void setDocumentosTransporte(List documentosTransporte) { this.documentosTransporte = documentosTransporte; } - public ResultadoConsultaConteiner documentosTransporte(List documentosTransporte) { + public ResultadoConsultaConteiner documentosTransporte(List documentosTransporte) { this.documentosTransporte = documentosTransporte; return this; } - public ResultadoConsultaConteiner addDocumentosTransporteItem(DocumentosTransporte documentosTransporteItem) { + public ResultadoConsultaConteiner addDocumentosTransporteItem(DocumentoTransporteDTO documentosTransporteItem) { this.documentosTransporte.add(documentosTransporteItem); return this; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RetornoConsulta.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RetornoConsulta.java index c604c21..8154cef 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RetornoConsulta.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RetornoConsulta.java @@ -79,7 +79,7 @@ public class RetornoConsulta { /** * Número documento de transporte
Tamanho mínimo: 5
Tamanho máximo: 15 **/ - private List documentosDeTransporte = null; + private List documentosDeTransporte = null; @XmlElement(name = "listaCargasSoltasVeiculos") @ApiModelProperty(value = "") @@ -235,20 +235,20 @@ public RetornoConsulta addConteineresItem(String conteineresItem) { * @return documentosDeTransporte **/ @JsonProperty("documentosDeTransporte") - public List getDocumentosDeTransporte() { + public List getDocumentosDeTransporte() { return documentosDeTransporte; } - public void setDocumentosDeTransporte(List documentosDeTransporte) { + public void setDocumentosDeTransporte(List documentosDeTransporte) { this.documentosDeTransporte = documentosDeTransporte; } - public RetornoConsulta documentosDeTransporte(List documentosDeTransporte) { + public RetornoConsulta documentosDeTransporte(List documentosDeTransporte) { this.documentosDeTransporte = documentosDeTransporte; return this; } - public RetornoConsulta addDocumentosDeTransporteItem(DocumentosTransporte documentosDeTransporteItem) { + public RetornoConsulta addDocumentosDeTransporteItem(DocumentoTransporteDTO documentosDeTransporteItem) { this.documentosDeTransporte.add(documentosDeTransporteItem); return this; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Rota.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Rota.java deleted file mode 100644 index da52227..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Rota.java +++ /dev/null @@ -1,297 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import java.math.BigDecimal; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "Rota", propOrder = - {"tempoPercurso", "descricaoRota", "codigoCidadeEntrada", "codigoAduanaEntrada", "codigoLugarOperativoEntrada", "codigoCidadeDestino", "codigoAduanaDestino", "codigoLugarOperativoDestino", "rotasPassagem" - }) - -@XmlRootElement(name = "Rota") -/** - * Rotas Internacionais - **/ -@ApiModel(description = "Rotas Internacionais") -public class Rota { - - @XmlElement(name = "tempoPercurso", required = true) - @ApiModelProperty(example = "100.0", required = true, value = "Prazo Aduana origem-destino horas.
Tamanho: 3
Formato: NNN") - @Valid - /** - * Prazo Aduana origem-destino horas.
Tamanho: 3
Formato: NNN - **/ - private BigDecimal tempoPercurso = null; - - @XmlElement(name = "descricaoRota", required = true) - @ApiModelProperty(example = "Teste Descrição", required = true, value = "Descrição da rota de trânsito internacional.
Tamanho: 500
Formato: AAA..AA") - /** - * Descrição da rota de trânsito internacional.
Tamanho: 500
Formato: AAA..AA - **/ - private String descricaoRota = null; - - @XmlElement(name = "codigoCidadeEntrada", required = true) - @ApiModelProperty(example = "30", required = true, value = "Cidade de entrada (UNLOCODE).
Tamanho: 5
Formato: AAAAA") - /** - * Cidade de entrada (UNLOCODE).
Tamanho: 5
Formato: AAAAA - **/ - private String codigoCidadeEntrada = null; - - @XmlElement(name = "codigoAduanaEntrada", required = true) - @ApiModelProperty(example = "222", required = true, value = "Aduana de entrada (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA") - /** - * Aduana de entrada (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA - **/ - private String codigoAduanaEntrada = null; - - @XmlElement(name = "codigoLugarOperativoEntrada", required = true) - @ApiModelProperty(example = "1234567", required = true, value = "Lugar operativo de entrada (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA") - /** - * Lugar operativo de entrada (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA - **/ - private String codigoLugarOperativoEntrada = null; - - @XmlElement(name = "codigoCidadeDestino", required = true) - @ApiModelProperty(example = "20", required = true, value = "Cidade de destino (UNLOCODE).
Tamanho: 5
Formato: AAAAA") - /** - * Cidade de destino (UNLOCODE).
Tamanho: 5
Formato: AAAAA - **/ - private String codigoCidadeDestino = null; - - @XmlElement(name = "codigoAduanaDestino", required = true) - @ApiModelProperty(example = "333", required = true, value = "Aduana de destino (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA") - /** - * Aduana de destino (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA - **/ - private String codigoAduanaDestino = null; - - @XmlElement(name = "codigoLugarOperativoDestino", required = true) - @ApiModelProperty(example = "1234567", required = true, value = "Lugar operativo de destino (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA") - /** - * Lugar operativo de destino (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA - **/ - private String codigoLugarOperativoDestino = null; - - @XmlElement(name = "rotasPassagem") - @ApiModelProperty(value = "") - @Valid - private RotasPassagem rotasPassagem = null; - - /** - * Prazo Aduana origem-destino horas.<br>Tamanho: 3<br>Formato: NNN - * - * @return tempoPercurso - **/ - @JsonProperty("tempoPercurso") - @NotNull - public BigDecimal getTempoPercurso() { - return tempoPercurso; - } - - public void setTempoPercurso(BigDecimal tempoPercurso) { - this.tempoPercurso = tempoPercurso; - } - - public Rota tempoPercurso(BigDecimal tempoPercurso) { - this.tempoPercurso = tempoPercurso; - return this; - } - - /** - * Descrição da rota de trânsito internacional.<br>Tamanho: 500<br>Formato: AAA..AA - * - * @return descricaoRota - **/ - @JsonProperty("descricaoRota") - @NotNull - public String getDescricaoRota() { - return descricaoRota; - } - - public void setDescricaoRota(String descricaoRota) { - this.descricaoRota = descricaoRota; - } - - public Rota descricaoRota(String descricaoRota) { - this.descricaoRota = descricaoRota; - return this; - } - - /** - * Cidade de entrada (UNLOCODE).<br>Tamanho: 5<br>Formato: AAAAA - * - * @return codigoCidadeEntrada - **/ - @JsonProperty("codigoCidadeEntrada") - @NotNull - public String getCodigoCidadeEntrada() { - return codigoCidadeEntrada; - } - - public void setCodigoCidadeEntrada(String codigoCidadeEntrada) { - this.codigoCidadeEntrada = codigoCidadeEntrada; - } - - public Rota codigoCidadeEntrada(String codigoCidadeEntrada) { - this.codigoCidadeEntrada = codigoCidadeEntrada; - return this; - } - - /** - * Aduana de entrada (ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA - * - * @return codigoAduanaEntrada - **/ - @JsonProperty("codigoAduanaEntrada") - @NotNull - public String getCodigoAduanaEntrada() { - return codigoAduanaEntrada; - } - - public void setCodigoAduanaEntrada(String codigoAduanaEntrada) { - this.codigoAduanaEntrada = codigoAduanaEntrada; - } - - public Rota codigoAduanaEntrada(String codigoAduanaEntrada) { - this.codigoAduanaEntrada = codigoAduanaEntrada; - return this; - } - - /** - * Lugar operativo de entrada (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA - * - * @return codigoLugarOperativoEntrada - **/ - @JsonProperty("codigoLugarOperativoEntrada") - @NotNull - public String getCodigoLugarOperativoEntrada() { - return codigoLugarOperativoEntrada; - } - - public void setCodigoLugarOperativoEntrada(String codigoLugarOperativoEntrada) { - this.codigoLugarOperativoEntrada = codigoLugarOperativoEntrada; - } - - public Rota codigoLugarOperativoEntrada(String codigoLugarOperativoEntrada) { - this.codigoLugarOperativoEntrada = codigoLugarOperativoEntrada; - return this; - } - - /** - * Cidade de destino (UNLOCODE).<br>Tamanho: 5<br>Formato: AAAAA - * - * @return codigoCidadeDestino - **/ - @JsonProperty("codigoCidadeDestino") - @NotNull - public String getCodigoCidadeDestino() { - return codigoCidadeDestino; - } - - public void setCodigoCidadeDestino(String codigoCidadeDestino) { - this.codigoCidadeDestino = codigoCidadeDestino; - } - - public Rota codigoCidadeDestino(String codigoCidadeDestino) { - this.codigoCidadeDestino = codigoCidadeDestino; - return this; - } - - /** - * Aduana de destino (ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA - * - * @return codigoAduanaDestino - **/ - @JsonProperty("codigoAduanaDestino") - @NotNull - public String getCodigoAduanaDestino() { - return codigoAduanaDestino; - } - - public void setCodigoAduanaDestino(String codigoAduanaDestino) { - this.codigoAduanaDestino = codigoAduanaDestino; - } - - public Rota codigoAduanaDestino(String codigoAduanaDestino) { - this.codigoAduanaDestino = codigoAduanaDestino; - return this; - } - - /** - * Lugar operativo de destino (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA - * - * @return codigoLugarOperativoDestino - **/ - @JsonProperty("codigoLugarOperativoDestino") - @NotNull - public String getCodigoLugarOperativoDestino() { - return codigoLugarOperativoDestino; - } - - public void setCodigoLugarOperativoDestino(String codigoLugarOperativoDestino) { - this.codigoLugarOperativoDestino = codigoLugarOperativoDestino; - } - - public Rota codigoLugarOperativoDestino(String codigoLugarOperativoDestino) { - this.codigoLugarOperativoDestino = codigoLugarOperativoDestino; - return this; - } - - /** - * Get rotasPassagem - * @return rotasPassagem - **/ - @JsonProperty("rotasPassagem") - public RotasPassagem getRotasPassagem() { - return rotasPassagem; - } - - public void setRotasPassagem(RotasPassagem rotasPassagem) { - this.rotasPassagem = rotasPassagem; - } - - public Rota rotasPassagem(RotasPassagem rotasPassagem) { - this.rotasPassagem = rotasPassagem; - return this; - } - - - @Override - public String toString() { - - String sb = "class Rota {\n" + - " tempoPercurso: " + toIndentedString(tempoPercurso) + "\n" + - " descricaoRota: " + toIndentedString(descricaoRota) + "\n" + - " codigoCidadeEntrada: " + toIndentedString(codigoCidadeEntrada) + "\n" + - " codigoAduanaEntrada: " + toIndentedString(codigoAduanaEntrada) + "\n" + - " codigoLugarOperativoEntrada: " + toIndentedString(codigoLugarOperativoEntrada) + "\n" + - " codigoCidadeDestino: " + toIndentedString(codigoCidadeDestino) + "\n" + - " codigoAduanaDestino: " + toIndentedString(codigoAduanaDestino) + "\n" + - " codigoLugarOperativoDestino: " + toIndentedString(codigoLugarOperativoDestino) + "\n" + - " rotasPassagem: " + toIndentedString(rotasPassagem) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RotaPassagem.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RotaPassagem.java deleted file mode 100644 index 57b36d5..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RotaPassagem.java +++ /dev/null @@ -1,264 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import java.math.BigDecimal; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RotaPassagem", propOrder = - {"codigoPais", "codigoCidadeEntrada", "codigoAduanaEntrada", "codigoLugarOperativoEntrada", "codigoCidadeSaida", "codigoAduanaSaida", "codigoLugarOperativoSaida", "ordemPrecedencia" - }) - -@XmlRootElement(name = "RotaPassagem") -/** - * Rotas de Passagem - **/ -@ApiModel(description = "Rotas de Passagem") -public class RotaPassagem { - - @XmlElement(name = "codigoPais") - @ApiModelProperty(example = "BR", value = "País de passagem.
Tamanho: 2
Formato: AA") - /** - * País de passagem.
Tamanho: 2
Formato: AA - **/ - private String codigoPais = null; - - @XmlElement(name = "codigoCidadeEntrada") - @ApiModelProperty(example = "30", value = "Cidade de entrada (UNLOCODE).
Tamanho: 5
Formato: AAAAA") - /** - * Cidade de entrada (UNLOCODE).
Tamanho: 5
Formato: AAAAA - **/ - private String codigoCidadeEntrada = null; - - @XmlElement(name = "codigoAduanaEntrada") - @ApiModelProperty(example = "555", value = "Aduana de entrada (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA") - /** - * Aduana de entrada (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA - **/ - private String codigoAduanaEntrada = null; - - @XmlElement(name = "codigoLugarOperativoEntrada") - @ApiModelProperty(example = "1234567", value = "Lugar operativo de entrada (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA") - /** - * Lugar operativo de entrada (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA - **/ - private String codigoLugarOperativoEntrada = null; - - @XmlElement(name = "codigoCidadeSaida") - @ApiModelProperty(example = "10", value = "Cidade de saída (UNLOCODE).
Tamanho: 5
Formato: AAAAA") - /** - * Cidade de saída (UNLOCODE).
Tamanho: 5
Formato: AAAAA - **/ - private String codigoCidadeSaida = null; - - @XmlElement(name = "codigoAduanaSaida") - @ApiModelProperty(example = "444", value = "Aduana de saída (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA") - /** - * Aduana de saída (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA - **/ - private String codigoAduanaSaida = null; - - @XmlElement(name = "codigoLugarOperativoSaida") - @ApiModelProperty(example = "1234567", value = "Lugar operativo de saída (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA") - /** - * Lugar operativo de saída (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA - **/ - private String codigoLugarOperativoSaida = null; - - @XmlElement(name = "ordemPrecedencia") - @ApiModelProperty(example = "1.0", value = "Ordem de precedência.
Tamanho: 1
Formato: N") - @Valid - /** - * Ordem de precedência.
Tamanho: 1
Formato: N - **/ - private BigDecimal ordemPrecedencia = null; - - /** - * País de passagem.<br>Tamanho: 2<br>Formato: AA - * - * @return codigoPais - **/ - @JsonProperty("codigoPais") - public String getCodigoPais() { - return codigoPais; - } - - public void setCodigoPais(String codigoPais) { - this.codigoPais = codigoPais; - } - - public RotaPassagem codigoPais(String codigoPais) { - this.codigoPais = codigoPais; - return this; - } - - /** - * Cidade de entrada (UNLOCODE).<br>Tamanho: 5<br>Formato: AAAAA - * - * @return codigoCidadeEntrada - **/ - @JsonProperty("codigoCidadeEntrada") - public String getCodigoCidadeEntrada() { - return codigoCidadeEntrada; - } - - public void setCodigoCidadeEntrada(String codigoCidadeEntrada) { - this.codigoCidadeEntrada = codigoCidadeEntrada; - } - - public RotaPassagem codigoCidadeEntrada(String codigoCidadeEntrada) { - this.codigoCidadeEntrada = codigoCidadeEntrada; - return this; - } - - /** - * Aduana de entrada (ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA - * - * @return codigoAduanaEntrada - **/ - @JsonProperty("codigoAduanaEntrada") - public String getCodigoAduanaEntrada() { - return codigoAduanaEntrada; - } - - public void setCodigoAduanaEntrada(String codigoAduanaEntrada) { - this.codigoAduanaEntrada = codigoAduanaEntrada; - } - - public RotaPassagem codigoAduanaEntrada(String codigoAduanaEntrada) { - this.codigoAduanaEntrada = codigoAduanaEntrada; - return this; - } - - /** - * Lugar operativo de entrada (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA - * - * @return codigoLugarOperativoEntrada - **/ - @JsonProperty("codigoLugarOperativoEntrada") - public String getCodigoLugarOperativoEntrada() { - return codigoLugarOperativoEntrada; - } - - public void setCodigoLugarOperativoEntrada(String codigoLugarOperativoEntrada) { - this.codigoLugarOperativoEntrada = codigoLugarOperativoEntrada; - } - - public RotaPassagem codigoLugarOperativoEntrada(String codigoLugarOperativoEntrada) { - this.codigoLugarOperativoEntrada = codigoLugarOperativoEntrada; - return this; - } - - /** - * Cidade de saída (UNLOCODE).<br>Tamanho: 5<br>Formato: AAAAA - * - * @return codigoCidadeSaida - **/ - @JsonProperty("codigoCidadeSaida") - public String getCodigoCidadeSaida() { - return codigoCidadeSaida; - } - - public void setCodigoCidadeSaida(String codigoCidadeSaida) { - this.codigoCidadeSaida = codigoCidadeSaida; - } - - public RotaPassagem codigoCidadeSaida(String codigoCidadeSaida) { - this.codigoCidadeSaida = codigoCidadeSaida; - return this; - } - - /** - * Aduana de saída (ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA - * - * @return codigoAduanaSaida - **/ - @JsonProperty("codigoAduanaSaida") - public String getCodigoAduanaSaida() { - return codigoAduanaSaida; - } - - public void setCodigoAduanaSaida(String codigoAduanaSaida) { - this.codigoAduanaSaida = codigoAduanaSaida; - } - - public RotaPassagem codigoAduanaSaida(String codigoAduanaSaida) { - this.codigoAduanaSaida = codigoAduanaSaida; - return this; - } - - /** - * Lugar operativo de saída (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA - * - * @return codigoLugarOperativoSaida - **/ - @JsonProperty("codigoLugarOperativoSaida") - public String getCodigoLugarOperativoSaida() { - return codigoLugarOperativoSaida; - } - - public void setCodigoLugarOperativoSaida(String codigoLugarOperativoSaida) { - this.codigoLugarOperativoSaida = codigoLugarOperativoSaida; - } - - public RotaPassagem codigoLugarOperativoSaida(String codigoLugarOperativoSaida) { - this.codigoLugarOperativoSaida = codigoLugarOperativoSaida; - return this; - } - - /** - * Ordem de precedência.<br>Tamanho: 1<br>Formato: N - * - * @return ordemPrecedencia - **/ - @JsonProperty("ordemPrecedencia") - public BigDecimal getOrdemPrecedencia() { - return ordemPrecedencia; - } - - public void setOrdemPrecedencia(BigDecimal ordemPrecedencia) { - this.ordemPrecedencia = ordemPrecedencia; - } - - public RotaPassagem ordemPrecedencia(BigDecimal ordemPrecedencia) { - this.ordemPrecedencia = ordemPrecedencia; - return this; - } - - - @Override - public String toString() { - - String sb = "class RotaPassagem {\n" + - " codigoPais: " + toIndentedString(codigoPais) + "\n" + - " codigoCidadeEntrada: " + toIndentedString(codigoCidadeEntrada) + "\n" + - " codigoAduanaEntrada: " + toIndentedString(codigoAduanaEntrada) + "\n" + - " codigoLugarOperativoEntrada: " + toIndentedString(codigoLugarOperativoEntrada) + "\n" + - " codigoCidadeSaida: " + toIndentedString(codigoCidadeSaida) + "\n" + - " codigoAduanaSaida: " + toIndentedString(codigoAduanaSaida) + "\n" + - " codigoLugarOperativoSaida: " + toIndentedString(codigoLugarOperativoSaida) + "\n" + - " ordemPrecedencia: " + toIndentedString(ordemPrecedencia) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RotasPassagem.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RotasPassagem.java deleted file mode 100644 index ab2cc8e..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RotasPassagem.java +++ /dev/null @@ -1,80 +0,0 @@ -package br.gov.siscomex.portalunico.cct_ext.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import java.util.List; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RotasPassagem", propOrder = - {"rotaPassagem" - }) - -@XmlRootElement(name = "RotasPassagem") -/** - * Rotas de Passagem - **/ -@ApiModel(description = "Rotas de Passagem") -public class RotasPassagem { - - @XmlElement(name = "rotaPassagem") - @ApiModelProperty(value = "Rotas de Passagem") - @Valid - /** - * Rotas de Passagem - **/ - private List rotaPassagem = null; - - /** - * Rotas de Passagem - * - * @return rotaPassagem - **/ - @JsonProperty("rotaPassagem") - public List getRotaPassagem() { - return rotaPassagem; - } - - public void setRotaPassagem(List rotaPassagem) { - this.rotaPassagem = rotaPassagem; - } - - public RotasPassagem rotaPassagem(List rotaPassagem) { - this.rotaPassagem = rotaPassagem; - return this; - } - - public RotasPassagem addRotaPassagemItem(RotaPassagem rotaPassagemItem) { - this.rotaPassagem.add(rotaPassagemItem); - return this; - } - - - @Override - public String toString() { - - String sb = "class RotasPassagem {\n" + - " rotaPassagem: " + toIndentedString(rotaPassagem) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/TransporteProprio.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/TransporteProprio.java new file mode 100644 index 0000000..56bbac5 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/TransporteProprio.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "TransporteProprio", propOrder = + { "consignatario" +}) + +@XmlRootElement(name="TransporteProprio") +/** + * Dados do transporte próprio + **/ +@ApiModel(description="Dados do transporte próprio") +public class TransporteProprio { + + @XmlElement(name="consignatario", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private Consignatario consignatario = null; + /** + * Get consignatario + * @return consignatario + **/ + @JsonProperty("consignatario") + @NotNull + public Consignatario getConsignatario() { + return consignatario; + } + + public void setConsignatario(Consignatario consignatario) { + this.consignatario = consignatario; + } + + public TransporteProprio consignatario(Consignatario consignatario) { + this.consignatario = consignatario; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransporteProprio {\n"); + + sb.append(" consignatario: ").append(toIndentedString(consignatario)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Veiculo.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Veiculo.java index 23d2966..4a383a5 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Veiculo.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Veiculo.java @@ -4,79 +4,49 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import javax.validation.constraints.NotNull; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; -import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Veiculo", propOrder = - {"placa", "lacres" + {"chassi" }) @XmlRootElement(name = "Veiculo") /** - * Dados do veículo + * Dados informados para carga do tipo veículos **/ -@ApiModel(description = "Dados do veículo") +@ApiModel(description = "Dados informados para carga do tipo veículos") public class Veiculo { - @XmlElement(name = "placa") - @ApiModelProperty(example = "TTT1234", value = "Placa do veículo
Tamanho: 15") + @XmlElement(name = "chassi", required = true) + @ApiModelProperty(example = "9BWZZZ377VT004251 ", required = true, value = "Chassi do veículo
Tamanho: 20") /** - * Placa do veículo
Tamanho: 15 + * Chassi do veículo
Tamanho: 20 **/ - private String placa = null; + private String chassi = null; - @XmlElement(name = "lacres") - @ApiModelProperty(example = "[12345,54321]", value = "Lista com os códigos dos lacres vinculados ao veículo
Tamanho de cada lacre: 15") /** - * Lista com os códigos dos lacres vinculados ao veículo
Tamanho de cada lacre: 15 - **/ - private List lacres = null; - - /** - * Placa do veículo<br>Tamanho: 15 - * - * @return placa - **/ - @JsonProperty("placa") - public String getPlaca() { - return placa; - } - - public void setPlaca(String placa) { - this.placa = placa; - } - - public Veiculo placa(String placa) { - this.placa = placa; - return this; - } - - /** - * Lista com os códigos dos lacres vinculados ao veículo<br>Tamanho de cada lacre: 15 + * Chassi do veículo<br>Tamanho: 20 * - * @return lacres + * @return chassi **/ - @JsonProperty("lacres") - public List getLacres() { - return lacres; - } - - public void setLacres(List lacres) { - this.lacres = lacres; + @JsonProperty("chassi") + @NotNull + public String getChassi() { + return chassi; } - public Veiculo lacres(List lacres) { - this.lacres = lacres; - return this; + public void setChassi(String chassi) { + this.chassi = chassi; } - public Veiculo addLacresItem(String lacresItem) { - this.lacres.add(lacresItem); + public Veiculo chassi(String chassi) { + this.chassi = chassi; return this; } @@ -85,8 +55,7 @@ public Veiculo addLacresItem(String lacresItem) { public String toString() { String sb = "class Veiculo {\n" + - " placa: " + toIndentedString(placa) + "\n" + - " lacres: " + toIndentedString(lacres) + "\n" + + " chassi: " + toIndentedString(chassi) + "\n" + "}"; return sb; } diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoAereo.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoAereo.java new file mode 100644 index 0000000..577df1e --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoAereo.java @@ -0,0 +1,154 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "VeiculoAereo", propOrder = + { "codigoTipoModal", "prefixoAeronave", "numeroVoo", "dataPartidaProcedencia" +}) + +@XmlRootElement(name="VeiculoAereo") +/** + * Dados do veículo aéreo + **/ +@ApiModel(description="Dados do veículo aéreo") +public class VeiculoAereo { + + @XmlElement(name="codigoTipoModal", required = true) + @ApiModelProperty(example = "04", required = true, value = "Codigo do tipo de modal
Tamanho: 2
Formato: NN") + /** + * Codigo do tipo de modal
Tamanho: 2
Formato: NN + **/ + private String codigoTipoModal = null; + + @XmlElement(name="prefixoAeronave", required = true) + @ApiModelProperty(example = "LMF1203", required = true, value = "Prefixo aeronave
Tamanho: 15
Formato: AAAAAAAAAAAAAAA") + /** + * Prefixo aeronave
Tamanho: 15
Formato: AAAAAAAAAAAAAAA + **/ + private String prefixoAeronave = null; + + @XmlElement(name="numeroVoo", required = true) + @ApiModelProperty(example = "70544", required = true, value = "Número do vôo
Tamanho: 9
Formato: AAAAAAAAA") + /** + * Número do vôo
Tamanho: 9
Formato: AAAAAAAAA + **/ + private String numeroVoo = null; + + @XmlElement(name="dataPartidaProcedencia", required = true) + @ApiModelProperty(example = "2016-12-18", required = true, value = "Data de partida da procedencia
Formato: AAAA-MM-DD") + /** + * Data de partida da procedencia
Formato: AAAA-MM-DD + **/ + private String dataPartidaProcedencia = null; + /** + * Codigo do tipo de modal<br>Tamanho: 2<br>Formato: NN + * @return codigoTipoModal + **/ + @JsonProperty("codigoTipoModal") + @NotNull + public String getCodigoTipoModal() { + return codigoTipoModal; + } + + public void setCodigoTipoModal(String codigoTipoModal) { + this.codigoTipoModal = codigoTipoModal; + } + + public VeiculoAereo codigoTipoModal(String codigoTipoModal) { + this.codigoTipoModal = codigoTipoModal; + return this; + } + + /** + * Prefixo aeronave<br>Tamanho: 15<br>Formato: AAAAAAAAAAAAAAA + * @return prefixoAeronave + **/ + @JsonProperty("prefixoAeronave") + @NotNull + public String getPrefixoAeronave() { + return prefixoAeronave; + } + + public void setPrefixoAeronave(String prefixoAeronave) { + this.prefixoAeronave = prefixoAeronave; + } + + public VeiculoAereo prefixoAeronave(String prefixoAeronave) { + this.prefixoAeronave = prefixoAeronave; + return this; + } + + /** + * Número do vôo<br>Tamanho: 9<br>Formato: AAAAAAAAA + * @return numeroVoo + **/ + @JsonProperty("numeroVoo") + @NotNull + public String getNumeroVoo() { + return numeroVoo; + } + + public void setNumeroVoo(String numeroVoo) { + this.numeroVoo = numeroVoo; + } + + public VeiculoAereo numeroVoo(String numeroVoo) { + this.numeroVoo = numeroVoo; + return this; + } + + /** + * Data de partida da procedencia<br>Formato: AAAA-MM-DD + * @return dataPartidaProcedencia + **/ + @JsonProperty("dataPartidaProcedencia") + @NotNull + public String getDataPartidaProcedencia() { + return dataPartidaProcedencia; + } + + public void setDataPartidaProcedencia(String dataPartidaProcedencia) { + this.dataPartidaProcedencia = dataPartidaProcedencia; + } + + public VeiculoAereo dataPartidaProcedencia(String dataPartidaProcedencia) { + this.dataPartidaProcedencia = dataPartidaProcedencia; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VeiculoAereo {\n"); + + sb.append(" codigoTipoModal: ").append(toIndentedString(codigoTipoModal)).append("\n"); + sb.append(" prefixoAeronave: ").append(toIndentedString(prefixoAeronave)).append("\n"); + sb.append(" numeroVoo: ").append(toIndentedString(numeroVoo)).append("\n"); + sb.append(" dataPartidaProcedencia: ").append(toIndentedString(dataPartidaProcedencia)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoAquaviario.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoAquaviario.java new file mode 100644 index 0000000..ce88e0a --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoAquaviario.java @@ -0,0 +1,154 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "VeiculoAquaviario", propOrder = + { "codigoTipoModal", "codigoIMO", "numeroEscala", "dataEncerramentoManifesto" +}) + +@XmlRootElement(name="VeiculoAquaviario") +/** + * Dados do veículo aquaviário + **/ +@ApiModel(description="Dados do veículo aquaviário") +public class VeiculoAquaviario { + + @XmlElement(name="codigoTipoModal", required = true) + @ApiModelProperty(example = "03", required = true, value = "Código do tipo do modal
Tamanho: 2
Formato: ((") + /** + * Código do tipo do modal
Tamanho: 2
Formato: (( + **/ + private String codigoTipoModal = null; + + @XmlElement(name="codigoIMO", required = true) + @ApiModelProperty(example = "1557345", required = true, value = "Código IMO da embarcação
Tamanho: 15
Formato: AAAAAAAAAAAAAAA") + /** + * Código IMO da embarcação
Tamanho: 15
Formato: AAAAAAAAAAAAAAA + **/ + private String codigoIMO = null; + + @XmlElement(name="numeroEscala", required = true) + @ApiModelProperty(example = "19123456", required = true, value = "Número da escala
Tamanho: 11
Formato: AAAAAAAAAAA") + /** + * Número da escala
Tamanho: 11
Formato: AAAAAAAAAAA + **/ + private String numeroEscala = null; + + @XmlElement(name="dataEncerramentoManifesto", required = true) + @ApiModelProperty(example = "2016-12-18", required = true, value = "Data de encerramento do manifesto
Formato: AAAA-MM-DD") + /** + * Data de encerramento do manifesto
Formato: AAAA-MM-DD + **/ + private String dataEncerramentoManifesto = null; + /** + * Código do tipo do modal<br>Tamanho: 2<br>Formato: (( + * @return codigoTipoModal + **/ + @JsonProperty("codigoTipoModal") + @NotNull + public String getCodigoTipoModal() { + return codigoTipoModal; + } + + public void setCodigoTipoModal(String codigoTipoModal) { + this.codigoTipoModal = codigoTipoModal; + } + + public VeiculoAquaviario codigoTipoModal(String codigoTipoModal) { + this.codigoTipoModal = codigoTipoModal; + return this; + } + + /** + * Código IMO da embarcação<br>Tamanho: 15<br>Formato: AAAAAAAAAAAAAAA + * @return codigoIMO + **/ + @JsonProperty("codigoIMO") + @NotNull + public String getCodigoIMO() { + return codigoIMO; + } + + public void setCodigoIMO(String codigoIMO) { + this.codigoIMO = codigoIMO; + } + + public VeiculoAquaviario codigoIMO(String codigoIMO) { + this.codigoIMO = codigoIMO; + return this; + } + + /** + * Número da escala<br>Tamanho: 11<br>Formato: AAAAAAAAAAA + * @return numeroEscala + **/ + @JsonProperty("numeroEscala") + @NotNull + public String getNumeroEscala() { + return numeroEscala; + } + + public void setNumeroEscala(String numeroEscala) { + this.numeroEscala = numeroEscala; + } + + public VeiculoAquaviario numeroEscala(String numeroEscala) { + this.numeroEscala = numeroEscala; + return this; + } + + /** + * Data de encerramento do manifesto<br>Formato: AAAA-MM-DD + * @return dataEncerramentoManifesto + **/ + @JsonProperty("dataEncerramentoManifesto") + @NotNull + public String getDataEncerramentoManifesto() { + return dataEncerramentoManifesto; + } + + public void setDataEncerramentoManifesto(String dataEncerramentoManifesto) { + this.dataEncerramentoManifesto = dataEncerramentoManifesto; + } + + public VeiculoAquaviario dataEncerramentoManifesto(String dataEncerramentoManifesto) { + this.dataEncerramentoManifesto = dataEncerramentoManifesto; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VeiculoAquaviario {\n"); + + sb.append(" codigoTipoModal: ").append(toIndentedString(codigoTipoModal)).append("\n"); + sb.append(" codigoIMO: ").append(toIndentedString(codigoIMO)).append("\n"); + sb.append(" numeroEscala: ").append(toIndentedString(numeroEscala)).append("\n"); + sb.append(" dataEncerramentoManifesto: ").append(toIndentedString(dataEncerramentoManifesto)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoFerroviario.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoFerroviario.java index cf49538..0e636fe 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoFerroviario.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoFerroviario.java @@ -18,27 +18,27 @@ @XmlRootElement(name = "VeiculoFerroviario") /** - * Dados do veículo ferroviário + * Informações sobre o veículo Ferroviário **/ -@ApiModel(description = "Dados do veículo ferroviário") +@ApiModel(description = "Informações sobre o veículo Ferroviário") public class VeiculoFerroviario { @XmlElement(name = "prefixoTrem", required = true) - @ApiModelProperty(example = "trem001", required = true, value = "Identificação do trem
Tamanho: 15") + @ApiModelProperty(example = "TR123", required = true, value = "Prefixo do Trem") /** - * Identificação do trem
Tamanho: 15 + * Prefixo do Trem **/ private String prefixoTrem = null; @XmlElement(name = "quantidadeVagoes", required = true) - @ApiModelProperty(example = "10", required = true, value = "Número de vagões envolvidos no transporte
Tamanho: 3") + @ApiModelProperty(example = "10", required = true, value = "Quantidade de Vagões") /** - * Número de vagões envolvidos no transporte
Tamanho: 3 + * Quantidade de Vagões **/ private Integer quantidadeVagoes = null; /** - * Identificação do trem<br>Tamanho: 15 + * Prefixo do Trem * * @return prefixoTrem **/ @@ -58,7 +58,7 @@ public VeiculoFerroviario prefixoTrem(String prefixoTrem) { } /** - * Número de vagões envolvidos no transporte<br>Tamanho: 3 + * Quantidade de Vagões * * @return quantidadeVagoes **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoRodovario.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoRodovario.java new file mode 100644 index 0000000..007bf33 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoRodovario.java @@ -0,0 +1,181 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "VeiculoRodovario", propOrder = + { "indTtransportadorProprietario", "cpjCnpjResponsavel", "nomeResponsavel", "veiculo", "reboques" +}) + +@XmlRootElement(name="VeiculoRodovario") +/** + * Informações sobre o veículo Rodoviário + **/ +@ApiModel(description="Informações sobre o veículo Rodoviário") +public class VeiculoRodovario { + + @XmlElement(name="indTtransportadorProprietario") + @ApiModelProperty(example = "N", value = "Indicador para transportador proprietário do veículo") + /** + * Indicador para transportador proprietário do veículo + **/ + private String indTtransportadorProprietario = null; + + @XmlElement(name="cpjCnpjResponsavel") + @ApiModelProperty(example = "9999999999", value = "CPF ou CNPJ do responsável pelo veículo
Tamanho: 11
Formato: NNNNNNNNNNN") + /** + * CPF ou CNPJ do responsável pelo veículo
Tamanho: 11
Formato: NNNNNNNNNNN + **/ + private String cpjCnpjResponsavel = null; + + @XmlElement(name="nomeResponsavel") + @ApiModelProperty(example = "Nome do responsável pelo veículo", value = "Nome do responsável pelo veículo") + /** + * Nome do responsável pelo veículo + **/ + private String nomeResponsavel = null; + + @XmlElement(name="veiculo") + @ApiModelProperty(value = "") + @Valid + private Veiculo veiculo = null; + + @XmlElement(name="reboques") + @ApiModelProperty(value = "informações sobre os reboques") + @Valid + /** + * informações sobre os reboques + **/ + private List reboques = null; + /** + * Indicador para transportador proprietário do veículo + * @return indTtransportadorProprietario + **/ + @JsonProperty("indTtransportadorProprietario") + public String getIndTtransportadorProprietario() { + return indTtransportadorProprietario; + } + + public void setIndTtransportadorProprietario(String indTtransportadorProprietario) { + this.indTtransportadorProprietario = indTtransportadorProprietario; + } + + public VeiculoRodovario indTtransportadorProprietario(String indTtransportadorProprietario) { + this.indTtransportadorProprietario = indTtransportadorProprietario; + return this; + } + + /** + * CPF ou CNPJ do responsável pelo veículo<br>Tamanho: 11<br>Formato: NNNNNNNNNNN + * @return cpjCnpjResponsavel + **/ + @JsonProperty("cpjCnpjResponsavel") + public String getCpjCnpjResponsavel() { + return cpjCnpjResponsavel; + } + + public void setCpjCnpjResponsavel(String cpjCnpjResponsavel) { + this.cpjCnpjResponsavel = cpjCnpjResponsavel; + } + + public VeiculoRodovario cpjCnpjResponsavel(String cpjCnpjResponsavel) { + this.cpjCnpjResponsavel = cpjCnpjResponsavel; + return this; + } + + /** + * Nome do responsável pelo veículo + * @return nomeResponsavel + **/ + @JsonProperty("nomeResponsavel") + public String getNomeResponsavel() { + return nomeResponsavel; + } + + public void setNomeResponsavel(String nomeResponsavel) { + this.nomeResponsavel = nomeResponsavel; + } + + public VeiculoRodovario nomeResponsavel(String nomeResponsavel) { + this.nomeResponsavel = nomeResponsavel; + return this; + } + + /** + * Get veiculo + * @return veiculo + **/ + @JsonProperty("veiculo") + public Veiculo getVeiculo() { + return veiculo; + } + + public void setVeiculo(Veiculo veiculo) { + this.veiculo = veiculo; + } + + public VeiculoRodovario veiculo(Veiculo veiculo) { + this.veiculo = veiculo; + return this; + } + + /** + * informações sobre os reboques + * @return reboques + **/ + @JsonProperty("reboques") + public List getReboques() { + return reboques; + } + + public void setReboques(List reboques) { + this.reboques = reboques; + } + + public VeiculoRodovario reboques(List reboques) { + this.reboques = reboques; + return this; + } + + public VeiculoRodovario addReboquesItem(Veiculo reboquesItem) { + this.reboques.add(reboquesItem); + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VeiculoRodovario {\n"); + + sb.append(" indTtransportadorProprietario: ").append(toIndentedString(indTtransportadorProprietario)).append("\n"); + sb.append(" cpjCnpjResponsavel: ").append(toIndentedString(cpjCnpjResponsavel)).append("\n"); + sb.append(" nomeResponsavel: ").append(toIndentedString(nomeResponsavel)).append("\n"); + sb.append(" veiculo: ").append(toIndentedString(veiculo)).append("\n"); + sb.append(" reboques: ").append(toIndentedString(reboques)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ViaDeTransporteCCTDTO.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ViaDeTransporteCCTDTO.java new file mode 100644 index 0000000..005558e --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ViaDeTransporteCCTDTO.java @@ -0,0 +1,86 @@ +package br.gov.siscomex.portalunico.cct_ext.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "ViaDeTransporteCCTDTO", propOrder = + { "codigo", "nome" +}) + +@XmlRootElement(name="ViaDeTransporteCCTDTO") +public class ViaDeTransporteCCTDTO { + + @XmlElement(name="codigo") + @ApiModelProperty(value = "") + private String codigo = null; + + @XmlElement(name="nome") + @ApiModelProperty(value = "") + private String nome = null; + /** + * Get codigo + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public ViaDeTransporteCCTDTO codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Get nome + * @return nome + **/ + @JsonProperty("nome") + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public ViaDeTransporteCCTDTO nome(String nome) { + this.nome = nome; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ViaDeTransporteCCTDTO {\n"); + + sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n"); + sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/EntregaDeCargaApi.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/EntregaDeCargaApi.java index 643ee1c..a092614 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/EntregaDeCargaApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/EntregaDeCargaApi.java @@ -21,6 +21,7 @@ * Controle de Carga de Importação - Modal Aquaviário * *

Introdução

Bem-vindo à Application Programming Interface (API) do sistema Pucomex - Controle de Cargas de Importação - Modal Aquaviário.
Sistema desenvolvido para simplificar o controle de carga no processo de Importação, dando uma única solução e um único fluxo para qualquer tipo de carga do modal aquaviário de transporte. Facilita a organização e realização da recepção, entrega, desunitização.

URLs de Acesso

Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL:

https://{ambiente}/cct/{serviço}

Onde, em {ambiente} deve-se informar o ambiente desejado dentro os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URL do serviço desejado.

Nome do Ambiente URL de acesso
Ambiente de Validação da Empresas val.portalunico.siscomex.gov.br
Ambiente de Produção portalunico.siscomex.gov.br

 

Exemplo: Para o serviço \"Recepção de Carga\" a URL é \"api/ext/imp/carga/recepcao/duimp\".

Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço

https://val.portalunico.siscomex.gov.br/cct/api/ext/imp/carga/recepcao/duimp

+ * */ @Path("/") @Api(value = "/", description = "") @@ -28,8 +29,9 @@ public interface EntregaDeCargaApi { /** * Entregar Carga por Duimp - *

+ * * Entrega de carga através do número de uma Duimp transferindo a responsabilidade pelo estoque da carga + * */ @POST @Path("/api/ext/imp/carga/entrega/duimp") diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/OperaesDeContinerApi.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/OperaesDeContinerApi.java index 5564bb0..06a4044 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/OperaesDeContinerApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/OperaesDeContinerApi.java @@ -21,6 +21,7 @@ * Controle de Carga de Importação - Modal Aquaviário * *

Introdução

Bem-vindo à Application Programming Interface (API) do sistema Pucomex - Controle de Cargas de Importação - Modal Aquaviário.
Sistema desenvolvido para simplificar o controle de carga no processo de Importação, dando uma única solução e um único fluxo para qualquer tipo de carga do modal aquaviário de transporte. Facilita a organização e realização da recepção, entrega, desunitização.

URLs de Acesso

Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL:

https://{ambiente}/cct/{serviço}

Onde, em {ambiente} deve-se informar o ambiente desejado dentro os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URL do serviço desejado.

Nome do Ambiente URL de acesso
Ambiente de Validação da Empresas val.portalunico.siscomex.gov.br
Ambiente de Produção portalunico.siscomex.gov.br

 

Exemplo: Para o serviço \"Recepção de Carga\" a URL é \"api/ext/imp/carga/recepcao/duimp\".

Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço

https://val.portalunico.siscomex.gov.br/cct/api/ext/imp/carga/recepcao/duimp

+ * */ @Path("/") @Api(value = "/", description = "") @@ -28,6 +29,7 @@ public interface OperaesDeContinerApi { /** * Desunitizar Contêiner + * */ @POST @Path("/api/ext/imp/conteiner/desunitizar") diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/OperaesDeEstoqueApi.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/OperaesDeEstoqueApi.java index c02c52b..691aab1 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/OperaesDeEstoqueApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/OperaesDeEstoqueApi.java @@ -20,6 +20,7 @@ * Controle de Carga de Importação - Modal Aquaviário * *

Introdução

Bem-vindo à Application Programming Interface (API) do sistema Pucomex - Controle de Cargas de Importação - Modal Aquaviário.
Sistema desenvolvido para simplificar o controle de carga no processo de Importação, dando uma única solução e um único fluxo para qualquer tipo de carga do modal aquaviário de transporte. Facilita a organização e realização da recepção, entrega, desunitização.

URLs de Acesso

Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL:

https://{ambiente}/cct/{serviço}

Onde, em {ambiente} deve-se informar o ambiente desejado dentro os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URL do serviço desejado.

Nome do Ambiente URL de acesso
Ambiente de Validação da Empresas val.portalunico.siscomex.gov.br
Ambiente de Produção portalunico.siscomex.gov.br

 

Exemplo: Para o serviço \"Recepção de Carga\" a URL é \"api/ext/imp/carga/recepcao/duimp\".

Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço

https://val.portalunico.siscomex.gov.br/cct/api/ext/imp/carga/recepcao/duimp

+ * */ @Path("/") @Api(value = "/", description = "") @@ -27,8 +28,9 @@ public interface OperaesDeEstoqueApi { /** * Consultar Estoque - *

+ * * Consultar o estoque por número de Duimp e/ou por número de CE Mercante + * */ @GET @Path("/api/ext/imp/estoque/pos-acd") diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/RecepoDeCargaApi.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/RecepoDeCargaApi.java index 454c650..2a9e14c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/RecepoDeCargaApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/RecepoDeCargaApi.java @@ -21,6 +21,7 @@ * Controle de Carga de Importação - Modal Aquaviário * *

Introdução

Bem-vindo à Application Programming Interface (API) do sistema Pucomex - Controle de Cargas de Importação - Modal Aquaviário.
Sistema desenvolvido para simplificar o controle de carga no processo de Importação, dando uma única solução e um único fluxo para qualquer tipo de carga do modal aquaviário de transporte. Facilita a organização e realização da recepção, entrega, desunitização.

URLs de Acesso

Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL:

https://{ambiente}/cct/{serviço}

Onde, em {ambiente} deve-se informar o ambiente desejado dentro os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URL do serviço desejado.

Nome do Ambiente URL de acesso
Ambiente de Validação da Empresas val.portalunico.siscomex.gov.br
Ambiente de Produção portalunico.siscomex.gov.br

 

Exemplo: Para o serviço \"Recepção de Carga\" a URL é \"api/ext/imp/carga/recepcao/duimp\".

Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço

https://val.portalunico.siscomex.gov.br/cct/api/ext/imp/carga/recepcao/duimp

+ * */ @Path("/") @Api(value = "/", description = "") @@ -28,8 +29,9 @@ public interface RecepoDeCargaApi { /** * Recepcionar Carga por Duimp - *

+ * * Recepção de carga através do número de uma Duimp puxando a responsabilidade pelo estoque da carga + * */ @POST @Path("/api/ext/imp/carga/recepcao/duimp") diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/BusinessExceptionCover.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/BusinessExceptionCover.java index bbd3e8f..30369e3 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/BusinessExceptionCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/BusinessExceptionCover.java @@ -255,7 +255,6 @@ public BusinessExceptionCover severity(SeverityEnum severity) { /** * Get info - * * @return info **/ @JsonProperty("info") diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/ConsultaEstoquePosDetails.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/ConsultaEstoquePosDetails.java index d0dd83f..a1ac7e5 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/ConsultaEstoquePosDetails.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/ConsultaEstoquePosDetails.java @@ -321,7 +321,6 @@ public ConsultaEstoquePosDetails addVeiculosItem(VeiculoDetails veiculosItem) { /** * Número da Duimp - * * @return numeroDUIMP **/ @JsonProperty("numeroDUIMP") @@ -340,7 +339,6 @@ public ConsultaEstoquePosDetails numeroDUIMP(String numeroDUIMP) { /** * Descrição da situação da Duimp - * * @return situacao **/ @JsonProperty("situacao") @@ -359,7 +357,6 @@ public ConsultaEstoquePosDetails situacao(String situacao) { /** * Descrição do canal da Duimp - * * @return canal **/ @JsonProperty("canal") @@ -378,7 +375,6 @@ public ConsultaEstoquePosDetails canal(String canal) { /** * Get importador - * * @return importador **/ @JsonProperty("importador") @@ -440,7 +436,6 @@ public ConsultaEstoquePosDetails valorTotalMercadoriaNoLocalDescarregamento(BigD /** * Get destinoFinalCarga - * * @return destinoFinalCarga **/ @JsonProperty("destinoFinalCarga") @@ -459,7 +454,6 @@ public ConsultaEstoquePosDetails destinoFinalCarga(UrfDTO destinoFinalCarga) { /** * Nome do consignarário - * * @return nomeConsignatario **/ @JsonProperty("nomeConsignatario") @@ -478,7 +472,6 @@ public ConsultaEstoquePosDetails nomeConsignatario(String nomeConsignatario) { /** * Nome do país de origem da carga - * * @return paisOrigemCarga **/ @JsonProperty("paisOrigemCarga") @@ -497,7 +490,6 @@ public ConsultaEstoquePosDetails paisOrigemCarga(String paisOrigemCarga) { /** * Indica se existe autorização no Sistema DIMP para entrega da carga - * * @return entregaAutorizadaPelaDuimp **/ @JsonProperty("entregaAutorizadaPelaDuimp") diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/DiagnosticInfo.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/DiagnosticInfo.java index 245c91a..e2037d4 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/DiagnosticInfo.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/DiagnosticInfo.java @@ -170,7 +170,6 @@ public DiagnosticInfo url(String url) { /** * Get fluxo - * * @return fluxo **/ @JsonProperty("fluxo") diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/RecepcaoDocumentoCarga.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/RecepcaoDocumentoCarga.java index 4ee40c4..9bcf426 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/RecepcaoDocumentoCarga.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/RecepcaoDocumentoCarga.java @@ -242,7 +242,6 @@ public RecepcaoDocumentoCarga localArmazenamento(String localArmazenamento) { /** * Observações gerais<br>Tamanho: 250 - * * @return observacoes **/ @JsonProperty("observacoes") diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/UnexpectedExceptionCover.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/UnexpectedExceptionCover.java index 6e85fb1..7214bba 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/UnexpectedExceptionCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/UnexpectedExceptionCover.java @@ -255,7 +255,6 @@ public UnexpectedExceptionCover severity(SeverityEnum severity) { /** * Get info - * * @return info **/ @JsonProperty("info") diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_rcar/model/IExceptionCover.java b/src/main/java/br/gov/siscomex/portalunico/cct_rcar/model/IExceptionCover.java index 92472ee..27e2fd4 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_rcar/model/IExceptionCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_rcar/model/IExceptionCover.java @@ -225,7 +225,6 @@ public IExceptionCover tag(String tag) { /** * Get code - * * @return code **/ @JsonProperty("code") @@ -244,7 +243,6 @@ public IExceptionCover code(String code) { /** * Get field - * * @return field **/ @JsonProperty("field") @@ -281,6 +279,7 @@ public IExceptionCover message(String message) { /** * Get detail + * * @return detail **/ @JsonProperty("detail") diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/model/DocumentoSaidaConsultaDetalhada.java b/src/main/java/br/gov/siscomex/portalunico/ccta/model/DocumentoSaidaConsultaDetalhada.java index dfa78bb..5f4c8e6 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/model/DocumentoSaidaConsultaDetalhada.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/model/DocumentoSaidaConsultaDetalhada.java @@ -177,9 +177,9 @@ public static TipoEnum fromValue(String v) { } @XmlElement(name = "tipo") - @ApiModelProperty(example = "20", value = "Tipo de documento de saída

Os documentos podem ser:

10 – DI
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Importação comum
31 – DTA - Importação especial - bagagem desacompanhada
32 – DTA - Importação especial - mala diplomática
33 – DTA - Importação especial - urna funerária
34 – DTA - Importação especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem comum - bagagem desacompanhada
37 – DTA - Passagem comum - mala diplomática
38 – DTA - Passagem comum - partes e peças
39 – DTA - Passagem comum - urna funerária
40 – DTA - Passagem comum - outras
50 – DTI
99 – DUIMP
") + @ApiModelProperty(example = "20", value = "Tipo de documento de saída

Os documentos podem ser:

10 – DI
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Entrada comum
31 – DTA - Entrada especial - bagagem desacompanhada
32 – DTA - Entrada especial - mala diplomática
33 – DTA - Entrada especial - urna funerária
34 – DTA - Entrada especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem especial - bagagem desacompanhada
37 – DTA - Passagem especial - mala diplomática
38 – DTA - Passagem especial - partes e peças
39 – DTA - Passagem especial - urna funerária
40 – DTA - Passagem especial - outras
50 – DTI
99 – DUIMP
") /** - * Tipo de documento de saída

Os documentos podem ser:

10 – DI
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Importação comum
31 – DTA - Importação especial - bagagem desacompanhada
32 – DTA - Importação especial - mala diplomática
33 – DTA - Importação especial - urna funerária
34 – DTA - Importação especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem comum - bagagem desacompanhada
37 – DTA - Passagem comum - mala diplomática
38 – DTA - Passagem comum - partes e peças
39 – DTA - Passagem comum - urna funerária
40 – DTA - Passagem comum - outras
50 – DTI
99 – DUIMP
+ * Tipo de documento de saída

Os documentos podem ser:

10 – DI
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Entrada comum
31 – DTA - Entrada especial - bagagem desacompanhada
32 – DTA - Entrada especial - mala diplomática
33 – DTA - Entrada especial - urna funerária
34 – DTA - Entrada especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem especial - bagagem desacompanhada
37 – DTA - Passagem especial - mala diplomática
38 – DTA - Passagem especial - partes e peças
39 – DTA - Passagem especial - urna funerária
40 – DTA - Passagem especial - outras
50 – DTI
99 – DUIMP
**/ private TipoEnum tipo = null; @@ -312,7 +312,7 @@ public DocumentoSaidaConsultaDetalhada situacaoDuimp(String situacaoDuimp) { } /** - * Tipo de documento de saída<p>Os documentos podem ser:</p>10 – DI<br/>11 – Processo Digital/Processo Dossiê<br/>12 – E-DMOV<br/>20 – Outros<br/>21 – PMB<br/>22 – PDE/TR<br/>23 – DSI Eletrônica<br/>24 – DSI Formulário<br/>30 – DTA - Importação comum<br/>31 – DTA - Importação especial - bagagem desacompanhada<br/>32 – DTA - Importação especial - mala diplomática<br/>33 – DTA - Importação especial - urna funerária<br/>34 – DTA - Importação especial - outras<br/>35 – DTA - Passagem comum<br/>36 – DTA - Passagem comum - bagagem desacompanhada<br/>37 – DTA - Passagem comum - mala diplomática<br/>38 – DTA - Passagem comum - partes e peças<br/>39 – DTA - Passagem comum - urna funerária<br/>40 – DTA - Passagem comum - outras<br/>50 – DTI<br/>99 – DUIMP<br/> + * Tipo de documento de saída<p>Os documentos podem ser:</p>10 – DI<br/>11 – Processo Digital/Processo Dossiê<br/>12 – E-DMOV<br/>20 – Outros<br/>21 – PMB<br/>22 – PDE/TR<br/>23 – DSI Eletrônica<br/>24 – DSI Formulário<br/>30 – DTA - Entrada comum<br/>31 – DTA - Entrada especial - bagagem desacompanhada<br/>32 – DTA - Entrada especial - mala diplomática<br/>33 – DTA - Entrada especial - urna funerária<br/>34 – DTA - Entrada especial - outras<br/>35 – DTA - Passagem comum<br/>36 – DTA - Passagem especial - bagagem desacompanhada<br/>37 – DTA - Passagem especial - mala diplomática<br/>38 – DTA - Passagem especial - partes e peças<br/>39 – DTA - Passagem especial - urna funerária<br/>40 – DTA - Passagem especial - outras<br/>50 – DTI<br/>99 – DUIMP<br/> * * @return tipo **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/model/EntregaIntermediaria.java b/src/main/java/br/gov/siscomex/portalunico/ccta/model/EntregaIntermediaria.java index 2b18be2..d620a37 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/model/EntregaIntermediaria.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/model/EntregaIntermediaria.java @@ -288,9 +288,9 @@ public static TipoDTAEnum fromValue(String v) { } @XmlElement(name = "tipoDTA") - @ApiModelProperty(example = "30", value = "Tipos de DTA.
Este campo é obrigatório na entrega intermediária entre depositário e transportador terrestre e opcional para as demais entregas intermediárias que escolham os motivos TRANSITO_INTERNACIONAL ou TRANSITO_NACIONAL.
Para os demais motivos não deve ser informado.

30 - Importacao comum
31 - Importacao especial - bagagem desacompanhada
32 - Importacao especial - mala diplomática
33 - Importacao especial - urna funerária
34 - Importacao especial - outras
35 - Passagem comum
36 - Passagem comum - bagagem desacompanhada
37 - Passagem comum - mala diplomática
38 - Passagem comum - partes e peças
39 - Passagem comum - urna funerária
40 - Passagem comum - outras
") + @ApiModelProperty(example = "30", value = "Tipos de DTA.
Este campo é obrigatório na entrega intermediária entre depositário e transportador terrestre e opcional para as demais entregas intermediárias que escolham os motivos TRANSITO_INTERNACIONAL ou TRANSITO_NACIONAL.
Para os demais motivos não deve ser informado.

30 - Entrada comum
31 - Entrada especial - bagagem desacompanhada
32 - Entrada especial - mala diplomática
33 - Entrada especial - urna funerária
34 - Entrada especial - outras
35 - Passagem comum
36 - Passagem especial - bagagem desacompanhada
37 - Passagem especial - mala diplomática
38 - Passagem especial - partes e peças
39 - Passagem especial - urna funerária
40 - Passagem especial - outras
") /** - * Tipos de DTA.
Este campo é obrigatório na entrega intermediária entre depositário e transportador terrestre e opcional para as demais entregas intermediárias que escolham os motivos TRANSITO_INTERNACIONAL ou TRANSITO_NACIONAL.
Para os demais motivos não deve ser informado.

30 - Importacao comum
31 - Importacao especial - bagagem desacompanhada
32 - Importacao especial - mala diplomática
33 - Importacao especial - urna funerária
34 - Importacao especial - outras
35 - Passagem comum
36 - Passagem comum - bagagem desacompanhada
37 - Passagem comum - mala diplomática
38 - Passagem comum - partes e peças
39 - Passagem comum - urna funerária
40 - Passagem comum - outras
+ * Tipos de DTA.
Este campo é obrigatório na entrega intermediária entre depositário e transportador terrestre e opcional para as demais entregas intermediárias que escolham os motivos TRANSITO_INTERNACIONAL ou TRANSITO_NACIONAL.
Para os demais motivos não deve ser informado.

30 - Entrada comum
31 - Entrada especial - bagagem desacompanhada
32 - Entrada especial - mala diplomática
33 - Entrada especial - urna funerária
34 - Entrada especial - outras
35 - Passagem comum
36 - Passagem especial - bagagem desacompanhada
37 - Passagem especial - mala diplomática
38 - Passagem especial - partes e peças
39 - Passagem especial - urna funerária
40 - Passagem especial - outras
**/ private TipoDTAEnum tipoDTA = null; @@ -620,7 +620,7 @@ public EntregaIntermediaria tipoCarga(TipoCargaEnum tipoCarga) { } /** - * Tipos de DTA.<br/>Este campo é obrigatório na entrega intermediária entre depositário e transportador terrestre e opcional para as demais entregas intermediárias que escolham os motivos TRANSITO_INTERNACIONAL ou TRANSITO_NACIONAL.</br>Para os demais motivos não deve ser informado.<br/><br/>30 - Importacao comum<br/>31 - Importacao especial - bagagem desacompanhada<br/>32 - Importacao especial - mala diplomática<br/>33 - Importacao especial - urna funerária<br/>34 - Importacao especial - outras<br/>35 - Passagem comum<br/>36 - Passagem comum - bagagem desacompanhada<br/>37 - Passagem comum - mala diplomática<br/>38 - Passagem comum - partes e peças<br/>39 - Passagem comum - urna funerária<br/>40 - Passagem comum - outras<br/> + * Tipos de DTA.<br/>Este campo é obrigatório na entrega intermediária entre depositário e transportador terrestre e opcional para as demais entregas intermediárias que escolham os motivos TRANSITO_INTERNACIONAL ou TRANSITO_NACIONAL.</br>Para os demais motivos não deve ser informado.<br/><br/>30 - Entrada comum<br/>31 - Entrada especial - bagagem desacompanhada<br/>32 - Entrada especial - mala diplomática<br/>33 - Entrada especial - urna funerária<br/>34 - Entrada especial - outras<br/>35 - Passagem comum<br/>36 - Passagem especial - bagagem desacompanhada<br/>37 - Passagem especial - mala diplomática<br/>38 - Passagem especial - partes e peças<br/>39 - Passagem especial - urna funerária<br/>40 - Passagem especial - outras<br/> * * @return tipoDTA **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/model/EstoqueConsultaDetalhada.java b/src/main/java/br/gov/siscomex/portalunico/ccta/model/EstoqueConsultaDetalhada.java index e5a144f..7867071 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/model/EstoqueConsultaDetalhada.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/model/EstoqueConsultaDetalhada.java @@ -195,9 +195,9 @@ public static TipoDocumentoSaidaEnum fromValue(String v) { } @XmlElement(name = "tipoDocumentoSaida") - @ApiModelProperty(example = "20", value = "Tipo de documento de saída

Os documentos podem ser:

10 – DI
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Importação comum
31 – DTA - Importação especial - bagagem desacompanhada
32 – DTA - Importação especial - mala diplomática
33 – DTA - Importação especial - urna funerária
34 – DTA - Importação especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem comum - bagagem desacompanhada
37 – DTA - Passagem comum - mala diplomática
38 – DTA - Passagem comum - partes e peças
39 – DTA - Passagem comum - urna funerária
40 – DTA - Passagem comum - outras
50 – DTI
99 – DUIMP
") + @ApiModelProperty(example = "20", value = "Tipo de documento de saída

Os documentos podem ser:

10 – DI
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Entrada comum
31 – DTA - Entrada especial - bagagem desacompanhada
32 – DTA - Entrada especial - mala diplomática
33 – DTA - Entrada especial - urna funerária
34 – DTA - Entrada especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem especial - bagagem desacompanhada
37 – DTA - Passagem especial - mala diplomática
38 – DTA - Passagem especial - partes e peças
39 – DTA - Passagem especial - urna funerária
40 – DTA - Passagem especial - outras
50 – DTI
99 – DUIMP
") /** - * Tipo de documento de saída

Os documentos podem ser:

10 – DI
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Importação comum
31 – DTA - Importação especial - bagagem desacompanhada
32 – DTA - Importação especial - mala diplomática
33 – DTA - Importação especial - urna funerária
34 – DTA - Importação especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem comum - bagagem desacompanhada
37 – DTA - Passagem comum - mala diplomática
38 – DTA - Passagem comum - partes e peças
39 – DTA - Passagem comum - urna funerária
40 – DTA - Passagem comum - outras
50 – DTI
99 – DUIMP
+ * Tipo de documento de saída

Os documentos podem ser:

10 – DI
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Entrada comum
31 – DTA - Entrada especial - bagagem desacompanhada
32 – DTA - Entrada especial - mala diplomática
33 – DTA - Entrada especial - urna funerária
34 – DTA - Entrada especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem especial - bagagem desacompanhada
37 – DTA - Passagem especial - mala diplomática
38 – DTA - Passagem especial - partes e peças
39 – DTA - Passagem especial - urna funerária
40 – DTA - Passagem especial - outras
50 – DTI
99 – DUIMP
**/ private TipoDocumentoSaidaEnum tipoDocumentoSaida = null; @@ -361,7 +361,7 @@ public EstoqueConsultaDetalhada situacaoAtual(String situacaoAtual) { } /** - * Tipo de documento de saída<p>Os documentos podem ser:</p>10 – DI<br/>11 – Processo Digital/Processo Dossiê<br/>12 – E-DMOV<br/>20 – Outros<br/>21 – PMB<br/>22 – PDE/TR<br/>23 – DSI Eletrônica<br/>24 – DSI Formulário<br/>30 – DTA - Importação comum<br/>31 – DTA - Importação especial - bagagem desacompanhada<br/>32 – DTA - Importação especial - mala diplomática<br/>33 – DTA - Importação especial - urna funerária<br/>34 – DTA - Importação especial - outras<br/>35 – DTA - Passagem comum<br/>36 – DTA - Passagem comum - bagagem desacompanhada<br/>37 – DTA - Passagem comum - mala diplomática<br/>38 – DTA - Passagem comum - partes e peças<br/>39 – DTA - Passagem comum - urna funerária<br/>40 – DTA - Passagem comum - outras<br/>50 – DTI<br/>99 – DUIMP<br/> + * Tipo de documento de saída<p>Os documentos podem ser:</p>10 – DI<br/>11 – Processo Digital/Processo Dossiê<br/>12 – E-DMOV<br/>20 – Outros<br/>21 – PMB<br/>22 – PDE/TR<br/>23 – DSI Eletrônica<br/>24 – DSI Formulário<br/>30 – DTA - Entrada comum<br/>31 – DTA - Entrada especial - bagagem desacompanhada<br/>32 – DTA - Entrada especial - mala diplomática<br/>33 – DTA - Entrada especial - urna funerária<br/>34 – DTA - Entrada especial - outras<br/>35 – DTA - Passagem comum<br/>36 – DTA - Passagem especial - bagagem desacompanhada<br/>37 – DTA - Passagem especial - mala diplomática<br/>38 – DTA - Passagem especial - partes e peças<br/>39 – DTA - Passagem especial - urna funerária<br/>40 – DTA - Passagem especial - outras<br/>50 – DTI<br/>99 – DUIMP<br/> * * @return tipoDocumentoSaida **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta_ext_xml/api/ServiosDeEnvioDeArquivosApi.java b/src/main/java/br/gov/siscomex/portalunico/ccta_ext_xml/api/ServiosDeEnvioDeArquivosApi.java index 48abc48..bb3f039 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta_ext_xml/api/ServiosDeEnvioDeArquivosApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta_ext_xml/api/ServiosDeEnvioDeArquivosApi.java @@ -21,7 +21,6 @@ * Controle de Carga e Trânsito Importação - Modal Aéreo * *

Manual do Usuário

Informações detalhadas sobre serviços e funcionalidades em tela, assim como a lista de funcionalidades disponíveis para cada perfil de acesso, podem ser consultados no manual do usuário do CCT Importação.

Introdução

Bem-vindo à Application Programming Interface (API) de interação com o novo Sistema de Controle de Carga e Trânsito (CCT Importação - Modal Aéreo). Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a manifestação e gestão do fluxo logístico de viagens e cargas dentro do Portal Único de Comércio Exterior.

A documentação a seguir descreve os serviços da versão atual do sistema, disponível no ambiente de validação do setor privado. Não há, até o momento, versão disponível para uso em produção. O intuito da API é permitir que as empresas possam realizar testes, preparando as adaptações necessárias em seus sistemas. As informações encaminhadas para os endpoints, neste momento, não terão valor legal, nem serão reaproveitadas em produção.

Os perfis de acesso que podem utilizar cada serviço encontram-se listados no manual do usuário. Os Operadores de Remessa Postal/Expressa podem atuar como transportador, agente de carga, depositário ou importador, desde que devidamente cadastrados nestes perfis de atuação. As ESATA (Empresas de Serviços Auxiliares ao Transporte Aéreo) podem interagir com os serviços desde que possuam representação para atuar como transportador ou agente de carga. Para executar as ações relacionadas à recepção de carga e à chegada de veículo terrestre (trânsito aduaneiro), os recintos aduaneiros (depositários) devem utilizar os serviços disponibilizados pela API Recintos Aduaneiros.

Para a utilização dos serviços do CCT Importação – Modal Aéreo, a autenticação via certificação digital por e-CPF é obrigatória. Na seção Introdução da API do Portal Único de Comércio Exterior, podem ser encontradas as orientações gerais sobre os padrões de comunicação dos serviços, os procedimentos para autenticação e os códigos de resposta das requisições.

Os serviços, a princípio, não estarão disponíveis no horário de 1:00h às 3:00h, em virtude de parada programada dos sistemas de comércio exterior.

Manifestação de Viagens e Cargas (arquivos Cargo XML)

Os arquivos referentes à manifestação de viagens e cargas devem seguir o padrão Cargo XML da IATA (Associação Internacional de Transportes Aéreos). Para conhecimento dos elementos de dados, estrutura e formato do padrão XSD, deve-se buscar a informação no site da IATA (www.iata.org). Nesta API, serão detalhadas somente as informações solicitadas de forma diferente do padrão IATA.

Serão solicitados aos transportadores aéreos os arquivos XFFM/XFWB, e aos agentes de carga os arquivos XFZB/XFHL, a serem enviados pelos serviços abaixo, descritos em maiores detalhes nas suas respectivas seções desta API:

  • Informar Viagem - XFFM (Flight Manifest)
  • Informar Conhecimento de Carga - XFWB (Freight Waybill)
  • Informar Conhecimento de Carga House - XFZB (House Air Waybill)
  • Informar Associação Master e House - XFHL (House Manifest)

Os arquivos somente serão recebidos caso o XML esteja de acordo com o XSD da IATA. Os arquivos corretamente validados passarão à situação "Received" e receberão um número de protocolo associado ao recebimento desse arquivo, sendo encaminhados para processamento. Os arquivos que não forem validados pelo XSD da IATA terão situação "Rejected" e não receberão número de protocolo.

Após a validação do XSD, será realizado o processamento do conteúdo dos campos dos arquivos. Este processamento inclui verificações, tais como: se o campo foi informado vazio ou acima do tamanho permitido, se as informações constam no cadastro da Receita Federal (CPF, CNPJ), etc., com vistas à gravação do dado na base. Os arquivos corretamente processados passarão à situação "Processed", e os que apresentarem algum tipo de erro passarão para "Rejected".

A qualquer momento, a situação dos arquivos enviados pode ser consultada pelos seguintes serviços descritos nesta API:

  • Consultar Situação de Arquivos por Data
  • Consultar Situação de Arquivos por Número de Protocolo

Durante o processamento, haverá batimento do conteúdo dos dados com tabelas de domínio. Os domínios que estão sendo validados e que podem causar rejeição de arquivo referem-se a:

  • Aeroportos (código com três posições) - IATA Airport Code
  • Companhia Aérea (número com três posições e código com duas posições) - IATA Airline Codes
  • Indicador de Parcialidade de carga numa viagem - IATA Code List 1.15
  • Moeda (código alfanumérico com três posições) - ISO 4217
  • Países (sigla com duas posições) – ISO 3166
  • Recinto Aduaneiro (código com sete posições) – site da Receita Federal do Brasil
  • Unidade de Medida (Peso) - rec20_Rev10e_2014.xls do site http://www.unece.org/uncefact/codelistrecs.html
  • Unidade de Medida (Volume) - IATA Code List 1.20
  • Voos - Código de voo com duas posições alfanuméricas referentes à Companhia Aérea e quatro posições numéricas referentes ao número do voo.

A lista de campos a serem informados e a definição de se eles são obrigatórios ou opcionais seguirão, via de regra, os padrões estabelecidos pela IATA, passando pela validação do XSD. As exceções serão mencionadas explicitamente na descrição dos serviços na API, fazendo parte do processamento dos arquivos. Os tipos e tamanhos de campos também seguirão, via de regra, os padrões estabelecidos pela IATA e, quando não validados pelo XSD, serão verificados no processamento.

Serão processados os seguintes tipos de operação para os arquivos:

  • XFFM – Creation
  • XFWB, XFZB, XFHL – Creation, Update e Deletion

Os arquivos XFFM, XFWB, XFZB e XFHL podem ser enviados em qualquer ordem, desde que cumpram com os prazos estabelecidos pela Receita Federal do Brasil.

O escopo atual do projeto se encontra restrito a voos regulares. Voos não regulares serão objeto de versões futuras.

URLs de Acesso

Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL:

https://{ambiente}/ccta/{serviço}

Onde, em {ambiente} deve-se informar o ambiente desejado dentro os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URL do serviço desejado.

 
Nome do Ambiente URL de acesso
Ambiente de Validação da Empresas val.portalunico.siscomex.gov.br
Ambiente de Produção portalunico.siscomex.gov.br

 

Exemplo: Para o serviço \"Informar Viagem - XFFM (Flight Manifest)\" a URL é \"/api/ext/incoming/xffm\".

Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço

https://val.portalunico.siscomex.gov.br/ccta/api/ext/incoming/xffm

- * */ @Path("/") @Api(value = "/", description = "") @@ -29,9 +28,8 @@ public interface ServiosDeEnvioDeArquivosApi { /** * Informar Viagem - XFFM (Flight Manifest) - * + *

* <p style=\"margin-bottom: 1em; margin-top: 1em;\">Encaminhamento de arquivo XML para processamento de viagens áereas com suas respectivas cargas. Uma viagem consiste em um voo específico, aeroporto de partida, aeroporto(s) de chegada(s) e data/hora de partida. Será permitida apenas uma mensagem <strong>(XFFM)</strong> por arquivo, contendo a operação Creation, na versão 2.00, conforme o padrão estabelecido pela IATA. Não há operação Update ou Deletion para este arquivo.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Inicialmente, somente serão aceitos arquivos de viagem <strong>XFFM</strong> com aeroporto de partida no exterior e o primeiro aeroporto de chegada no Brasil. Desta forma, o aeroporto de partida constante no <strong>XFFM</strong> deve ser referente à última partida antes de chegar ao Brasil. Todas as cargas que se encontram na aeronave, independentemente do destino final das cargas, devem constar do <strong>XFFM</strong>.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A data/hora de partida efetiva da viagem deve ser anterior à data/hora da chegada da viagem, caso haja informação de chegada para a mesma.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos <strong>XFFM</strong> devem ser enviados uma única vez por viagem. Caso seja necessária alteração dos dados após o envio, pode ser enviado novo arquivo com a operação Creation, que deve conter a mesma identificação de viagem e data de criação posterior à anterior (FlightManifest/MessageHeaderDocument/IssueDateTime). Arquivos com mesma identificação de viagem e data de criação igual ou anterior serão rejeitados (situação &quot;Rejected&quot;).</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A identificação da viagem (FlightManifest/BusinessHeaderDocument/ID) deve ser informada conforme o padrão IATA, contendo exatamente 17 posições, no formato XX9999AAAAMMDDYYY, sendo:</p><ul> <li>XX9999: Código do voo, formado por 2 caracteres da sigla IATA da CIA aérea e 4 caracteres do número de voo. Quando o número do voo contiver menos de 4 caracteres numéricos, devem ser informados zeros à esquerda.</li> <li>AAAAMMDD: Data de partida prevista do último aeroporto estrangeiro antes de vir ao Brasil.</li> <li>YYY: Aeroporto de partida do último aeroporto estrangeiro antes de vir ao Brasil.</li></ul><p style=\"margin-bottom: 1em; margin-top: 1em;\">Um arquivo <strong>XFFM</strong> que está sendo enviado pela primeira vez pode ser encaminhado a qualquer momento, inclusive após a chegada da aeronave. Já um arquivo que esteja substituindo o arquivo anterior poderá ser enviado após a primeira chegada da aeronave daquela viagem no Brasil, contanto que a retificação não seja para exclusão de conhecimentos de carga associados à viagem. Vale ressaltar que a troca do aeroporto de chegada de um conhecimento de carga não é considerada exclusão. Somente será considerada exclusão quando o conhecimento era mencionado no <strong>XFFM</strong> original e deixou de ser mencionado após a retificação, independentemente do aeroporto de chegada.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Após 48 horas da chegada da viagem, não é mais permitido alterar informações sobre os conhecimentos de carga (ex: indicador de parcialidade, peso, volumes, etc) previstos para este aeroporto, sendo permitida apenas a inclusão de novos conhecimentos de carga. Para os demais aeroportos, pode haver alterações normalmente até que ocorra a informação de chegada da viagem.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A retificação de uma viagem poderá ser realizada igualmente via tela, sendo permitido a cada Companhia Aérea retificar somente as suas viagens, considerando a representação do usuário que está utilizando o sistema.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para viagens com partida no exterior, devem ser enviados apenas arquivos <strong>XFFM</strong> com data da partida efetiva (A – Actual, após a partida do veículo) na tag FlightManifest/LogisticsTransportMovement/DepartureEvent/DepartureDateTimeTypeCode. Caso a data de partida seja prevista (S – Scheduled, antes da partida do veículo), o arquivo será rejeitado.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os conhecimentos de carga informados na viagem deverão ter código de classificação de mercadoria com 2, 4, 6 ou 8 posições em FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedMasterConsignmentItem/TypeCode. Esta tag poderá ser repetida caso seja desejado informar mais de um código.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todos os códigos de aeroporto devem ser informados com 3 caracteres, não sendo permitidos códigos UNLOCODE de 5 caracteres.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os indicadores de parcialidade, informados na tag FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/TransportSplitDescription, são divididos em dois grupos:</p><ul> <li>Total - valores T ou S</li> <li>Parcial - valores P, D ou M</li></ul><p style=\"margin-bottom: 1em; margin-top: 1em;\">Em um mesmo XFFM, um conhecimento de carga só pode ser informado dentro do mesmo grupo de parcialidade.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todas as informações de data no arquivo devem ser encaminhadas com o fuso horário no padrão YYYY-MM-DD'T'HH:mm:ss:SSS(‘+’/’-’)ZZ:ZZ.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A informação do fuso horário de partida ou chegada da aeronave refere-se ao fuso horário local. A data de criação do arquivo deverá ser informada com o fuso do local onde foi criado.</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">De acordo com a necessidade da Receita Federal do Brasil, algumas informações poderão ser registradas no bloco de dados &quot;OtherCustomsInformations&quot;, conforme apresentado a seguir:</p></br><h3 id=\"indicador-conhecimento\">Indicador de conhecimento de carga não IATA</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>OBS:</strong> Caso seja informado um conhecimento de carga cuja identificação não esteja no padrão IATA, será obrigatório informar este indicador, caso contrário o arquivo será rejeitado.</p><table aria-describedby=\"indicador-conhecimento\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/ContendCode </td> <td>Informar &quot;DI&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/Content </td> <td>Informar &quot;NON-IATA&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/SubjectCode </td> <td>Informar &quot;WBI&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/CountryID </td> <td>Informar &quot;BR&quot;</td> <td></td> </tr> </tbody></table></br><h3 id=\"codigo-recinto\">Código do Recinto Aduaneiro da Chegada da Viagem</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>OBS:</strong>Este indicador deverá ser utilizado para sinalizar que a carga não será recepcionada no recinto aduaneiro principal do aeroporto de chegada, não sendo portanto uma tag obrigatória. O recinto aduaneiro informado neste indicador terá visibilidade de todas as cargas com chegada neste aeroporto. Este indicador poderá ser informado para cada aeroporto de chegada informado no <strong>XFFM</strong>.</p><table aria-describedby=\"codigo-recinto\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>FlightManifest/LogisticsTransportMovement/IncludedCustomsNote/ContendCode</td> <td>Informar &quot;M&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>FlightManifest/LogisticsTransportMovement/IncludedCustomsNote/Content</td> <td> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Informar &quot;CUSTOMSWAREHOUSEXXX9999999&quot;</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Contém 26 caracteres, sendo:</p> <ul> <li>- 1º ao 16º caractere: texto fixo escrito CUSTOMSWAREHOUSE</li> <li>- 17º ao 19º caractere (XXX): sigla IATA do aeroporto de chegada da viagem com 3 posições</li> <li>- 20º ao 26º caractere (9999999): código do recinto aduaneiro que irá recepcionar as cargas</li> </ul> </td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>FlightManifest/LogisticsTransportMovement/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;CCL&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>FlightManifest/LogisticsTransportMovement/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> <td></td> </tr> </tbody></table></br><h3 id=\"data-emissao\">Data de emissão de conhecimento de carga</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>OBS:</strong>Este indicador deve ser informado quando a viagem estiver vinculada a conhecimento de carga que foi emitido há mais de um ano da data efetiva de partida da viagem (conhecimento não vigente). Caso este indicador não seja informado, o sistema vinculará a viagem aos conhecimentos de cargas vigentes no sistema.</p><table aria-describedby=\"data-emissao\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/ContendCode </td> <td>Informar a tag com conteúdo vazio: &quot;&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/Content </td> <td> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Informar &quot;CARRIERDECLARATIONDATEAAAAMMDD&quot;:</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Contém 30 caracteres, sendo:</p> <ul> <li>- 1º ao 22º caractere: CARRIERDECLARATIONDATE (texto fixo)</li> <li>- 23º ao 30º caractere (AAAAMMDD): data de emissão do conhecimento que será associado</li> </ul> </td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/SubjectCode </td> <td>Informar &quot;WBI&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/CountryID </td> <td>Informar &quot;BR&quot;</td> <td></td> </tr> </tbody></table></br><h3 id=\"par-metros-de-entrada-\">Parâmetros de Entrada:</h3><table aria-describedby=\"par-metros-de-entrada-\"> <thead> <tr> <th>Nome</th> <th>Descrição</th> <th>Tipo</th> <th>Local</th> <th>Detalhes</th> </tr> </thead> <tbody> <tr> <td>Arquivo de viagem aérea (XFFM)</td> <td>Viagem com sua lista de conhecimentos</td> <td>Arquivo XML <strong>obrigatório</strong></td> <td>Body</td> <td>Versão 2.00 da IATA - informado pelas Companhias Aéreas</td> <td></td> </tr> <tr> <td>CNPJ</td> <td>CNPJ da Companhia Aérea</td> <td>Numérico(14) <strong>obrigatório</strong></td> <td>Query Param</td> <td>CNPJ (formato 99999999999999)</td> <td></td> </tr> </tbody></table></br><h3 id=\"resposta\">Resposta :</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os serviços de recebimento de arquivos terão o retorno de processamento por arquivo XFNM na versão 3.00, com as seguintes informações:</p><table aria-describedby=\"resposta\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Message Reference ID</td> <td>MessageHeaderDocument / ID</td> <td>Fixo &quot;BRCUSTOMS&quot;</td> </tr> <tr> <td>Message Name</td> <td>MessageHeaderDocument / Name</td> <td>Fixo &quot;Response&quot;</td> </tr> <tr> <td>Message Type</td> <td>MessageHeaderDocument / TypeCode</td> <td>Fixo &quot;294&quot;</td> </tr> <tr> <td>Message Date / Time Stamp</td> <td>MessageHeaderDocument / IssueDateTime</td> <td>Data / hora de processamento do arquivo - UTC time</td> </tr> <tr> <td>Message Function</td> <td>MessageHeaderDocument / PurposeCode</td> <td>Fixo &quot;Response&quot;</td> </tr> <tr> <td>Message Version</td> <td>MessageHeaderDocument / VersionID</td> <td>Fixo &quot;3.0&quot;</td> </tr> <tr> <td>Sender Qualifier</td> <td>MessageHeaderDocument / SenderParty / schemeID</td> <td>Fixo &quot;C&quot;</td> </tr> <tr> <td>Sender Identification</td> <td>MessageHeaderDocument / SenderParty / PrimaryID</td> <td>Fixo &quot;BRCUSTOMS&quot;</td> </tr> <tr> <td>Recipient Qualifier</td> <td>MessageHeaderDocument / RecipientParty / schemeID</td> <td>Valor do campo Sender Qualifier (tag MessageHeaderDocument / SenderParty / schemeID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com “O’ (letra O)</td> </tr> <tr> <td>Recipient Identification</td> <td>MessageHeaderDocument / RecipientParty / PrimaryID</td> <td>Valor do campo Sender Identification (tag MessageHeaderDocument / SenderParty / PrimaryID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com &quot;NOT IDENTIFIED&quot;</td> </tr> <tr> <td>Message Type</td> <td>BusinessHeaderDocument / TypeCode</td> <td>Valor do campo Message Type (tag MessageHeaderDocument / TypeCode) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com 999.</td> </tr> <tr> <td>Message Name</td> <td>BusinessHeaderDocument / Name</td> <td>Valor do campo Message Name (tag MessageHeaderDocument / Name) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com &quot;NOT IDENTIFIED&quot;.</td> </tr> <tr> <td>Original Document Identification</td> <td>BusinessHeaderDocument / ID</td> <td>Valor do campo Message Reference ID (tag MessageHeaderDocument / ID) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com &quot;NOT IDENTIFIED&quot;.</td> </tr> <tr> <td>Response Type</td> <td>BusinessHeaderDocument / StatusCode</td> <td>“<em>Received</em>” , “<em>Rejected</em>” ou “<em>Processed</em>” – conforme processamento do arquivo. Na versão atual, haverá resposta apenas nas situações “<em>Received</em>” (arquivo recebido e será processado) ou “<em>Rejected</em>”(arquivo foi rejeitado)</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos que passarem pela validação do XSD (formato estabelecido pela IATA), receberão status “<em>Received</em>”, acompanhado do número de protocolo gerado para este arquivo. Este número de protocolo pode ser utilizado para verificar a situação de processamento do arquivo por meio dos serviços <em>“Consultar Situação de Arquivos por Período”</em> ou <em>“Consultar Situação de Arquivos por número de Protocolo”</em>.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Já os arquivos que não passarem pela validação do XSD (formato estabelecido pela IATA) receberão status “<em>Rejected</em>”, acompanhado da lista de erros encontrados.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Received</em>\", haverá somente um registro do bloco de dados Response Status, conforme abaixo. O campo &quot;Text&quot; terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip1\">&nbsp;</span><table aria-describedby=\"ip1\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Acknowledgement</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Número do protocolo de recebimento</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Rejected</em>”, cada ocorrência de erro conterá as seguintes informações no bloco de dados Response Status. O campo &quot;Text&quot; terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip2\">&nbsp;</span><table aria-describedby=\"ip2\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Error</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Texto contendo a linha e coluna com erro, (informando Row:&#60;número da linha&#62; &#124; Column:&#60;número da coluna&#62;) e a descrição do erro verificada.Tamanho do campo: 5000 posições. Ex: &quot;Row:7&#124;Column:20&#124;Error: cvc-complex-type.2.4.a: Invalid content was found starting with element &#39;{&quot;iata:datamodel:3&quot;:PurposeCode}&#39;. One of &#39;{&quot;iata:datamodel:3&quot;:IssueDateTime}&#39; is expected.</td> </tr> </tbody></table> - * */ @POST @Path("/api/ext/incoming/xffm") @@ -51,9 +49,8 @@ public interface ServiosDeEnvioDeArquivosApi { /** * Informar Associação Master e House - XFHL (House Manifest) - * + *

* <p style=\"margin-bottom: 1em; margin-top: 1em;\">Encaminhamento de arquivo XML para processamento da associação entre um conhecimento de carga AWB (Air Waybill) ou MAWB (Master Air Waybill) e conhecimento(s) de carga HAWB (House Air Waybill).Será permitida apenas uma mensagem XFHL por arquivo, contendo a operação Creation, Update ou Deletion, na versão 2.00, conforme o padrão estabelecido pela IATA.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos com operação Update ou Deletion serão processados caso exista um arquivo com a operação Creation recebido anteriormente com sucesso no sistema, contendo a mesma identificação do conhecimento de carga do MAWB/AWB e vigente.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para que um MAWB/AWB seja considerado associado aos seus HAWB, deve haver arquivo de associação MAWB/HAWB (XFHL) que referencie o MAWB (XFWB) e a respectiva lista de HAWB (XFZB) associados.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Um arquivo XFHL que está sendo enviado com a operação Creation pode ser encaminhado a qualquer momento, inclusive após a chegada da aeronave. Já um arquivo que tenha a operação Update (contanto que contenha a exclusão de alguma das associações) ou a operação Deletion somente será aceito até a primeira chegada da viagem no Brasil e caso a carga não esteja vinculada a um documento de saída. Nessas situações, as operações de retificação ou exclusão somente poderão ser realizadas por funcionalidade de tela (web) e pela RFB. Retificações somente para inclusão de associações são permitidas.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todas as informações de data no arquivo devem ser encaminhadas contendo o fuso horário no padrão YYYY-MM-DD'T'HH:mm:ss:SSS(‘+’/’-’)ZZ:ZZ.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A informação do fuso horário de partida ou chegada da aeronave refere-se ao fuso horário local. A data de criação do arquivo deverá ser informada com o fuso do local onde foi criado.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">De acordo com a necessidade da Receita Federal do Brasil, algumas informações poderão ser registradas no bloco de dados \"OtherCustomsInformations\", conforme apresentado a seguir:</p></br><h3 id=\"indicador-conhecimento\">Indicador de conhecimento de carga não IATA</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>OBS:</strong> Caso seja informado um conhecimento de carga cuja identificação não esteja no padrão IATA, será obrigatório informar este indicador, caso contrário o arquivo será rejeitado.</p><table aria-describedby=\"indicador-conhecimento\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/ContendCode</td> <td>Informar &quot;DI&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/Content</td> <td>Informar &quot;NON-IATA&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;WBI&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> <td></td> </tr> </tbody></table></br><h3 id=\"indicador-agente-carga\">Identificação do Agente de Carga em cada HAWB (IncludedHouseConsignment) do XFHL</h3><table aria-describedby=\"indicador-agente-carga\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/ContendCode</td> <td>Informar &quot;T&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/Content</td> <td>Informar &quot;CNPJ&#60;número do CNPJ com 8 dígitos&#62;&quot;:</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;AGT&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> <td></td> </tr> </tbody></table></br><h3 id=\"data-emissao-awb\">Data de emissão de conhecimento de carga ocorrência para o AWB/MAWB (MasterConsignment)</h3><table aria-describedby=\"data-emissao-awb\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/ContendCode</td> <td>Informar a tag com conteúdo vazio: &quot;&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/Content</td> <td> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Informar &quot;CARRIERDECLARATIONDATEAAAAMMDD&quot;:</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Contém 30 caracteres, sendo:</p> <ul> <li>- 1º ao 22º caractere: CARRIERDECLARATIONDATE (texto fixo)</li> <li>- 23º ao 30º caractere (AAAAMMDD): data de emissão do conhecimento que será associado</li> </ul> </td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;WBI&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> <td></td> </tr> </tbody></table></br><h3 id=\"data-emissao-hawb\">Data de emissão de conhecimento de carga ocorrência em cada HAWB (IncludedHouseConsignment)</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>OBS:</strong> Este indicador deve ser informado quando o conhecimento de carga, seja o MAWB/AWB ou algum dos HAWB, foi emitido há mais de um ano da data efetiva de partida da viagem (conhecimento não vigente). Caso este indicador não seja informado, o sistema vinculará o MAWB/AWB vigente aos HAWB vigentes no sistema.</p><table aria-describedby=\"data-emissao-hawb\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/ContendCode</td> <td>Informar a tag com conteúdo vazio: &quot;&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/Content</td> <td> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Informar &quot;CARRIERDECLARATIONDATEAAAAMMDD&quot;:</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Contém 30 caracteres, sendo:</p> <ul> <li>- 1º ao 22º caractere: CARRIERDECLARATIONDATE (texto fixo)</li> <li>- 23º ao 30º caractere (AAAAMMDD): data de emissão do conhecimento que será associado</li> </ul> </td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;WBI&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> <td></td> </tr> </tbody></table></br><h3 id=\"par-metros-de-entrada-\">Parâmetros de Entrada:</h3><table aria-describedby=\"par-metros-de-entrada-\"> <thead> <tr> <th>Nome</th> <th>Descrição</th> <th>Tipo</th> <th>Local</th> <th>Detalhes</th> </tr> </thead> <tbody> <tr> <td>Arquivo de associação (XFHL)</td> <td>Associação entre <em>master</em>(MAWB) e <em>house</em>(HAWB)</td> <td>Arquivo XML <strong>obrigatório</strong></td> <td>Body</td> <td>Versão 2.00 da IATA - informado pelos Agentes de Carga ou pelo Operador de Remessa Postal / Expressa </td> <td></td> </tr> <tr> <td>CNPJ</td> <td>CNPJ do Agente de Carga ou do Operador de Remessa Postal / Expressa</td> <td>Numérico(14) <strong>obrigatório</strong></td> <td>Query Param</td> <td>CNPJ (formato 99999999999999)</td> <td></td> </tr> </tbody></table></br><h3 id=\"resposta-\">Resposta :</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os serviços de recebimento de arquivos terão o retorno de processamento por arquivo XFNM na versão 3.00, com as seguintes informações:</p><table aria-describedby=\"resposta\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Message Reference ID</td> <td>MessageHeaderDocument / ID</td> <td>Fixo &quot;BRCUSTOMS&quot;</td> </tr> <tr> <td>Message Name</td> <td>MessageHeaderDocument / Name</td> <td>Fixo &quot;Response&quot;</td> </tr> <tr> <td>Message Type</td> <td>MessageHeaderDocument / TypeCode</td> <td>Fixo &quot;294&quot;</td> </tr> <tr> <td>Message Date / Time Stamp</td> <td>MessageHeaderDocument / IssueDateTime</td> <td>Data / hora de processamento do arquivo - UTC time</td> </tr> <tr> <td>Message Function</td> <td>MessageHeaderDocument / PurposeCode</td> <td>Fixo &quot;Response&quot;</td> </tr> <tr> <td>Message Version</td> <td>MessageHeaderDocument / VersionID</td> <td>Fixo &quot;3.0&quot;</td> </tr> <tr> <td>Sender Qualifier</td> <td>MessageHeaderDocument / SenderParty / schemeID</td> <td>Fixo &quot;C&quot;</td> </tr> <tr> <td>Sender Identification</td> <td>MessageHeaderDocument / SenderParty / PrimaryID</td> <td>Fixo &quot;BRCUSTOMS&quot;</td> </tr> <tr> <td>Recipient Qualifier</td> <td>MessageHeaderDocument / RecipientParty / schemeID</td> <td>Valor do campo Sender Qualifier (tag MessageHeaderDocument / SenderParty / schemeID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com “O” (letra O)</td> </tr> <tr> <td>Recipient Identification</td> <td>MessageHeaderDocument / RecipientParty / PrimaryID</td> <td>Valor do campo Sender Identification (tag MessageHeaderDocument / SenderParty / PrimaryID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com \"NOT IDENTIFIED\".</td> </tr> <tr> <td>Message Type</td> <td>BusinessHeaderDocument / TypeCode</td> <td>Valor do campo Message Type (tag MessageHeaderDocument / TypeCode) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com 999.</td> </tr> <tr> <td>Message Name</td> <td>BusinessHeaderDocument / Name</td> <td>Valor do campo Message Name (tag MessageHeaderDocument / Name) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com \"NOT IDENTIFIED\".</td> </tr> <tr> <td>Original Document Identification</td> <td>BusinessHeaderDocument / ID</td> <td>Valor do campo Message Reference ID (tag MessageHeaderDocument / ID) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com \"NOT IDENTIFIED\".</td> </tr> <tr> <td>Response Type</td> <td>BusinessHeaderDocument / StatusCode</td> <td>“<em>Received</em>” , “<em>Rejected</em>” ou “<em>Processed</em>” – conforme processamento do arquivo. Na versão atual, haverá resposta apenas nas situações “<em>Received</em>” (arquivo recebido e será processado) ou “<em>Rejected</em>”(arquivo foi rejeitado)</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos que passarem pela validação do XSD (formato estabelecido pela IATA), receberão status \"Received\", acompanhado do número de protocolo gerado para este arquivo. Este número de protocolo pode ser utilizado para verificar a situação de processamento do arquivo por meio por meio dos serviços \"Consultar Situação de Arquivos por Data\" ou \"Consultar Situação de Arquivos por número de Protocolo\".</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Já os arquivos que não passarem pela validação do XSD (formato estabelecido pela IATA) receberão status “<em>Rejected</em>”, acompanhado da lista de erros encontrados.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Received</em>”, haverá somente um registro do bloco de dados Response Status, conforme abaixo. O campo &quot;Text&quot; terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip1\">&nbsp;</span><table aria-describedby=\"ip1\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Acknowledgement</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Número do protocolo de recebimento</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Rejected</em>”, cada ocorrência de erro conterá as seguintes informações no bloco de dados Response Status. O campo &quot;Text&quot; terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip2\">&nbsp;</span><table aria-describedby=\"ip2\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Error</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Texto contendo a linha e coluna com erro, (informando Row:&#60;número da linha&#62; &#124; Column:&#60;número da coluna&#62;) e a descrição do erro verificado.Tamanho do campo: 5000 posições. Ex: &quot;Row:7&#124;Column:20&#124;Error: cvc-complex-type.2.4.a: Invalid content was found starting with element &#39;{&quot;iata:datamodel:3&quot;:PurposeCode}&#39;. One of &#39;{&quot;iata:datamodel:3&quot;:IssueDateTime}&#39; is expected.</td> </tr> </tbody></table> - * */ @POST @Path("/api/ext/incoming/xfhl") @@ -73,9 +70,8 @@ public interface ServiosDeEnvioDeArquivosApi { /** * Informar Conhecimento de Carga - XFWB (Freight Waybill) - * + *

* <p style=\"margin-bottom: 1em; margin-top: 1em;\">Encaminhamento de arquivo XML para processamento de conhecimentos de cargas do tipo <strong>AWB (Air Waybill)</strong> ou <strong>MAWB (Master Air Waybill)</strong>. Será permitida apenas uma mensagem <strong>XFWB</strong> por arquivo, contendo a operação <em>Creation</em>, <em>Update</em> ou <em>Deletion</em>, na versão 3.00, conforme o padrão estabelecido pela IATA..<p style=\"margin-bottom: 1em; margin-top: 1em;\">Um conhecimento de carga poderá ser informado de forma repetida contanto que não existam dois conhecimentos de carga vigentes ao mesmo tempo. Desta forma não pode haver repetição de um conhecimento de carga num período de 365 dias a partir da sua emissão.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos de operação <em>Update</em> ou <em>Deletion</em> serão processados caso exista um arquivo com a operação <em>Creation</em> recebido anteriormente com sucesso no sistema, tendo a mesma identificação do <strong>AWB/MAWB (Waybill/BusinessHeaderDocument/ID)</strong> e data de emissão.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A alteração de um <strong>AWB/MAWB</strong> poderá ocorrer por serviço caso não tenha ocorrido entrega final ao importador, seja esta parcial ou total. Já a exclusão do <strong>AWB/MAWB</strong> só poderá ocorrer até o momento da chegada da primeira parte ou do total da carga em um aeroporto brasileiro.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para que um <strong>AWB/MAWB</strong> seja considerado como manifestado em uma viagem, o conhecimento de carga <strong>(XFWB)</strong> deve ser referenciado no arquivo da viagem <strong>(XFFM)</strong>. Para tal, a identificação do <strong>AWB/MAWB</strong> deve ser igual em ambos os arquivos. Além disso, tanto o arquivo <strong>XFFM</strong> quanto o arquivo <strong>XFWB</strong> devem se encontrar na situação <em>Processed</em>.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">O conhecimento de carga será vinculado à viagem de acordo com sua data de emissão, que deve ser menor ou igual à data de partida efetiva da viagem.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">O agrupamento de informações de mercadoria (Waybill/MasterConsignment/ApplicableRating) obrigatório é o agrupamento do tipo &quot;F&quot; (Waybill/MasterConsignment/ApplicableRating/TypeCode), que se refere ao valor de face.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">O agrupamento de informações de forma de pagamento do frete (Waybill/MasterConsignment/ApplicableTotalRating/ApplicablePrepaidCollectMonetarySummation/PrepaidIndicator) poderá ter no máximo duas ocorrências, sendo uma prepaid e a outra collect.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os conhecimentos de carga informados deverão ter código de classificação de mercadoria <strong>(NCM)</strong> com 2, 4, 6 ou 8 posições em Waybill/MasterConsignment/ApplicableRating/IncludedMasterConsignmentItem/TypeCode. Esta tag poderá ser repetida caso seja desejado informar mais de um código NCM.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todas as unidades de medida de peso deverão ser informadas como unidades de medida de massa.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todos os códigos de aeroportos informados no sistema devem ser informados com 3 caracteres, não sendo aceito código UNLOCODE de 5 caracteres.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">De acordo com a necessidade da Receita Federal do Brasil, os campos abaixo são de informação obrigatória. Caso o arquivo não apresente as informações a seguir, ele será rejeitado em tempo de processamento.</p></br><h3 id=\"ip1\"><strong>Número Total de Volumes</strong></h3><table aria-describedby=\"ip1\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>WAYBILL SUMMARY/Total number of pieces</td> <td>Waybill/MasterConsignment/TotalPieceQuantity</td> </tr> </tbody></table></br><h3 id=\"ip2\"><strong>Peso Bruto Total</strong></h3><table aria-describedby=\"ip2\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>WAYBILL SUMMARY/Total Gross Weight</td> <td>Waybill/MasterConsignment/IncludedTareGrossWeightMeasure</td> </tr> </tbody></table></br><h3 id=\"ip3\"><strong>Peso Bruto Total - Unidade de Medida</strong></h3><table aria-describedby=\"ip3\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>WAYBILL SUMMARY/Total Gross Weight Unit of Measurement</td> <td>Waybill/MasterConsignment/IncludedTareGrossWeightMeasure (unit code)</td> </tr> </tbody></table></br><h3 id=\"ip4\" ><strong>Descrição das Mercadorias</strong> - Deve ser informado ao menos uma vez por arquivo</h3><table aria-describedby=\"ip4\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>WAYBILL BODY / Rating Type / Rating Type Indicator / Item Details / Item Description</td> <td>Waybill / MasterConsignment / ApplicableRating / IncludedMasterConsignmentItem / NatureIdentificationTransportCargo / Identification</td> </tr> </tbody></table></br><h3 id=\"ip5\"><strong>Valor Total do Frete</strong></h3><table aria-describedby=\"ip5\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>WAYBILL SUMMARY / Waybill Totals / Rating Type Indicator / Prepaid / Collect Indicator / Total Charge Summary</td> <td>Waybill / MasterConsignment / ApplicableTotalRating / ApplicablePrepaidCollectMonetarySummation / GrandTotalAmount</td> </tr> </tbody></table></br><h3 id=\"ip6\" ><strong>Forma de Pagamento do Frete (Prepaid, Collect)</strong></h3><table aria-describedby=\"ip6\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>WAYBILL SUMMARY / Waybill Totals / Rating Type Indicator / Prepaid / Collect Indicator</td> <td>Waybill / MasterConsignment / ApplicableTotalRating / ApplicablePrepaidCollectMonetarySummation / PrepaidIndicator</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Caso o tipo de conhecimento de carga seja <strong>MAWB</strong>, as informações de pagamento do frete e valor do frete não serão obrigatórias. Desta forma, o valor do frete para o MAWB pode ser zero.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A informação de identificação do consignatário não é obrigatória. Porém, caso a mesma não tenha sido informada no, <strong>AWB</strong> até o momento da chegada da viagem, o sistema realizará um bloqueio automático na carga. Para <strong>MAWB</strong>, não haverá bloqueio pela falta de informação da identificação do consignatário.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">De acordo com a necessidade da Receita Federal do Brasil, existem informações que poderão ser registradas no bloco de dados &quot;Other Customs Informations&quot;, não sendo obrigatórias nas versões iniciais.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">São elas:</p></br><h3 id=\"indicador-conhecimento\">Indicador de conhecimento de carga não IATA</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>OBS:</strong>Caso seja informado um AWB ou MAWB cuja identificação não siga o padrão IATA, é obrigatório informar este indicador. Caso contrário, o arquivo será rejeitado.</p><table aria-describedby=\"indicador-conhecimento\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/ContendCode</td> <td>Informar &quot;DI&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/Content</td> <td>Informar &quot;NON-IATA&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;WBI&quot;</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> <td></td> </tr> </tbody></table></br><h3 id=\"ip7\"><strong>Indicador de Presença de Partes e Peças de Madeira Maciça</strong></h3><table aria-describedby=\"ip7\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar &quot;DI&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/Content</td> <td>Informar &quot;WOOD PARTS&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;OCI&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> </tr> </tbody></table></br><h3 id=\"ip8\" ><strong>Indicador de Não Recepção dos HAWB Associados no Aeroporto de Destino</strong></h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Obs:</strong>Quando este campo OCI for informado, o indicador será preenchido com &quot;sim&quot;. Quando esse campo OCI não for informado, o indicador será preenchido com &quot;não&quot;.<br> Quando o indicador for &quot;sim&quot;, a orientação é de que a recepção no aeroporto de destino do conhecimento seja realizada pelo MAWB, e não por seus HAWB associados.<br> Quando for &quot;não&quot;, a orientação é de que a recepção no aeroporto de destino do conhecimento seja realizada diretamente pelos HAWB.<br> Este indicador não deve ser levado em consideração nas recepções realizadas em unidades que não sejam o aeroporto de destino do conhecimento. Nestes casos, indica-se como padrão a recepção pelo MAWB.</p><table aria-describedby=\"ip8\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar &quot;DI&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/Content</td> <td>Informar &quot;DO NOT BREAK DOWN&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;HDL&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> </tr> </tbody></table></br><h3 id=\"ip9\" ><strong>Identificação do Consignatário</strong></h3><table aria-describedby=\"ip9\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar &quot;T&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/Content</td> <td> <p style=\"margin-bottom: 1em; margin-top: 1em;\">- Se for um CPF informar &quot;CPF&#60;número do CPF com 11 dígitos&#62;&quot; . Ex: CPF12345678901</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">- Se for um CNPJ informar &quot;CNPJ&#60;número do CNPJ com 8 ou 14 dígitos&#62;&quot;. Ex:CNPJ12345678901234</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">- Se for um Passaporte informar &quot;PASSPORT&#60;número do passaporte com até 25 posições&#62;. Ex:PASSPORTC12345678.</p> </td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;CNE&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information /Country code</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> </tr> </tbody></table></br><h3 id=\"ip10\" ><strong>RUC (Referência Única da Carga) / UCR (Unique Consignment Reference)</strong></h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Obs:</strong>Caso a informação da RUC não seja encaminhada no arquivo, o sistema gerará automaticamente um número RUC para a carga. Se a RUC for informada, deverá atender à recomendação da Organização Mundial de Aduanas (OMA) para a Unique Consignment Reference (UCR).</p><table aria-describedby=\"ip10\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar &quot;U&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/Content</td> <td>Informar UCR&#60;número da RUC com até 32 posições&#62;. Ex: UCR8BR167017161001713D0000000000004021</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;IMP&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> </tr> </tbody></table></br><h3 id=\"ip11\" ><strong>Código do Recinto Aduaneiro de Destino da Carga</strong></h3><table aria-describedby=\"ip11\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar &quot;M&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/Content</td> <td>Informar &quot;CUSTOMSWAREHOUSE&#60;número do Código do Recinto Aduaneiro de Destino da Carga com 7 dígitos&#62;&quot;. Ex:CUSTOMSWAREHOUSE1234567</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;CCL&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todas as informações de data no arquivo devem ser encaminhadas com o fuso horário no padrão <strong>“YYYY-MM-DD&#39;T&#39;HH:mm:ss:SSS(‘+’/’-’)ZZ:ZZ”</strong>.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A informação do fuso horário de partida ou chegada da aeronave refere-se ao fuso horário local. A data de criação do arquivo deverá ser informada com o fuso do local onde foi criado.</p></br><h3 id=\"par-metros-de-entrada-\">Parâmetros de Entrada:</h3><table aria-describedby=\"par-metros-de-entrada-\"> <thead> <tr> <th>Nome</th> <th>Descrição</th> <th>Tipo</th> <th>Local</th> <th>Detalhes</th> </tr> </thead> <tbody> <tr> <td>Arquivo de conhecimento de carga (XFWB)</td> <td>Conhecimentos de carga(AWB e MAWB)</td> <td>Arquivo XML <strong>obrigatório</strong></td> <td>Body</td> <td>Versão 3.00 da IATA - informado pelas Companhias Aéreas</td> <td></td> </tr> <tr> <td>CNPJ</td> <td>CNPJ da Companhia Aérea</td> <td>Numérico(14) <strong>obrigatório</strong></td> <td>Query Param</td> <td>CNPJ (formato 99999999999999)</td> <td></td> </tr> </tbody></table></br><h3 id=\"resposta-\">Resposta :</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os serviços de recebimento de arquivos terão o retorno de processamento por arquivo XFNM na versão 3.00, com as seguintes informações:</p><table aria-describedby=\"resposta\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Message Reference ID</td> <td>MessageHeaderDocument / ID</td> <td>Fixo &quot;BRCUSTOMS&quot;</td> </tr> <tr> <td>Message Name</td> <td>MessageHeaderDocument / Name</td> <td>Fixo &quot;Response&quot;</td> </tr> <tr> <td>Message Type</td> <td>MessageHeaderDocument / TypeCode</td> <td>Fixo &quot;294&quot;</td> </tr> <tr> <td>Message Date / Time Stamp</td> <td>MessageHeaderDocument / IssueDateTime</td> <td>Data / hora de processamento do arquivo - UTC time</td> </tr> <tr> <td>Message Function</td> <td>MessageHeaderDocument / PurposeCode</td> <td>Fixo &quot;Response&quot;</td> </tr> <tr> <td>Message Version</td> <td>MessageHeaderDocument / VersionID</td> <td>Fixo &quot;3.0&quot;</td> </tr> <tr> <td>Sender Qualifier</td> <td>MessageHeaderDocument / SenderParty / schemeID</td> <td>Fixo &quot;C&quot;</td> </tr> <tr> <td>Sender Identification</td> <td>MessageHeaderDocument / SenderParty / PrimaryID</td> <td>Fixo &quot;BRCUSTOMS&quot;</td> </tr> <tr> <td>Recipient Qualifier</td> <td>MessageHeaderDocument / RecipientParty / schemeID</td> <td>Valor do campo Sender Qualifier (tag MessageHeaderDocument / SenderParty / schemeID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com “O’ (letra O)</td> </tr> <tr> <td>Recipient Identification</td> <td>MessageHeaderDocument / RecipientParty / PrimaryID</td> <td>Valor do campo Sender Identification (tag MessageHeaderDocument / SenderParty / PrimaryID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com &quot;NOT IDENTIFIED&quot;</td> </tr> <tr> <td>Message Type</td> <td>BusinessHeaderDocument / TypeCode</td> <td>Valor do campo Message Type (tag MessageHeaderDocument / TypeCode) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com 999.</td> </tr> <tr> <td>Message Name</td> <td>BusinessHeaderDocument / Name</td> <td>Valor do campo Message Name (tag MessageHeaderDocument / Name) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com &quot;NOT IDENTIFIED&quot;.</td> </tr> <tr> <td>Original Document Identification</td> <td>BusinessHeaderDocument / ID</td> <td>Valor do campo Message Reference ID (tag MessageHeaderDocument / ID) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com &quot;NOT IDENTIFIED&quot;.</td> </tr> <tr> <td>Response Type</td> <td>BusinessHeaderDocument / StatusCode</td> <td>“<em>Received</em>” , “<em>Rejected</em>” ou “<em>Processed</em>” – conforme processamento do arquivo. Na versão atual, haverá resposta apenas nas situações “<em>Received</em>” (arquivo recebido e será processado) ou “<em>Rejected</em>”(arquivo foi rejeitado)</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos que passarem pela validação do XSD (formato estabelecido pela IATA), receberão status &quot;<em>Received</em>&quot;, acompanhado do número de protocolo gerado para este arquivo. Este número de protocolo pode ser utilizado para verificar a situação de processamento do arquivo por meio dos serviços &quot;Consultar Situação de Arquivos por Data&quot; ou &quot;Consultar Situação de Arquivos por número de Protocolo&quot;.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Já os arquivos que não passarem pela validação do XSD (formato estabelecido pela IATA) receberão status &quot;<em>Rejected</em>&quot;, acompanhado da lista de erros encontrados.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a &quot;<em>Received</em>&quot;, haverá somente um registro do bloco de dados Response Status, conforme abaixo. O campo &quot;Text&quot; terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip12\">&nbsp;</span><table aria-describedby=\"ip12\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category ResponseStatus / ConditionCode</td> <td>Acknowledgement</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Número do protocolo de recebimento</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Rejected</em>”, cada ocorrência de erro conterá as seguintes informações no bloco de dados Response Status. O campo &quot;Text&quot; terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip13\">&nbsp;</span><table aria-describedby=\"ip13\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Error</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Texto contendo a linha e coluna com erro, (informando Row:&#60;número da linha&#62; &#124; Column:&#60;número da coluna&#62;) e a descrição do erro verificado.Tamanho do campo: 5000 posições. Ex: &quot;Row:7&#124;Column:20&#124;Error: cvc-complex-type.2.4.a: Invalid content was found starting with element &#39;{&quot;iata:datamodel:3&quot;:PurposeCode}&#39;. One of &#39;{&quot;iata:datamodel:3&quot;:IssueDateTime}&#39; is expected.</td> </tr> </tbody></table> - * */ @POST @Path("/api/ext/incoming/xfwb") @@ -95,9 +91,8 @@ public interface ServiosDeEnvioDeArquivosApi { /** * Informar Conhecimento de Carga House - XFZB (House Air Waybill) - * + *

* <p style=\"margin-bottom: 1em; margin-top: 1em;\">Encaminhamento de arquivo XML para processamento de conhecimentos de cargas house (HAWB - <em>House Air Waybill</em>). Será permitida apenas uma mensagem XFZB por arquivo, contendo a operação de <em>Creation</em>, <em>Update</em> ou <em>Deletion</em>, conforme o padrão IATA.<p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos de operação Update ou Deletion serão processados, caso exista um arquivo de Creation recebido anteriormente com sucesso no sistema, tendo a mesma identificação do conhecimento de carga do HAWB. A identificação do conhecimento de carga HAWB é feita pelo conjunto da informação de número do HAWB (HouseWaybill/BusinessHeaderDocument/ID) e aeroporto de origem da carga do HAWB (HouseWaybill/MasterConsignment/IncludedHouseConsignment/OriginLocation/ID).</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para que um HAWB seja considerado associado a um MAWB(XFWB), deve haver arquivo de associação MAWB/HAWB(XFHL), que referencie o HAWB (XFZB), por meio de suas respectivas identificações do MAWB/HAWB e aeroporto de origem da carga. Além disso, todos os arquivos (XFHL, XFWB e XFZB) devem se encontrar na situação &quot;<em>Processed</em>&quot;.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Um arquivo XFZB que está sendo enviado com a operação Creation pode ser encaminhado por este serviço a qualquer momento, inclusive após a chegada da aeronave. Já um arquivo que tenha a operação Update ou Deletion, somente será aceito pelo serviço até a informação da chegada da aeronave e caso a carga não esteja vinculada a um documento de saída. No caso da exclusão, esta operação também não será permitida caso o HAWB já esteja vinculado a seu MAWB, conforme a regra de associação acima mencionada. Nessas situações, as operações de retificação ou exclusão somente poderão ser realizadas por funcionalidades de tela (web) a serem disponibilizadas futuramente, e não mais por arquivo XML. A funcionalidade de exclusão será restrita para uso da RFB.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os conhecimentos de carga informados deverão ter código de classificação de mercadoria <strong>(NCM)</strong> com 2, 4, 6 ou 8 posições em HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedHouseConsignmentItem/TypeCode. Esta tag poderá ser repetida caso seja desejado informar mais de um código NCM.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os valores totais de HAWB a serem informados, serão obrigatórios somente com relação ao valor de face (<strong>&quot;F&quot;</strong>).</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">De acordo com a necessidade da Receita Federal do Brasil, os campos abaixo são de informação obrigatória. Caso o arquivo não apresente as informações a seguir, ele será rejeitado em tempo de processamento.</p></br><h3 id=\"ip1\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Número Total de Volumes</strong></h3><table aria-describedby=\"ip1\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>HOUSE WAYBILL SUMMARY /Total number of pieces</td> <td>HouseWaybill / MasterConsignment / IncludedHouseConsignment / TotalPieceQuantity</td> </tr> </tbody></table></br><h3 id=\"ip2\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Peso Bruto Total</strong></h3><table aria-describedby=\"ip2\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>HOUSE WAYBILL SUMMARY / Total Gross Weight</td> <td>HouseWaybill / MasterConsignment / IncludedHouseConsignment / IncludedTareGrossWeightMeasure</td> </tr> </tbody></table></br><h3 id=\"ip3\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Peso Bruto Total - Unidade de Medida</strong></h3><table aria-describedby=\"ip3\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>HOUSE WAYBILL SUMMARY / Total Gross Weight</td> <td>HouseWaybill / MasterConsignment / IncludedHouseConsignment / IncludedTareGrossWeightMeasure (unit code) </td> </tr> </tbody></table></br><h3 id=\"ip4\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Descrição das Mercadorias</strong></h3><table aria-describedby=\"ip4\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>HOUSE WAYBILL SUMMARY / Description of Goods</td> <td>HouseWaybill / MasterConsignment / IncludedHouseConsignment / SummaryDescription</td> </tr> </tbody></table></br><h3 id=\"ip5\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Valor Total do Frete PREPAID</strong></h3><table aria-describedby=\"ip5\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>HOUSE WAYBILL SUMMARY / House Waybill Totals / Total Prepaid Charge Summary Amount</td> <td>HouseWaybill / MasterConsignment / IncludedHouseConsignment / TotalPrepaidChargeAmount</td> </tr> </tbody></table></br><h3 id=\"ip6\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Valor Total do Frete COLLECT</strong></h3><table aria-describedby=\"ip6\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>HOUSE WAYBILL SUMMARY / House Waybill Totals / Total Collect Charge Summary Amount</td> <td>HouseWaybill / MasterConsignment / IncludedHouseConsignment / TotalCollectChargeAmount</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">A informação de identificação do consignatário não é obrigatória, porém, caso a mesma não conste do HAWB no momento da chegada da viagem, o sistema realizará um bloqueio automático na carga.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">De acordo com a necessidade da Receita Federal do Brasil, existem informações que poderão ser registradas no bloco de dados \"Other Customs Informations\", não sendo obrigatórias nas versões iniciais.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">São elas:</p></br><h3 id=\"ip7\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Indicador de Presença de Partes e Peças de Madeira Maciça</strong></h3><table aria-describedby=\"ip7\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar &quot;DI&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/Content</td> <td>Informar &quot;WOOD PARTS&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;OCI&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information /Country code</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> </tr> </tbody></table></br><h3 id=\"ip8\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Identificação do Consignatário</strong></h3><table aria-describedby=\"ip8\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar &quot;T&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information /Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/Content</td> <td> <p style=\"margin-bottom: 1em; margin-top: 1em;\">- Se for um CPF informar &quot;CPF&#60;número do CPF com 11 dígitos&#62;&quot; . Ex: CPF12345678901</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">- Se for um CNPJ informar &quot;CNPJ&#60;número do CNPJ com 8 ou 14 dígitos&#62;&quot;. Ex:CNPJ12345678901234</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">- Se for um Passaporte informar &quot;PASSPORT&#60;número do passaporte com até 25 posições&#62;. Ex:PASSPORTC12345678.</p> </td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;CNE&quot; consignatário</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> </tr> </tbody></table></br><h3 id=\"ip9\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>RUC (Referência Única da Carga) / UCR (Unique Consignment Reference)</strong></h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Obs</strong>: Caso a informação da RUC não seja encaminhada no arquivo, o sistema gera automaticamente um número para a carga. Se a RUC for informada, deverá atender a recomendação da Organização Mundial de Aduanas (OMA) para a Unique Consignment Reference (UCR).</p><table aria-describedby=\"ip9\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar &quot;U&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/Content</td> <td>Informar UCR&#60;número da RUC com até 32 posições&#62;. Ex: UCR8BR167017161001713D0000000000004021</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;IMP&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> </tr> </tbody></table></br><h3 id=\"ip10\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Código do Recinto Aduaneiro de Destino da Carga</strong></h3><table aria-describedby=\"ip10\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar &quot;M&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/Content</td> <td>Informar &quot;CUSTOMSWAREHOUSE&#60;número do Código do Recinto Aduaneiro de Destino da Carga com 7 dígitos&#62;&quot;. Ex:CUSTOMSWAREHOUSE1234567</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar &quot;CCL&quot;</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/CountryID</td> <td>Informar &quot;BR&quot;</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todas as informações de data no arquivo devem ser encaminhadas com o fuso horário no padrão <strong>&quot;YYYY-MM-DD&#39;T&#39;HH:mm:ss:SSS(‘+’/’-’)ZZ:ZZ&quot;</strong>.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A informação do fuso horário de partida ou chegada da aeronave refere-se ao fuso horário local. A data de criação do arquivo deverá ser informada com o fuso do local onde foi criado.</p></br><h3 id=\"par-metros-de-entrada-\">Parâmetros de Entrada:</h3><table aria-describedby=\"par-metros-de-entrada-\"> <thead> <tr> <th>Nome</th> <th>Descrição</th> <th>Tipo</th> <th>Local</th> <th>Detalhes</th> </tr> </thead> <tbody> <tr> <td>Arquivo de conhecimento de carga (XFZB)</td> <td>Conhecimentos de carga <em>House</em>(HAWB)</td> <td>Arquivo XML <strong>obrigatório</strong></td> <td>Body</td> <td>Versão 3.00 da IATA - informado pelos Agentes de Carga ou pelo Operador de Remessa Postal / Expressa </td> <td></td> </tr> <tr> <td>CNPJ</td> <td>CNPJ do Agente de Carga ou do Operador de Remessa Postal / Expressa</td> <td>Numérico(14) <strong>obrigatório</strong></td> <td>Query Param</td> <td>CNPJ (formato 99999999999999)</td> <td></td> </tr> </tbody></table></br><h3 id=\"resposta-\">Resposta :</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os serviços de recebimento de arquivos terão o retorno de processamento por arquivo XFNM na versão 3.00, com as seguintes informações:</p><table aria-describedby=\"resposta-\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Message Reference ID</td> <td>MessageHeaderDocument / ID</td> <td>Fixo &quot;BRCUSTOMS&quot;</td> </tr> <tr> <td>Message Name</td> <td>MessageHeaderDocument / Name</td> <td>Fixo &quot;Response&quot;</td> </tr> <tr> <td>Message Type</td> <td>MessageHeaderDocument / TypeCode</td> <td>Fixo &quot;294&quot;</td> </tr> <tr> <td>Message Date / Time Stamp</td> <td>MessageHeaderDocument / IssueDateTime</td> <td>Data / hora de processamento do arquivo - UTC time</td> </tr> <tr> <td>Message Function</td> <td>MessageHeaderDocument / PurposeCode</td> <td>Fixo &quot;Response&quot;</td> </tr> <tr> <td>Message Version</td> <td>MessageHeaderDocument / VersionID</td> <td>Fixo &quot;3.0&quot;</td> </tr> <tr> <td>Sender Qualifier</td> <td>MessageHeaderDocument / SenderParty / schemeID</td> <td>Fixo &quot;C&quot;</td> </tr> <tr> <td>Sender Identification</td> <td>MessageHeaderDocument / SenderParty / PrimaryID</td> <td>Fixo &quot;BRCUSTOMS&quot;</td> </tr> <tr> <td>Recipient Qualifier</td> <td>MessageHeaderDocument / RecipientParty / schemeID</td> <td>Valor do campo Sender Qualifier (tag MessageHeaderDocument / SenderParty / schemeID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com “O’ (letra O)</td> </tr> <tr> <td>Recipient Identification</td> <td>MessageHeaderDocument / RecipientParty / PrimaryID</td> <td>Valor do campo Sender Identification (tag MessageHeaderDocument / SenderParty / PrimaryID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com &quot;NOT IDENTIFIED&quot;</td> </tr> <tr> <td>Message Type</td> <td>BusinessHeaderDocument / TypeCode</td> <td>Valor do campo Message Type (tag MessageHeaderDocument / TypeCode) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com 999.</td> </tr> <tr> <td>Message Name</td> <td>BusinessHeaderDocument / Name</td> <td>Valor do campo Message Name (tag MessageHeaderDocument / Name) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com &quot;NOT IDENTIFIED&quot;.</td> </tr> <tr> <td>Original Document Identification</td> <td>BusinessHeaderDocument / ID</td> <td>Valor do campo Message Reference ID (tag MessageHeaderDocument / ID) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com &quot;NOT IDENTIFIED&quot;.</td> </tr> <tr> <td>Response Type</td> <td>BusinessHeaderDocument / StatusCode</td> <td>“<em>Received</em>” , “<em>Rejected</em>” ou “<em>Processed</em>” – conforme processamento do arquivo. Na versão atual, haverá resposta apenas nas situações “<em>Received</em>” (arquivo recebido e será processado) ou “<em>Rejected</em>”(arquivo foi rejeitado)</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos que passarem pela validação do XSD (formato estabelecido pela IATA), receberão status “Received”, acompanhado do número de protocolo gerado para este arquivo. Este número de protocolo pode ser utilizado para verificar a situação de processamento do arquivo por meio dos serviços “Consultar Situação de Arquivos por Data” ou “Consultar Situação de Arquivos por número de Protocolo”.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Já os arquivos que não passarem pela validação do XSD (formato estabelecido pela IATA) receberão status “Rejected”, acompanhado da lista de erros encontrados.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Received</em>”, haverá somente um registro do bloco de dados Response Status, conforme abaixo. O campo &quot;Text&quot; terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip11\">&nbsp;</span><table aria-describedby=\"ip11\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Acknowledgement</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Número do protocolo de recebimento</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Rejected</em>”, cada ocorrência de erro conterá as seguintes informações no bloco de dados Response Status. O campo &quot;Text&quot; terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip12\">&nbsp;</span><table aria-describedby=\"ip12\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Error</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Texto contendo a linha e coluna com erro, (informando Row:&#60;número da linha&#62; &#124; Column:&#60;número da coluna&#62;) e a descrição do erro verificada.Tamanho do campo: 5000 posições. Ex: &quot;Row:7&#124;Column:20&#124;Error: cvc-complex-type.2.4.a: Invalid content was found starting with element &#39;{&quot;iata:datamodel:3&quot;:PurposeCode}&#39;. One of &#39;{&quot;iata:datamodel:3&quot;:IssueDateTime}&#39; is expected.</td> </tr> </tbody></table> - * */ @POST @Path("/api/ext/incoming/xfzb") diff --git a/src/main/java/br/gov/siscomex/portalunico/classif/api/ServioPblicoNomenclaturaApi.java b/src/main/java/br/gov/siscomex/portalunico/classif/api/ServioPblicoNomenclaturaApi.java index 624e5ec..0d14629 100644 --- a/src/main/java/br/gov/siscomex/portalunico/classif/api/ServioPblicoNomenclaturaApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/classif/api/ServioPblicoNomenclaturaApi.java @@ -13,16 +13,14 @@ /** * Classificação Fiscal de Mercadoria * - *

CLSF - Classificação Fiscal de Mercadorias

Introdução

Bem-vindo à API do sistema Classificação Fiscal de Mercadorias (Classif).

O Classificação Fiscal de Mercadorias fornece a relação dos atributos configurados pelos órgãos de governo para os códigos de mercadoria (NCM). A relação é atualizada diariamente, durante a madrugada, e pode ser consultada para a data atual.

O serviço disponibilizado nesta API é \"nomenclatura\", cuja especificação será descrita abaixo.

URLs de Acesso

Para utilizar o serviço, deve-se acessar uma das URLs que seguem, de acordo com o ambiente utilizado:

Nome do Ambiente URL de acesso
Ambiente de Validação das Empresas  https://val.portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json
Ambiente de Produção  https://portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json

 

- * + *

CLSF - Classificação Fiscal de Mercadorias

Introdução

Bem-vindo à API do sistema Classificação Fiscal de Mercadorias (Classif).

O Classificação Fiscal de Mercadorias fornece a relação dos atributos configurados pelos órgãos de governo para os códigos de mercadoria (NCM). A relação é atualizada diariamente, durante a madrugada, e pode ser consultada para a data atual.

O serviço disponibilizado nesta API é \"nomenclatura\", cuja especificação será descrita abaixo.

URLs de Acesso

Para utilizar o serviço, deve-se acessar uma das URLs que seguem, de acordo com o ambiente utilizado:

Nome do Ambiente URL de acesso
Ambiente de Validação das Empresas  https://val.portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json
Ambiente de Produção  https://portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json

 

*/ @Path("/") @Api(value = "/", description = "") public interface ServioPblicoNomenclaturaApi { /** - * Download do Arquivo - * + * Download do Arquivo */ @GET @Path("/publico/nomenclatura/download/json") diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp/api/ServiosExternosSefazApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp/api/ServiosExternosSefazApi.java index 399a802..8f95204 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp/api/ServiosExternosSefazApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp/api/ServiosExternosSefazApi.java @@ -26,15 +26,15 @@ public interface ServiosExternosSefazApi { /** - * Consulta os dados de uma versão específica de uma DUIMP registrada. + * Consulta os dados da versão vigente de uma DUIMP registrada. * - * <p>Disponível apenas para as Secretarias de Fazenda (SEFAZ).</p> + * <p> Disponível apenas para as Secretarias de Fazenda (SEFAZ).</p> * */ @GET - @Path("/ext/sefaz/duimp/{numeroDuimp}/{versaoDuimp}") + @Path("/ext/sefaz/duimp/{numeroDuimp}") @Produces({"application/json"}) - @ApiOperation(value = "Consulta os dados de uma versão específica de uma DUIMP registrada.", notes = "

Disponível apenas para as Secretarias de Fazenda (SEFAZ).

", tags = {"Serviços Externos Sefaz"}) + @ApiOperation(value = "Consulta os dados da versão vigente de uma DUIMP registrada.", notes = "

Disponível apenas para as Secretarias de Fazenda (SEFAZ).

", tags = {"Serviços Externos Sefaz"}) @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = SefazDuimpCover.class), @ApiResponse(code = 400, message = "Requisição mal formatada."), @@ -43,18 +43,18 @@ public interface ServiosExternosSefazApi { @ApiResponse(code = 404, message = "Recurso não encontrado"), @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErroSefaz.class), @ApiResponse(code = 500, message = "Erro interno no servidor")}) - Response consultarDuimp(@ApiParam(value = "Número da Duimp
Tamanho: 15
Formato: 'NNAANNNNNNNNNNN'
Lei de formação. O número da Duimp é composto por:
* NN = Corresponde ao ano do registro da Declaração.
* AA = Corresponde à sigla do país de emissão do documento (BR).
* NNNNNNNNNN = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)", required = true) @PathParam("numeroDuimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp
Valor mínimo: 1
Valor máximo: 9999", required = true) @PathParam("versaoDuimp") String versaoDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); + Response consultarDuimp(@ApiParam(value = "Número da Duimp
Tamanho: 15
Formato: 'NNAANNNNNNNNNNN'
Lei de formação. O número da Duimp é composto por:
* NN = Corresponde ao ano do registro da Declaração.
* AA = Corresponde à sigla do país de emissão do documento (BR).
* NNNNNNNNNN = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)", required = true) @PathParam("numeroDuimp") String numeroDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); /** - * Consulta os dados da versão vigente de uma DUIMP registrada. + * Consulta os dados de uma versão específica de uma DUIMP registrada. * - * <p> Disponível apenas para as Secretarias de Fazenda (SEFAZ).</p> + * <p>Disponível apenas para as Secretarias de Fazenda (SEFAZ).</p> * */ @GET - @Path("/ext/sefaz/duimp/{numeroDuimp}") + @Path("/ext/sefaz/duimp/{numeroDuimp}/{versaoDuimp}") @Produces({"application/json"}) - @ApiOperation(value = "Consulta os dados da versão vigente de uma DUIMP registrada.", notes = "

Disponível apenas para as Secretarias de Fazenda (SEFAZ).

", tags = {"Serviços Externos Sefaz"}) + @ApiOperation(value = "Consulta os dados de uma versão específica de uma DUIMP registrada.", notes = "

Disponível apenas para as Secretarias de Fazenda (SEFAZ).

", tags = {"Serviços Externos Sefaz"}) @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = SefazDuimpCover.class), @ApiResponse(code = 400, message = "Requisição mal formatada."), @@ -63,6 +63,6 @@ public interface ServiosExternosSefazApi { @ApiResponse(code = 404, message = "Recurso não encontrado"), @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErroSefaz.class), @ApiResponse(code = 500, message = "Erro interno no servidor")}) - Response consultarDuimp1(@ApiParam(value = "Número da Duimp
Tamanho: 15
Formato: 'NNAANNNNNNNNNNN'
Lei de formação. O número da Duimp é composto por:
* NN = Corresponde ao ano do registro da Declaração.
* AA = Corresponde à sigla do país de emissão do documento (BR).
* NNNNNNNNNN = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)", required = true) @PathParam("numeroDuimp") String numeroDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); + Response consultarDuimp1(@ApiParam(value = "Número da Duimp
Tamanho: 15
Formato: 'NNAANNNNNNNNNNN'
Lei de formação. O número da Duimp é composto por:
* NN = Corresponde ao ano do registro da Declaração.
* AA = Corresponde à sigla do país de emissão do documento (BR).
* NNNNNNNNNN = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)", required = true) @PathParam("numeroDuimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp
Valor mínimo: 1
Valor máximo: 9999", required = true) @PathParam("versaoDuimp") String versaoDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); } diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp/model/SefazExportadorEstrangeiroCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp/model/SefazExportadorEstrangeiroCover.java index 4528112..acdb802 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp/model/SefazExportadorEstrangeiroCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp/model/SefazExportadorEstrangeiroCover.java @@ -122,9 +122,9 @@ public static VinculacaoCompradorVendedorEnum fromValue(String v) { private VinculacaoCompradorVendedorEnum vinculacaoCompradorVendedor = null; @XmlElement(name = "codigoOperadorExportador") - @ApiModelProperty(example = "CN001", value = "Código do exportador estrangeiro (TIN)
Tamanho mínimo: 1
Tamanho máximo: 35") + @ApiModelProperty(example = "CN001", value = "Código do exportador estrangeiro
Tamanho mínimo: 1
Tamanho máximo: 35") /** - * Código do exportador estrangeiro (TIN)
Tamanho mínimo: 1
Tamanho máximo: 35 + * Código do exportador estrangeiro
Tamanho mínimo: 1
Tamanho máximo: 35 **/ private String codigoOperadorExportador = null; @@ -178,7 +178,7 @@ public SefazExportadorEstrangeiroCover vinculacaoCompradorVendedor(VinculacaoCom } /** - * Código do exportador estrangeiro (TIN)<br>Tamanho mínimo: 1<br>Tamanho máximo: 35 + * Código do exportador estrangeiro<br>Tamanho mínimo: 1<br>Tamanho máximo: 35 * * @return codigoOperadorExportador **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/DuimpApiMessageCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/DuimpApiMessageCover.java index 2af0202..a428be7 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/DuimpApiMessageCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/DuimpApiMessageCover.java @@ -18,21 +18,21 @@ public class DuimpApiMessageCover { @XmlElement(name = "code") - @ApiModelProperty(example = "DIMP-ER0004", value = "Código interno da mensagem de erro.") + @ApiModelProperty(example = "DIMP-ER9999", value = "Código interno da mensagem de erro.") /** * Código interno da mensagem de erro. **/ private String code = null; @XmlElement(name = "field") - @ApiModelProperty(example = "numero", value = "Nome do campo que contém o valor inválido.") + @ApiModelProperty(example = "numero", value = "Nome do campo que contém o valor inválido.
Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido") /** - * Nome do campo que contém o valor inválido. + * Nome do campo que contém o valor inválido.
Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido **/ private String field = null; @XmlElement(name = "message") - @ApiModelProperty(example = "Número da Duimp inválido.", value = "Mensagem de erro.") + @ApiModelProperty(example = "Mensagem de negócio detalhando o código de erro informado no atributo 'code'.", value = "Mensagem de erro.") /** * Mensagem de erro. **/ @@ -58,7 +58,7 @@ public DuimpApiMessageCover code(String code) { } /** - * Nome do campo que contém o valor inválido. + * Nome do campo que contém o valor inválido. <br> Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido * * @return field **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ExportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ExportadorCover.java index f64c2f3..ee2b523 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ExportadorCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ExportadorCover.java @@ -25,9 +25,9 @@ public class ExportadorCover { @XmlElement(name = "codigo", required = true) - @ApiModelProperty(example = "CN001", required = true, value = "Código do exportador estrangeiro (TIN).
Tamanho mínimo: 1
Tamanho máximo: 35") + @ApiModelProperty(example = "CN001", required = true, value = "Código do exportador estrangeiro.
Tamanho mínimo: 1
Tamanho máximo: 35") /** - * Código do exportador estrangeiro (TIN).
Tamanho mínimo: 1
Tamanho máximo: 35 + * Código do exportador estrangeiro.
Tamanho mínimo: 1
Tamanho máximo: 35 **/ private String codigo = null; @@ -51,7 +51,7 @@ public class ExportadorCover { private PaisExportadorCover pais = null; /** - * Código do exportador estrangeiro (TIN).<br>Tamanho mínimo: 1<br>Tamanho máximo: 35 + * Código do exportador estrangeiro.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35 * * @return codigo **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/FabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/FabricanteCover.java index 4db53e1..71f3a27 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/FabricanteCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/FabricanteCover.java @@ -24,9 +24,9 @@ public class FabricanteCover { @XmlElement(name = "codigo") - @ApiModelProperty(example = "2104", value = "Código do Fabricante.
Tamanho mínimo: 1
Tamanho máximo: 35
Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro (TIN).") + @ApiModelProperty(example = "2104", value = "Código do Fabricante.
Tamanho mínimo: 1
Tamanho máximo: 35
Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro.") /** - * Código do Fabricante.
Tamanho mínimo: 1
Tamanho máximo: 35
Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro (TIN). + * Código do Fabricante.
Tamanho mínimo: 1
Tamanho máximo: 35
Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro. **/ private String codigo = null; @@ -50,7 +50,7 @@ public class FabricanteCover { private PaisFabricanteCover pais = null; /** - * Código do Fabricante.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35<br>Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro (TIN). + * Código do Fabricante.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35<br>Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro. * * @return codigo **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/MemoriaCalculoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/MemoriaCalculoItemCover.java index ed6e73d..39fda5b 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/MemoriaCalculoItemCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/MemoriaCalculoItemCover.java @@ -25,9 +25,9 @@ public class MemoriaCalculoItemCover { @XmlElement(name = "codigoFundamentoLegalNormal") - @ApiModelProperty(example = "1001", value = "Código do fundamento legal do regime tributário de importação utilizado na declaração.
Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @ApiModelProperty(example = "1001", value = "Código do fundamento legal do regime tributário de importação utilizado na declaração.
Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.") /** - * Código do fundamento legal do regime tributário de importação utilizado na declaração.
Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. + * Código do fundamento legal do regime tributário de importação utilizado na declaração.
Domínio: Fundamentos legais existentes no sistema Tratamento Tributário. **/ private Integer codigoFundamentoLegalNormal = null; @@ -155,7 +155,7 @@ public static TipoAliquotaEnum fromValue(String v) { private Double percentualPagamento = null; /** - * Código do fundamento legal do regime tributário de importação utilizado na declaração.<br>Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * Código do fundamento legal do regime tributário de importação utilizado na declaração.<br>Domínio: Fundamentos legais existentes no sistema Tratamento Tributário. * * @return codigoFundamentoLegalNormal **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiDiagnosticoRegistro.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiDiagnosticoRegistro.java index 8330936..4ec394c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiDiagnosticoRegistro.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiDiagnosticoRegistro.java @@ -13,7 +13,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "RespostaApiDiagnosticoRegistro", propOrder = - {"message", "identificacao", "links", "situacao" + {"message", "identificacao", "situacao", "links" }) @XmlRootElement(name = "RespostaApiDiagnosticoRegistro") @@ -31,6 +31,13 @@ public class RespostaApiDiagnosticoRegistro { @Valid private IdentificacaoDuimpRespostaApi identificacao = null; + @XmlElement(name = "situacao") + @ApiModelProperty(example = "Diagnóstico em processamento", value = "Descrição da situação inicial da solicitação de diagnóstico ou registro.
Tamanho mínimo: 1
Tamanho máximo: 80") + /** + * Descrição da situação inicial da solicitação de diagnóstico ou registro.
Tamanho mínimo: 1
Tamanho máximo: 80 + **/ + private String situacao = null; + @XmlElement(name = "links") @ApiModelProperty(value = "Operações disponíveis sobre o recurso.
Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas.") @Valid @@ -39,13 +46,6 @@ public class RespostaApiDiagnosticoRegistro { **/ private List links = null; - @XmlElement(name = "situacao") - @ApiModelProperty(example = "Diagnóstico em processamento", value = "Descrição da situação inicial da solicitação de diagnóstico ou registro.
Tamanho mínimo: 1
Tamanho máximo: 80") - /** - * Descrição da situação inicial da solicitação de diagnóstico ou registro.
Tamanho mínimo: 1
Tamanho máximo: 80 - **/ - private String situacao = null; - /** * Mensagem de resposta do resultado da operação. * @@ -84,6 +84,25 @@ public RespostaApiDiagnosticoRegistro identificacao(IdentificacaoDuimpRespostaAp return this; } + /** + * Descrição da situação inicial da solicitação de diagnóstico ou registro.<br>Tamanho mínimo: 1<br>Tamanho máximo: 80 + * + * @return situacao + **/ + @JsonProperty("situacao") + public String getSituacao() { + return situacao; + } + + public void setSituacao(String situacao) { + this.situacao = situacao; + } + + public RespostaApiDiagnosticoRegistro situacao(String situacao) { + this.situacao = situacao; + return this; + } + /** * Operações disponíveis sobre o recurso.<br>Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas. * @@ -108,25 +127,6 @@ public RespostaApiDiagnosticoRegistro addLinksItem(LinkCover linksItem) { return this; } - /** - * Descrição da situação inicial da solicitação de diagnóstico ou registro.<br>Tamanho mínimo: 1<br>Tamanho máximo: 80 - * - * @return situacao - **/ - @JsonProperty("situacao") - public String getSituacao() { - return situacao; - } - - public void setSituacao(String situacao) { - this.situacao = situacao; - } - - public RespostaApiDiagnosticoRegistro situacao(String situacao) { - this.situacao = situacao; - return this; - } - @Override public String toString() { @@ -134,8 +134,8 @@ public String toString() { String sb = "class RespostaApiDiagnosticoRegistro {\n" + " message: " + toIndentedString(message) + "\n" + " identificacao: " + toIndentedString(identificacao) + "\n" + - " links: " + toIndentedString(links) + "\n" + " situacao: " + toIndentedString(situacao) + "\n" + + " links: " + toIndentedString(links) + "\n" + "}"; return sb; } diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiItens.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiItens.java index ff68b24..8edd1d0 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiItens.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiItens.java @@ -13,7 +13,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "RespostaApiItens", propOrder = - {"message", "identificacao", "links", "multiStatus" + {"message", "identificacao", "multiStatus", "links" }) @XmlRootElement(name = "RespostaApiItens") @@ -31,14 +31,6 @@ public class RespostaApiItens { @Valid private IdentificacaoDuimpRespostaApi identificacao = null; - @XmlElement(name = "links") - @ApiModelProperty(value = "Operações disponíveis sobre o recurso.
Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas.") - @Valid - /** - * Operações disponíveis sobre o recurso.
Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas. - **/ - private List links = null; - @XmlElement(name = "multiStatus") @ApiModelProperty(value = "Lista que conterá o status individual de cada item da Duimp submetido pelos métodos PUT e POST.
Cada elemento desta lista possuí um atributo 'code' informando o código da resposta para um item específico.
Este atributo poderá ter o valor 200 ou 201 em caso de sucesso (dependendo da operação) ou um código diferente em caso de erro") @Valid @@ -47,6 +39,14 @@ public class RespostaApiItens { **/ private List multiStatus = null; + @XmlElement(name = "links") + @ApiModelProperty(value = "Operações disponíveis sobre o recurso.
Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas.") + @Valid + /** + * Operações disponíveis sobre o recurso.
Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas. + **/ + private List links = null; + /** * Mensagem de resposta do resultado da operação. * @@ -86,50 +86,50 @@ public RespostaApiItens identificacao(IdentificacaoDuimpRespostaApi identificaca } /** - * Operações disponíveis sobre o recurso.<br>Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas. + * Lista que conterá o status individual de cada item da Duimp submetido pelos métodos PUT e POST. <br>Cada elemento desta lista possuí um atributo 'code' informando o código da resposta para um item específico.<br>Este atributo poderá ter o valor 200 ou 201 em caso de sucesso (dependendo da operação) ou um código diferente em caso de erro * - * @return links + * @return multiStatus **/ - @JsonProperty("links") - public List getLinks() { - return links; + @JsonProperty("multiStatus") + public List getMultiStatus() { + return multiStatus; } - public void setLinks(List links) { - this.links = links; + public void setMultiStatus(List multiStatus) { + this.multiStatus = multiStatus; } - public RespostaApiItens links(List links) { - this.links = links; + public RespostaApiItens multiStatus(List multiStatus) { + this.multiStatus = multiStatus; return this; } - public RespostaApiItens addLinksItem(LinkCover linksItem) { - this.links.add(linksItem); + public RespostaApiItens addMultiStatusItem(RespostaApiMultiStatus multiStatusItem) { + this.multiStatus.add(multiStatusItem); return this; } /** - * Lista que conterá o status individual de cada item da Duimp submetido pelos métodos PUT e POST. <br>Cada elemento desta lista possuí um atributo 'code' informando o código da resposta para um item específico.<br>Este atributo poderá ter o valor 200 ou 201 em caso de sucesso (dependendo da operação) ou um código diferente em caso de erro + * Operações disponíveis sobre o recurso.<br>Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas. * - * @return multiStatus + * @return links **/ - @JsonProperty("multiStatus") - public List getMultiStatus() { - return multiStatus; + @JsonProperty("links") + public List getLinks() { + return links; } - public void setMultiStatus(List multiStatus) { - this.multiStatus = multiStatus; + public void setLinks(List links) { + this.links = links; } - public RespostaApiItens multiStatus(List multiStatus) { - this.multiStatus = multiStatus; + public RespostaApiItens links(List links) { + this.links = links; return this; } - public RespostaApiItens addMultiStatusItem(RespostaApiMultiStatus multiStatusItem) { - this.multiStatus.add(multiStatusItem); + public RespostaApiItens addLinksItem(LinkCover linksItem) { + this.links.add(linksItem); return this; } @@ -140,8 +140,8 @@ public String toString() { String sb = "class RespostaApiItens {\n" + " message: " + toIndentedString(message) + "\n" + " identificacao: " + toIndentedString(identificacao) + "\n" + - " links: " + toIndentedString(links) + "\n" + " multiStatus: " + toIndentedString(multiStatus) + "\n" + + " links: " + toIndentedString(links) + "\n" + "}"; return sb; } diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ResultadoAnaliseRiscoRfbCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ResultadoAnaliseRiscoRfbCover.java index fa4625f..42b5117 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ResultadoAnaliseRiscoRfbCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ResultadoAnaliseRiscoRfbCover.java @@ -20,7 +20,7 @@ public class ResultadoAnaliseRiscoRfbCover { @XmlElement(name = "orgao") - @ApiModelProperty(example = "Receita", value = "Sigla do órgão da administração pública.
Tamanho mínimo: 1
Tamanho máximo: 30") + @ApiModelProperty(example = "RECEITA", value = "Sigla do órgão da administração pública.
Tamanho mínimo: 1
Tamanho máximo: 30") /** * Sigla do órgão da administração pública.
Tamanho mínimo: 1
Tamanho máximo: 30 **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpConsultaCover.java index 10ae5d8..8791f47 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpConsultaCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpConsultaCover.java @@ -23,9 +23,9 @@ public class ValoresTributoDuimpConsultaCover { @XmlElement(name = "calculado") - @ApiModelProperty(example = "1598.73", value = "Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens") + @ApiModelProperty(example = "1598.73", value = "Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"originalmente devidos\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.") /** - * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"originalmente devidos\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. **/ private Double calculado = null; @@ -37,9 +37,9 @@ public class ValoresTributoDuimpConsultaCover { private Double aReduzir = null; @XmlElement(name = "devido") - @ApiModelProperty(example = "201.12", value = "Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens") + @ApiModelProperty(example = "201.12", value = "Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"a recolher\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.") /** - * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"a recolher\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. **/ private Double devido = null; @@ -65,7 +65,7 @@ public class ValoresTributoDuimpConsultaCover { private Double recolhido = null; /** - * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"originalmente devidos\" dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. * * @return calculado **/ @@ -103,7 +103,7 @@ public ValoresTributoDuimpConsultaCover aReduzir(Double aReduzir) { } /** - * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"a recolher\" dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. * * @return devido **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpCover.java index 59fc7ce..a825d7c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpCover.java @@ -18,9 +18,9 @@ public class ValoresTributoDuimpCover { @XmlElement(name = "calculado") - @ApiModelProperty(example = "1598.73", value = "Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens") + @ApiModelProperty(example = "1598.73", value = "Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"originalmente devidos\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.") /** - * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"originalmente devidos\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. **/ private Double calculado = null; @@ -32,9 +32,9 @@ public class ValoresTributoDuimpCover { private Double aReduzir = null; @XmlElement(name = "devido") - @ApiModelProperty(example = "201.12", value = "Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens") + @ApiModelProperty(example = "201.12", value = "Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"a recolher\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.") /** - * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"a recolher\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. **/ private Double devido = null; @@ -74,7 +74,7 @@ public class ValoresTributoDuimpCover { private Double juros = null; /** - * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"originalmente devidos\" dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. * * @return calculado **/ @@ -112,7 +112,7 @@ public ValoresTributoDuimpCover aReduzir(Double aReduzir) { } /** - * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"a recolher\" dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. * * @return devido **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/DadosGeraisDaDuimpApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/DadosGeraisDaDuimpApi.java new file mode 100644 index 0000000..c0c2521 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/DadosGeraisDaDuimpApi.java @@ -0,0 +1,45 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.api; + +import br.gov.siscomex.portalunico.duimp_api_receita.model.RespostaApiErro; +import br.gov.siscomex.portalunico.duimp_api_receita.model.ValoresCalculadosDuimpCover; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; + +/** + * Declaração Única de Importação - API Receita Federal + * + *

URLs de Acesso

Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL:

https://{ambiente}/duimp-api/api/{serviço}

Onde, em {ambiente} deve-se informar o ambiente desejado dentre os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URI do serviço desejado.

Nome do Ambiente URL de acesso
Ambiente de Validação das Empresas val.portalunico.siscomex.gov.br
Ambiente de Produção portalunico.siscomex.gov.br

 

Exemplo: Para o serviço "Consulta dos dados gerais da versão vigente de uma Duimp" a URI é "ext/duimp/{numero}/{versao}".

Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço

https://val.portalunico.siscomex.gov.br/duimp-api/api/ext/duimp/20BR00001001899/1

As operações disponíveis na API para a Receita são:

  • Consultar valores calculados da Duimp
  • Consultar valores calculados dos itens da Duimp
  • Recuperar modelo dos dados gerais de uma Duimp em elaboração
  • Recuperar modelo dos dados dos itens de uma Duimp em elaboração
  • Recuperar modelo da solicitação de registro de uma Duimp verificar os valores informados
  • Obs: Todas as operações contam com uma descrição geral da operação abaixo da url, além da descrição resumida exibida ao seu lado.

    + */ +@Path("/") +@Api(value = "/", description = "") +public interface DadosGeraisDaDuimpApi { + + /** + * Consultar valores calculados da Duimp. + *

    + * Use esta funcionalidade para recuperar os valores calculados de uma Duimp em rascunho ou uma solicitação de retificação em rascunho, para pagamento. + */ + @GET + @Path("/ext/duimp/{numero-duimp}/{versao-duimp}/valores-calculados") + @Produces({"application/json"}) + @ApiOperation(value = "Consultar valores calculados da Duimp.", notes = "Use esta funcionalidade para recuperar os valores calculados de uma Duimp em rascunho ou uma solicitação de retificação em rascunho, para pagamento.", tags = {"Dados gerais da Duimp"}) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ValoresCalculadosDuimpCover.class), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 404, message = "Recurso não encontrado"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErro.class), + @ApiResponse(code = 500, message = "Erro interno no servidor")}) + Response buscarValoresCalculadosDuimp(@ApiParam(value = "Número da Duimp.
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)", required = true) @PathParam("numero-duimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999", required = true) @PathParam("versao-duimp") Object versaoDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/ItensDaDuimpApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/ItensDaDuimpApi.java new file mode 100644 index 0000000..88c04a0 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/ItensDaDuimpApi.java @@ -0,0 +1,45 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.api; + +import br.gov.siscomex.portalunico.duimp_api_receita.model.RespostaApiErro; +import br.gov.siscomex.portalunico.duimp_api_receita.model.ValoresCalculadosItemCover; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; + +/** + * Declaração Única de Importação - API Receita Federal + * + *

    URLs de Acesso

    Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL:

    https://{ambiente}/duimp-api/api/{serviço}

    Onde, em {ambiente} deve-se informar o ambiente desejado dentre os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URI do serviço desejado.

    Nome do Ambiente URL de acesso
    Ambiente de Validação das Empresas val.portalunico.siscomex.gov.br
    Ambiente de Produção portalunico.siscomex.gov.br

     

    Exemplo: Para o serviço "Consulta dos dados gerais da versão vigente de uma Duimp" a URI é "ext/duimp/{numero}/{versao}".

    Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço

    https://val.portalunico.siscomex.gov.br/duimp-api/api/ext/duimp/20BR00001001899/1

    As operações disponíveis na API para a Receita são:

  • Consultar valores calculados da Duimp
  • Consultar valores calculados dos itens da Duimp
  • Recuperar modelo dos dados gerais de uma Duimp em elaboração
  • Recuperar modelo dos dados dos itens de uma Duimp em elaboração
  • Recuperar modelo da solicitação de registro de uma Duimp verificar os valores informados
  • Obs: Todas as operações contam com uma descrição geral da operação abaixo da url, além da descrição resumida exibida ao seu lado.

    + */ +@Path("/") +@Api(value = "/", description = "") +public interface ItensDaDuimpApi { + + /** + * Consultar valores calculados de um item da Duimp. + *

    + * Use esta funcionalidade para recuperar os valores calculados de um item específico de uma Duimp em rascunho ou uma solicitação de retificação em rascunho, para pagamento. + */ + @GET + @Path("/ext/duimp/{numero-duimp}/{versao-duimp}/itens/{numero-item}/valores-calculados") + @Produces({"application/json"}) + @ApiOperation(value = "Consultar valores calculados de um item da Duimp.", notes = "Use esta funcionalidade para recuperar os valores calculados de um item específico de uma Duimp em rascunho ou uma solicitação de retificação em rascunho, para pagamento.", tags = {"Itens da Duimp"}) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ValoresCalculadosItemCover.class), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 404, message = "Recurso não encontrado"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErro.class), + @ApiResponse(code = 500, message = "Erro interno no servidor")}) + Response buscarValoresCalculadosItemDuimp(@ApiParam(value = "Número da Duimp.
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)", required = true) @PathParam("numero-duimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999", required = true) @PathParam("versao-duimp") Object versaoDuimp, @ApiParam(value = "Número do item da Duimp.
    Formato: Inteiro, com até 5 dígitos", required = true) @PathParam("numero-item") Object numeroItem, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/ModelosDaDuimpApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/ModelosDaDuimpApi.java new file mode 100644 index 0000000..8cae330 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/ModelosDaDuimpApi.java @@ -0,0 +1,85 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.api; + +import br.gov.siscomex.portalunico.duimp_api_receita.model.DuimpCover; +import br.gov.siscomex.portalunico.duimp_api_receita.model.ItemCover; +import br.gov.siscomex.portalunico.duimp_api_receita.model.RegistroCover; +import br.gov.siscomex.portalunico.duimp_api_receita.model.RespostaApiErro; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import javax.validation.constraints.NotNull; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Response; + +/** + * Declaração Única de Importação - API Receita Federal + * + *

    URLs de Acesso

    Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL:

    https://{ambiente}/duimp-api/api/{serviço}

    Onde, em {ambiente} deve-se informar o ambiente desejado dentre os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URI do serviço desejado.

    Nome do Ambiente URL de acesso
    Ambiente de Validação das Empresas val.portalunico.siscomex.gov.br
    Ambiente de Produção portalunico.siscomex.gov.br

     

    Exemplo: Para o serviço "Consulta dos dados gerais da versão vigente de uma Duimp" a URI é "ext/duimp/{numero}/{versao}".

    Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço

    https://val.portalunico.siscomex.gov.br/duimp-api/api/ext/duimp/20BR00001001899/1

    As operações disponíveis na API para a Receita são:

  • Consultar valores calculados da Duimp
  • Consultar valores calculados dos itens da Duimp
  • Recuperar modelo dos dados gerais de uma Duimp em elaboração
  • Recuperar modelo dos dados dos itens de uma Duimp em elaboração
  • Recuperar modelo da solicitação de registro de uma Duimp verificar os valores informados
  • Obs: Todas as operações contam com uma descrição geral da operação abaixo da url, além da descrição resumida exibida ao seu lado.

    + */ +@Path("/") +@Api(value = "/", description = "") +public interface ModelosDaDuimpApi { + + /** + * Recuperar modelo dos dados gerais da Duimp. + *

    + * Use esta funcionalidade para gerar o JSON que servirá de modelo para a funcionalidade salvar dados gerais. + */ + @GET + @Path("/ext/modelo/duimp/{numero-duimp}/{versao-duimp}") + @Produces({"application/json"}) + @ApiOperation(value = "Recuperar modelo dos dados gerais da Duimp.", notes = "Use esta funcionalidade para gerar o JSON que servirá de modelo para a funcionalidade salvar dados gerais.", tags = {"Modelos da Duimp"}) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DuimpCover.class), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 404, message = "Recurso não encontrado"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErro.class), + @ApiResponse(code = 500, message = "Erro interno no servidor")}) + Response buscarDadosCapaDuimp(@ApiParam(value = "Número da Duimp.", required = true) @PathParam("numero-duimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp.", required = true) @PathParam("versao-duimp") Object versaoDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Recuperar modelo dos dados dos itens da Duimp. + *

    + * Use esta funcionalidade para gerar o JSON que servirá de modelo para a funcionalidade salvar os dados dos itens da Duimp. + */ + @GET + @Path("/ext/modelo/duimp/{numero-duimp}/{versao-duimp}/itens") + @Produces({"application/json"}) + @ApiOperation(value = "Recuperar modelo dos dados dos itens da Duimp.", notes = "Use esta funcionalidade para gerar o JSON que servirá de modelo para a funcionalidade salvar os dados dos itens da Duimp.", tags = {"Modelos da Duimp"}) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ItemCover.class, responseContainer = "List"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 404, message = "Recurso não encontrado"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErro.class), + @ApiResponse(code = 500, message = "Erro interno no servidor")}) + Response buscarDadosItensDuimp(@ApiParam(value = "Número da Duimp.", required = true) @PathParam("numero-duimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp.", required = true) @PathParam("versao-duimp") Object versaoDuimp, @NotNull @ApiParam(value = "Se refere ao primeiro item a ser retornado.", required = true) @QueryParam("inicial") Object inicial, @NotNull @ApiParam(value = "Se refere a quantidade de itens retornados.", required = true) @QueryParam("tamanho") Object tamanho, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Recuperar modelo da solicitação de registro da Duimp. + *

    + * Use esta funcionalidade para gerar o JSON que servirá de modelo para a funcionalidade de registro da Duimp. + */ + @GET + @Path("/ext/modelo/duimp/{numero-duimp}/{versao-duimp}/registros") + @Produces({"application/json"}) + @ApiOperation(value = "Recuperar modelo da solicitação de registro da Duimp.", notes = "Use esta funcionalidade para gerar o JSON que servirá de modelo para a funcionalidade de registro da Duimp.", tags = {"Modelos da Duimp"}) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = RegistroCover.class), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 404, message = "Recurso não encontrado"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErro.class), + @ApiResponse(code = 500, message = "Erro interno no servidor")}) + Response buscarModeloRegistroDuimp(@ApiParam(value = "Número da Duimp.", required = true) @PathParam("numero-duimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp.", required = true) @PathParam("versao-duimp") Object versaoDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AcrescimoDeducaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AcrescimoDeducaoCover.java new file mode 100644 index 0000000..cc20b4e --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AcrescimoDeducaoCover.java @@ -0,0 +1,171 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AcrescimoDeducaoCover", propOrder = + {"tipo", "moeda", "denominacao" + }) + +@XmlRootElement(name = "AcrescimoDeducaoCover") +/** + * Lista de Acréscimos e Deduções da condição de venda da mercadoria. + **/ +@ApiModel(description = "Lista de Acréscimos e Deduções da condição de venda da mercadoria.") +public class AcrescimoDeducaoCover { + + + @XmlType(name = "TipoEnum") + @XmlEnum(String.class) + public enum TipoEnum { + + @XmlEnumValue("ACRESCIMO") + @JsonProperty("ACRESCIMO") + ACRESCIMO("ACRESCIMO"), + + @XmlEnumValue("DEDUCAO") + @JsonProperty("DEDUCAO") + DEDUCAO("DEDUCAO"); + + + private final String value; + + TipoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } + } + + @XmlElement(name = "tipo", required = true) + @ApiModelProperty(example = "ACRESCIMO", required = true, value = "Tipo de Operação (acreścimo ou dedução).
    Domínio:") + /** + * Tipo de Operação (acreścimo ou dedução).
    Domínio: + **/ + private TipoEnum tipo = null; + + @XmlElement(name = "moeda", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private MoedaAcrescimoDeducaoCover moeda = null; + + @XmlElement(name = "denominacao", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private DenominacaoAcrescimoDeducaoCover denominacao = null; + + /** + * Tipo de Operação (acreścimo ou dedução).<br>Domínio: + * + * @return tipo + **/ + @JsonProperty("tipo") + @NotNull + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public AcrescimoDeducaoCover tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Get moeda + * + * @return moeda + **/ + @JsonProperty("moeda") + @NotNull + public MoedaAcrescimoDeducaoCover getMoeda() { + return moeda; + } + + public void setMoeda(MoedaAcrescimoDeducaoCover moeda) { + this.moeda = moeda; + } + + public AcrescimoDeducaoCover moeda(MoedaAcrescimoDeducaoCover moeda) { + this.moeda = moeda; + return this; + } + + /** + * Get denominacao + * + * @return denominacao + **/ + @JsonProperty("denominacao") + @NotNull + public DenominacaoAcrescimoDeducaoCover getDenominacao() { + return denominacao; + } + + public void setDenominacao(DenominacaoAcrescimoDeducaoCover denominacao) { + this.denominacao = denominacao; + } + + public AcrescimoDeducaoCover denominacao(DenominacaoAcrescimoDeducaoCover denominacao) { + this.denominacao = denominacao; + return this; + } + + + @Override + public String toString() { + + String sb = "class AcrescimoDeducaoCover {\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + " moeda: " + toIndentedString(moeda) + "\n" + + " denominacao: " + toIndentedString(denominacao) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AcrescimoDeducaoValoresCalculadosCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AcrescimoDeducaoValoresCalculadosCover.java new file mode 100644 index 0000000..45e20f4 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AcrescimoDeducaoValoresCalculadosCover.java @@ -0,0 +1,167 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AcrescimoDeducaoValoresCalculadosCover", propOrder = + {"tipo", "denominacao", "valorBRL" + }) + +@XmlRootElement(name = "AcrescimoDeducaoValoresCalculadosCover") +public class AcrescimoDeducaoValoresCalculadosCover { + + + @XmlType(name = "TipoEnum") + @XmlEnum(String.class) + public enum TipoEnum { + + @XmlEnumValue("ACRESCIMO") + @JsonProperty("ACRESCIMO") + ACRESCIMO("ACRESCIMO"), + + @XmlEnumValue("DEDUCAO") + @JsonProperty("DEDUCAO") + DEDUCAO("DEDUCAO"); + + + private final String value; + + TipoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } + } + + @XmlElement(name = "tipo", required = true) + @ApiModelProperty(example = "ACRESCIMO", required = true, value = "Tipo de Operação (acreścimo ou dedução).
    Domínio:") + /** + * Tipo de Operação (acreścimo ou dedução).
    Domínio: + **/ + private TipoEnum tipo = null; + + @XmlElement(name = "denominacao", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private DenominacaoAcrescimoDeducaoCover denominacao = null; + + @XmlElement(name = "valorBRL") + @ApiModelProperty(example = "400.48", value = "Valor do acréscimo/dedução em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor do acréscimo/dedução em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double valorBRL = null; + + /** + * Tipo de Operação (acreścimo ou dedução).<br>Domínio: + * + * @return tipo + **/ + @JsonProperty("tipo") + @NotNull + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public AcrescimoDeducaoValoresCalculadosCover tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Get denominacao + * + * @return denominacao + **/ + @JsonProperty("denominacao") + @NotNull + public DenominacaoAcrescimoDeducaoCover getDenominacao() { + return denominacao; + } + + public void setDenominacao(DenominacaoAcrescimoDeducaoCover denominacao) { + this.denominacao = denominacao; + } + + public AcrescimoDeducaoValoresCalculadosCover denominacao(DenominacaoAcrescimoDeducaoCover denominacao) { + this.denominacao = denominacao; + return this; + } + + /** + * Valor do acréscimo/dedução em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorBRL + **/ + @JsonProperty("valorBRL") + public Double getValorBRL() { + return valorBRL; + } + + public void setValorBRL(Double valorBRL) { + this.valorBRL = valorBRL; + } + + public AcrescimoDeducaoValoresCalculadosCover valorBRL(Double valorBRL) { + this.valorBRL = valorBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class AcrescimoDeducaoValoresCalculadosCover {\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + " denominacao: " + toIndentedString(denominacao) + "\n" + + " valorBRL: " + toIndentedString(valorBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AdicaoValoresCalculadosDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AdicaoValoresCalculadosDuimpCover.java new file mode 100644 index 0000000..c6732d7 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AdicaoValoresCalculadosDuimpCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AdicaoValoresCalculadosDuimpCover", propOrder = + {"numero", "itens" + }) + +@XmlRootElement(name = "AdicaoValoresCalculadosDuimpCover") +/** + * Dados da adição. + **/ +@ApiModel(description = "Dados da adição.") +public class AdicaoValoresCalculadosDuimpCover { + + @XmlElement(name = "numero") + @ApiModelProperty(example = "1.0", value = "Número total de adições.
    Tamanho mínimo: 1
    Tamanho máximo: 99") + /** + * Número total de adições.
    Tamanho mínimo: 1
    Tamanho máximo: 99 + **/ + private Double numero = null; + + @XmlElement(name = "itens") + @ApiModelProperty(example = "1.0", value = "Número de identificação de cada item que compõe a Duimp.
    Tamanho mínimo: 1
    Tamanho máximo: 9999") + /** + * Número de identificação de cada item que compõe a Duimp.
    Tamanho mínimo: 1
    Tamanho máximo: 9999 + **/ + private Double itens = null; + + /** + * Número total de adições.<br>Tamanho mínimo: 1<br>Tamanho máximo: 99 + * + * @return numero + **/ + @JsonProperty("numero") + public Double getNumero() { + return numero; + } + + public void setNumero(Double numero) { + this.numero = numero; + } + + public AdicaoValoresCalculadosDuimpCover numero(Double numero) { + this.numero = numero; + return this; + } + + /** + * Número de identificação de cada item que compõe a Duimp.<br>Tamanho mínimo: 1<br>Tamanho máximo: 9999 + * + * @return itens + **/ + @JsonProperty("itens") + public Double getItens() { + return itens; + } + + public void setItens(Double itens) { + this.itens = itens; + } + + public AdicaoValoresCalculadosDuimpCover itens(Double itens) { + this.itens = itens; + return this; + } + + + @Override + public String toString() { + + String sb = "class AdicaoValoresCalculadosDuimpCover {\n" + + " numero: " + toIndentedString(numero) + "\n" + + " itens: " + toIndentedString(itens) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoFundamentoLegalItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoFundamentoLegalItemCover.java new file mode 100644 index 0000000..2ba6905 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoFundamentoLegalItemCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AtributoFundamentoLegalItemCover", propOrder = + {"codigo", "valor" + }) + +@XmlRootElement(name = "AtributoFundamentoLegalItemCover") +/** + * Lista de atributos dinâmicos relacionados ao Fundamento Legal aplicado.
    Origem: Sistema Cadastro de Atributos - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Lista de atributos dinâmicos relacionados ao Fundamento Legal aplicado.
    Origem: Sistema Cadastro de Atributos - https://api-docs.portalunico.siscomex.gov.br/") +public class AtributoFundamentoLegalItemCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "ATT_1001", value = "Código do atributo no cadastro de atributos.
    Tamanho mínimo: 1
    Tamanho máximo: 14") + /** + * Código do atributo no cadastro de atributos.
    Tamanho mínimo: 1
    Tamanho máximo: 14 + **/ + private String codigo = null; + + @XmlElement(name = "valor") + @ApiModelProperty(example = "230000123", value = "Valor atribuído pelo importador ao atributo representado pelo código.
    Tamanho mínimo: 0
    Tamanho máximo: 10000") + /** + * Valor atribuído pelo importador ao atributo representado pelo código.
    Tamanho mínimo: 0
    Tamanho máximo: 10000 + **/ + private String valor = null; + + /** + * Código do atributo no cadastro de atributos.<br>Tamanho mínimo: 1<br>Tamanho máximo: 14 + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public AtributoFundamentoLegalItemCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Valor atribuído pelo importador ao atributo representado pelo código.<br>Tamanho mínimo: 0<br>Tamanho máximo: 10000 + * + * @return valor + **/ + @JsonProperty("valor") + public String getValor() { + return valor; + } + + public void setValor(String valor) { + this.valor = valor; + } + + public AtributoFundamentoLegalItemCover valor(String valor) { + this.valor = valor; + return this; + } + + + @Override + public String toString() { + + String sb = "class AtributoFundamentoLegalItemCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " valor: " + toIndentedString(valor) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoItemCover.java new file mode 100644 index 0000000..9458ae5 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoItemCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AtributoItemCover", propOrder = + {"codigo", "valor" + }) + +@XmlRootElement(name = "AtributoItemCover") +/** + * Lista de atributos dinâmicos da mercadoria.
    Origem: Sistema Cadastro de Atributos - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Lista de atributos dinâmicos da mercadoria.
    Origem: Sistema Cadastro de Atributos - https://api-docs.portalunico.siscomex.gov.br/") +public class AtributoItemCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "ATT_0001", value = "Código do atributo no cadastro de atributos.
    Tamanho mínimo: 1
    Tamanho máximo: 14") + /** + * Código do atributo no cadastro de atributos.
    Tamanho mínimo: 1
    Tamanho máximo: 14 + **/ + private String codigo = null; + + @XmlElement(name = "valor") + @ApiModelProperty(example = "01011100", value = "Valor atribuído pelo importador ao atributo representado pelo código.
    Tamanho mínimo: 0
    Tamanho máximo: 10000") + /** + * Valor atribuído pelo importador ao atributo representado pelo código.
    Tamanho mínimo: 0
    Tamanho máximo: 10000 + **/ + private String valor = null; + + /** + * Código do atributo no cadastro de atributos.<br>Tamanho mínimo: 1<br>Tamanho máximo: 14 + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public AtributoItemCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Valor atribuído pelo importador ao atributo representado pelo código.<br>Tamanho mínimo: 0<br>Tamanho máximo: 10000 + * + * @return valor + **/ + @JsonProperty("valor") + public String getValor() { + return valor; + } + + public void setValor(String valor) { + this.valor = valor; + } + + public AtributoItemCover valor(String valor) { + this.valor = valor; + return this; + } + + + @Override + public String toString() { + + String sb = "class AtributoItemCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " valor: " + toIndentedString(valor) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoTributoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoTributoCover.java new file mode 100644 index 0000000..ed50ee3 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoTributoCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AtributoTributoCover", propOrder = + {"codigo", "valor" + }) + +@XmlRootElement(name = "AtributoTributoCover") +/** + * Lista de atributos dinâmicos dos tributos. + **/ +@ApiModel(description = "Lista de atributos dinâmicos dos tributos.") +public class AtributoTributoCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "ATT_0001", value = "Código do atributo no cadastro de atributos.
    Tamanho mínimo: 1
    Tamanho máximo: 14") + /** + * Código do atributo no cadastro de atributos.
    Tamanho mínimo: 1
    Tamanho máximo: 14 + **/ + private String codigo = null; + + @XmlElement(name = "valor") + @ApiModelProperty(example = "01011100", value = "Valor atribuído pelo importador ao atributo representado pelo código.
    Tamanho mínimo: 0
    Tamanho máximo: 10000") + /** + * Valor atribuído pelo importador ao atributo representado pelo código.
    Tamanho mínimo: 0
    Tamanho máximo: 10000 + **/ + private String valor = null; + + /** + * Código do atributo no cadastro de atributos.<br>Tamanho mínimo: 1<br>Tamanho máximo: 14 + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public AtributoTributoCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Valor atribuído pelo importador ao atributo representado pelo código.<br>Tamanho mínimo: 0<br>Tamanho máximo: 10000 + * + * @return valor + **/ + @JsonProperty("valor") + public String getValor() { + return valor; + } + + public void setValor(String valor) { + this.valor = valor; + } + + public AtributoTributoCover valor(String valor) { + this.valor = valor; + return this; + } + + + @Override + public String toString() { + + String sb = "class AtributoTributoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " valor: " + toIndentedString(valor) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CaracterizacaoImportacaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CaracterizacaoImportacaoCover.java new file mode 100644 index 0000000..5880196 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CaracterizacaoImportacaoCover.java @@ -0,0 +1,149 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CaracterizacaoImportacaoCover", propOrder = + {"indicador", "ni" + }) + +@XmlRootElement(name = "CaracterizacaoImportacaoCover") +/** + * Caracterização da Importação. + **/ +@ApiModel(description = "Caracterização da Importação.") +public class CaracterizacaoImportacaoCover { + + + @XmlType(name = "IndicadorEnum") + @XmlEnum(String.class) + public enum IndicadorEnum { + + @XmlEnumValue("IMPORTACAO_DIRETA") + @JsonProperty("IMPORTACAO_DIRETA") + DIRETA("IMPORTACAO_DIRETA"), + + @XmlEnumValue("IMPORTACAO_POR_CONTA_E_ORDEM") + @JsonProperty("IMPORTACAO_POR_CONTA_E_ORDEM") + POR_CONTA_E_ORDEM("IMPORTACAO_POR_CONTA_E_ORDEM"), + + @XmlEnumValue("IMPORTACAO_POR_ENCOMENDA") + @JsonProperty("IMPORTACAO_POR_ENCOMENDA") + POR_ENCOMENDA("IMPORTACAO_POR_ENCOMENDA"); + + + private final String value; + + IndicadorEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IndicadorEnum fromValue(String v) { + for (IndicadorEnum b : IndicadorEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to IndicadorEnum"); + } + } + + @XmlElement(name = "indicador", required = true) + @ApiModelProperty(example = "IMPORTACAO_DIRETA", required = true, value = "Indicador de importação por terceiros.") + /** + * Indicador de importação por terceiros. + **/ + private IndicadorEnum indicador = null; + + @XmlElement(name = "ni") + @ApiModelProperty(example = "00000000000191", value = "CNPJ do adquirente ou encomendante.
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'
    Observação: Este atributo é informado apenas quando o atributo 'indicador' possui um dos seguintes valores: 'IMPORTACAO_POR_CONTA_E_ORDEM', 'IMPORTACAO_POR_ENCOMENDA'") + /** + * CNPJ do adquirente ou encomendante.
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'
    Observação: Este atributo é informado apenas quando o atributo 'indicador' possui um dos seguintes valores: 'IMPORTACAO_POR_CONTA_E_ORDEM', 'IMPORTACAO_POR_ENCOMENDA' + **/ + private String ni = null; + + /** + * Indicador de importação por terceiros. + * + * @return indicador + **/ + @JsonProperty("indicador") + @NotNull + public String getIndicador() { + if (indicador == null) { + return null; + } + return indicador.value(); + } + + public void setIndicador(IndicadorEnum indicador) { + this.indicador = indicador; + } + + public CaracterizacaoImportacaoCover indicador(IndicadorEnum indicador) { + this.indicador = indicador; + return this; + } + + /** + * CNPJ do adquirente ou encomendante.<br>Tamanho: 14<br>Formato: 'NNNNNNNNNNNNNN'<br>Observação: Este atributo é informado apenas quando o atributo 'indicador' possui um dos seguintes valores: 'IMPORTACAO_POR_CONTA_E_ORDEM', 'IMPORTACAO_POR_ENCOMENDA' + * + * @return ni + **/ + @JsonProperty("ni") + public String getNi() { + return ni; + } + + public void setNi(String ni) { + this.ni = ni; + } + + public CaracterizacaoImportacaoCover ni(String ni) { + this.ni = ni; + return this; + } + + + @Override + public String toString() { + + String sb = "class CaracterizacaoImportacaoCover {\n" + + " indicador: " + toIndentedString(indicador) + "\n" + + " ni: " + toIndentedString(ni) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaCover.java new file mode 100644 index 0000000..a4e6ba0 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaCover.java @@ -0,0 +1,273 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CargaCover", propOrder = + {"tipoIdentificacaoCarga", "identificacao", "unidadeDeclarada", "motivoSituacaoEspecial", "seguro", "frete", "paisProcedencia" + }) + +@XmlRootElement(name = "CargaCover") +/** + * Dados da carga. + **/ +@ApiModel(description = "Dados da carga.") +public class CargaCover { + + + @XmlType(name = "TipoIdentificacaoCargaEnum") + @XmlEnum(String.class) + public enum TipoIdentificacaoCargaEnum { + + @XmlEnumValue("CE") + @JsonProperty("CE") + CE("CE"), + + @XmlEnumValue("RUC") + @JsonProperty("RUC") + RUC("RUC"); + + + private final String value; + + TipoIdentificacaoCargaEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoIdentificacaoCargaEnum fromValue(String v) { + for (TipoIdentificacaoCargaEnum b : TipoIdentificacaoCargaEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoIdentificacaoCargaEnum"); + } + } + + @XmlElement(name = "tipoIdentificacaoCarga") + @ApiModelProperty(example = "CE", value = "Descreve se a identificação da carga é do tipo CE ou RUC") + /** + * Descreve se a identificação da carga é do tipo CE ou RUC + **/ + private TipoIdentificacaoCargaEnum tipoIdentificacaoCarga = null; + + @XmlElement(name = "identificacao") + @ApiModelProperty(value = "Número de Identificação da Carga.
    Quando tipo de identificação da carga for CE:
    - Tamanho: 15
    - Formato: NNNNNNNNNNNNNNN
    Quando tipo de identificação da carga for RUC:
    - Tamanho mínimo: 1
    - Tamanho máximo: 32
    Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11

    Origem: Portal Único Siscomex - Sistema CCT Importação - https://portalunico.siscomex.gov.br/
    Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo") + /** + * Número de Identificação da Carga.
    Quando tipo de identificação da carga for CE:
    - Tamanho: 15
    - Formato: NNNNNNNNNNNNNNN
    Quando tipo de identificação da carga for RUC:
    - Tamanho mínimo: 1
    - Tamanho máximo: 32
    Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11

    Origem: Portal Único Siscomex - Sistema CCT Importação - https://portalunico.siscomex.gov.br/
    Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + **/ + private String identificacao = null; + + @XmlElement(name = "unidadeDeclarada", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private UnidadeDeclaradaCover unidadeDeclarada = null; + + @XmlElement(name = "motivoSituacaoEspecial") + @ApiModelProperty(value = "Código do motivo da situação especial de despacho no sistema.
    Tamanho: 5
    Formato: 'NNNNN'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código do motivo da situação especial de despacho no sistema.
    Tamanho: 5
    Formato: 'NNNNN'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private String motivoSituacaoEspecial = null; + + @XmlElement(name = "seguro") + @ApiModelProperty(value = "") + @Valid + private SeguroCover seguro = null; + + @XmlElement(name = "frete") + @ApiModelProperty(value = "") + @Valid + private FreteCover frete = null; + + @XmlElement(name = "paisProcedencia") + @ApiModelProperty(value = "") + @Valid + private CargaDuimpPaisProcedenciaCover paisProcedencia = null; + + /** + * Descreve se a identificação da carga é do tipo CE ou RUC + * + * @return tipoIdentificacaoCarga + **/ + @JsonProperty("tipoIdentificacaoCarga") + public String getTipoIdentificacaoCarga() { + if (tipoIdentificacaoCarga == null) { + return null; + } + return tipoIdentificacaoCarga.value(); + } + + public void setTipoIdentificacaoCarga(TipoIdentificacaoCargaEnum tipoIdentificacaoCarga) { + this.tipoIdentificacaoCarga = tipoIdentificacaoCarga; + } + + public CargaCover tipoIdentificacaoCarga(TipoIdentificacaoCargaEnum tipoIdentificacaoCarga) { + this.tipoIdentificacaoCarga = tipoIdentificacaoCarga; + return this; + } + + /** + * Número de Identificação da Carga.<br>Quando tipo de identificação da carga for CE: <br> - Tamanho: 15 <br> - Formato: NNNNNNNNNNNNNNN<br>Quando tipo de identificação da carga for RUC: <br> - Tamanho mínimo: 1<br> - Tamanho máximo: 32<br>Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11<br><br>Origem: Portal Único Siscomex - Sistema CCT Importação - https://portalunico.siscomex.gov.br/<br>Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + * + * @return identificacao + **/ + @JsonProperty("identificacao") + public String getIdentificacao() { + return identificacao; + } + + public void setIdentificacao(String identificacao) { + this.identificacao = identificacao; + } + + public CargaCover identificacao(String identificacao) { + this.identificacao = identificacao; + return this; + } + + /** + * Get unidadeDeclarada + * + * @return unidadeDeclarada + **/ + @JsonProperty("unidadeDeclarada") + @NotNull + public UnidadeDeclaradaCover getUnidadeDeclarada() { + return unidadeDeclarada; + } + + public void setUnidadeDeclarada(UnidadeDeclaradaCover unidadeDeclarada) { + this.unidadeDeclarada = unidadeDeclarada; + } + + public CargaCover unidadeDeclarada(UnidadeDeclaradaCover unidadeDeclarada) { + this.unidadeDeclarada = unidadeDeclarada; + return this; + } + + /** + * Código do motivo da situação especial de despacho no sistema.<br>Tamanho: 5<br>Formato: 'NNNNN'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return motivoSituacaoEspecial + **/ + @JsonProperty("motivoSituacaoEspecial") + public String getMotivoSituacaoEspecial() { + return motivoSituacaoEspecial; + } + + public void setMotivoSituacaoEspecial(String motivoSituacaoEspecial) { + this.motivoSituacaoEspecial = motivoSituacaoEspecial; + } + + public CargaCover motivoSituacaoEspecial(String motivoSituacaoEspecial) { + this.motivoSituacaoEspecial = motivoSituacaoEspecial; + return this; + } + + /** + * Get seguro + * + * @return seguro + **/ + @JsonProperty("seguro") + public SeguroCover getSeguro() { + return seguro; + } + + public void setSeguro(SeguroCover seguro) { + this.seguro = seguro; + } + + public CargaCover seguro(SeguroCover seguro) { + this.seguro = seguro; + return this; + } + + /** + * Get frete + * + * @return frete + **/ + @JsonProperty("frete") + public FreteCover getFrete() { + return frete; + } + + public void setFrete(FreteCover frete) { + this.frete = frete; + } + + public CargaCover frete(FreteCover frete) { + this.frete = frete; + return this; + } + + /** + * Get paisProcedencia + * + * @return paisProcedencia + **/ + @JsonProperty("paisProcedencia") + public CargaDuimpPaisProcedenciaCover getPaisProcedencia() { + return paisProcedencia; + } + + public void setPaisProcedencia(CargaDuimpPaisProcedenciaCover paisProcedencia) { + this.paisProcedencia = paisProcedencia; + } + + public CargaCover paisProcedencia(CargaDuimpPaisProcedenciaCover paisProcedencia) { + this.paisProcedencia = paisProcedencia; + return this; + } + + + @Override + public String toString() { + + String sb = "class CargaCover {\n" + + " tipoIdentificacaoCarga: " + toIndentedString(tipoIdentificacaoCarga) + "\n" + + " identificacao: " + toIndentedString(identificacao) + "\n" + + " unidadeDeclarada: " + toIndentedString(unidadeDeclarada) + "\n" + + " motivoSituacaoEspecial: " + toIndentedString(motivoSituacaoEspecial) + "\n" + + " seguro: " + toIndentedString(seguro) + "\n" + + " frete: " + toIndentedString(frete) + "\n" + + " paisProcedencia: " + toIndentedString(paisProcedencia) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaDuimpPaisProcedenciaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaDuimpPaisProcedenciaCover.java new file mode 100644 index 0000000..c722ec3 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaDuimpPaisProcedenciaCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CargaDuimpPaisProcedenciaCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "CargaDuimpPaisProcedenciaCover") +/** + * País de Procedência.
    Para DUIMP com tipo de identificação de carga RUC, o país de procedência é informado pelo Importador + **/ +@ApiModel(description = "País de Procedência.
    Para DUIMP com tipo de identificação de carga RUC, o país de procedência é informado pelo Importador") +public class CargaDuimpPaisProcedenciaCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "CN", value = "Código do país de procedência no formato ISO (3166-1 alfa-2).
    Tamanho: 2
    Formato: 'AA'") + /** + * Código do país de procedência no formato ISO (3166-1 alfa-2).
    Tamanho: 2
    Formato: 'AA' + **/ + private String codigo = null; + + /** + * Código do país de procedência no formato ISO (3166-1 alfa-2).<br>Tamanho: 2<br>Formato: 'AA' + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public CargaDuimpPaisProcedenciaCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class CargaDuimpPaisProcedenciaCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaValoresCalculadosDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaValoresCalculadosDuimpCover.java new file mode 100644 index 0000000..d6020bc --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaValoresCalculadosDuimpCover.java @@ -0,0 +1,96 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CargaValoresCalculadosDuimpCover", propOrder = + {"frete", "seguro" + }) + +@XmlRootElement(name = "CargaValoresCalculadosDuimpCover") +/** + * Dados da carga. + **/ +@ApiModel(description = "Dados da carga.") +public class CargaValoresCalculadosDuimpCover { + + @XmlElement(name = "frete") + @ApiModelProperty(value = "") + @Valid + private FreteValoresCalculadosDuimpCover frete = null; + + @XmlElement(name = "seguro") + @ApiModelProperty(value = "") + @Valid + private SeguroValoresCalculadosDuimpCover seguro = null; + + /** + * Get frete + * + * @return frete + **/ + @JsonProperty("frete") + public FreteValoresCalculadosDuimpCover getFrete() { + return frete; + } + + public void setFrete(FreteValoresCalculadosDuimpCover frete) { + this.frete = frete; + } + + public CargaValoresCalculadosDuimpCover frete(FreteValoresCalculadosDuimpCover frete) { + this.frete = frete; + return this; + } + + /** + * Get seguro + * + * @return seguro + **/ + @JsonProperty("seguro") + public SeguroValoresCalculadosDuimpCover getSeguro() { + return seguro; + } + + public void setSeguro(SeguroValoresCalculadosDuimpCover seguro) { + this.seguro = seguro; + } + + public CargaValoresCalculadosDuimpCover seguro(SeguroValoresCalculadosDuimpCover seguro) { + this.seguro = seguro; + return this; + } + + + @Override + public String toString() { + + String sb = "class CargaValoresCalculadosDuimpCover {\n" + + " frete: " + toIndentedString(frete) + "\n" + + " seguro: " + toIndentedString(seguro) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CertificadoMercosulCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CertificadoMercosulCover.java new file mode 100644 index 0000000..1b70acf --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CertificadoMercosulCover.java @@ -0,0 +1,170 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CertificadoMercosulCover", propOrder = + {"tipo", "numero", "quantidade" + }) + +@XmlRootElement(name = "CertificadoMercosulCover") +/** + * Lista de declarações estrangeiras.
    Observação: Este atributo somente deve ser preenchido quando o país de procedência é pertencente ao Mercosul.
    Observação: Este grupo será preenchido apenas nos casos de importação de mercadorias que procedam diretamente do exterior cujo país de procedência seja membro do MERCOSUL. + **/ +@ApiModel(description = "Lista de declarações estrangeiras.
    Observação: Este atributo somente deve ser preenchido quando o país de procedência é pertencente ao Mercosul.
    Observação: Este grupo será preenchido apenas nos casos de importação de mercadorias que procedam diretamente do exterior cujo país de procedência seja membro do MERCOSUL.") +public class CertificadoMercosulCover { + + + @XmlType(name = "TipoEnum") + @XmlEnum(String.class) + public enum TipoEnum { + + @XmlEnumValue("CCPTC") + @JsonProperty("CCPTC") + CCPTC("CCPTC"), + + @XmlEnumValue("CCROM") + @JsonProperty("CCROM") + CCROM("CCROM"); + + + private final String value; + + TipoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } + } + + @XmlElement(name = "tipo") + @ApiModelProperty(example = "CCPTC", value = "Tipo de certificado Mercosul.
    Domínio:") + /** + * Tipo de certificado Mercosul.
    Domínio: + **/ + private TipoEnum tipo = null; + + @XmlElement(name = "numero") + @ApiModelProperty(example = "PY-06000AA0000A-0001", value = "Número do Certificado Mercosul.
    Tamanho mínimo: 1
    Tamanho máximo: 20") + /** + * Número do Certificado Mercosul.
    Tamanho mínimo: 1
    Tamanho máximo: 20 + **/ + private String numero = null; + + @XmlElement(name = "quantidade") + @ApiModelProperty(example = "1.12345", value = "Quantidade da mercadoria na unidade estatística.
    Tamanho: 11,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto.") + /** + * Quantidade da mercadoria na unidade estatística.
    Tamanho: 11,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto. + **/ + private String quantidade = null; + + /** + * Tipo de certificado Mercosul.<br>Domínio: + * + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public CertificadoMercosulCover tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Número do Certificado Mercosul.<br>Tamanho mínimo: 1<br>Tamanho máximo: 20 + * + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public CertificadoMercosulCover numero(String numero) { + this.numero = numero; + return this; + } + + /** + * Quantidade da mercadoria na unidade estatística.<br>Tamanho: 11,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. + * + * @return quantidade + **/ + @JsonProperty("quantidade") + public String getQuantidade() { + return quantidade; + } + + public void setQuantidade(String quantidade) { + this.quantidade = quantidade; + } + + public CertificadoMercosulCover quantidade(String quantidade) { + this.quantidade = quantidade; + return this; + } + + + @Override + public String toString() { + + String sb = "class CertificadoMercosulCover {\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + " numero: " + toIndentedString(numero) + "\n" + + " quantidade: " + toIndentedString(quantidade) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CoberturaCambialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CoberturaCambialCover.java new file mode 100644 index 0000000..a27a165 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CoberturaCambialCover.java @@ -0,0 +1,126 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CoberturaCambialCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "CoberturaCambialCover") +/** + * Cobertura cambial. + **/ +@ApiModel(description = "Cobertura cambial.") +public class CoberturaCambialCover { + + + @XmlType(name = "CodigoEnum") + @XmlEnum(String.class) + public enum CodigoEnum { + + @XmlEnumValue("ATE_180_DIAS") + @JsonProperty("ATE_180_DIAS") + ATE_180_DIAS("ATE_180_DIAS"), + + @XmlEnumValue("DE_180_ATE_360") + @JsonProperty("DE_180_ATE_360") + DE_180_ATE_360("DE_180_ATE_360"), + + @XmlEnumValue("ACIMA_360") + @JsonProperty("ACIMA_360") + ACIMA_360("ACIMA_360"), + + @XmlEnumValue("SEM_COBERTURA") + @JsonProperty("SEM_COBERTURA") + SEM_COBERTURA("SEM_COBERTURA"); + + + private final String value; + + CodigoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CodigoEnum fromValue(String v) { + for (CodigoEnum b : CodigoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum"); + } + } + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "ATE_180_DIAS", required = true, value = "Código da cobertura cambial.
    Domínio:") + /** + * Código da cobertura cambial.
    Domínio: + **/ + private CodigoEnum codigo = null; + + /** + * Código da cobertura cambial.<br>Domínio: + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + if (codigo == null) { + return null; + } + return codigo.value(); + } + + public void setCodigo(CodigoEnum codigo) { + this.codigo = codigo; + } + + public CoberturaCambialCover codigo(CodigoEnum codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class CoberturaCambialCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CondicaoVendaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CondicaoVendaCover.java new file mode 100644 index 0000000..e59ec1c --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CondicaoVendaCover.java @@ -0,0 +1,177 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CondicaoVendaCover", propOrder = + {"metodoValoracao", "incoterm", "frete", "seguro", "acrescimosDeducoes" + }) + +@XmlRootElement(name = "CondicaoVendaCover") +/** + * Condição de venda da mercadoria. + **/ +@ApiModel(description = "Condição de venda da mercadoria.") +public class CondicaoVendaCover { + + @XmlElement(name = "metodoValoracao") + @ApiModelProperty(value = "") + @Valid + private MetodoValoracaoCover metodoValoracao = null; + + @XmlElement(name = "incoterm") + @ApiModelProperty(value = "") + @Valid + private IncotermCover incoterm = null; + + @XmlElement(name = "frete") + @ApiModelProperty(value = "") + @Valid + private ItemFreteCover frete = null; + + @XmlElement(name = "seguro") + @ApiModelProperty(value = "") + @Valid + private ItemSeguroCover seguro = null; + + @XmlElement(name = "acrescimosDeducoes") + @ApiModelProperty(value = "") + @Valid + private List acrescimosDeducoes = null; + + /** + * Get metodoValoracao + * + * @return metodoValoracao + **/ + @JsonProperty("metodoValoracao") + public MetodoValoracaoCover getMetodoValoracao() { + return metodoValoracao; + } + + public void setMetodoValoracao(MetodoValoracaoCover metodoValoracao) { + this.metodoValoracao = metodoValoracao; + } + + public CondicaoVendaCover metodoValoracao(MetodoValoracaoCover metodoValoracao) { + this.metodoValoracao = metodoValoracao; + return this; + } + + /** + * Get incoterm + * + * @return incoterm + **/ + @JsonProperty("incoterm") + public IncotermCover getIncoterm() { + return incoterm; + } + + public void setIncoterm(IncotermCover incoterm) { + this.incoterm = incoterm; + } + + public CondicaoVendaCover incoterm(IncotermCover incoterm) { + this.incoterm = incoterm; + return this; + } + + /** + * Get frete + * + * @return frete + **/ + @JsonProperty("frete") + public ItemFreteCover getFrete() { + return frete; + } + + public void setFrete(ItemFreteCover frete) { + this.frete = frete; + } + + public CondicaoVendaCover frete(ItemFreteCover frete) { + this.frete = frete; + return this; + } + + /** + * Get seguro + * + * @return seguro + **/ + @JsonProperty("seguro") + public ItemSeguroCover getSeguro() { + return seguro; + } + + public void setSeguro(ItemSeguroCover seguro) { + this.seguro = seguro; + } + + public CondicaoVendaCover seguro(ItemSeguroCover seguro) { + this.seguro = seguro; + return this; + } + + /** + * Get acrescimosDeducoes + * + * @return acrescimosDeducoes + **/ + @JsonProperty("acrescimosDeducoes") + public List getAcrescimosDeducoes() { + return acrescimosDeducoes; + } + + public void setAcrescimosDeducoes(List acrescimosDeducoes) { + this.acrescimosDeducoes = acrescimosDeducoes; + } + + public CondicaoVendaCover acrescimosDeducoes(List acrescimosDeducoes) { + this.acrescimosDeducoes = acrescimosDeducoes; + return this; + } + + public CondicaoVendaCover addAcrescimosDeducoesItem(AcrescimoDeducaoCover acrescimosDeducoesItem) { + this.acrescimosDeducoes.add(acrescimosDeducoesItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class CondicaoVendaCover {\n" + + " metodoValoracao: " + toIndentedString(metodoValoracao) + "\n" + + " incoterm: " + toIndentedString(incoterm) + "\n" + + " frete: " + toIndentedString(frete) + "\n" + + " seguro: " + toIndentedString(seguro) + "\n" + + " acrescimosDeducoes: " + toIndentedString(acrescimosDeducoes) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CondicaoVendaValoresCalculadosCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CondicaoVendaValoresCalculadosCover.java new file mode 100644 index 0000000..31a7de7 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CondicaoVendaValoresCalculadosCover.java @@ -0,0 +1,154 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CondicaoVendaValoresCalculadosCover", propOrder = + {"valorBRL", "frete", "seguro", "acrescimosDeducoes" + }) + +@XmlRootElement(name = "CondicaoVendaValoresCalculadosCover") +/** + * Valor na Condição de Venda. + **/ +@ApiModel(description = "Valor na Condição de Venda.") +public class CondicaoVendaValoresCalculadosCover { + + @XmlElement(name = "valorBRL") + @ApiModelProperty(example = "10.4", value = "Valor unitário da mercadoria na condição de venda.
    Tamanho: 13,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor unitário da mercadoria na condição de venda.
    Tamanho: 13,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double valorBRL = null; + + @XmlElement(name = "frete") + @ApiModelProperty(value = "") + @Valid + private FreteValoresCalculadosItemCover frete = null; + + @XmlElement(name = "seguro") + @ApiModelProperty(value = "") + @Valid + private SeguroValoresCalculadosItemCover seguro = null; + + @XmlElement(name = "acrescimosDeducoes") + @ApiModelProperty(value = "") + @Valid + private List acrescimosDeducoes = null; + + /** + * Valor unitário da mercadoria na condição de venda.<br>Tamanho: 13,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorBRL + **/ + @JsonProperty("valorBRL") + public Double getValorBRL() { + return valorBRL; + } + + public void setValorBRL(Double valorBRL) { + this.valorBRL = valorBRL; + } + + public CondicaoVendaValoresCalculadosCover valorBRL(Double valorBRL) { + this.valorBRL = valorBRL; + return this; + } + + /** + * Get frete + * + * @return frete + **/ + @JsonProperty("frete") + public FreteValoresCalculadosItemCover getFrete() { + return frete; + } + + public void setFrete(FreteValoresCalculadosItemCover frete) { + this.frete = frete; + } + + public CondicaoVendaValoresCalculadosCover frete(FreteValoresCalculadosItemCover frete) { + this.frete = frete; + return this; + } + + /** + * Get seguro + * + * @return seguro + **/ + @JsonProperty("seguro") + public SeguroValoresCalculadosItemCover getSeguro() { + return seguro; + } + + public void setSeguro(SeguroValoresCalculadosItemCover seguro) { + this.seguro = seguro; + } + + public CondicaoVendaValoresCalculadosCover seguro(SeguroValoresCalculadosItemCover seguro) { + this.seguro = seguro; + return this; + } + + /** + * Get acrescimosDeducoes + * + * @return acrescimosDeducoes + **/ + @JsonProperty("acrescimosDeducoes") + public List getAcrescimosDeducoes() { + return acrescimosDeducoes; + } + + public void setAcrescimosDeducoes(List acrescimosDeducoes) { + this.acrescimosDeducoes = acrescimosDeducoes; + } + + public CondicaoVendaValoresCalculadosCover acrescimosDeducoes(List acrescimosDeducoes) { + this.acrescimosDeducoes = acrescimosDeducoes; + return this; + } + + public CondicaoVendaValoresCalculadosCover addAcrescimosDeducoesItem(AcrescimoDeducaoValoresCalculadosCover acrescimosDeducoesItem) { + this.acrescimosDeducoes.add(acrescimosDeducoesItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class CondicaoVendaValoresCalculadosCover {\n" + + " valorBRL: " + toIndentedString(valorBRL) + "\n" + + " frete: " + toIndentedString(frete) + "\n" + + " seguro: " + toIndentedString(seguro) + "\n" + + " acrescimosDeducoes: " + toIndentedString(acrescimosDeducoes) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DadosCambiaisCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DadosCambiaisCover.java new file mode 100644 index 0000000..f80818f --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DadosCambiaisCover.java @@ -0,0 +1,177 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DadosCambiaisCover", propOrder = + {"coberturaCambial", "numeroROF", "instituicaoFinanciadora", "valorCoberturaCambial", "motivoSemCobertura" + }) + +@XmlRootElement(name = "DadosCambiaisCover") +/** + * Dados cambiais. + **/ +@ApiModel(description = "Dados cambiais.") +public class DadosCambiaisCover { + + @XmlElement(name = "coberturaCambial", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private CoberturaCambialCover coberturaCambial = null; + + @XmlElement(name = "numeroROF") + @ApiModelProperty(example = "180A0A0A", value = "Número do ROF no BACEN.
    Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias ou quando o motivo selecionado no atributo \"motivoSemCobertura\" admitir a utilização do ROF.
    Tamanho mínimo: 1
    Tamanho máximo: 8") + /** + * Número do ROF no BACEN.
    Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias ou quando o motivo selecionado no atributo \"motivoSemCobertura\" admitir a utilização do ROF.
    Tamanho mínimo: 1
    Tamanho máximo: 8 + **/ + private String numeroROF = null; + + @XmlElement(name = "instituicaoFinanciadora") + @ApiModelProperty(value = "") + @Valid + private InstituicaoFinanciadoraCover instituicaoFinanciadora = null; + + @XmlElement(name = "valorCoberturaCambial") + @ApiModelProperty(example = "100.12", value = "Valor da cobertura cambial.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.") + /** + * Valor da cobertura cambial.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias. + **/ + private String valorCoberturaCambial = null; + + @XmlElement(name = "motivoSemCobertura") + @ApiModelProperty(value = "") + @Valid + private MotivoSemCoberturaCambialCover motivoSemCobertura = null; + + /** + * Get coberturaCambial + * + * @return coberturaCambial + **/ + @JsonProperty("coberturaCambial") + @NotNull + public CoberturaCambialCover getCoberturaCambial() { + return coberturaCambial; + } + + public void setCoberturaCambial(CoberturaCambialCover coberturaCambial) { + this.coberturaCambial = coberturaCambial; + } + + public DadosCambiaisCover coberturaCambial(CoberturaCambialCover coberturaCambial) { + this.coberturaCambial = coberturaCambial; + return this; + } + + /** + * Número do ROF no BACEN.<br>Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias ou quando o motivo selecionado no atributo \"motivoSemCobertura\" admitir a utilização do ROF.<br>Tamanho mínimo: 1<br>Tamanho máximo: 8 + * + * @return numeroROF + **/ + @JsonProperty("numeroROF") + public String getNumeroROF() { + return numeroROF; + } + + public void setNumeroROF(String numeroROF) { + this.numeroROF = numeroROF; + } + + public DadosCambiaisCover numeroROF(String numeroROF) { + this.numeroROF = numeroROF; + return this; + } + + /** + * Get instituicaoFinanciadora + * + * @return instituicaoFinanciadora + **/ + @JsonProperty("instituicaoFinanciadora") + public InstituicaoFinanciadoraCover getInstituicaoFinanciadora() { + return instituicaoFinanciadora; + } + + public void setInstituicaoFinanciadora(InstituicaoFinanciadoraCover instituicaoFinanciadora) { + this.instituicaoFinanciadora = instituicaoFinanciadora; + } + + public DadosCambiaisCover instituicaoFinanciadora(InstituicaoFinanciadoraCover instituicaoFinanciadora) { + this.instituicaoFinanciadora = instituicaoFinanciadora; + return this; + } + + /** + * Valor da cobertura cambial.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias. + * + * @return valorCoberturaCambial + **/ + @JsonProperty("valorCoberturaCambial") + public String getValorCoberturaCambial() { + return valorCoberturaCambial; + } + + public void setValorCoberturaCambial(String valorCoberturaCambial) { + this.valorCoberturaCambial = valorCoberturaCambial; + } + + public DadosCambiaisCover valorCoberturaCambial(String valorCoberturaCambial) { + this.valorCoberturaCambial = valorCoberturaCambial; + return this; + } + + /** + * Get motivoSemCobertura + * + * @return motivoSemCobertura + **/ + @JsonProperty("motivoSemCobertura") + public MotivoSemCoberturaCambialCover getMotivoSemCobertura() { + return motivoSemCobertura; + } + + public void setMotivoSemCobertura(MotivoSemCoberturaCambialCover motivoSemCobertura) { + this.motivoSemCobertura = motivoSemCobertura; + } + + public DadosCambiaisCover motivoSemCobertura(MotivoSemCoberturaCambialCover motivoSemCobertura) { + this.motivoSemCobertura = motivoSemCobertura; + return this; + } + + + @Override + public String toString() { + + String sb = "class DadosCambiaisCover {\n" + + " coberturaCambial: " + toIndentedString(coberturaCambial) + "\n" + + " numeroROF: " + toIndentedString(numeroROF) + "\n" + + " instituicaoFinanciadora: " + toIndentedString(instituicaoFinanciadora) + "\n" + + " valorCoberturaCambial: " + toIndentedString(valorCoberturaCambial) + "\n" + + " motivoSemCobertura: " + toIndentedString(motivoSemCobertura) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DeclaracaoExportacaoEstrangeiraCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DeclaracaoExportacaoEstrangeiraCover.java new file mode 100644 index 0000000..6b342ce --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DeclaracaoExportacaoEstrangeiraCover.java @@ -0,0 +1,126 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeclaracaoExportacaoEstrangeiraCover", propOrder = + {"numero", "faixaInicio", "faixaFim" + }) + +@XmlRootElement(name = "DeclaracaoExportacaoEstrangeiraCover") +/** + * Lista de declarações estrangeiras.
    Observação: Os campos deste grupo são informados apenas quando a procedência da carga é de um país do Mercosul. + **/ +@ApiModel(description = "Lista de declarações estrangeiras.
    Observação: Os campos deste grupo são informados apenas quando a procedência da carga é de um país do Mercosul.") +public class DeclaracaoExportacaoEstrangeiraCover { + + @XmlElement(name = "numero") + @ApiModelProperty(example = "19XY0000001-XYZ", value = "Número da declaração.
    Tamanho mínimo: 1
    Tamanho máximo: 70") + /** + * Número da declaração.
    Tamanho mínimo: 1
    Tamanho máximo: 70 + **/ + private String numero = null; + + @XmlElement(name = "faixaInicio") + @ApiModelProperty(example = "A-11", value = "Item inicial da faixa de itens.
    Tamanho mínimo: 1
    Tamanho máximo: 7") + /** + * Item inicial da faixa de itens.
    Tamanho mínimo: 1
    Tamanho máximo: 7 + **/ + private String faixaInicio = null; + + @XmlElement(name = "faixaFim") + @ApiModelProperty(example = "B-20", value = "Item final da faixa de itens.
    Tamanho mínimo: 1
    Tamanho máximo: 7") + /** + * Item final da faixa de itens.
    Tamanho mínimo: 1
    Tamanho máximo: 7 + **/ + private String faixaFim = null; + + /** + * Número da declaração.<br>Tamanho mínimo: 1<br>Tamanho máximo: 70 + * + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public DeclaracaoExportacaoEstrangeiraCover numero(String numero) { + this.numero = numero; + return this; + } + + /** + * Item inicial da faixa de itens.<br>Tamanho mínimo: 1<br>Tamanho máximo: 7 + * + * @return faixaInicio + **/ + @JsonProperty("faixaInicio") + public String getFaixaInicio() { + return faixaInicio; + } + + public void setFaixaInicio(String faixaInicio) { + this.faixaInicio = faixaInicio; + } + + public DeclaracaoExportacaoEstrangeiraCover faixaInicio(String faixaInicio) { + this.faixaInicio = faixaInicio; + return this; + } + + /** + * Item final da faixa de itens.<br>Tamanho mínimo: 1<br>Tamanho máximo: 7 + * + * @return faixaFim + **/ + @JsonProperty("faixaFim") + public String getFaixaFim() { + return faixaFim; + } + + public void setFaixaFim(String faixaFim) { + this.faixaFim = faixaFim; + } + + public DeclaracaoExportacaoEstrangeiraCover faixaFim(String faixaFim) { + this.faixaFim = faixaFim; + return this; + } + + + @Override + public String toString() { + + String sb = "class DeclaracaoExportacaoEstrangeiraCover {\n" + + " numero: " + toIndentedString(numero) + "\n" + + " faixaInicio: " + toIndentedString(faixaInicio) + "\n" + + " faixaFim: " + toIndentedString(faixaFim) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DeclaracaoVinculadaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DeclaracaoVinculadaCover.java new file mode 100644 index 0000000..38377e0 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DeclaracaoVinculadaCover.java @@ -0,0 +1,205 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeclaracaoVinculadaCover", propOrder = + {"tipo", "numero", "numeroItem", "chaveAcesso" + }) + +@XmlRootElement(name = "DeclaracaoVinculadaCover") +/** + * Lista de declarações aduaneiras vinculadas. + **/ +@ApiModel(description = "Lista de declarações aduaneiras vinculadas.") +public class DeclaracaoVinculadaCover { + + + @XmlType(name = "TipoEnum") + @XmlEnum(String.class) + public enum TipoEnum { + + @XmlEnumValue("DUIMP") + @JsonProperty("DUIMP") + DUIMP("DUIMP"), + + @XmlEnumValue("DUE") + @JsonProperty("DUE") + DUE("DUE"), + + @XmlEnumValue("DI") + @JsonProperty("DI") + DI("DI"), + + @XmlEnumValue("DE") + @JsonProperty("DE") + DE("DE"); + + + private final String value; + + TipoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } + } + + @XmlElement(name = "tipo") + @ApiModelProperty(example = "DUIMP", value = "Tipo de declaração vinculada.
    Domínio:") + /** + * Tipo de declaração vinculada.
    Domínio: + **/ + private TipoEnum tipo = null; + + @XmlElement(name = "numero") + @ApiModelProperty(example = "23BR00001010550", value = "Número da Declaração.
    Tamanho mínimo: 1
    Tamanho máximo: 15") + /** + * Número da Declaração.
    Tamanho mínimo: 1
    Tamanho máximo: 15 + **/ + private String numero = null; + + @XmlElement(name = "numeroItem") + @ApiModelProperty(example = "10001", value = "Número do item/adição da declaração.
    Valor mínimo: 1
    Valor máximo: 99999") + /** + * Número do item/adição da declaração.
    Valor mínimo: 1
    Valor máximo: 99999 + **/ + private Integer numeroItem = null; + + @XmlElement(name = "chaveAcesso") + @ApiModelProperty(example = "23NcT000115501", value = "Chave de acesso da Duimp vinculada. Atributo previsto no json de saída para auxiliar o usuário na utilização da estrutura do json. No entanto, não é preenchido, por se tratar de um dado restrito.
    Tamanho: 14
    Formato: 'AALLLSSSSSSSSD'
    Lei de formação:
    * AA = Corresponde ao ano (2 caracteres).
    * LLL = 3 letras aleatórias.
    * SSSSSSSS = 8 caracteres númericos. Número sequencial da Duimp dentro do ano.
    * D = (1 caracter númerico. DV para os demais caracteres numéricos (Módulo 11)") + /** + * Chave de acesso da Duimp vinculada. Atributo previsto no json de saída para auxiliar o usuário na utilização da estrutura do json. No entanto, não é preenchido, por se tratar de um dado restrito.
    Tamanho: 14
    Formato: 'AALLLSSSSSSSSD'
    Lei de formação:
    * AA = Corresponde ao ano (2 caracteres).
    * LLL = 3 letras aleatórias.
    * SSSSSSSS = 8 caracteres númericos. Número sequencial da Duimp dentro do ano.
    * D = (1 caracter númerico. DV para os demais caracteres numéricos (Módulo 11) + **/ + private String chaveAcesso = null; + + /** + * Tipo de declaração vinculada.<br>Domínio: + * + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public DeclaracaoVinculadaCover tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Número da Declaração.<br>Tamanho mínimo: 1<br>Tamanho máximo: 15 + * + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public DeclaracaoVinculadaCover numero(String numero) { + this.numero = numero; + return this; + } + + /** + * Número do item/adição da declaração.<br>Valor mínimo: 1<br>Valor máximo: 99999 + * + * @return numeroItem + **/ + @JsonProperty("numeroItem") + public Integer getNumeroItem() { + return numeroItem; + } + + public void setNumeroItem(Integer numeroItem) { + this.numeroItem = numeroItem; + } + + public DeclaracaoVinculadaCover numeroItem(Integer numeroItem) { + this.numeroItem = numeroItem; + return this; + } + + /** + * Chave de acesso da Duimp vinculada. Atributo previsto no json de saída para auxiliar o usuário na utilização da estrutura do json. No entanto, não é preenchido, por se tratar de um dado restrito.<br>Tamanho: 14<br>Formato: 'AALLLSSSSSSSSD'<br>Lei de formação: <br>* AA = Corresponde ao ano (2 caracteres).<br>* LLL = 3 letras aleatórias.<br>* SSSSSSSS = 8 caracteres númericos. Número sequencial da Duimp dentro do ano.<br>* D = (1 caracter númerico. DV para os demais caracteres numéricos (Módulo 11) + * + * @return chaveAcesso + **/ + @JsonProperty("chaveAcesso") + public String getChaveAcesso() { + return chaveAcesso; + } + + public void setChaveAcesso(String chaveAcesso) { + this.chaveAcesso = chaveAcesso; + } + + public DeclaracaoVinculadaCover chaveAcesso(String chaveAcesso) { + this.chaveAcesso = chaveAcesso; + return this; + } + + + @Override + public String toString() { + + String sb = "class DeclaracaoVinculadaCover {\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + " numero: " + toIndentedString(numero) + "\n" + + " numeroItem: " + toIndentedString(numeroItem) + "\n" + + " chaveAcesso: " + toIndentedString(chaveAcesso) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DenominacaoAcrescimoDeducaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DenominacaoAcrescimoDeducaoCover.java new file mode 100644 index 0000000..798a401 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DenominacaoAcrescimoDeducaoCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DenominacaoAcrescimoDeducaoCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "DenominacaoAcrescimoDeducaoCover") +/** + * Denominação do acréscimo ou da dedução escolhida. + **/ +@ApiModel(description = "Denominação do acréscimo ou da dedução escolhida.") +public class DenominacaoAcrescimoDeducaoCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "1", value = "Código do acréscimo ou da dedução escolhida.
    Domínio: Tabela de Acréscimos/Deduções do Siscomex
    Valor mínimo: 1
    Valor máximo: 99Origem: Sistema Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código do acréscimo ou da dedução escolhida.
    Domínio: Tabela de Acréscimos/Deduções do Siscomex
    Valor mínimo: 1
    Valor máximo: 99Origem: Sistema Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private Integer codigo = null; + + /** + * Código do acréscimo ou da dedução escolhida.<br>Domínio: Tabela de Acréscimos/Deduções do Siscomex<br>Valor mínimo: 1<br>Valor máximo: 99Origem: Sistema Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return codigo + **/ + @JsonProperty("codigo") + public Integer getCodigo() { + return codigo; + } + + public void setCodigo(Integer codigo) { + this.codigo = codigo; + } + + public DenominacaoAcrescimoDeducaoCover codigo(Integer codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class DenominacaoAcrescimoDeducaoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DocumentoInstrucaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DocumentoInstrucaoCover.java new file mode 100644 index 0000000..935f59c --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DocumentoInstrucaoCover.java @@ -0,0 +1,106 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.ArrayList; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DocumentoInstrucaoCover", propOrder = + {"tipo", "palavrasChave" + }) + +@XmlRootElement(name = "DocumentoInstrucaoCover") +/** + * Lista de documentos instrutivos para despacho.
    Origem: Sistema Anexação Eletrônica - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Lista de documentos instrutivos para despacho.
    Origem: Sistema Anexação Eletrônica - https://api-docs.portalunico.siscomex.gov.br/") +public class DocumentoInstrucaoCover { + + @XmlElement(name = "tipo", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private TipoDocumentoInstrucaoCover tipo = null; + + @XmlElement(name = "palavrasChave", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private List palavrasChave = new ArrayList<>(); + + /** + * Get tipo + * + * @return tipo + **/ + @JsonProperty("tipo") + @NotNull + public TipoDocumentoInstrucaoCover getTipo() { + return tipo; + } + + public void setTipo(TipoDocumentoInstrucaoCover tipo) { + this.tipo = tipo; + } + + public DocumentoInstrucaoCover tipo(TipoDocumentoInstrucaoCover tipo) { + this.tipo = tipo; + return this; + } + + /** + * Get palavrasChave + * + * @return palavrasChave + **/ + @JsonProperty("palavrasChave") + @NotNull + public List getPalavrasChave() { + return palavrasChave; + } + + public void setPalavrasChave(List palavrasChave) { + this.palavrasChave = palavrasChave; + } + + public DocumentoInstrucaoCover palavrasChave(List palavrasChave) { + this.palavrasChave = palavrasChave; + return this; + } + + public DocumentoInstrucaoCover addPalavrasChaveItem(PalavraChaveDocumentoInstrucaoCover palavrasChaveItem) { + this.palavrasChave.add(palavrasChaveItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class DocumentoInstrucaoCover {\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + " palavrasChave: " + toIndentedString(palavrasChave) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DocumentosCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DocumentosCover.java new file mode 100644 index 0000000..3ccd47b --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DocumentosCover.java @@ -0,0 +1,140 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.ArrayList; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DocumentosCover", propOrder = + {"documentosInstrucao", "processos", "declaracoesExportacaoEstrangeira" + }) + +@XmlRootElement(name = "DocumentosCover") +/** + * Lista de documentos associados à declaração única de importação. + **/ +@ApiModel(description = "Lista de documentos associados à declaração única de importação.") +public class DocumentosCover { + + @XmlElement(name = "documentosInstrucao", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private List documentosInstrucao = new ArrayList<>(); + + @XmlElement(name = "processos") + @ApiModelProperty(value = "") + @Valid + private List processos = null; + + @XmlElement(name = "declaracoesExportacaoEstrangeira") + @ApiModelProperty(value = "") + @Valid + private List declaracoesExportacaoEstrangeira = null; + + /** + * Get documentosInstrucao + * + * @return documentosInstrucao + **/ + @JsonProperty("documentosInstrucao") + @NotNull + public List getDocumentosInstrucao() { + return documentosInstrucao; + } + + public void setDocumentosInstrucao(List documentosInstrucao) { + this.documentosInstrucao = documentosInstrucao; + } + + public DocumentosCover documentosInstrucao(List documentosInstrucao) { + this.documentosInstrucao = documentosInstrucao; + return this; + } + + public DocumentosCover addDocumentosInstrucaoItem(DocumentoInstrucaoCover documentosInstrucaoItem) { + this.documentosInstrucao.add(documentosInstrucaoItem); + return this; + } + + /** + * Get processos + * + * @return processos + **/ + @JsonProperty("processos") + public List getProcessos() { + return processos; + } + + public void setProcessos(List processos) { + this.processos = processos; + } + + public DocumentosCover processos(List processos) { + this.processos = processos; + return this; + } + + public DocumentosCover addProcessosItem(ProcessoDocumentoInstrucaoCover processosItem) { + this.processos.add(processosItem); + return this; + } + + /** + * Get declaracoesExportacaoEstrangeira + * + * @return declaracoesExportacaoEstrangeira + **/ + @JsonProperty("declaracoesExportacaoEstrangeira") + public List getDeclaracoesExportacaoEstrangeira() { + return declaracoesExportacaoEstrangeira; + } + + public void setDeclaracoesExportacaoEstrangeira(List declaracoesExportacaoEstrangeira) { + this.declaracoesExportacaoEstrangeira = declaracoesExportacaoEstrangeira; + } + + public DocumentosCover declaracoesExportacaoEstrangeira(List declaracoesExportacaoEstrangeira) { + this.declaracoesExportacaoEstrangeira = declaracoesExportacaoEstrangeira; + return this; + } + + public DocumentosCover addDeclaracoesExportacaoEstrangeiraItem(DeclaracaoExportacaoEstrangeiraCover declaracoesExportacaoEstrangeiraItem) { + this.declaracoesExportacaoEstrangeira.add(declaracoesExportacaoEstrangeiraItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class DocumentosCover {\n" + + " documentosInstrucao: " + toIndentedString(documentosInstrucao) + "\n" + + " processos: " + toIndentedString(processos) + "\n" + + " declaracoesExportacaoEstrangeira: " + toIndentedString(declaracoesExportacaoEstrangeira) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DuimpApiMessageCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DuimpApiMessageCover.java new file mode 100644 index 0000000..3525e95 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DuimpApiMessageCover.java @@ -0,0 +1,121 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DuimpApiMessageCover", propOrder = + {"code", "field", "message" + }) + +@XmlRootElement(name = "DuimpApiMessageCover") +public class DuimpApiMessageCover { + + @XmlElement(name = "code") + @ApiModelProperty(example = "DIMP-ER9999", value = "Código interno da mensagem de erro.") + /** + * Código interno da mensagem de erro. + **/ + private String code = null; + + @XmlElement(name = "field") + @ApiModelProperty(example = "numero", value = "Nome do campo que contém o valor inválido.
    Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido") + /** + * Nome do campo que contém o valor inválido.
    Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido + **/ + private String field = null; + + @XmlElement(name = "message") + @ApiModelProperty(example = "Mensagem de negócio detalhando o código de erro informado no atributo 'code'.", value = "Mensagem de erro.") + /** + * Mensagem de erro. + **/ + private String message = null; + + /** + * Código interno da mensagem de erro. + * + * @return code + **/ + @JsonProperty("code") + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public DuimpApiMessageCover code(String code) { + this.code = code; + return this; + } + + /** + * Nome do campo que contém o valor inválido. <br> Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido + * + * @return field + **/ + @JsonProperty("field") + public String getField() { + return field; + } + + public void setField(String field) { + this.field = field; + } + + public DuimpApiMessageCover field(String field) { + this.field = field; + return this; + } + + /** + * Mensagem de erro. + * + * @return message + **/ + @JsonProperty("message") + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public DuimpApiMessageCover message(String message) { + this.message = message; + return this; + } + + + @Override + public String toString() { + + String sb = "class DuimpApiMessageCover {\n" + + " code: " + toIndentedString(code) + "\n" + + " field: " + toIndentedString(field) + "\n" + + " message: " + toIndentedString(message) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DuimpCover.java new file mode 100644 index 0000000..34b50bc --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DuimpCover.java @@ -0,0 +1,125 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DuimpCover", propOrder = + {"identificacao", "carga", "documentos" + }) + +@XmlRootElement(name = "DuimpCover") +/** + * Dados da capa da Duimp. + **/ +@ApiModel(description = "Dados da capa da Duimp.") +public class DuimpCover { + + @XmlElement(name = "identificacao", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private IdentificacaoCapaCover identificacao = null; + + @XmlElement(name = "carga", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private CargaCover carga = null; + + @XmlElement(name = "documentos", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private DocumentosCover documentos = null; + + /** + * Get identificacao + * + * @return identificacao + **/ + @JsonProperty("identificacao") + @NotNull + public IdentificacaoCapaCover getIdentificacao() { + return identificacao; + } + + public void setIdentificacao(IdentificacaoCapaCover identificacao) { + this.identificacao = identificacao; + } + + public DuimpCover identificacao(IdentificacaoCapaCover identificacao) { + this.identificacao = identificacao; + return this; + } + + /** + * Get carga + * + * @return carga + **/ + @JsonProperty("carga") + @NotNull + public CargaCover getCarga() { + return carga; + } + + public void setCarga(CargaCover carga) { + this.carga = carga; + } + + public DuimpCover carga(CargaCover carga) { + this.carga = carga; + return this; + } + + /** + * Get documentos + * + * @return documentos + **/ + @JsonProperty("documentos") + @NotNull + public DocumentosCover getDocumentos() { + return documentos; + } + + public void setDocumentos(DocumentosCover documentos) { + this.documentos = documentos; + } + + public DuimpCover documentos(DocumentosCover documentos) { + this.documentos = documentos; + return this; + } + + + @Override + public String toString() { + + String sb = "class DuimpCover {\n" + + " identificacao: " + toIndentedString(identificacao) + "\n" + + " carga: " + toIndentedString(carga) + "\n" + + " documentos: " + toIndentedString(documentos) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ExportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ExportadorCover.java new file mode 100644 index 0000000..3404a64 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ExportadorCover.java @@ -0,0 +1,157 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ExportadorCover", propOrder = + {"codigo", "versao", "niOperador", "pais" + }) + +@XmlRootElement(name = "ExportadorCover") +/** + * Dados de Operador Estrangeiro.
    Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/
    Observação: Quando o atributo \"exportadorIndicadorFabricante\" for preenchido com o valor \"EXPORTADOR_IGUAL_FABRICANTE\", os valores informados neste grupo devem ser idênticos aos valores informados no grupo \"Fabricante\". + **/ +@ApiModel(description = "Dados de Operador Estrangeiro.
    Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/
    Observação: Quando o atributo \"exportadorIndicadorFabricante\" for preenchido com o valor \"EXPORTADOR_IGUAL_FABRICANTE\", os valores informados neste grupo devem ser idênticos aos valores informados no grupo \"Fabricante\".") +public class ExportadorCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "CN001", required = true, value = "Código do exportador estrangeiro.
    Tamanho mínimo: 1
    Tamanho máximo: 35") + /** + * Código do exportador estrangeiro.
    Tamanho mínimo: 1
    Tamanho máximo: 35 + **/ + private String codigo = null; + + @XmlElement(name = "versao", required = true) + @ApiModelProperty(example = "1", required = true, value = "Versão do exportador.
    Tamanho mínimo: 0
    Tamanho máximo: 6") + /** + * Versão do exportador.
    Tamanho mínimo: 0
    Tamanho máximo: 6 + **/ + private String versao = null; + + @XmlElement(name = "niOperador", required = true) + @ApiModelProperty(example = "00000000", required = true, value = "
    Número de Identificação:
    Caso seja CNPJ (Raiz):
    Tamanho: 8
    Formato: 'NNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + /** + *
    Número de Identificação:
    Caso seja CNPJ (Raiz):
    Tamanho: 8
    Formato: 'NNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + **/ + private String niOperador = null; + + @XmlElement(name = "pais", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private PaisExportadorCover pais = null; + + /** + * Código do exportador estrangeiro.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35 + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public ExportadorCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Versão do exportador.<br>Tamanho mínimo: 0<br>Tamanho máximo: 6 + * + * @return versao + **/ + @JsonProperty("versao") + @NotNull + public String getVersao() { + return versao; + } + + public void setVersao(String versao) { + this.versao = versao; + } + + public ExportadorCover versao(String versao) { + this.versao = versao; + return this; + } + + /** + * <br>Número de Identificação: <br>Caso seja CNPJ (Raiz): <br>Tamanho: 8<br>Formato: 'NNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN' + * + * @return niOperador + **/ + @JsonProperty("niOperador") + @NotNull + public String getNiOperador() { + return niOperador; + } + + public void setNiOperador(String niOperador) { + this.niOperador = niOperador; + } + + public ExportadorCover niOperador(String niOperador) { + this.niOperador = niOperador; + return this; + } + + /** + * Get pais + * + * @return pais + **/ + @JsonProperty("pais") + @NotNull + public PaisExportadorCover getPais() { + return pais; + } + + public void setPais(PaisExportadorCover pais) { + this.pais = pais; + } + + public ExportadorCover pais(PaisExportadorCover pais) { + this.pais = pais; + return this; + } + + + @Override + public String toString() { + + String sb = "class ExportadorCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " versao: " + toIndentedString(versao) + "\n" + + " niOperador: " + toIndentedString(niOperador) + "\n" + + " pais: " + toIndentedString(pais) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FabricanteCover.java new file mode 100644 index 0000000..5fd2267 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FabricanteCover.java @@ -0,0 +1,152 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FabricanteCover", propOrder = + {"codigo", "versao", "niOperador", "pais" + }) + +@XmlRootElement(name = "FabricanteCover") +/** + * Dados do Fabricante/Produtor
    Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Dados do Fabricante/Produtor
    Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/") +public class FabricanteCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "2104", value = "Código do Fabricante.
    Tamanho mínimo: 1
    Tamanho máximo: 35
    Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro.") + /** + * Código do Fabricante.
    Tamanho mínimo: 1
    Tamanho máximo: 35
    Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro. + **/ + private String codigo = null; + + @XmlElement(name = "versao") + @ApiModelProperty(example = "1", value = "Versão do fabricante.
    Tamanho mínimo: 0
    Tamanho máximo: 6") + /** + * Versão do fabricante.
    Tamanho mínimo: 0
    Tamanho máximo: 6 + **/ + private String versao = null; + + @XmlElement(name = "niOperador") + @ApiModelProperty(example = "00000000", value = "
    Número de Identificação:
    Caso seja CNPJ (Raiz):
    Tamanho: 8
    Formato: 'NNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + /** + *
    Número de Identificação:
    Caso seja CNPJ (Raiz):
    Tamanho: 8
    Formato: 'NNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + **/ + private String niOperador = null; + + @XmlElement(name = "pais") + @ApiModelProperty(value = "") + @Valid + private PaisFabricanteCover pais = null; + + /** + * Código do Fabricante.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35<br>Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro. + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public FabricanteCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Versão do fabricante.<br>Tamanho mínimo: 0<br>Tamanho máximo: 6 + * + * @return versao + **/ + @JsonProperty("versao") + public String getVersao() { + return versao; + } + + public void setVersao(String versao) { + this.versao = versao; + } + + public FabricanteCover versao(String versao) { + this.versao = versao; + return this; + } + + /** + * <br>Número de Identificação: <br>Caso seja CNPJ (Raiz): <br>Tamanho: 8<br>Formato: 'NNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN' + * + * @return niOperador + **/ + @JsonProperty("niOperador") + public String getNiOperador() { + return niOperador; + } + + public void setNiOperador(String niOperador) { + this.niOperador = niOperador; + } + + public FabricanteCover niOperador(String niOperador) { + this.niOperador = niOperador; + return this; + } + + /** + * Get pais + * + * @return pais + **/ + @JsonProperty("pais") + public PaisFabricanteCover getPais() { + return pais; + } + + public void setPais(PaisFabricanteCover pais) { + this.pais = pais; + } + + public FabricanteCover pais(PaisFabricanteCover pais) { + this.pais = pais; + return this; + } + + + @Override + public String toString() { + + String sb = "class FabricanteCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " versao: " + toIndentedString(versao) + "\n" + + " niOperador: " + toIndentedString(niOperador) + "\n" + + " pais: " + toIndentedString(pais) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteCover.java new file mode 100644 index 0000000..716baf2 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FreteCover", propOrder = + {"codigoMoedaNegociada", "valorMoedaNegociada" + }) + +@XmlRootElement(name = "FreteCover") +/** + * Dados do Frete.
    Para Duimp com tipo de identificação de carga RUC e tipo de conhecimento DSIC (sem desdobro), o valor de frete pode ser informado pelo importador. + **/ +@ApiModel(description = "Dados do Frete.
    Para Duimp com tipo de identificação de carga RUC e tipo de conhecimento DSIC (sem desdobro), o valor de frete pode ser informado pelo importador.") +public class FreteCover { + + @XmlElement(name = "codigoMoedaNegociada") + @ApiModelProperty(example = "USD", value = "Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
    Tamanho: 3
    Formato: 'AAA'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
    Tamanho: 3
    Formato: 'AAA'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private String codigoMoedaNegociada = null; + + @XmlElement(name = "valorMoedaNegociada") + @ApiModelProperty(example = "30.12", value = "Valor do frete na moeda negociada.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + /** + * Valor do frete na moeda negociada.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private Double valorMoedaNegociada = null; + + /** + * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return codigoMoedaNegociada + **/ + @JsonProperty("codigoMoedaNegociada") + public String getCodigoMoedaNegociada() { + return codigoMoedaNegociada; + } + + public void setCodigoMoedaNegociada(String codigoMoedaNegociada) { + this.codigoMoedaNegociada = codigoMoedaNegociada; + } + + public FreteCover codigoMoedaNegociada(String codigoMoedaNegociada) { + this.codigoMoedaNegociada = codigoMoedaNegociada; + return this; + } + + /** + * Valor do frete na moeda negociada.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return valorMoedaNegociada + **/ + @JsonProperty("valorMoedaNegociada") + public Double getValorMoedaNegociada() { + return valorMoedaNegociada; + } + + public void setValorMoedaNegociada(Double valorMoedaNegociada) { + this.valorMoedaNegociada = valorMoedaNegociada; + } + + public FreteCover valorMoedaNegociada(Double valorMoedaNegociada) { + this.valorMoedaNegociada = valorMoedaNegociada; + return this; + } + + + @Override + public String toString() { + + String sb = "class FreteCover {\n" + + " codigoMoedaNegociada: " + toIndentedString(codigoMoedaNegociada) + "\n" + + " valorMoedaNegociada: " + toIndentedString(valorMoedaNegociada) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteValoresCalculadosDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteValoresCalculadosDuimpCover.java new file mode 100644 index 0000000..9b150c5 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteValoresCalculadosDuimpCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FreteValoresCalculadosDuimpCover", propOrder = + {"valorTotalBRL" + }) + +@XmlRootElement(name = "FreteValoresCalculadosDuimpCover") +/** + * Dados do frete. + **/ +@ApiModel(description = "Dados do frete.") +public class FreteValoresCalculadosDuimpCover { + + @XmlElement(name = "valorTotalBRL") + @ApiModelProperty(example = "40.48", value = "Valor do frete total em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.
    Observação:
    Para as Duimp registradas a partir de 08/06/2022, o valor do frete utilizado no cálculo do valor aduaneiro não inclui os gastos relativos à carga, à descarga e ao manuseio incorridos no território nacional e destacados do custo de transporte") + /** + * Valor do frete total em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.
    Observação:
    Para as Duimp registradas a partir de 08/06/2022, o valor do frete utilizado no cálculo do valor aduaneiro não inclui os gastos relativos à carga, à descarga e ao manuseio incorridos no território nacional e destacados do custo de transporte + **/ + private Double valorTotalBRL = null; + + /** + * Valor do frete total em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.<br>Observação:<br>Para as Duimp registradas a partir de 08/06/2022, o valor do frete utilizado no cálculo do valor aduaneiro não inclui os gastos relativos à carga, à descarga e ao manuseio incorridos no território nacional e destacados do custo de transporte + * + * @return valorTotalBRL + **/ + @JsonProperty("valorTotalBRL") + public Double getValorTotalBRL() { + return valorTotalBRL; + } + + public void setValorTotalBRL(Double valorTotalBRL) { + this.valorTotalBRL = valorTotalBRL; + } + + public FreteValoresCalculadosDuimpCover valorTotalBRL(Double valorTotalBRL) { + this.valorTotalBRL = valorTotalBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class FreteValoresCalculadosDuimpCover {\n" + + " valorTotalBRL: " + toIndentedString(valorTotalBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteValoresCalculadosItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteValoresCalculadosItemCover.java new file mode 100644 index 0000000..17bfce3 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteValoresCalculadosItemCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FreteValoresCalculadosItemCover", propOrder = + {"valorBRL" + }) + +@XmlRootElement(name = "FreteValoresCalculadosItemCover") +/** + * Valor do Frete. + **/ +@ApiModel(description = "Valor do Frete.") +public class FreteValoresCalculadosItemCover { + + @XmlElement(name = "valorBRL") + @ApiModelProperty(example = "12.4", value = "Valor do frete total em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor do frete total em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double valorBRL = null; + + /** + * Valor do frete total em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorBRL + **/ + @JsonProperty("valorBRL") + public Double getValorBRL() { + return valorBRL; + } + + public void setValorBRL(Double valorBRL) { + this.valorBRL = valorBRL; + } + + public FreteValoresCalculadosItemCover valorBRL(Double valorBRL) { + this.valorBRL = valorBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class FreteValoresCalculadosItemCover {\n" + + " valorBRL: " + toIndentedString(valorBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FundamentoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FundamentoCover.java new file mode 100644 index 0000000..8ec011d --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FundamentoCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FundamentoCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "FundamentoCover") +/** + * Fundamento legal do regime tributário de importação. + **/ +@ApiModel(description = "Fundamento legal do regime tributário de importação.") +public class FundamentoCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "1001", required = true, value = "Código do fundamento legal do regime tributário de importação utilizado na declaração.
    Dominio: Fundamentos legais existentes no sistema Tratamento Tributário.") + /** + * Código do fundamento legal do regime tributário de importação utilizado na declaração.
    Dominio: Fundamentos legais existentes no sistema Tratamento Tributário. + **/ + private Integer codigo = null; + + /** + * Código do fundamento legal do regime tributário de importação utilizado na declaração.<br>Dominio: Fundamentos legais existentes no sistema Tratamento Tributário. + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public Integer getCodigo() { + return codigo; + } + + public void setCodigo(Integer codigo) { + this.codigo = codigo; + } + + public FundamentoCover codigo(Integer codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class FundamentoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoCapaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoCapaCover.java new file mode 100644 index 0000000..05e6ea1 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoCapaCover.java @@ -0,0 +1,100 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IdentificacaoCapaCover", propOrder = + {"importador", "informacaoComplementar" + }) + +@XmlRootElement(name = "IdentificacaoCapaCover") +/** + * Dados da identificação da declaração única de importação. + **/ +@ApiModel(description = "Dados da identificação da declaração única de importação.") +public class IdentificacaoCapaCover { + + @XmlElement(name = "importador", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private ImportadorCover importador = null; + + @XmlElement(name = "informacaoComplementar") + @ApiModelProperty(example = "Texto complementando informações sobre a Duimp.", value = "Descrição complementar da Duimp.
    Tamanho mínimo: 0
    Tamanho máximo: 7800") + /** + * Descrição complementar da Duimp.
    Tamanho mínimo: 0
    Tamanho máximo: 7800 + **/ + private String informacaoComplementar = null; + + /** + * Get importador + * + * @return importador + **/ + @JsonProperty("importador") + @NotNull + public ImportadorCover getImportador() { + return importador; + } + + public void setImportador(ImportadorCover importador) { + this.importador = importador; + } + + public IdentificacaoCapaCover importador(ImportadorCover importador) { + this.importador = importador; + return this; + } + + /** + * Descrição complementar da Duimp.<br>Tamanho mínimo: 0<br>Tamanho máximo: 7800 + * + * @return informacaoComplementar + **/ + @JsonProperty("informacaoComplementar") + public String getInformacaoComplementar() { + return informacaoComplementar; + } + + public void setInformacaoComplementar(String informacaoComplementar) { + this.informacaoComplementar = informacaoComplementar; + } + + public IdentificacaoCapaCover informacaoComplementar(String informacaoComplementar) { + this.informacaoComplementar = informacaoComplementar; + return this; + } + + + @Override + public String toString() { + + String sb = "class IdentificacaoCapaCover {\n" + + " importador: " + toIndentedString(importador) + "\n" + + " informacaoComplementar: " + toIndentedString(informacaoComplementar) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoDuimpRespostaApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoDuimpRespostaApi.java new file mode 100644 index 0000000..c9f3c71 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoDuimpRespostaApi.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IdentificacaoDuimpRespostaApi", propOrder = + {"numero", "versao" + }) + +@XmlRootElement(name = "IdentificacaoDuimpRespostaApi") +/** + * Dados da identificação da Duimp criada, retificada ou atualizada.
    Atributos devolvidos apenas na resposta aos métodos POST e PUT. + **/ +@ApiModel(description = "Dados da identificação da Duimp criada, retificada ou atualizada.
    Atributos devolvidos apenas na resposta aos métodos POST e PUT.") +public class IdentificacaoDuimpRespostaApi { + + @XmlElement(name = "numero") + @ApiModelProperty(example = "20BR00000012345", value = "Número da Duimp.
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)") + /** + * Número da Duimp.
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11) + **/ + private String numero = null; + + @XmlElement(name = "versao") + @ApiModelProperty(example = "1", value = "Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999") + /** + * Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999 + **/ + private String versao = null; + + /** + * Número da Duimp.<br>Tamanho: 15<br>Formato: 'AABRSSSSSSSSSSD'<br>Lei de formação. O número da Duimp é composto por: <br>* AA = Corresponde ao ano do registro da Declaração. <br>* BR = Corresponde à sigla do país de emissão do documento (BR).<br>* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11) + * + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public IdentificacaoDuimpRespostaApi numero(String numero) { + this.numero = numero; + return this; + } + + /** + * Versão da Duimp.<br>Valor mínimo: 0<br>Valor máximo: 9999 + * + * @return versao + **/ + @JsonProperty("versao") + public String getVersao() { + return versao; + } + + public void setVersao(String versao) { + this.versao = versao; + } + + public IdentificacaoDuimpRespostaApi versao(String versao) { + this.versao = versao; + return this; + } + + + @Override + public String toString() { + + String sb = "class IdentificacaoDuimpRespostaApi {\n" + + " numero: " + toIndentedString(numero) + "\n" + + " versao: " + toIndentedString(versao) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoItemCover.java new file mode 100644 index 0000000..db42d64 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoItemCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IdentificacaoItemCover", propOrder = + {"numeroItem" + }) + +@XmlRootElement(name = "IdentificacaoItemCover") +/** + * Dados da identificação da declaração única de importação. + **/ +@ApiModel(description = "Dados da identificação da declaração única de importação.") +public class IdentificacaoItemCover { + + @XmlElement(name = "numeroItem", required = true) + @ApiModelProperty(example = "1", required = true, value = "Número do item da Duimp.
    Formato: Inteiro, com até 5 dígitos") + /** + * Número do item da Duimp.
    Formato: Inteiro, com até 5 dígitos + **/ + private Integer numeroItem = null; + + /** + * Número do item da Duimp.<br>Formato: Inteiro, com até 5 dígitos + * + * @return numeroItem + **/ + @JsonProperty("numeroItem") + @NotNull + public Integer getNumeroItem() { + return numeroItem; + } + + public void setNumeroItem(Integer numeroItem) { + this.numeroItem = numeroItem; + } + + public IdentificacaoItemCover numeroItem(Integer numeroItem) { + this.numeroItem = numeroItem; + return this; + } + + + @Override + public String toString() { + + String sb = "class IdentificacaoItemCover {\n" + + " numeroItem: " + toIndentedString(numeroItem) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificadorDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificadorDuimpCover.java new file mode 100644 index 0000000..4ad8b09 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificadorDuimpCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IdentificadorDuimpCover", propOrder = + {"numero", "versao" + }) + +@XmlRootElement(name = "IdentificadorDuimpCover") +/** + * Dados da identificação da declaração única de importação. + **/ +@ApiModel(description = "Dados da identificação da declaração única de importação.") +public class IdentificadorDuimpCover { + + @XmlElement(name = "numero") + @ApiModelProperty(example = "19BR00000004677", value = "Número da Duimp.
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)") + /** + * Número da Duimp.
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11) + **/ + private String numero = null; + + @XmlElement(name = "versao") + @ApiModelProperty(example = "1", value = "Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999") + /** + * Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999 + **/ + private String versao = null; + + /** + * Número da Duimp.<br>Tamanho: 15<br>Formato: 'AABRSSSSSSSSSSD'<br>Lei de formação. O número da Duimp é composto por: <br>* AA = Corresponde ao ano do registro da Declaração. <br>* BR = Corresponde à sigla do país de emissão do documento (BR).<br>* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11) + * + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public IdentificadorDuimpCover numero(String numero) { + this.numero = numero; + return this; + } + + /** + * Versão da Duimp.<br>Valor mínimo: 0<br>Valor máximo: 9999 + * + * @return versao + **/ + @JsonProperty("versao") + public String getVersao() { + return versao; + } + + public void setVersao(String versao) { + this.versao = versao; + } + + public IdentificadorDuimpCover versao(String versao) { + this.versao = versao; + return this; + } + + + @Override + public String toString() { + + String sb = "class IdentificadorDuimpCover {\n" + + " numero: " + toIndentedString(numero) + "\n" + + " versao: " + toIndentedString(versao) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificadorItemDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificadorItemDuimpCover.java new file mode 100644 index 0000000..4b78e7b --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificadorItemDuimpCover.java @@ -0,0 +1,126 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IdentificadorItemDuimpCover", propOrder = + {"numero", "versao", "numeroItem" + }) + +@XmlRootElement(name = "IdentificadorItemDuimpCover") +/** + * Dados da identificação da declaração única de importação. + **/ +@ApiModel(description = "Dados da identificação da declaração única de importação.") +public class IdentificadorItemDuimpCover { + + @XmlElement(name = "numero") + @ApiModelProperty(example = "19BR00000004677", value = "Número da Duimp.
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)") + /** + * Número da Duimp.
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11) + **/ + private String numero = null; + + @XmlElement(name = "versao") + @ApiModelProperty(example = "1", value = "Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999") + /** + * Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999 + **/ + private String versao = null; + + @XmlElement(name = "numeroItem") + @ApiModelProperty(example = "1", value = "Número do item da Duimp.
    Formato: Inteiro, com até 5 dígitos") + /** + * Número do item da Duimp.
    Formato: Inteiro, com até 5 dígitos + **/ + private Integer numeroItem = null; + + /** + * Número da Duimp.<br>Tamanho: 15<br>Formato: 'AABRSSSSSSSSSSD'<br>Lei de formação. O número da Duimp é composto por: <br>* AA = Corresponde ao ano do registro da Declaração. <br>* BR = Corresponde à sigla do país de emissão do documento (BR).<br>* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11) + * + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public IdentificadorItemDuimpCover numero(String numero) { + this.numero = numero; + return this; + } + + /** + * Versão da Duimp.<br>Valor mínimo: 0<br>Valor máximo: 9999 + * + * @return versao + **/ + @JsonProperty("versao") + public String getVersao() { + return versao; + } + + public void setVersao(String versao) { + this.versao = versao; + } + + public IdentificadorItemDuimpCover versao(String versao) { + this.versao = versao; + return this; + } + + /** + * Número do item da Duimp.<br>Formato: Inteiro, com até 5 dígitos + * + * @return numeroItem + **/ + @JsonProperty("numeroItem") + public Integer getNumeroItem() { + return numeroItem; + } + + public void setNumeroItem(Integer numeroItem) { + this.numeroItem = numeroItem; + } + + public IdentificadorItemDuimpCover numeroItem(Integer numeroItem) { + this.numeroItem = numeroItem; + return this; + } + + + @Override + public String toString() { + + String sb = "class IdentificadorItemDuimpCover {\n" + + " numero: " + toIndentedString(numero) + "\n" + + " versao: " + toIndentedString(versao) + "\n" + + " numeroItem: " + toIndentedString(numeroItem) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ImportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ImportadorCover.java new file mode 100644 index 0000000..35b8919 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ImportadorCover.java @@ -0,0 +1,145 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ImportadorCover", propOrder = + {"tipoImportador", "ni" + }) + +@XmlRootElement(name = "ImportadorCover") +/** + * Identificação do importador da declaração única de importação. + **/ +@ApiModel(description = "Identificação do importador da declaração única de importação.") +public class ImportadorCover { + + + @XmlType(name = "TipoImportadorEnum") + @XmlEnum(String.class) + public enum TipoImportadorEnum { + + @XmlEnumValue("CNPJ") + @JsonProperty("CNPJ") + CNPJ("CNPJ"), + + @XmlEnumValue("CPF") + @JsonProperty("CPF") + CPF("CPF"); + + + private final String value; + + TipoImportadorEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoImportadorEnum fromValue(String v) { + for (TipoImportadorEnum b : TipoImportadorEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoImportadorEnum"); + } + } + + @XmlElement(name = "tipoImportador") + @ApiModelProperty(example = "CNPJ", value = "Descreve se o Importador é do tipo CPF ou CNPJ") + /** + * Descreve se o Importador é do tipo CPF ou CNPJ + **/ + private TipoImportadorEnum tipoImportador = null; + + @XmlElement(name = "ni", required = true) + @ApiModelProperty(example = "00055555000130", required = true, value = "
    Número do Importador:
    Caso seja CNPJ:
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + /** + *
    Número do Importador:
    Caso seja CNPJ:
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + **/ + private String ni = null; + + /** + * Descreve se o Importador é do tipo CPF ou CNPJ + * + * @return tipoImportador + **/ + @JsonProperty("tipoImportador") + public String getTipoImportador() { + if (tipoImportador == null) { + return null; + } + return tipoImportador.value(); + } + + public void setTipoImportador(TipoImportadorEnum tipoImportador) { + this.tipoImportador = tipoImportador; + } + + public ImportadorCover tipoImportador(TipoImportadorEnum tipoImportador) { + this.tipoImportador = tipoImportador; + return this; + } + + /** + * <br>Número do Importador: <br>Caso seja CNPJ: <br>Tamanho: 14<br>Formato: 'NNNNNNNNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN' + * + * @return ni + **/ + @JsonProperty("ni") + @NotNull + public String getNi() { + return ni; + } + + public void setNi(String ni) { + this.ni = ni; + } + + public ImportadorCover ni(String ni) { + this.ni = ni; + return this; + } + + + @Override + public String toString() { + + String sb = "class ImportadorCover {\n" + + " tipoImportador: " + toIndentedString(tipoImportador) + "\n" + + " ni: " + toIndentedString(ni) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IncotermCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IncotermCover.java new file mode 100644 index 0000000..1243299 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IncotermCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IncotermCover", propOrder = + {"codigo", "complemento" + }) + +@XmlRootElement(name = "IncotermCover") +/** + * Condição de Venda
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
    Observação: Este grupo só deve ser preenchido quando o atributo \"código do método de valoração\" for preenchido com o valor '1'. + **/ +@ApiModel(description = "Condição de Venda
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
    Observação: Este grupo só deve ser preenchido quando o atributo \"código do método de valoração\" for preenchido com o valor '1'.") +public class IncotermCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "FOB", value = "Código da Condição de Venda (Código INCOTERM).
    Tamanho: 3
    Domínio: EXW, FAS, FCA, FOB, OCV, C+F, CFR, CPT, C+I, DAT, CIF, CIP, DAP") + /** + * Código da Condição de Venda (Código INCOTERM).
    Tamanho: 3
    Domínio: EXW, FAS, FCA, FOB, OCV, C+F, CFR, CPT, C+I, DAT, CIF, CIP, DAP + **/ + private String codigo = null; + + @XmlElement(name = "complemento") + @ApiModelProperty(example = "1", value = "Descrição complementar da condição de venda.
    Tamanho mínimo: 0
    Tamanho máximo: 250") + /** + * Descrição complementar da condição de venda.
    Tamanho mínimo: 0
    Tamanho máximo: 250 + **/ + private String complemento = null; + + /** + * Código da Condição de Venda (Código INCOTERM).<br>Tamanho: 3<br>Domínio: EXW, FAS, FCA, FOB, OCV, C+F, CFR, CPT, C+I, DAT, CIF, CIP, DAP + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public IncotermCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Descrição complementar da condição de venda.<br>Tamanho mínimo: 0<br>Tamanho máximo: 250 + * + * @return complemento + **/ + @JsonProperty("complemento") + public String getComplemento() { + return complemento; + } + + public void setComplemento(String complemento) { + this.complemento = complemento; + } + + public IncotermCover complemento(String complemento) { + this.complemento = complemento; + return this; + } + + + @Override + public String toString() { + + String sb = "class IncotermCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " complemento: " + toIndentedString(complemento) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IndicadorCompradorVendedorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IndicadorCompradorVendedorCover.java new file mode 100644 index 0000000..0012f53 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IndicadorCompradorVendedorCover.java @@ -0,0 +1,122 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IndicadorCompradorVendedorCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "IndicadorCompradorVendedorCover") +/** + * Vinculação comprador x vendedor. + **/ +@ApiModel(description = "Vinculação comprador x vendedor.") +public class IndicadorCompradorVendedorCover { + + + @XmlType(name = "CodigoEnum") + @XmlEnum(String.class) + public enum CodigoEnum { + + @XmlEnumValue("NAO_HA_VINCULACAO") + @JsonProperty("NAO_HA_VINCULACAO") + NAO_HA_VINCULACAO("NAO_HA_VINCULACAO"), + + @XmlEnumValue("VINCULACAO_SEM_INFLUENCIA_PRECO") + @JsonProperty("VINCULACAO_SEM_INFLUENCIA_PRECO") + VINCULACAO_SEM_INFLUENCIA_PRECO("VINCULACAO_SEM_INFLUENCIA_PRECO"), + + @XmlEnumValue("VINCULACAO_COM_INFLUENCIA_PRECO") + @JsonProperty("VINCULACAO_COM_INFLUENCIA_PRECO") + VINCULACAO_COM_INFLUENCIA_PRECO("VINCULACAO_COM_INFLUENCIA_PRECO"); + + + private final String value; + + CodigoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CodigoEnum fromValue(String v) { + for (CodigoEnum b : CodigoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum"); + } + } + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "NAO_HA_VINCULACAO", required = true, value = "Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.
    Domínio:") + /** + * Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.
    Domínio: + **/ + private CodigoEnum codigo = null; + + /** + * Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.<br>Domínio: + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + if (codigo == null) { + return null; + } + return codigo.value(); + } + + public void setCodigo(CodigoEnum codigo) { + this.codigo = codigo; + } + + public IndicadorCompradorVendedorCover codigo(CodigoEnum codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class IndicadorCompradorVendedorCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IndicadorExportadorFabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IndicadorExportadorFabricanteCover.java new file mode 100644 index 0000000..af1d0ad --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IndicadorExportadorFabricanteCover.java @@ -0,0 +1,118 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IndicadorExportadorFabricanteCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "IndicadorExportadorFabricanteCover") +/** + * Relação exportador x fabricante. + **/ +@ApiModel(description = "Relação exportador x fabricante.") +public class IndicadorExportadorFabricanteCover { + + + @XmlType(name = "CodigoEnum") + @XmlEnum(String.class) + public enum CodigoEnum { + + @XmlEnumValue("EXPORTADOR_DIFERENTE_FABRICANTE") + @JsonProperty("EXPORTADOR_DIFERENTE_FABRICANTE") + DIFERENTE_FABRICANTE("EXPORTADOR_DIFERENTE_FABRICANTE"), + + @XmlEnumValue("EXPORTADOR_IGUAL_FABRICANTE") + @JsonProperty("EXPORTADOR_IGUAL_FABRICANTE") + IGUAL_FABRICANTE("EXPORTADOR_IGUAL_FABRICANTE"); + + + private final String value; + + CodigoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CodigoEnum fromValue(String v) { + for (CodigoEnum b : CodigoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum"); + } + } + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "EXPORTADOR_DIFERENTE_FABRICANTE", required = true, value = "Código da relação exportador x fabricante.
    Domínio:") + /** + * Código da relação exportador x fabricante.
    Domínio: + **/ + private CodigoEnum codigo = null; + + /** + * Código da relação exportador x fabricante.<br>Domínio: + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + if (codigo == null) { + return null; + } + return codigo.value(); + } + + public void setCodigo(CodigoEnum codigo) { + this.codigo = codigo; + } + + public IndicadorExportadorFabricanteCover codigo(CodigoEnum codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class IndicadorExportadorFabricanteCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/InstituicaoFinanciadoraCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/InstituicaoFinanciadoraCover.java new file mode 100644 index 0000000..621f356 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/InstituicaoFinanciadoraCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "InstituicaoFinanciadoraCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "InstituicaoFinanciadoraCover") +/** + * Instituição financiadora.
    Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias. + **/ +@ApiModel(description = "Instituição financiadora.
    Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.") +public class InstituicaoFinanciadoraCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "99", value = "Código da instituição financiadora.
    Origem : Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
    Valor mínimo: 1
    Valor máximo: 99") + /** + * Código da instituição financiadora.
    Origem : Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
    Valor mínimo: 1
    Valor máximo: 99 + **/ + private Integer codigo = null; + + /** + * Código da instituição financiadora.<br>Origem : Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/<br>Valor mínimo: 1<br>Valor máximo: 99 + * + * @return codigo + **/ + @JsonProperty("codigo") + public Integer getCodigo() { + return codigo; + } + + public void setCodigo(Integer codigo) { + this.codigo = codigo; + } + + public InstituicaoFinanciadoraCover codigo(Integer codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class InstituicaoFinanciadoraCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemCover.java new file mode 100644 index 0000000..8316af4 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemCover.java @@ -0,0 +1,486 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ItemCover", propOrder = + {"identificacao", "produto", "caracterizacaoImportacao", "indicadorExportadorFabricante", "fabricante", "exportador", "indicadorCompradorVendedor", "mercadoria", "condicaoVenda", "lpcos", "certificadoMercosul", "declaracoesVinculadas", "dadosCambiais", "atributosDuimp", "atributosFundamentoLegalDuimp", "tributos" + }) + +@XmlRootElement(name = "ItemCover") +/** + * Dados do item da Duimp. + **/ +@ApiModel(description = "Dados do item da Duimp.") +public class ItemCover { + + @XmlElement(name = "identificacao", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private IdentificacaoItemCover identificacao = null; + + @XmlElement(name = "produto", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private ProdutoCover produto = null; + + @XmlElement(name = "caracterizacaoImportacao", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private CaracterizacaoImportacaoCover caracterizacaoImportacao = null; + + @XmlElement(name = "indicadorExportadorFabricante", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private IndicadorExportadorFabricanteCover indicadorExportadorFabricante = null; + + @XmlElement(name = "fabricante", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private FabricanteCover fabricante = null; + + @XmlElement(name = "exportador", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private ExportadorCover exportador = null; + + @XmlElement(name = "indicadorCompradorVendedor", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private IndicadorCompradorVendedorCover indicadorCompradorVendedor = null; + + @XmlElement(name = "mercadoria") + @ApiModelProperty(value = "") + @Valid + private MercadoriaCover mercadoria = null; + + @XmlElement(name = "condicaoVenda") + @ApiModelProperty(value = "") + @Valid + private CondicaoVendaCover condicaoVenda = null; + + @XmlElement(name = "lpcos") + @ApiModelProperty(value = "") + @Valid + private List lpcos = null; + + @XmlElement(name = "certificadoMercosul") + @ApiModelProperty(value = "") + @Valid + private List certificadoMercosul = null; + + @XmlElement(name = "declaracoesVinculadas") + @ApiModelProperty(value = "") + @Valid + private List declaracoesVinculadas = null; + + @XmlElement(name = "dadosCambiais", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private DadosCambiaisCover dadosCambiais = null; + + @XmlElement(name = "atributosDuimp") + @ApiModelProperty(value = "") + @Valid + private List atributosDuimp = null; + + @XmlElement(name = "atributosFundamentoLegalDuimp") + @ApiModelProperty(value = "") + @Valid + private List atributosFundamentoLegalDuimp = null; + + @XmlElement(name = "tributos") + @ApiModelProperty(value = "") + @Valid + private List tributos = null; + + /** + * Get identificacao + * + * @return identificacao + **/ + @JsonProperty("identificacao") + @NotNull + public IdentificacaoItemCover getIdentificacao() { + return identificacao; + } + + public void setIdentificacao(IdentificacaoItemCover identificacao) { + this.identificacao = identificacao; + } + + public ItemCover identificacao(IdentificacaoItemCover identificacao) { + this.identificacao = identificacao; + return this; + } + + /** + * Get produto + * + * @return produto + **/ + @JsonProperty("produto") + @NotNull + public ProdutoCover getProduto() { + return produto; + } + + public void setProduto(ProdutoCover produto) { + this.produto = produto; + } + + public ItemCover produto(ProdutoCover produto) { + this.produto = produto; + return this; + } + + /** + * Get caracterizacaoImportacao + * + * @return caracterizacaoImportacao + **/ + @JsonProperty("caracterizacaoImportacao") + @NotNull + public CaracterizacaoImportacaoCover getCaracterizacaoImportacao() { + return caracterizacaoImportacao; + } + + public void setCaracterizacaoImportacao(CaracterizacaoImportacaoCover caracterizacaoImportacao) { + this.caracterizacaoImportacao = caracterizacaoImportacao; + } + + public ItemCover caracterizacaoImportacao(CaracterizacaoImportacaoCover caracterizacaoImportacao) { + this.caracterizacaoImportacao = caracterizacaoImportacao; + return this; + } + + /** + * Get indicadorExportadorFabricante + * + * @return indicadorExportadorFabricante + **/ + @JsonProperty("indicadorExportadorFabricante") + @NotNull + public IndicadorExportadorFabricanteCover getIndicadorExportadorFabricante() { + return indicadorExportadorFabricante; + } + + public void setIndicadorExportadorFabricante(IndicadorExportadorFabricanteCover indicadorExportadorFabricante) { + this.indicadorExportadorFabricante = indicadorExportadorFabricante; + } + + public ItemCover indicadorExportadorFabricante(IndicadorExportadorFabricanteCover indicadorExportadorFabricante) { + this.indicadorExportadorFabricante = indicadorExportadorFabricante; + return this; + } + + /** + * Get fabricante + * + * @return fabricante + **/ + @JsonProperty("fabricante") + @NotNull + public FabricanteCover getFabricante() { + return fabricante; + } + + public void setFabricante(FabricanteCover fabricante) { + this.fabricante = fabricante; + } + + public ItemCover fabricante(FabricanteCover fabricante) { + this.fabricante = fabricante; + return this; + } + + /** + * Get exportador + * + * @return exportador + **/ + @JsonProperty("exportador") + @NotNull + public ExportadorCover getExportador() { + return exportador; + } + + public void setExportador(ExportadorCover exportador) { + this.exportador = exportador; + } + + public ItemCover exportador(ExportadorCover exportador) { + this.exportador = exportador; + return this; + } + + /** + * Get indicadorCompradorVendedor + * + * @return indicadorCompradorVendedor + **/ + @JsonProperty("indicadorCompradorVendedor") + @NotNull + public IndicadorCompradorVendedorCover getIndicadorCompradorVendedor() { + return indicadorCompradorVendedor; + } + + public void setIndicadorCompradorVendedor(IndicadorCompradorVendedorCover indicadorCompradorVendedor) { + this.indicadorCompradorVendedor = indicadorCompradorVendedor; + } + + public ItemCover indicadorCompradorVendedor(IndicadorCompradorVendedorCover indicadorCompradorVendedor) { + this.indicadorCompradorVendedor = indicadorCompradorVendedor; + return this; + } + + /** + * Get mercadoria + * + * @return mercadoria + **/ + @JsonProperty("mercadoria") + public MercadoriaCover getMercadoria() { + return mercadoria; + } + + public void setMercadoria(MercadoriaCover mercadoria) { + this.mercadoria = mercadoria; + } + + public ItemCover mercadoria(MercadoriaCover mercadoria) { + this.mercadoria = mercadoria; + return this; + } + + /** + * Get condicaoVenda + * + * @return condicaoVenda + **/ + @JsonProperty("condicaoVenda") + public CondicaoVendaCover getCondicaoVenda() { + return condicaoVenda; + } + + public void setCondicaoVenda(CondicaoVendaCover condicaoVenda) { + this.condicaoVenda = condicaoVenda; + } + + public ItemCover condicaoVenda(CondicaoVendaCover condicaoVenda) { + this.condicaoVenda = condicaoVenda; + return this; + } + + /** + * Get lpcos + * + * @return lpcos + **/ + @JsonProperty("lpcos") + public List getLpcos() { + return lpcos; + } + + public void setLpcos(List lpcos) { + this.lpcos = lpcos; + } + + public ItemCover lpcos(List lpcos) { + this.lpcos = lpcos; + return this; + } + + public ItemCover addLpcosItem(LpcoCover lpcosItem) { + this.lpcos.add(lpcosItem); + return this; + } + + /** + * Get certificadoMercosul + * + * @return certificadoMercosul + **/ + @JsonProperty("certificadoMercosul") + public List getCertificadoMercosul() { + return certificadoMercosul; + } + + public void setCertificadoMercosul(List certificadoMercosul) { + this.certificadoMercosul = certificadoMercosul; + } + + public ItemCover certificadoMercosul(List certificadoMercosul) { + this.certificadoMercosul = certificadoMercosul; + return this; + } + + public ItemCover addCertificadoMercosulItem(CertificadoMercosulCover certificadoMercosulItem) { + this.certificadoMercosul.add(certificadoMercosulItem); + return this; + } + + /** + * Get declaracoesVinculadas + * + * @return declaracoesVinculadas + **/ + @JsonProperty("declaracoesVinculadas") + public List getDeclaracoesVinculadas() { + return declaracoesVinculadas; + } + + public void setDeclaracoesVinculadas(List declaracoesVinculadas) { + this.declaracoesVinculadas = declaracoesVinculadas; + } + + public ItemCover declaracoesVinculadas(List declaracoesVinculadas) { + this.declaracoesVinculadas = declaracoesVinculadas; + return this; + } + + public ItemCover addDeclaracoesVinculadasItem(DeclaracaoVinculadaCover declaracoesVinculadasItem) { + this.declaracoesVinculadas.add(declaracoesVinculadasItem); + return this; + } + + /** + * Get dadosCambiais + * + * @return dadosCambiais + **/ + @JsonProperty("dadosCambiais") + @NotNull + public DadosCambiaisCover getDadosCambiais() { + return dadosCambiais; + } + + public void setDadosCambiais(DadosCambiaisCover dadosCambiais) { + this.dadosCambiais = dadosCambiais; + } + + public ItemCover dadosCambiais(DadosCambiaisCover dadosCambiais) { + this.dadosCambiais = dadosCambiais; + return this; + } + + /** + * Get atributosDuimp + * + * @return atributosDuimp + **/ + @JsonProperty("atributosDuimp") + public List getAtributosDuimp() { + return atributosDuimp; + } + + public void setAtributosDuimp(List atributosDuimp) { + this.atributosDuimp = atributosDuimp; + } + + public ItemCover atributosDuimp(List atributosDuimp) { + this.atributosDuimp = atributosDuimp; + return this; + } + + public ItemCover addAtributosDuimpItem(AtributoItemCover atributosDuimpItem) { + this.atributosDuimp.add(atributosDuimpItem); + return this; + } + + /** + * Get atributosFundamentoLegalDuimp + * + * @return atributosFundamentoLegalDuimp + **/ + @JsonProperty("atributosFundamentoLegalDuimp") + public List getAtributosFundamentoLegalDuimp() { + return atributosFundamentoLegalDuimp; + } + + public void setAtributosFundamentoLegalDuimp(List atributosFundamentoLegalDuimp) { + this.atributosFundamentoLegalDuimp = atributosFundamentoLegalDuimp; + } + + public ItemCover atributosFundamentoLegalDuimp(List atributosFundamentoLegalDuimp) { + this.atributosFundamentoLegalDuimp = atributosFundamentoLegalDuimp; + return this; + } + + public ItemCover addAtributosFundamentoLegalDuimpItem(AtributoFundamentoLegalItemCover atributosFundamentoLegalDuimpItem) { + this.atributosFundamentoLegalDuimp.add(atributosFundamentoLegalDuimpItem); + return this; + } + + /** + * Get tributos + * + * @return tributos + **/ + @JsonProperty("tributos") + public List getTributos() { + return tributos; + } + + public void setTributos(List tributos) { + this.tributos = tributos; + } + + public ItemCover tributos(List tributos) { + this.tributos = tributos; + return this; + } + + public ItemCover addTributosItem(TributoItemCover tributosItem) { + this.tributos.add(tributosItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class ItemCover {\n" + + " identificacao: " + toIndentedString(identificacao) + "\n" + + " produto: " + toIndentedString(produto) + "\n" + + " caracterizacaoImportacao: " + toIndentedString(caracterizacaoImportacao) + "\n" + + " indicadorExportadorFabricante: " + toIndentedString(indicadorExportadorFabricante) + "\n" + + " fabricante: " + toIndentedString(fabricante) + "\n" + + " exportador: " + toIndentedString(exportador) + "\n" + + " indicadorCompradorVendedor: " + toIndentedString(indicadorCompradorVendedor) + "\n" + + " mercadoria: " + toIndentedString(mercadoria) + "\n" + + " condicaoVenda: " + toIndentedString(condicaoVenda) + "\n" + + " lpcos: " + toIndentedString(lpcos) + "\n" + + " certificadoMercosul: " + toIndentedString(certificadoMercosul) + "\n" + + " declaracoesVinculadas: " + toIndentedString(declaracoesVinculadas) + "\n" + + " dadosCambiais: " + toIndentedString(dadosCambiais) + "\n" + + " atributosDuimp: " + toIndentedString(atributosDuimp) + "\n" + + " atributosFundamentoLegalDuimp: " + toIndentedString(atributosFundamentoLegalDuimp) + "\n" + + " tributos: " + toIndentedString(tributos) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemFreteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemFreteCover.java new file mode 100644 index 0000000..244115e --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemFreteCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ItemFreteCover", propOrder = + {"valor" + }) + +@XmlRootElement(name = "ItemFreteCover") +/** + * Dados do Frete declarado. + **/ +@ApiModel(description = "Dados do Frete declarado.") +public class ItemFreteCover { + + @XmlElement(name = "valor", required = true) + @ApiModelProperty(example = "100.02", required = true, value = "Valor do frete em real de Duimp de situação especial de despacho, cujo motivo (da situação especial de despacho) possui o atributo 'Cálculo do frete e seguro' preenchido com o valor '2' (Declarado pelo importador), na tabela 'Tabela Motivo da Situação Especial da Duimp' do sistema TABX.
    Tamanho: 17,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + /** + * Valor do frete em real de Duimp de situação especial de despacho, cujo motivo (da situação especial de despacho) possui o atributo 'Cálculo do frete e seguro' preenchido com o valor '2' (Declarado pelo importador), na tabela 'Tabela Motivo da Situação Especial da Duimp' do sistema TABX.
    Tamanho: 17,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private Double valor = null; + + /** + * Valor do frete em real de Duimp de situação especial de despacho, cujo motivo (da situação especial de despacho) possui o atributo 'Cálculo do frete e seguro' preenchido com o valor '2' (Declarado pelo importador), na tabela 'Tabela Motivo da Situação Especial da Duimp' do sistema TABX.<br>Tamanho: 17,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return valor + **/ + @JsonProperty("valor") + @NotNull + public Double getValor() { + return valor; + } + + public void setValor(Double valor) { + this.valor = valor; + } + + public ItemFreteCover valor(Double valor) { + this.valor = valor; + return this; + } + + + @Override + public String toString() { + + String sb = "class ItemFreteCover {\n" + + " valor: " + toIndentedString(valor) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemSeguroCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemSeguroCover.java new file mode 100644 index 0000000..690bffe --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemSeguroCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ItemSeguroCover", propOrder = + {"valor" + }) + +@XmlRootElement(name = "ItemSeguroCover") +/** + * Dados do seguro declarado. + **/ +@ApiModel(description = "Dados do seguro declarado.") +public class ItemSeguroCover { + + @XmlElement(name = "valor", required = true) + @ApiModelProperty(example = "100.02", required = true, value = "Valor do seguro em real de Duimp de situação especial de despacho, cujo motivo (da situação especial de despacho) possui o atributo 'Cálculo do frete e seguro' preenchido com o valor '2' (Declarado pelo importador), na tabela 'Tabela Motivo da Situação Especial da Duimp' do sistema TABX.
    Tamanho: 17,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + /** + * Valor do seguro em real de Duimp de situação especial de despacho, cujo motivo (da situação especial de despacho) possui o atributo 'Cálculo do frete e seguro' preenchido com o valor '2' (Declarado pelo importador), na tabela 'Tabela Motivo da Situação Especial da Duimp' do sistema TABX.
    Tamanho: 17,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private Double valor = null; + + /** + * Valor do seguro em real de Duimp de situação especial de despacho, cujo motivo (da situação especial de despacho) possui o atributo 'Cálculo do frete e seguro' preenchido com o valor '2' (Declarado pelo importador), na tabela 'Tabela Motivo da Situação Especial da Duimp' do sistema TABX.<br>Tamanho: 17,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return valor + **/ + @JsonProperty("valor") + @NotNull + public Double getValor() { + return valor; + } + + public void setValor(Double valor) { + this.valor = valor; + } + + public ItemSeguroCover valor(Double valor) { + this.valor = valor; + return this; + } + + + @Override + public String toString() { + + String sb = "class ItemSeguroCover {\n" + + " valor: " + toIndentedString(valor) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/LpcoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/LpcoCover.java new file mode 100644 index 0000000..9799ef3 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/LpcoCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "LpcoCover", propOrder = + {"numero" + }) + +@XmlRootElement(name = "LpcoCover") +/** + * Lista de documentos LPCO (Licenças, Permissões, Certificados e Outros) necessários para operações de comércio exterior.
    Origem: Sistema Tratamento Administrativo e LPCO - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Lista de documentos LPCO (Licenças, Permissões, Certificados e Outros) necessários para operações de comércio exterior.
    Origem: Sistema Tratamento Administrativo e LPCO - https://api-docs.portalunico.siscomex.gov.br/") +public class LpcoCover { + + @XmlElement(name = "numero") + @ApiModelProperty(example = "I2000000063", value = "Número do um LPCO.
    Tamanho: 11
    Formato: 'OAANNNNNNNN'
    Lei de formação. O número do LPCO é composto por:
    * O = Operação (E para exportação, I para importação).
    * AA = Ano do registro do LPCO.
    * NNNNNNNN = 8 caracteres númericos. Número sequencial do LPCO no ano.") + /** + * Número do um LPCO.
    Tamanho: 11
    Formato: 'OAANNNNNNNN'
    Lei de formação. O número do LPCO é composto por:
    * O = Operação (E para exportação, I para importação).
    * AA = Ano do registro do LPCO.
    * NNNNNNNN = 8 caracteres númericos. Número sequencial do LPCO no ano. + **/ + private String numero = null; + + /** + * Número do um LPCO.<br>Tamanho: 11<br>Formato: 'OAANNNNNNNN'<br>Lei de formação. O número do LPCO é composto por: <br>* O = Operação (E para exportação, I para importação).<br>* AA = Ano do registro do LPCO.<br>* NNNNNNNN = 8 caracteres númericos. Número sequencial do LPCO no ano. + * + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public LpcoCover numero(String numero) { + this.numero = numero; + return this; + } + + + @Override + public String toString() { + + String sb = "class LpcoCover {\n" + + " numero: " + toIndentedString(numero) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MemoriaCalculoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MemoriaCalculoItemCover.java new file mode 100644 index 0000000..61d1240 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MemoriaCalculoItemCover.java @@ -0,0 +1,440 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MemoriaCalculoItemCover", propOrder = + {"codigoFundamentoLegalNormal", "baseCalculoBRL", "baseCalculoEspecificaBRL", "baseCalculoReduzidaBRL", "percentualReducaoBaseCalculo", "tipoAliquota", "percentualReducaoAliquotaReduzida", "valorAliquota", "valorAliquotaEspecifica", "valorAliquotaReduzida", "normal", "tributado", "percentualPagamento" + }) + +@XmlRootElement(name = "MemoriaCalculoItemCover") +/** + * Memória de cálculo por tipo de imposto. + **/ +@ApiModel(description = "Memória de cálculo por tipo de imposto.") +public class MemoriaCalculoItemCover { + + @XmlElement(name = "codigoFundamentoLegalNormal") + @ApiModelProperty(example = "1001", value = "Código do fundamento legal do regime tributário de importação utilizado na declaração.
    Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.") + /** + * Código do fundamento legal do regime tributário de importação utilizado na declaração.
    Domínio: Fundamentos legais existentes no sistema Tratamento Tributário. + **/ + private Integer codigoFundamentoLegalNormal = null; + + @XmlElement(name = "baseCalculoBRL") + @ApiModelProperty(example = "4567.8", value = "Valor da base de cálculo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor da base de cálculo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double baseCalculoBRL = null; + + @XmlElement(name = "baseCalculoEspecificaBRL") + @ApiModelProperty(example = "4567.8", value = "Valor da base de cálculo específica em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor da base de cálculo específica em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double baseCalculoEspecificaBRL = null; + + @XmlElement(name = "baseCalculoReduzidaBRL") + @ApiModelProperty(example = "4567.8", value = "Valor da base de cálculo reduzida em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor da base de cálculo reduzida em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double baseCalculoReduzidaBRL = null; + + @XmlElement(name = "percentualReducaoBaseCalculo") + @ApiModelProperty(example = "4567.8", value = "Percentual de redução da base de cálculo.
    Tamanho: 16,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto.") + /** + * Percentual de redução da base de cálculo.
    Tamanho: 16,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto. + **/ + private Double percentualReducaoBaseCalculo = null; + + + @XmlType(name = "TipoAliquotaEnum") + @XmlEnum(String.class) + public enum TipoAliquotaEnum { + + @XmlEnumValue("AD_VALOREM") + @JsonProperty("AD_VALOREM") + AD_VALOREM("AD_VALOREM"), + + @XmlEnumValue("ESPECIFICA") + @JsonProperty("ESPECIFICA") + ESPECIFICA("ESPECIFICA"); + + + private final String value; + + TipoAliquotaEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoAliquotaEnum fromValue(String v) { + for (TipoAliquotaEnum b : TipoAliquotaEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoAliquotaEnum"); + } + } + + @XmlElement(name = "tipoAliquota") + @ApiModelProperty(example = "AD_VALOREM", value = "Tipo de alíquota do tributo.
    Domínio:") + /** + * Tipo de alíquota do tributo.
    Domínio: + **/ + private TipoAliquotaEnum tipoAliquota = null; + + @XmlElement(name = "percentualReducaoAliquotaReduzida") + @ApiModelProperty(example = "4227.8", value = "Percentual de redução da alíquota reduzida (%).
    Tamanho: 16,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto.") + /** + * Percentual de redução da alíquota reduzida (%).
    Tamanho: 16,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto. + **/ + private Double percentualReducaoAliquotaReduzida = null; + + @XmlElement(name = "valorAliquota") + @ApiModelProperty(example = "4227.8", value = "Valor da alíquota (%).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor da alíquota (%).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double valorAliquota = null; + + @XmlElement(name = "valorAliquotaEspecifica") + @ApiModelProperty(example = "4227.8", value = "Valor da alíquota específica (%).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor da alíquota específica (%).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double valorAliquotaEspecifica = null; + + @XmlElement(name = "valorAliquotaReduzida") + @ApiModelProperty(example = "4227.8", value = "Valor da alíquota reduzida (%).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor da alíquota reduzida (%).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double valorAliquotaReduzida = null; + + @XmlElement(name = "normal") + @ApiModelProperty(example = "4227.8", value = "Valor normal em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor normal em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double normal = null; + + @XmlElement(name = "tributado") + @ApiModelProperty(example = "true", value = "Indicador de tributação.") + /** + * Indicador de tributação. + **/ + private Boolean tributado = null; + + @XmlElement(name = "percentualPagamento") + @ApiModelProperty(example = "4227.8", value = "Percentual de pagamento, preenchido no caso de item com fundamento legal correspondente à admissão temporária com pagamento proporcional (ATUE). Para as demais Duimp será retornado nulo.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Percentual de pagamento, preenchido no caso de item com fundamento legal correspondente à admissão temporária com pagamento proporcional (ATUE). Para as demais Duimp será retornado nulo.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double percentualPagamento = null; + + /** + * Código do fundamento legal do regime tributário de importação utilizado na declaração.<br>Domínio: Fundamentos legais existentes no sistema Tratamento Tributário. + * + * @return codigoFundamentoLegalNormal + **/ + @JsonProperty("codigoFundamentoLegalNormal") + public Integer getCodigoFundamentoLegalNormal() { + return codigoFundamentoLegalNormal; + } + + public void setCodigoFundamentoLegalNormal(Integer codigoFundamentoLegalNormal) { + this.codigoFundamentoLegalNormal = codigoFundamentoLegalNormal; + } + + public MemoriaCalculoItemCover codigoFundamentoLegalNormal(Integer codigoFundamentoLegalNormal) { + this.codigoFundamentoLegalNormal = codigoFundamentoLegalNormal; + return this; + } + + /** + * Valor da base de cálculo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return baseCalculoBRL + **/ + @JsonProperty("baseCalculoBRL") + public Double getBaseCalculoBRL() { + return baseCalculoBRL; + } + + public void setBaseCalculoBRL(Double baseCalculoBRL) { + this.baseCalculoBRL = baseCalculoBRL; + } + + public MemoriaCalculoItemCover baseCalculoBRL(Double baseCalculoBRL) { + this.baseCalculoBRL = baseCalculoBRL; + return this; + } + + /** + * Valor da base de cálculo específica em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return baseCalculoEspecificaBRL + **/ + @JsonProperty("baseCalculoEspecificaBRL") + public Double getBaseCalculoEspecificaBRL() { + return baseCalculoEspecificaBRL; + } + + public void setBaseCalculoEspecificaBRL(Double baseCalculoEspecificaBRL) { + this.baseCalculoEspecificaBRL = baseCalculoEspecificaBRL; + } + + public MemoriaCalculoItemCover baseCalculoEspecificaBRL(Double baseCalculoEspecificaBRL) { + this.baseCalculoEspecificaBRL = baseCalculoEspecificaBRL; + return this; + } + + /** + * Valor da base de cálculo reduzida em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return baseCalculoReduzidaBRL + **/ + @JsonProperty("baseCalculoReduzidaBRL") + public Double getBaseCalculoReduzidaBRL() { + return baseCalculoReduzidaBRL; + } + + public void setBaseCalculoReduzidaBRL(Double baseCalculoReduzidaBRL) { + this.baseCalculoReduzidaBRL = baseCalculoReduzidaBRL; + } + + public MemoriaCalculoItemCover baseCalculoReduzidaBRL(Double baseCalculoReduzidaBRL) { + this.baseCalculoReduzidaBRL = baseCalculoReduzidaBRL; + return this; + } + + /** + * Percentual de redução da base de cálculo.<br>Tamanho: 16,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. + * + * @return percentualReducaoBaseCalculo + **/ + @JsonProperty("percentualReducaoBaseCalculo") + public Double getPercentualReducaoBaseCalculo() { + return percentualReducaoBaseCalculo; + } + + public void setPercentualReducaoBaseCalculo(Double percentualReducaoBaseCalculo) { + this.percentualReducaoBaseCalculo = percentualReducaoBaseCalculo; + } + + public MemoriaCalculoItemCover percentualReducaoBaseCalculo(Double percentualReducaoBaseCalculo) { + this.percentualReducaoBaseCalculo = percentualReducaoBaseCalculo; + return this; + } + + /** + * Tipo de alíquota do tributo.<br>Domínio: + * + * @return tipoAliquota + **/ + @JsonProperty("tipoAliquota") + public String getTipoAliquota() { + if (tipoAliquota == null) { + return null; + } + return tipoAliquota.value(); + } + + public void setTipoAliquota(TipoAliquotaEnum tipoAliquota) { + this.tipoAliquota = tipoAliquota; + } + + public MemoriaCalculoItemCover tipoAliquota(TipoAliquotaEnum tipoAliquota) { + this.tipoAliquota = tipoAliquota; + return this; + } + + /** + * Percentual de redução da alíquota reduzida (%).<br>Tamanho: 16,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. + * + * @return percentualReducaoAliquotaReduzida + **/ + @JsonProperty("percentualReducaoAliquotaReduzida") + public Double getPercentualReducaoAliquotaReduzida() { + return percentualReducaoAliquotaReduzida; + } + + public void setPercentualReducaoAliquotaReduzida(Double percentualReducaoAliquotaReduzida) { + this.percentualReducaoAliquotaReduzida = percentualReducaoAliquotaReduzida; + } + + public MemoriaCalculoItemCover percentualReducaoAliquotaReduzida(Double percentualReducaoAliquotaReduzida) { + this.percentualReducaoAliquotaReduzida = percentualReducaoAliquotaReduzida; + return this; + } + + /** + * Valor da alíquota (%).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorAliquota + **/ + @JsonProperty("valorAliquota") + public Double getValorAliquota() { + return valorAliquota; + } + + public void setValorAliquota(Double valorAliquota) { + this.valorAliquota = valorAliquota; + } + + public MemoriaCalculoItemCover valorAliquota(Double valorAliquota) { + this.valorAliquota = valorAliquota; + return this; + } + + /** + * Valor da alíquota específica (%).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorAliquotaEspecifica + **/ + @JsonProperty("valorAliquotaEspecifica") + public Double getValorAliquotaEspecifica() { + return valorAliquotaEspecifica; + } + + public void setValorAliquotaEspecifica(Double valorAliquotaEspecifica) { + this.valorAliquotaEspecifica = valorAliquotaEspecifica; + } + + public MemoriaCalculoItemCover valorAliquotaEspecifica(Double valorAliquotaEspecifica) { + this.valorAliquotaEspecifica = valorAliquotaEspecifica; + return this; + } + + /** + * Valor da alíquota reduzida (%).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorAliquotaReduzida + **/ + @JsonProperty("valorAliquotaReduzida") + public Double getValorAliquotaReduzida() { + return valorAliquotaReduzida; + } + + public void setValorAliquotaReduzida(Double valorAliquotaReduzida) { + this.valorAliquotaReduzida = valorAliquotaReduzida; + } + + public MemoriaCalculoItemCover valorAliquotaReduzida(Double valorAliquotaReduzida) { + this.valorAliquotaReduzida = valorAliquotaReduzida; + return this; + } + + /** + * Valor normal em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return normal + **/ + @JsonProperty("normal") + public Double getNormal() { + return normal; + } + + public void setNormal(Double normal) { + this.normal = normal; + } + + public MemoriaCalculoItemCover normal(Double normal) { + this.normal = normal; + return this; + } + + /** + * Indicador de tributação. + * + * @return tributado + **/ + @JsonProperty("tributado") + public Boolean isTributado() { + return tributado; + } + + public void setTributado(Boolean tributado) { + this.tributado = tributado; + } + + public MemoriaCalculoItemCover tributado(Boolean tributado) { + this.tributado = tributado; + return this; + } + + /** + * Percentual de pagamento, preenchido no caso de item com fundamento legal correspondente à admissão temporária com pagamento proporcional (ATUE). Para as demais Duimp será retornado nulo.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return percentualPagamento + **/ + @JsonProperty("percentualPagamento") + public Double getPercentualPagamento() { + return percentualPagamento; + } + + public void setPercentualPagamento(Double percentualPagamento) { + this.percentualPagamento = percentualPagamento; + } + + public MemoriaCalculoItemCover percentualPagamento(Double percentualPagamento) { + this.percentualPagamento = percentualPagamento; + return this; + } + + + @Override + public String toString() { + + String sb = "class MemoriaCalculoItemCover {\n" + + " codigoFundamentoLegalNormal: " + toIndentedString(codigoFundamentoLegalNormal) + "\n" + + " baseCalculoBRL: " + toIndentedString(baseCalculoBRL) + "\n" + + " baseCalculoEspecificaBRL: " + toIndentedString(baseCalculoEspecificaBRL) + "\n" + + " baseCalculoReduzidaBRL: " + toIndentedString(baseCalculoReduzidaBRL) + "\n" + + " percentualReducaoBaseCalculo: " + toIndentedString(percentualReducaoBaseCalculo) + "\n" + + " tipoAliquota: " + toIndentedString(tipoAliquota) + "\n" + + " percentualReducaoAliquotaReduzida: " + toIndentedString(percentualReducaoAliquotaReduzida) + "\n" + + " valorAliquota: " + toIndentedString(valorAliquota) + "\n" + + " valorAliquotaEspecifica: " + toIndentedString(valorAliquotaEspecifica) + "\n" + + " valorAliquotaReduzida: " + toIndentedString(valorAliquotaReduzida) + "\n" + + " normal: " + toIndentedString(normal) + "\n" + + " tributado: " + toIndentedString(tributado) + "\n" + + " percentualPagamento: " + toIndentedString(percentualPagamento) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaCover.java new file mode 100644 index 0000000..5d012ba --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaCover.java @@ -0,0 +1,338 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MercadoriaCover", propOrder = + {"tipoAplicacao", "condicao", "unidadeComercial", "quantidadeComercial", "quantidadeMedidaEstatistica", "pesoLiquido", "moedaNegociada", "valorUnitarioMoedaNegociada", "descricao" + }) + +@XmlRootElement(name = "MercadoriaCover") +/** + * Dados da Mercadoria. + **/ +@ApiModel(description = "Dados da Mercadoria.") +public class MercadoriaCover { + + @XmlElement(name = "tipoAplicacao", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private TipoAplicacaoCover tipoAplicacao = null; + + + @XmlType(name = "CondicaoEnum") + @XmlEnum(String.class) + public enum CondicaoEnum { + + @XmlEnumValue("NOVA") + @JsonProperty("NOVA") + NOVA("NOVA"), + + @XmlEnumValue("USADA") + @JsonProperty("USADA") + USADA("USADA"); + + + private final String value; + + CondicaoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CondicaoEnum fromValue(String v) { + for (CondicaoEnum b : CondicaoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CondicaoEnum"); + } + } + + @XmlElement(name = "condicao", required = true) + @ApiModelProperty(example = "NOVA", required = true, value = "Indica se a mercadoria é nova ou usada.
    Domínio:") + /** + * Indica se a mercadoria é nova ou usada.
    Domínio: + **/ + private CondicaoEnum condicao = null; + + @XmlElement(name = "unidadeComercial", required = true) + @ApiModelProperty(example = "SACAS", required = true, value = "Unidade de medida utilizada na comercialização da mercadoria.
    Tamanho mínimo: 1
    Tamanho máximo: 20") + /** + * Unidade de medida utilizada na comercialização da mercadoria.
    Tamanho mínimo: 1
    Tamanho máximo: 20 + **/ + private String unidadeComercial = null; + + @XmlElement(name = "quantidadeComercial", required = true) + @ApiModelProperty(example = "100.5", required = true, value = "Quantidade da mercadoria na unidade de medida comercial.
    Tamanho: 9,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto.") + /** + * Quantidade da mercadoria na unidade de medida comercial.
    Tamanho: 9,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto. + **/ + private Double quantidadeComercial = null; + + @XmlElement(name = "quantidadeMedidaEstatistica", required = true) + @ApiModelProperty(example = "12.12345", required = true, value = "Quantidade na unidade de medida estatística associada à NCM do produto.
    Tamanho: 9,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto.") + /** + * Quantidade na unidade de medida estatística associada à NCM do produto.
    Tamanho: 9,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto. + **/ + private Double quantidadeMedidaEstatistica = null; + + @XmlElement(name = "pesoLiquido", required = true) + @ApiModelProperty(example = "100.0", required = true, value = "Peso líquido, em quilogramas, que corresponde ao quantitativo total das mercadorias do item.
    Tamanho: 9,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto.") + /** + * Peso líquido, em quilogramas, que corresponde ao quantitativo total das mercadorias do item.
    Tamanho: 9,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto. + **/ + private Double pesoLiquido = null; + + @XmlElement(name = "moedaNegociada", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private MoedaNegociadaCover moedaNegociada = null; + + @XmlElement(name = "valorUnitarioMoedaNegociada", required = true) + @ApiModelProperty(example = "10.0", required = true, value = "Valor unitário da mercadoria na condição de venda.
    Tamanho: 13,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor unitário da mercadoria na condição de venda.
    Tamanho: 13,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double valorUnitarioMoedaNegociada = null; + + @XmlElement(name = "descricao") + @ApiModelProperty(example = "Texto de exemplo.", value = "Descrição complementar da mercadoria.
    Tamanho mínimo: 0
    Tamanho máximo: 4000") + /** + * Descrição complementar da mercadoria.
    Tamanho mínimo: 0
    Tamanho máximo: 4000 + **/ + private String descricao = null; + + /** + * Get tipoAplicacao + * + * @return tipoAplicacao + **/ + @JsonProperty("tipoAplicacao") + @NotNull + public TipoAplicacaoCover getTipoAplicacao() { + return tipoAplicacao; + } + + public void setTipoAplicacao(TipoAplicacaoCover tipoAplicacao) { + this.tipoAplicacao = tipoAplicacao; + } + + public MercadoriaCover tipoAplicacao(TipoAplicacaoCover tipoAplicacao) { + this.tipoAplicacao = tipoAplicacao; + return this; + } + + /** + * Indica se a mercadoria é nova ou usada.<br>Domínio: + * + * @return condicao + **/ + @JsonProperty("condicao") + @NotNull + public String getCondicao() { + if (condicao == null) { + return null; + } + return condicao.value(); + } + + public void setCondicao(CondicaoEnum condicao) { + this.condicao = condicao; + } + + public MercadoriaCover condicao(CondicaoEnum condicao) { + this.condicao = condicao; + return this; + } + + /** + * Unidade de medida utilizada na comercialização da mercadoria.<br>Tamanho mínimo: 1<br>Tamanho máximo: 20 + * + * @return unidadeComercial + **/ + @JsonProperty("unidadeComercial") + @NotNull + public String getUnidadeComercial() { + return unidadeComercial; + } + + public void setUnidadeComercial(String unidadeComercial) { + this.unidadeComercial = unidadeComercial; + } + + public MercadoriaCover unidadeComercial(String unidadeComercial) { + this.unidadeComercial = unidadeComercial; + return this; + } + + /** + * Quantidade da mercadoria na unidade de medida comercial.<br>Tamanho: 9,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. + * + * @return quantidadeComercial + **/ + @JsonProperty("quantidadeComercial") + @NotNull + public Double getQuantidadeComercial() { + return quantidadeComercial; + } + + public void setQuantidadeComercial(Double quantidadeComercial) { + this.quantidadeComercial = quantidadeComercial; + } + + public MercadoriaCover quantidadeComercial(Double quantidadeComercial) { + this.quantidadeComercial = quantidadeComercial; + return this; + } + + /** + * Quantidade na unidade de medida estatística associada à NCM do produto.<br>Tamanho: 9,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. + * + * @return quantidadeMedidaEstatistica + **/ + @JsonProperty("quantidadeMedidaEstatistica") + @NotNull + public Double getQuantidadeMedidaEstatistica() { + return quantidadeMedidaEstatistica; + } + + public void setQuantidadeMedidaEstatistica(Double quantidadeMedidaEstatistica) { + this.quantidadeMedidaEstatistica = quantidadeMedidaEstatistica; + } + + public MercadoriaCover quantidadeMedidaEstatistica(Double quantidadeMedidaEstatistica) { + this.quantidadeMedidaEstatistica = quantidadeMedidaEstatistica; + return this; + } + + /** + * Peso líquido, em quilogramas, que corresponde ao quantitativo total das mercadorias do item.<br>Tamanho: 9,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. + * + * @return pesoLiquido + **/ + @JsonProperty("pesoLiquido") + @NotNull + public Double getPesoLiquido() { + return pesoLiquido; + } + + public void setPesoLiquido(Double pesoLiquido) { + this.pesoLiquido = pesoLiquido; + } + + public MercadoriaCover pesoLiquido(Double pesoLiquido) { + this.pesoLiquido = pesoLiquido; + return this; + } + + /** + * Get moedaNegociada + * + * @return moedaNegociada + **/ + @JsonProperty("moedaNegociada") + @NotNull + public MoedaNegociadaCover getMoedaNegociada() { + return moedaNegociada; + } + + public void setMoedaNegociada(MoedaNegociadaCover moedaNegociada) { + this.moedaNegociada = moedaNegociada; + } + + public MercadoriaCover moedaNegociada(MoedaNegociadaCover moedaNegociada) { + this.moedaNegociada = moedaNegociada; + return this; + } + + /** + * Valor unitário da mercadoria na condição de venda.<br>Tamanho: 13,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorUnitarioMoedaNegociada + **/ + @JsonProperty("valorUnitarioMoedaNegociada") + @NotNull + public Double getValorUnitarioMoedaNegociada() { + return valorUnitarioMoedaNegociada; + } + + public void setValorUnitarioMoedaNegociada(Double valorUnitarioMoedaNegociada) { + this.valorUnitarioMoedaNegociada = valorUnitarioMoedaNegociada; + } + + public MercadoriaCover valorUnitarioMoedaNegociada(Double valorUnitarioMoedaNegociada) { + this.valorUnitarioMoedaNegociada = valorUnitarioMoedaNegociada; + return this; + } + + /** + * Descrição complementar da mercadoria.<br>Tamanho mínimo: 0<br>Tamanho máximo: 4000 + * + * @return descricao + **/ + @JsonProperty("descricao") + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public MercadoriaCover descricao(String descricao) { + this.descricao = descricao; + return this; + } + + + @Override + public String toString() { + + String sb = "class MercadoriaCover {\n" + + " tipoAplicacao: " + toIndentedString(tipoAplicacao) + "\n" + + " condicao: " + toIndentedString(condicao) + "\n" + + " unidadeComercial: " + toIndentedString(unidadeComercial) + "\n" + + " quantidadeComercial: " + toIndentedString(quantidadeComercial) + "\n" + + " quantidadeMedidaEstatistica: " + toIndentedString(quantidadeMedidaEstatistica) + "\n" + + " pesoLiquido: " + toIndentedString(pesoLiquido) + "\n" + + " moedaNegociada: " + toIndentedString(moedaNegociada) + "\n" + + " valorUnitarioMoedaNegociada: " + toIndentedString(valorUnitarioMoedaNegociada) + "\n" + + " descricao: " + toIndentedString(descricao) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaLocalEmbarqueCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaLocalEmbarqueCover.java new file mode 100644 index 0000000..7b8db17 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaLocalEmbarqueCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MercadoriaLocalEmbarqueCover", propOrder = + {"valorTotalBRL" + }) + +@XmlRootElement(name = "MercadoriaLocalEmbarqueCover") +/** + * Valor da mercadoria no local de embarque. + **/ +@ApiModel(description = "Valor da mercadoria no local de embarque.") +public class MercadoriaLocalEmbarqueCover { + + @XmlElement(name = "valorTotalBRL") + @ApiModelProperty(example = "3806.5", value = "Valor total da mercadoria no local de embarque.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor total da mercadoria no local de embarque.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double valorTotalBRL = null; + + /** + * Valor total da mercadoria no local de embarque.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorTotalBRL + **/ + @JsonProperty("valorTotalBRL") + public Double getValorTotalBRL() { + return valorTotalBRL; + } + + public void setValorTotalBRL(Double valorTotalBRL) { + this.valorTotalBRL = valorTotalBRL; + } + + public MercadoriaLocalEmbarqueCover valorTotalBRL(Double valorTotalBRL) { + this.valorTotalBRL = valorTotalBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class MercadoriaLocalEmbarqueCover {\n" + + " valorTotalBRL: " + toIndentedString(valorTotalBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaValoresCalculadosItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaValoresCalculadosItemCover.java new file mode 100644 index 0000000..d7e420f --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaValoresCalculadosItemCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MercadoriaValoresCalculadosItemCover", propOrder = + {"valorLocalEmbarqueBRL", "valorAduaneiroBRL" + }) + +@XmlRootElement(name = "MercadoriaValoresCalculadosItemCover") +/** + * Valores da Mercadoria. + **/ +@ApiModel(description = "Valores da Mercadoria.") +public class MercadoriaValoresCalculadosItemCover { + + @XmlElement(name = "valorLocalEmbarqueBRL") + @ApiModelProperty(example = "20.666", value = "Valor total da mercadoria no local de embarque em R$ (Reais).
    Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor total da mercadoria no local de embarque em R$ (Reais).
    Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double valorLocalEmbarqueBRL = null; + + @XmlElement(name = "valorAduaneiroBRL") + @ApiModelProperty(example = "20.666", value = "Valor total aduaneiro em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor total aduaneiro em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double valorAduaneiroBRL = null; + + /** + * Valor total da mercadoria no local de embarque em R$ (Reais). <br> Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorLocalEmbarqueBRL + **/ + @JsonProperty("valorLocalEmbarqueBRL") + public Double getValorLocalEmbarqueBRL() { + return valorLocalEmbarqueBRL; + } + + public void setValorLocalEmbarqueBRL(Double valorLocalEmbarqueBRL) { + this.valorLocalEmbarqueBRL = valorLocalEmbarqueBRL; + } + + public MercadoriaValoresCalculadosItemCover valorLocalEmbarqueBRL(Double valorLocalEmbarqueBRL) { + this.valorLocalEmbarqueBRL = valorLocalEmbarqueBRL; + return this; + } + + /** + * Valor total aduaneiro em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorAduaneiroBRL + **/ + @JsonProperty("valorAduaneiroBRL") + public Double getValorAduaneiroBRL() { + return valorAduaneiroBRL; + } + + public void setValorAduaneiroBRL(Double valorAduaneiroBRL) { + this.valorAduaneiroBRL = valorAduaneiroBRL; + } + + public MercadoriaValoresCalculadosItemCover valorAduaneiroBRL(Double valorAduaneiroBRL) { + this.valorAduaneiroBRL = valorAduaneiroBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class MercadoriaValoresCalculadosItemCover {\n" + + " valorLocalEmbarqueBRL: " + toIndentedString(valorLocalEmbarqueBRL) + "\n" + + " valorAduaneiroBRL: " + toIndentedString(valorAduaneiroBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MetodoValoracaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MetodoValoracaoCover.java new file mode 100644 index 0000000..9e92770 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MetodoValoracaoCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MetodoValoracaoCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "MetodoValoracaoCover") +/** + * Método de valoração. + **/ +@ApiModel(description = "Método de valoração.") +public class MetodoValoracaoCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "1", required = true, value = "Código do método de valoração.
    Domínio: Tabela de Métodos de Valoração Siscomex
    Valor mínimo: 1
    Valor máximo: 99999
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código do método de valoração.
    Domínio: Tabela de Métodos de Valoração Siscomex
    Valor mínimo: 1
    Valor máximo: 99999
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private Integer codigo = null; + + /** + * Código do método de valoração.<br>Domínio: Tabela de Métodos de Valoração Siscomex<br>Valor mínimo: 1<br>Valor máximo: 99999<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public Integer getCodigo() { + return codigo; + } + + public void setCodigo(Integer codigo) { + this.codigo = codigo; + } + + public MetodoValoracaoCover codigo(Integer codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class MetodoValoracaoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MoedaAcrescimoDeducaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MoedaAcrescimoDeducaoCover.java new file mode 100644 index 0000000..821e6bb --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MoedaAcrescimoDeducaoCover.java @@ -0,0 +1,102 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MoedaAcrescimoDeducaoCover", propOrder = + {"codigo", "valor" + }) + +@XmlRootElement(name = "MoedaAcrescimoDeducaoCover") +/** + * Dados da moeda utilizada no Acréscimo ou Dedução. + **/ +@ApiModel(description = "Dados da moeda utilizada no Acréscimo ou Dedução.") +public class MoedaAcrescimoDeducaoCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "USD", required = true, value = "Código da Moeda negociada (ISO-4217).
    Tamanho: 3
    Formato: 'AAA'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código da Moeda negociada (ISO-4217).
    Tamanho: 3
    Formato: 'AAA'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private String codigo = null; + + @XmlElement(name = "valor", required = true) + @ApiModelProperty(example = "100.12", required = true, value = "Valor, na moeda negociada, acrescentado no/deduzido do valor da condição de venda.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + /** + * Valor, na moeda negociada, acrescentado no/deduzido do valor da condição de venda.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private Double valor = null; + + /** + * Código da Moeda negociada (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public MoedaAcrescimoDeducaoCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Valor, na moeda negociada, acrescentado no/deduzido do valor da condição de venda.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return valor + **/ + @JsonProperty("valor") + @NotNull + public Double getValor() { + return valor; + } + + public void setValor(Double valor) { + this.valor = valor; + } + + public MoedaAcrescimoDeducaoCover valor(Double valor) { + this.valor = valor; + return this; + } + + + @Override + public String toString() { + + String sb = "class MoedaAcrescimoDeducaoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " valor: " + toIndentedString(valor) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MoedaNegociadaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MoedaNegociadaCover.java new file mode 100644 index 0000000..2f77151 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MoedaNegociadaCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MoedaNegociadaCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "MoedaNegociadaCover") +/** + * Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217). + **/ +@ApiModel(description = "Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).") +public class MoedaNegociadaCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "USD", required = true, value = "Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
    Tamanho: 3
    Formato: 'AAA'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
    Tamanho: 3
    Formato: 'AAA'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private String codigo = null; + + /** + * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public MoedaNegociadaCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class MoedaNegociadaCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MotivoSemCoberturaCambialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MotivoSemCoberturaCambialCover.java new file mode 100644 index 0000000..f0592ee --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MotivoSemCoberturaCambialCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MotivoSemCoberturaCambialCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "MotivoSemCoberturaCambialCover") +/** + * Motivo para ausência de cobertura cambial.
    Observação: Deve ser preenchido quando a cobertura cambial for \"sem cobertura\". + **/ +@ApiModel(description = "Motivo para ausência de cobertura cambial.
    Observação: Deve ser preenchido quando a cobertura cambial for \"sem cobertura\".") +public class MotivoSemCoberturaCambialCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "52", value = "Código do Motivo para ausência de cobertura cambial.
    Domínio: Tabela de Motivos Sem Cobertura do Siscomex. - https://api-docs.portalunico.siscomex.gov.br/
    Valor mínimo: 1
    Valor máximo: 99999") + /** + * Código do Motivo para ausência de cobertura cambial.
    Domínio: Tabela de Motivos Sem Cobertura do Siscomex. - https://api-docs.portalunico.siscomex.gov.br/
    Valor mínimo: 1
    Valor máximo: 99999 + **/ + private Integer codigo = null; + + /** + * Código do Motivo para ausência de cobertura cambial.<br>Domínio: Tabela de Motivos Sem Cobertura do Siscomex. - https://api-docs.portalunico.siscomex.gov.br/<br>Valor mínimo: 1<br>Valor máximo: 99999 + * + * @return codigo + **/ + @JsonProperty("codigo") + public Integer getCodigo() { + return codigo; + } + + public void setCodigo(Integer codigo) { + this.codigo = codigo; + } + + public MotivoSemCoberturaCambialCover codigo(Integer codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class MotivoSemCoberturaCambialCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PagamentoRegistroCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PagamentoRegistroCover.java new file mode 100644 index 0000000..5705521 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PagamentoRegistroCover.java @@ -0,0 +1,71 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PagamentoRegistroCover", propOrder = + {"principal" + }) + +@XmlRootElement(name = "PagamentoRegistroCover") +/** + * Dados de um pagamento. + **/ +@ApiModel(description = "Dados de um pagamento.") +public class PagamentoRegistroCover { + + @XmlElement(name = "principal") + @ApiModelProperty(value = "") + @Valid + private ValorPagamentoRegistroCover principal = null; + + /** + * Get principal + * + * @return principal + **/ + @JsonProperty("principal") + public ValorPagamentoRegistroCover getPrincipal() { + return principal; + } + + public void setPrincipal(ValorPagamentoRegistroCover principal) { + this.principal = principal; + } + + public PagamentoRegistroCover principal(ValorPagamentoRegistroCover principal) { + this.principal = principal; + return this; + } + + + @Override + public String toString() { + + String sb = "class PagamentoRegistroCover {\n" + + " principal: " + toIndentedString(principal) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PaisExportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PaisExportadorCover.java new file mode 100644 index 0000000..05ee2bc --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PaisExportadorCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PaisExportadorCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "PaisExportadorCover") +/** + * País de procedência da mercadoria. + **/ +@ApiModel(description = "País de procedência da mercadoria.") +public class PaisExportadorCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "BR", required = true, value = "Código do país de origem no formato ISO (3166-1 alfa-2).
    Tamanho: 2
    Formato: 'AA'") + /** + * Código do país de origem no formato ISO (3166-1 alfa-2).
    Tamanho: 2
    Formato: 'AA' + **/ + private String codigo = null; + + /** + * Código do país de origem no formato ISO (3166-1 alfa-2).<br>Tamanho: 2<br>Formato: 'AA' + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public PaisExportadorCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class PaisExportadorCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PaisFabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PaisFabricanteCover.java new file mode 100644 index 0000000..928f584 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PaisFabricanteCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PaisFabricanteCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "PaisFabricanteCover") +/** + * País de origem do fabricante. + **/ +@ApiModel(description = "País de origem do fabricante.") +public class PaisFabricanteCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "BR", required = true, value = "Código do país de origem no formato ISO (3166-1 alfa-2).
    Tamanho: 2
    Formato: 'AA'") + /** + * Código do país de origem no formato ISO (3166-1 alfa-2).
    Tamanho: 2
    Formato: 'AA' + **/ + private String codigo = null; + + /** + * Código do país de origem no formato ISO (3166-1 alfa-2).<br>Tamanho: 2<br>Formato: 'AA' + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public PaisFabricanteCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class PaisFabricanteCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PalavraChaveDocumentoInstrucaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PalavraChaveDocumentoInstrucaoCover.java new file mode 100644 index 0000000..a6e1eb0 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PalavraChaveDocumentoInstrucaoCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PalavraChaveDocumentoInstrucaoCover", propOrder = + {"codigo", "valor" + }) + +@XmlRootElement(name = "PalavraChaveDocumentoInstrucaoCover") +/** + * Lista de palavras-chave associadas ao documento instrutivo.
    A palavra-chave obrigatória deve ser o primeiro item da lista. + **/ +@ApiModel(description = "Lista de palavras-chave associadas ao documento instrutivo.
    A palavra-chave obrigatória deve ser o primeiro item da lista.") +public class PalavraChaveDocumentoInstrucaoCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "33", value = "Código da palavra-chave no sistema Anexação.
    Domínio: Palavras-Chave existentes no sistema Anexação (E-Docex).
    Valor mínimo: 1
    Valor máximo: 999") + /** + * Código da palavra-chave no sistema Anexação.
    Domínio: Palavras-Chave existentes no sistema Anexação (E-Docex).
    Valor mínimo: 1
    Valor máximo: 999 + **/ + private Integer codigo = null; + + @XmlElement(name = "valor") + @ApiModelProperty(example = "9999.99.99", value = "Valor informado pelo importador para a palavra-chave.") + /** + * Valor informado pelo importador para a palavra-chave. + **/ + private String valor = null; + + /** + * Código da palavra-chave no sistema Anexação.<br>Domínio: Palavras-Chave existentes no sistema Anexação (E-Docex).<br>Valor mínimo: 1<br>Valor máximo: 999 + * + * @return codigo + **/ + @JsonProperty("codigo") + public Integer getCodigo() { + return codigo; + } + + public void setCodigo(Integer codigo) { + this.codigo = codigo; + } + + public PalavraChaveDocumentoInstrucaoCover codigo(Integer codigo) { + this.codigo = codigo; + return this; + } + + /** + * Valor informado pelo importador para a palavra-chave. + * + * @return valor + **/ + @JsonProperty("valor") + public String getValor() { + return valor; + } + + public void setValor(String valor) { + this.valor = valor; + } + + public PalavraChaveDocumentoInstrucaoCover valor(String valor) { + this.valor = valor; + return this; + } + + + @Override + public String toString() { + + String sb = "class PalavraChaveDocumentoInstrucaoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " valor: " + toIndentedString(valor) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ProcessoDocumentoInstrucaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ProcessoDocumentoInstrucaoCover.java new file mode 100644 index 0000000..a46a427 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ProcessoDocumentoInstrucaoCover.java @@ -0,0 +1,139 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ProcessoDocumentoInstrucaoCover", propOrder = + {"identificacao", "tipo" + }) + +@XmlRootElement(name = "ProcessoDocumentoInstrucaoCover") +/** + * Lista de processos vinculados. + **/ +@ApiModel(description = "Lista de processos vinculados.") +public class ProcessoDocumentoInstrucaoCover { + + @XmlElement(name = "identificacao") + @ApiModelProperty(example = "15595720034201371", value = "Número do Processo vinculado à Duimp.") + /** + * Número do Processo vinculado à Duimp. + **/ + private String identificacao = null; + + + @XmlType(name = "TipoEnum") + @XmlEnum(String.class) + public enum TipoEnum { + + @XmlEnumValue("ADMINISTRATIVO") + @JsonProperty("ADMINISTRATIVO") + ADMINISTRATIVO("ADMINISTRATIVO"); + + + private final String value; + + TipoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } + } + + @XmlElement(name = "tipo") + @ApiModelProperty(example = "ADMINISTRATIVO", value = "Tipo de Processo Administrativo.
    Domínio:") + /** + * Tipo de Processo Administrativo.
    Domínio: + **/ + private TipoEnum tipo = null; + + /** + * Número do Processo vinculado à Duimp. + * + * @return identificacao + **/ + @JsonProperty("identificacao") + public String getIdentificacao() { + return identificacao; + } + + public void setIdentificacao(String identificacao) { + this.identificacao = identificacao; + } + + public ProcessoDocumentoInstrucaoCover identificacao(String identificacao) { + this.identificacao = identificacao; + return this; + } + + /** + * Tipo de Processo Administrativo.<br>Domínio: + * + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public ProcessoDocumentoInstrucaoCover tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + + @Override + public String toString() { + + String sb = "class ProcessoDocumentoInstrucaoCover {\n" + + " identificacao: " + toIndentedString(identificacao) + "\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ProdutoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ProdutoCover.java new file mode 100644 index 0000000..4d827b0 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ProdutoCover.java @@ -0,0 +1,126 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ProdutoCover", propOrder = + {"codigo", "versao", "niResponsavel" + }) + +@XmlRootElement(name = "ProdutoCover") +/** + * Dados do Produto.
    Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Dados do Produto.
    Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/") +public class ProdutoCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "10", value = "Código do produto.
    Formato: Inteiro, com até 10 dígitos") + /** + * Código do produto.
    Formato: Inteiro, com até 10 dígitos + **/ + private Integer codigo = null; + + @XmlElement(name = "versao") + @ApiModelProperty(example = "1", value = "Versão do produto.
    Tamanho mínimo: 1
    Tamanho máximo: 7") + /** + * Versão do produto.
    Tamanho mínimo: 1
    Tamanho máximo: 7 + **/ + private String versao = null; + + @XmlElement(name = "niResponsavel") + @ApiModelProperty(example = "00000000", value = "
    Número de Identificação:
    Caso seja CNPJ (Raiz):
    Tamanho: 8
    Formato: 'NNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + /** + *
    Número de Identificação:
    Caso seja CNPJ (Raiz):
    Tamanho: 8
    Formato: 'NNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + **/ + private String niResponsavel = null; + + /** + * Código do produto.<br>Formato: Inteiro, com até 10 dígitos + * + * @return codigo + **/ + @JsonProperty("codigo") + public Integer getCodigo() { + return codigo; + } + + public void setCodigo(Integer codigo) { + this.codigo = codigo; + } + + public ProdutoCover codigo(Integer codigo) { + this.codigo = codigo; + return this; + } + + /** + * Versão do produto.<br>Tamanho mínimo: 1<br>Tamanho máximo: 7 + * + * @return versao + **/ + @JsonProperty("versao") + public String getVersao() { + return versao; + } + + public void setVersao(String versao) { + this.versao = versao; + } + + public ProdutoCover versao(String versao) { + this.versao = versao; + return this; + } + + /** + * <br>Número de Identificação: <br>Caso seja CNPJ (Raiz): <br>Tamanho: 8<br>Formato: 'NNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN' + * + * @return niResponsavel + **/ + @JsonProperty("niResponsavel") + public String getNiResponsavel() { + return niResponsavel; + } + + public void setNiResponsavel(String niResponsavel) { + this.niResponsavel = niResponsavel; + } + + public ProdutoCover niResponsavel(String niResponsavel) { + this.niResponsavel = niResponsavel; + return this; + } + + + @Override + public String toString() { + + String sb = "class ProdutoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " versao: " + toIndentedString(versao) + "\n" + + " niResponsavel: " + toIndentedString(niResponsavel) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RegimeCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RegimeCover.java new file mode 100644 index 0000000..368c00d --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RegimeCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RegimeCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "RegimeCover") +/** + * Regime tributário. + **/ +@ApiModel(description = "Regime tributário.") +public class RegimeCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "1", required = true, value = "Código do regime tributário.
    Dominio: Regimes tributários existentes no sistema Tratamento Tributário.") + /** + * Código do regime tributário.
    Dominio: Regimes tributários existentes no sistema Tratamento Tributário. + **/ + private Integer codigo = null; + + /** + * Código do regime tributário.<br>Dominio: Regimes tributários existentes no sistema Tratamento Tributário. + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public Integer getCodigo() { + return codigo; + } + + public void setCodigo(Integer codigo) { + this.codigo = codigo; + } + + public RegimeCover codigo(Integer codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class RegimeCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RegistroCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RegistroCover.java new file mode 100644 index 0000000..6802a02 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RegistroCover.java @@ -0,0 +1,179 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.ArrayList; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RegistroCover", propOrder = + {"totalItem", "pagamentos", "confirmacaoAlertaErrosNaoImpeditivos" + }) + +@XmlRootElement(name = "RegistroCover") +public class RegistroCover { + + @XmlElement(name = "totalItem", required = true) + @ApiModelProperty(example = "3", required = true, value = "Número total de itens já enviados e salvos.
    Formato: Inteiro, com até 5 dígitos
    Valor mínimo: 0
    Valor máximo: 99999") + /** + * Número total de itens já enviados e salvos.
    Formato: Inteiro, com até 5 dígitos
    Valor mínimo: 0
    Valor máximo: 99999 + **/ + private Integer totalItem = null; + + @XmlElement(name = "pagamentos", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private List pagamentos = new ArrayList<>(); + + + @XmlType(name = "ConfirmacaoAlertaErrosNaoImpeditivosEnum") + @XmlEnum(String.class) + public enum ConfirmacaoAlertaErrosNaoImpeditivosEnum { + + @XmlEnumValue("SIM") + @JsonProperty("SIM") + SIM("SIM"), + + @XmlEnumValue("NAO") + @JsonProperty("NAO") + NAO("NAO"), + + @XmlEnumValue("NA") + @JsonProperty("NA") + NA("NA"); + + + private final String value; + + ConfirmacaoAlertaErrosNaoImpeditivosEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConfirmacaoAlertaErrosNaoImpeditivosEnum fromValue(String v) { + for (ConfirmacaoAlertaErrosNaoImpeditivosEnum b : ConfirmacaoAlertaErrosNaoImpeditivosEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to ConfirmacaoAlertaErrosNaoImpeditivosEnum"); + } + } + + @XmlElement(name = "confirmacaoAlertaErrosNaoImpeditivos", required = true) + @ApiModelProperty(example = "SIM", required = true, value = "Indica se a Duimp deve ser registrada mesmo com a existência de erros não impeditivos.
    Domínio:") + /** + * Indica se a Duimp deve ser registrada mesmo com a existência de erros não impeditivos.
    Domínio: + **/ + private ConfirmacaoAlertaErrosNaoImpeditivosEnum confirmacaoAlertaErrosNaoImpeditivos = null; + + /** + * Número total de itens já enviados e salvos.<br>Formato: Inteiro, com até 5 dígitos<br>Valor mínimo: 0<br>Valor máximo: 99999 + * + * @return totalItem + **/ + @JsonProperty("totalItem") + @NotNull + public Integer getTotalItem() { + return totalItem; + } + + public void setTotalItem(Integer totalItem) { + this.totalItem = totalItem; + } + + public RegistroCover totalItem(Integer totalItem) { + this.totalItem = totalItem; + return this; + } + + /** + * Get pagamentos + * + * @return pagamentos + **/ + @JsonProperty("pagamentos") + @NotNull + public List getPagamentos() { + return pagamentos; + } + + public void setPagamentos(List pagamentos) { + this.pagamentos = pagamentos; + } + + public RegistroCover pagamentos(List pagamentos) { + this.pagamentos = pagamentos; + return this; + } + + public RegistroCover addPagamentosItem(PagamentoRegistroCover pagamentosItem) { + this.pagamentos.add(pagamentosItem); + return this; + } + + /** + * Indica se a Duimp deve ser registrada mesmo com a existência de erros não impeditivos.<br>Domínio: + * + * @return confirmacaoAlertaErrosNaoImpeditivos + **/ + @JsonProperty("confirmacaoAlertaErrosNaoImpeditivos") + @NotNull + public String getConfirmacaoAlertaErrosNaoImpeditivos() { + if (confirmacaoAlertaErrosNaoImpeditivos == null) { + return null; + } + return confirmacaoAlertaErrosNaoImpeditivos.value(); + } + + public void setConfirmacaoAlertaErrosNaoImpeditivos(ConfirmacaoAlertaErrosNaoImpeditivosEnum confirmacaoAlertaErrosNaoImpeditivos) { + this.confirmacaoAlertaErrosNaoImpeditivos = confirmacaoAlertaErrosNaoImpeditivos; + } + + public RegistroCover confirmacaoAlertaErrosNaoImpeditivos(ConfirmacaoAlertaErrosNaoImpeditivosEnum confirmacaoAlertaErrosNaoImpeditivos) { + this.confirmacaoAlertaErrosNaoImpeditivos = confirmacaoAlertaErrosNaoImpeditivos; + return this; + } + + + @Override + public String toString() { + + String sb = "class RegistroCover {\n" + + " totalItem: " + toIndentedString(totalItem) + "\n" + + " pagamentos: " + toIndentedString(pagamentos) + "\n" + + " confirmacaoAlertaErrosNaoImpeditivos: " + toIndentedString(confirmacaoAlertaErrosNaoImpeditivos) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RespostaApiErro.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RespostaApiErro.java new file mode 100644 index 0000000..160047b --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RespostaApiErro.java @@ -0,0 +1,127 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RespostaApiErro", propOrder = + {"message", "identificacao", "errors" + }) + +@XmlRootElement(name = "RespostaApiErro") +public class RespostaApiErro { + + @XmlElement(name = "message") + @ApiModelProperty(example = "Mensagem de exemplo.", value = "Mensagem de resposta do resultado da operação.") + /** + * Mensagem de resposta do resultado da operação. + **/ + private String message = null; + + @XmlElement(name = "identificacao") + @ApiModelProperty(value = "") + @Valid + private IdentificacaoDuimpRespostaApi identificacao = null; + + @XmlElement(name = "errors") + @ApiModelProperty(value = "Conjunto de erros de validação dos campos. Devolvido apenas para erros HTTP 422.
    Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422
    Quando houver mais de um erro, essa lista será preenchida com cada um dos erros
    Exemplo: A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item.") + @Valid + /** + * Conjunto de erros de validação dos campos. Devolvido apenas para erros HTTP 422.
    Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422
    Quando houver mais de um erro, essa lista será preenchida com cada um dos erros
    Exemplo: A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item. + **/ + private List errors = null; + + /** + * Mensagem de resposta do resultado da operação. + * + * @return message + **/ + @JsonProperty("message") + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public RespostaApiErro message(String message) { + this.message = message; + return this; + } + + /** + * Get identificacao + * + * @return identificacao + **/ + @JsonProperty("identificacao") + public IdentificacaoDuimpRespostaApi getIdentificacao() { + return identificacao; + } + + public void setIdentificacao(IdentificacaoDuimpRespostaApi identificacao) { + this.identificacao = identificacao; + } + + public RespostaApiErro identificacao(IdentificacaoDuimpRespostaApi identificacao) { + this.identificacao = identificacao; + return this; + } + + /** + * Conjunto de erros de validação dos campos. Devolvido apenas para erros HTTP 422. <br> Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422<br> Quando houver mais de um erro, essa lista será preenchida com cada um dos erros<br> <b>Exemplo:</b> A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item. + * + * @return errors + **/ + @JsonProperty("errors") + public List getErrors() { + return errors; + } + + public void setErrors(List errors) { + this.errors = errors; + } + + public RespostaApiErro errors(List errors) { + this.errors = errors; + return this; + } + + public RespostaApiErro addErrorsItem(DuimpApiMessageCover errorsItem) { + this.errors.add(errorsItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class RespostaApiErro {\n" + + " message: " + toIndentedString(message) + "\n" + + " identificacao: " + toIndentedString(identificacao) + "\n" + + " errors: " + toIndentedString(errors) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroCover.java new file mode 100644 index 0000000..dc8939b --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SeguroCover", propOrder = + {"codigoMoedaNegociada", "valorMoedaNegociada" + }) + +@XmlRootElement(name = "SeguroCover") +/** + * Dados do seguro. + **/ +@ApiModel(description = "Dados do seguro.") +public class SeguroCover { + + @XmlElement(name = "codigoMoedaNegociada") + @ApiModelProperty(example = "USD", value = "Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
    Tamanho: 3
    Formato: 'AAA'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
    Tamanho: 3
    Formato: 'AAA'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private String codigoMoedaNegociada = null; + + @XmlElement(name = "valorMoedaNegociada") + @ApiModelProperty(example = "30.12", value = "Valor do seguro na moeda negociada.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + /** + * Valor do seguro na moeda negociada.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private Double valorMoedaNegociada = null; + + /** + * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return codigoMoedaNegociada + **/ + @JsonProperty("codigoMoedaNegociada") + public String getCodigoMoedaNegociada() { + return codigoMoedaNegociada; + } + + public void setCodigoMoedaNegociada(String codigoMoedaNegociada) { + this.codigoMoedaNegociada = codigoMoedaNegociada; + } + + public SeguroCover codigoMoedaNegociada(String codigoMoedaNegociada) { + this.codigoMoedaNegociada = codigoMoedaNegociada; + return this; + } + + /** + * Valor do seguro na moeda negociada.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return valorMoedaNegociada + **/ + @JsonProperty("valorMoedaNegociada") + public Double getValorMoedaNegociada() { + return valorMoedaNegociada; + } + + public void setValorMoedaNegociada(Double valorMoedaNegociada) { + this.valorMoedaNegociada = valorMoedaNegociada; + } + + public SeguroCover valorMoedaNegociada(Double valorMoedaNegociada) { + this.valorMoedaNegociada = valorMoedaNegociada; + return this; + } + + + @Override + public String toString() { + + String sb = "class SeguroCover {\n" + + " codigoMoedaNegociada: " + toIndentedString(codigoMoedaNegociada) + "\n" + + " valorMoedaNegociada: " + toIndentedString(valorMoedaNegociada) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroValoresCalculadosDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroValoresCalculadosDuimpCover.java new file mode 100644 index 0000000..134614a --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroValoresCalculadosDuimpCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SeguroValoresCalculadosDuimpCover", propOrder = + {"valorTotalBRL" + }) + +@XmlRootElement(name = "SeguroValoresCalculadosDuimpCover") +/** + * Dados do seguro. + **/ +@ApiModel(description = "Dados do seguro.") +public class SeguroValoresCalculadosDuimpCover { + + @XmlElement(name = "valorTotalBRL") + @ApiModelProperty(example = "120.48", value = "Valor do seguro em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor do seguro em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double valorTotalBRL = null; + + /** + * Valor do seguro em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorTotalBRL + **/ + @JsonProperty("valorTotalBRL") + public Double getValorTotalBRL() { + return valorTotalBRL; + } + + public void setValorTotalBRL(Double valorTotalBRL) { + this.valorTotalBRL = valorTotalBRL; + } + + public SeguroValoresCalculadosDuimpCover valorTotalBRL(Double valorTotalBRL) { + this.valorTotalBRL = valorTotalBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class SeguroValoresCalculadosDuimpCover {\n" + + " valorTotalBRL: " + toIndentedString(valorTotalBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroValoresCalculadosItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroValoresCalculadosItemCover.java new file mode 100644 index 0000000..b02780d --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroValoresCalculadosItemCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SeguroValoresCalculadosItemCover", propOrder = + {"valorBRL" + }) + +@XmlRootElement(name = "SeguroValoresCalculadosItemCover") +/** + * Valor do seguro. + **/ +@ApiModel(description = "Valor do seguro.") +public class SeguroValoresCalculadosItemCover { + + @XmlElement(name = "valorBRL") + @ApiModelProperty(example = "120.48", value = "Valor do seguro em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor do seguro em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double valorBRL = null; + + /** + * Valor do seguro em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorBRL + **/ + @JsonProperty("valorBRL") + public Double getValorBRL() { + return valorBRL; + } + + public void setValorBRL(Double valorBRL) { + this.valorBRL = valorBRL; + } + + public SeguroValoresCalculadosItemCover valorBRL(Double valorBRL) { + this.valorBRL = valorBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class SeguroValoresCalculadosItemCover {\n" + + " valorBRL: " + toIndentedString(valorBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TipoAplicacaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TipoAplicacaoCover.java new file mode 100644 index 0000000..1a1d6e6 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TipoAplicacaoCover.java @@ -0,0 +1,130 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TipoAplicacaoCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "TipoAplicacaoCover") +/** + * Destinação da mercadoria. + **/ +@ApiModel(description = "Destinação da mercadoria.") +public class TipoAplicacaoCover { + + + @XmlType(name = "CodigoEnum") + @XmlEnum(String.class) + public enum CodigoEnum { + + @XmlEnumValue("CONSUMO") + @JsonProperty("CONSUMO") + CONSUMO("CONSUMO"), + + @XmlEnumValue("INCORPORACAO_ATIVO_FIXO") + @JsonProperty("INCORPORACAO_ATIVO_FIXO") + INCORPORACAO_ATIVO_FIXO("INCORPORACAO_ATIVO_FIXO"), + + @XmlEnumValue("INDUSTRIALIZACAO") + @JsonProperty("INDUSTRIALIZACAO") + INDUSTRIALIZACAO("INDUSTRIALIZACAO"), + + @XmlEnumValue("REVENDA") + @JsonProperty("REVENDA") + REVENDA("REVENDA"), + + @XmlEnumValue("OUTRA") + @JsonProperty("OUTRA") + OUTRA("OUTRA"); + + + private final String value; + + CodigoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CodigoEnum fromValue(String v) { + for (CodigoEnum b : CodigoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum"); + } + } + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "CONSUMO", required = true, value = "Destinação da mercadoria de acordo com o domínio a seguir.
    Domínio:") + /** + * Destinação da mercadoria de acordo com o domínio a seguir.
    Domínio: + **/ + private CodigoEnum codigo = null; + + /** + * Destinação da mercadoria de acordo com o domínio a seguir.<br>Domínio: + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + if (codigo == null) { + return null; + } + return codigo.value(); + } + + public void setCodigo(CodigoEnum codigo) { + this.codigo = codigo; + } + + public TipoAplicacaoCover codigo(CodigoEnum codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class TipoAplicacaoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TipoDocumentoInstrucaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TipoDocumentoInstrucaoCover.java new file mode 100644 index 0000000..74d5f4b --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TipoDocumentoInstrucaoCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TipoDocumentoInstrucaoCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "TipoDocumentoInstrucaoCover") +/** + * Tipo do documento instrutivo para despacho. + **/ +@ApiModel(description = "Tipo do documento instrutivo para despacho.") +public class TipoDocumentoInstrucaoCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "99", required = true, value = "Código do Tipo de Documento no sistema Anexação (E-Docex).
    Domínio: Tipos de Documento existentes no sistema Anexação (E-Docex).
    Valor mínimo: 1
    Valor máximo: 999") + /** + * Código do Tipo de Documento no sistema Anexação (E-Docex).
    Domínio: Tipos de Documento existentes no sistema Anexação (E-Docex).
    Valor mínimo: 1
    Valor máximo: 999 + **/ + private String codigo = null; + + /** + * Código do Tipo de Documento no sistema Anexação (E-Docex).<br>Domínio: Tipos de Documento existentes no sistema Anexação (E-Docex).<br>Valor mínimo: 1<br>Valor máximo: 999 + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public TipoDocumentoInstrucaoCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class TipoDocumentoInstrucaoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCalculadoDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCalculadoDuimpCover.java new file mode 100644 index 0000000..641f87d --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCalculadoDuimpCover.java @@ -0,0 +1,170 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TributoCalculadoDuimpCover", propOrder = + {"tipo", "valoresBRL" + }) + +@XmlRootElement(name = "TributoCalculadoDuimpCover") +/** + * Valores do cálculo do tributo e a memória de cálculo. + **/ +@ApiModel(description = "Valores do cálculo do tributo e a memória de cálculo.") +public class TributoCalculadoDuimpCover { + + + @XmlType(name = "TipoEnum") + @XmlEnum(String.class) + public enum TipoEnum { + + @XmlEnumValue("II") + @JsonProperty("II") + II("II"), + + @XmlEnumValue("IPI") + @JsonProperty("IPI") + IPI("IPI"), + + @XmlEnumValue("PIS") + @JsonProperty("PIS") + PIS("PIS"), + + @XmlEnumValue("COFINS") + @JsonProperty("COFINS") + COFINS("COFINS"), + + @XmlEnumValue("CIDE") + @JsonProperty("CIDE") + CIDE("CIDE"), + + @XmlEnumValue("ANTIDUMPING") + @JsonProperty("ANTIDUMPING") + ANTIDUMPING("ANTIDUMPING"), + + @XmlEnumValue("MULTA_COM_REDUCAO") + @JsonProperty("MULTA_COM_REDUCAO") + MULTA_COM_REDUCAO("MULTA_COM_REDUCAO"), + + @XmlEnumValue("MULTA_SEM_REDUCAO") + @JsonProperty("MULTA_SEM_REDUCAO") + MULTA_SEM_REDUCAO("MULTA_SEM_REDUCAO"), + + @XmlEnumValue("TAXA_UTILIZACAO") + @JsonProperty("TAXA_UTILIZACAO") + TAXA_UTILIZACAO("TAXA_UTILIZACAO"); + + + private final String value; + + TipoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } + } + + @XmlElement(name = "tipo") + @ApiModelProperty(example = "II", value = "Tipo de impostos (códigos de receita principal únicos).
    Domínio:") + /** + * Tipo de impostos (códigos de receita principal únicos).
    Domínio: + **/ + private TipoEnum tipo = null; + + @XmlElement(name = "valoresBRL") + @ApiModelProperty(value = "") + @Valid + private ValoresTributoDuimpCover valoresBRL = null; + + /** + * Tipo de impostos (códigos de receita principal únicos).<br>Domínio: + * + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public TributoCalculadoDuimpCover tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Get valoresBRL + * + * @return valoresBRL + **/ + @JsonProperty("valoresBRL") + public ValoresTributoDuimpCover getValoresBRL() { + return valoresBRL; + } + + public void setValoresBRL(ValoresTributoDuimpCover valoresBRL) { + this.valoresBRL = valoresBRL; + } + + public TributoCalculadoDuimpCover valoresBRL(ValoresTributoDuimpCover valoresBRL) { + this.valoresBRL = valoresBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class TributoCalculadoDuimpCover {\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + " valoresBRL: " + toIndentedString(valoresBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCalculadoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCalculadoItemCover.java new file mode 100644 index 0000000..438701c --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCalculadoItemCover.java @@ -0,0 +1,195 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TributoCalculadoItemCover", propOrder = + {"tipo", "valoresBRL", "memoriaCalculo" + }) + +@XmlRootElement(name = "TributoCalculadoItemCover") +/** + * Valores do cálculo do tributo e a memória de cálculo. + **/ +@ApiModel(description = "Valores do cálculo do tributo e a memória de cálculo.") +public class TributoCalculadoItemCover { + + + @XmlType(name = "TipoEnum") + @XmlEnum(String.class) + public enum TipoEnum { + + @XmlEnumValue("II") + @JsonProperty("II") + II("II"), + + @XmlEnumValue("IPI") + @JsonProperty("IPI") + IPI("IPI"), + + @XmlEnumValue("PIS") + @JsonProperty("PIS") + PIS("PIS"), + + @XmlEnumValue("COFINS") + @JsonProperty("COFINS") + COFINS("COFINS"), + + @XmlEnumValue("CIDE") + @JsonProperty("CIDE") + CIDE("CIDE"), + + @XmlEnumValue("ANTIDUMPING") + @JsonProperty("ANTIDUMPING") + ANTIDUMPING("ANTIDUMPING"), + + @XmlEnumValue("MULTA_COM_REDUCAO") + @JsonProperty("MULTA_COM_REDUCAO") + MULTA_COM_REDUCAO("MULTA_COM_REDUCAO"), + + @XmlEnumValue("MULTA_SEM_REDUCAO") + @JsonProperty("MULTA_SEM_REDUCAO") + MULTA_SEM_REDUCAO("MULTA_SEM_REDUCAO"), + + @XmlEnumValue("TAXA_UTILIZACAO") + @JsonProperty("TAXA_UTILIZACAO") + TAXA_UTILIZACAO("TAXA_UTILIZACAO"); + + + private final String value; + + TipoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } + } + + @XmlElement(name = "tipo") + @ApiModelProperty(example = "II", value = "Tipo de impostos (códigos de receita principal únicos).
    Domínio:") + /** + * Tipo de impostos (códigos de receita principal únicos).
    Domínio: + **/ + private TipoEnum tipo = null; + + @XmlElement(name = "valoresBRL") + @ApiModelProperty(value = "") + @Valid + private ValoresTributoItemCover valoresBRL = null; + + @XmlElement(name = "memoriaCalculo") + @ApiModelProperty(value = "") + @Valid + private MemoriaCalculoItemCover memoriaCalculo = null; + + /** + * Tipo de impostos (códigos de receita principal únicos).<br>Domínio: + * + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public TributoCalculadoItemCover tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Get valoresBRL + * + * @return valoresBRL + **/ + @JsonProperty("valoresBRL") + public ValoresTributoItemCover getValoresBRL() { + return valoresBRL; + } + + public void setValoresBRL(ValoresTributoItemCover valoresBRL) { + this.valoresBRL = valoresBRL; + } + + public TributoCalculadoItemCover valoresBRL(ValoresTributoItemCover valoresBRL) { + this.valoresBRL = valoresBRL; + return this; + } + + /** + * Get memoriaCalculo + * + * @return memoriaCalculo + **/ + @JsonProperty("memoriaCalculo") + public MemoriaCalculoItemCover getMemoriaCalculo() { + return memoriaCalculo; + } + + public void setMemoriaCalculo(MemoriaCalculoItemCover memoriaCalculo) { + this.memoriaCalculo = memoriaCalculo; + } + + public TributoCalculadoItemCover memoriaCalculo(MemoriaCalculoItemCover memoriaCalculo) { + this.memoriaCalculo = memoriaCalculo; + return this; + } + + + @Override + public String toString() { + + String sb = "class TributoCalculadoItemCover {\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + " valoresBRL: " + toIndentedString(valoresBRL) + "\n" + + " memoriaCalculo: " + toIndentedString(memoriaCalculo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCover.java new file mode 100644 index 0000000..07686b8 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCover.java @@ -0,0 +1,144 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TributoCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "TributoCover") +/** + * Dados de um tributo. + **/ +@ApiModel(description = "Dados de um tributo.") +public class TributoCover { + + + @XmlType(name = "CodigoEnum") + @XmlEnum(String.class) + public enum CodigoEnum { + + @XmlEnumValue("II") + @JsonProperty("II") + II("II"), + + @XmlEnumValue("IPI") + @JsonProperty("IPI") + IPI("IPI"), + + @XmlEnumValue("PIS") + @JsonProperty("PIS") + PIS("PIS"), + + @XmlEnumValue("COFINS") + @JsonProperty("COFINS") + COFINS("COFINS"), + + @XmlEnumValue("CIDE") + @JsonProperty("CIDE") + CIDE("CIDE"), + + @XmlEnumValue("ANTIDUMPING") + @JsonProperty("ANTIDUMPING") + ANTIDUMPING("ANTIDUMPING"), + + @XmlEnumValue("MEDIDAS") + @JsonProperty("MEDIDAS") + MEDIDAS("MEDIDAS"), + + @XmlEnumValue("SALVAGUARDA") + @JsonProperty("SALVAGUARDA") + SALVAGUARDA("SALVAGUARDA"), + + @XmlEnumValue("MULTA") + @JsonProperty("MULTA") + MULTA("MULTA"); + + + private final String value; + + CodigoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CodigoEnum fromValue(String v) { + for (CodigoEnum b : CodigoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum"); + } + } + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "IPI", value = "Código do regime tributário.
    Domínio:") + /** + * Código do regime tributário.
    Domínio: + **/ + private CodigoEnum codigo = null; + + /** + * Código do regime tributário.<br>Domínio: + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + if (codigo == null) { + return null; + } + return codigo.value(); + } + + public void setCodigo(CodigoEnum codigo) { + this.codigo = codigo; + } + + public TributoCover codigo(CodigoEnum codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class TributoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoItemCover.java new file mode 100644 index 0000000..7b37a29 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoItemCover.java @@ -0,0 +1,152 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TributoItemCover", propOrder = + {"tributo", "regime", "fundamento", "atributos" + }) + +@XmlRootElement(name = "TributoItemCover") +/** + * Lista de Tributos.
    Origem: Sistema Tratamento Tributário - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Lista de Tributos.
    Origem: Sistema Tratamento Tributário - https://api-docs.portalunico.siscomex.gov.br/") +public class TributoItemCover { + + @XmlElement(name = "tributo") + @ApiModelProperty(value = "") + @Valid + private TributoCover tributo = null; + + @XmlElement(name = "regime") + @ApiModelProperty(value = "") + @Valid + private RegimeCover regime = null; + + @XmlElement(name = "fundamento") + @ApiModelProperty(value = "") + @Valid + private FundamentoCover fundamento = null; + + @XmlElement(name = "atributos") + @ApiModelProperty(value = "") + @Valid + private List atributos = null; + + /** + * Get tributo + * + * @return tributo + **/ + @JsonProperty("tributo") + public TributoCover getTributo() { + return tributo; + } + + public void setTributo(TributoCover tributo) { + this.tributo = tributo; + } + + public TributoItemCover tributo(TributoCover tributo) { + this.tributo = tributo; + return this; + } + + /** + * Get regime + * + * @return regime + **/ + @JsonProperty("regime") + public RegimeCover getRegime() { + return regime; + } + + public void setRegime(RegimeCover regime) { + this.regime = regime; + } + + public TributoItemCover regime(RegimeCover regime) { + this.regime = regime; + return this; + } + + /** + * Get fundamento + * + * @return fundamento + **/ + @JsonProperty("fundamento") + public FundamentoCover getFundamento() { + return fundamento; + } + + public void setFundamento(FundamentoCover fundamento) { + this.fundamento = fundamento; + } + + public TributoItemCover fundamento(FundamentoCover fundamento) { + this.fundamento = fundamento; + return this; + } + + /** + * Get atributos + * + * @return atributos + **/ + @JsonProperty("atributos") + public List getAtributos() { + return atributos; + } + + public void setAtributos(List atributos) { + this.atributos = atributos; + } + + public TributoItemCover atributos(List atributos) { + this.atributos = atributos; + return this; + } + + public TributoItemCover addAtributosItem(AtributoTributoCover atributosItem) { + this.atributos.add(atributosItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class TributoItemCover {\n" + + " tributo: " + toIndentedString(tributo) + "\n" + + " regime: " + toIndentedString(regime) + "\n" + + " fundamento: " + toIndentedString(fundamento) + "\n" + + " atributos: " + toIndentedString(atributos) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoPagamentoRegistroCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoPagamentoRegistroCover.java new file mode 100644 index 0000000..a05b2b4 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoPagamentoRegistroCover.java @@ -0,0 +1,146 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TributoPagamentoRegistroCover", propOrder = + {"tipo" + }) + +@XmlRootElement(name = "TributoPagamentoRegistroCover") +/** + * Tipo de tributo. + **/ +@ApiModel(description = "Tipo de tributo.") +public class TributoPagamentoRegistroCover { + + + @XmlType(name = "TipoEnum") + @XmlEnum(String.class) + public enum TipoEnum { + + @XmlEnumValue("II") + @JsonProperty("II") + II("II"), + + @XmlEnumValue("IPI") + @JsonProperty("IPI") + IPI("IPI"), + + @XmlEnumValue("PIS") + @JsonProperty("PIS") + PIS("PIS"), + + @XmlEnumValue("COFINS") + @JsonProperty("COFINS") + COFINS("COFINS"), + + @XmlEnumValue("CIDE") + @JsonProperty("CIDE") + CIDE("CIDE"), + + @XmlEnumValue("ANTIDUMPING") + @JsonProperty("ANTIDUMPING") + ANTIDUMPING("ANTIDUMPING"), + + @XmlEnumValue("MEDIDAS") + @JsonProperty("MEDIDAS") + MEDIDAS("MEDIDAS"), + + @XmlEnumValue("SALVAGUARDA") + @JsonProperty("SALVAGUARDA") + SALVAGUARDA("SALVAGUARDA"), + + @XmlEnumValue("MULTA") + @JsonProperty("MULTA") + MULTA("MULTA"); + + + private final String value; + + TipoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } + } + + @XmlElement(name = "tipo", required = true) + @ApiModelProperty(example = "IPI", required = true, value = "Código do tipo de tributo.
    Domínio:") + /** + * Código do tipo de tributo.
    Domínio: + **/ + private TipoEnum tipo = null; + + /** + * Código do tipo de tributo.<br>Domínio: + * + * @return tipo + **/ + @JsonProperty("tipo") + @NotNull + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public TributoPagamentoRegistroCover tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + + @Override + public String toString() { + + String sb = "class TributoPagamentoRegistroCover {\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/UnidadeDeclaradaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/UnidadeDeclaradaCover.java new file mode 100644 index 0000000..662ebb1 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/UnidadeDeclaradaCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UnidadeDeclaradaCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "UnidadeDeclaradaCover") +/** + * Unidade de Despacho. + **/ +@ApiModel(description = "Unidade de Despacho.") +public class UnidadeDeclaradaCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "7912001", required = true, value = "Código da unidade da RFB na qual as mercadorias acobertadas pela Duimp serão submetidas a conferência aduaneira.
    Tamanho: 7
    Formato: 'NNNNNNN'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código da unidade da RFB na qual as mercadorias acobertadas pela Duimp serão submetidas a conferência aduaneira.
    Tamanho: 7
    Formato: 'NNNNNNN'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private String codigo = null; + + /** + * Código da unidade da RFB na qual as mercadorias acobertadas pela Duimp serão submetidas a conferência aduaneira.<br>Tamanho: 7<br>Formato: 'NNNNNNN'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public UnidadeDeclaradaCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class UnidadeDeclaradaCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValorPagamentoRegistroCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValorPagamentoRegistroCover.java new file mode 100644 index 0000000..d5cf728 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValorPagamentoRegistroCover.java @@ -0,0 +1,129 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValorPagamentoRegistroCover", propOrder = + {"tributo", "valor", "juros" + }) + +@XmlRootElement(name = "ValorPagamentoRegistroCover") +/** + * Dados do tributo principal. + **/ +@ApiModel(description = "Dados do tributo principal.") +public class ValorPagamentoRegistroCover { + + @XmlElement(name = "tributo", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private TributoPagamentoRegistroCover tributo = null; + + @XmlElement(name = "valor", required = true) + @ApiModelProperty(example = "10.12", required = true, value = "Valor do pagamento principal em R$ (Reais).
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + /** + * Valor do pagamento principal em R$ (Reais).
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private Double valor = null; + + @XmlElement(name = "juros", required = true) + @ApiModelProperty(example = "10.12", required = true, value = "Valor do pagamento de juros em R$ (Reais).
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + /** + * Valor do pagamento de juros em R$ (Reais).
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private Double juros = null; + + /** + * Get tributo + * + * @return tributo + **/ + @JsonProperty("tributo") + @NotNull + public TributoPagamentoRegistroCover getTributo() { + return tributo; + } + + public void setTributo(TributoPagamentoRegistroCover tributo) { + this.tributo = tributo; + } + + public ValorPagamentoRegistroCover tributo(TributoPagamentoRegistroCover tributo) { + this.tributo = tributo; + return this; + } + + /** + * Valor do pagamento principal em R$ (Reais).<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return valor + **/ + @JsonProperty("valor") + @NotNull + public Double getValor() { + return valor; + } + + public void setValor(Double valor) { + this.valor = valor; + } + + public ValorPagamentoRegistroCover valor(Double valor) { + this.valor = valor; + return this; + } + + /** + * Valor do pagamento de juros em R$ (Reais).<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return juros + **/ + @JsonProperty("juros") + @NotNull + public Double getJuros() { + return juros; + } + + public void setJuros(Double juros) { + this.juros = juros; + } + + public ValorPagamentoRegistroCover juros(Double juros) { + this.juros = juros; + return this; + } + + + @Override + public String toString() { + + String sb = "class ValorPagamentoRegistroCover {\n" + + " tributo: " + toIndentedString(tributo) + "\n" + + " valor: " + toIndentedString(valor) + "\n" + + " juros: " + toIndentedString(juros) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresCalculadosDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresCalculadosDuimpCover.java new file mode 100644 index 0000000..92ec63a --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresCalculadosDuimpCover.java @@ -0,0 +1,177 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValoresCalculadosDuimpCover", propOrder = + {"identificacao", "carga", "adicoes", "mercadoriaLocalEmbarque", "tributosCalculados" + }) + +@XmlRootElement(name = "ValoresCalculadosDuimpCover") +public class ValoresCalculadosDuimpCover { + + @XmlElement(name = "identificacao") + @ApiModelProperty(value = "") + @Valid + private IdentificadorDuimpCover identificacao = null; + + @XmlElement(name = "carga") + @ApiModelProperty(value = "") + @Valid + private CargaValoresCalculadosDuimpCover carga = null; + + @XmlElement(name = "adicoes") + @ApiModelProperty(value = "") + @Valid + private List adicoes = null; + + @XmlElement(name = "mercadoriaLocalEmbarque") + @ApiModelProperty(value = "") + @Valid + private MercadoriaLocalEmbarqueCover mercadoriaLocalEmbarque = null; + + @XmlElement(name = "tributosCalculados") + @ApiModelProperty(value = "") + @Valid + private List tributosCalculados = null; + + /** + * Get identificacao + * + * @return identificacao + **/ + @JsonProperty("identificacao") + public IdentificadorDuimpCover getIdentificacao() { + return identificacao; + } + + public void setIdentificacao(IdentificadorDuimpCover identificacao) { + this.identificacao = identificacao; + } + + public ValoresCalculadosDuimpCover identificacao(IdentificadorDuimpCover identificacao) { + this.identificacao = identificacao; + return this; + } + + /** + * Get carga + * + * @return carga + **/ + @JsonProperty("carga") + public CargaValoresCalculadosDuimpCover getCarga() { + return carga; + } + + public void setCarga(CargaValoresCalculadosDuimpCover carga) { + this.carga = carga; + } + + public ValoresCalculadosDuimpCover carga(CargaValoresCalculadosDuimpCover carga) { + this.carga = carga; + return this; + } + + /** + * Get adicoes + * + * @return adicoes + **/ + @JsonProperty("adicoes") + public List getAdicoes() { + return adicoes; + } + + public void setAdicoes(List adicoes) { + this.adicoes = adicoes; + } + + public ValoresCalculadosDuimpCover adicoes(List adicoes) { + this.adicoes = adicoes; + return this; + } + + public ValoresCalculadosDuimpCover addAdicoesItem(AdicaoValoresCalculadosDuimpCover adicoesItem) { + this.adicoes.add(adicoesItem); + return this; + } + + /** + * Get mercadoriaLocalEmbarque + * + * @return mercadoriaLocalEmbarque + **/ + @JsonProperty("mercadoriaLocalEmbarque") + public MercadoriaLocalEmbarqueCover getMercadoriaLocalEmbarque() { + return mercadoriaLocalEmbarque; + } + + public void setMercadoriaLocalEmbarque(MercadoriaLocalEmbarqueCover mercadoriaLocalEmbarque) { + this.mercadoriaLocalEmbarque = mercadoriaLocalEmbarque; + } + + public ValoresCalculadosDuimpCover mercadoriaLocalEmbarque(MercadoriaLocalEmbarqueCover mercadoriaLocalEmbarque) { + this.mercadoriaLocalEmbarque = mercadoriaLocalEmbarque; + return this; + } + + /** + * Get tributosCalculados + * + * @return tributosCalculados + **/ + @JsonProperty("tributosCalculados") + public List getTributosCalculados() { + return tributosCalculados; + } + + public void setTributosCalculados(List tributosCalculados) { + this.tributosCalculados = tributosCalculados; + } + + public ValoresCalculadosDuimpCover tributosCalculados(List tributosCalculados) { + this.tributosCalculados = tributosCalculados; + return this; + } + + public ValoresCalculadosDuimpCover addTributosCalculadosItem(TributoCalculadoDuimpCover tributosCalculadosItem) { + this.tributosCalculados.add(tributosCalculadosItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class ValoresCalculadosDuimpCover {\n" + + " identificacao: " + toIndentedString(identificacao) + "\n" + + " carga: " + toIndentedString(carga) + "\n" + + " adicoes: " + toIndentedString(adicoes) + "\n" + + " mercadoriaLocalEmbarque: " + toIndentedString(mercadoriaLocalEmbarque) + "\n" + + " tributosCalculados: " + toIndentedString(tributosCalculados) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresCalculadosItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresCalculadosItemCover.java new file mode 100644 index 0000000..9f4b3ec --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresCalculadosItemCover.java @@ -0,0 +1,147 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValoresCalculadosItemCover", propOrder = + {"identificacao", "condicaoVenda", "mercadoria", "tributosCalculados" + }) + +@XmlRootElement(name = "ValoresCalculadosItemCover") +public class ValoresCalculadosItemCover { + + @XmlElement(name = "identificacao") + @ApiModelProperty(value = "") + @Valid + private IdentificadorItemDuimpCover identificacao = null; + + @XmlElement(name = "condicaoVenda") + @ApiModelProperty(value = "") + @Valid + private CondicaoVendaValoresCalculadosCover condicaoVenda = null; + + @XmlElement(name = "mercadoria") + @ApiModelProperty(value = "") + @Valid + private MercadoriaValoresCalculadosItemCover mercadoria = null; + + @XmlElement(name = "tributosCalculados") + @ApiModelProperty(value = "") + @Valid + private List tributosCalculados = null; + + /** + * Get identificacao + * + * @return identificacao + **/ + @JsonProperty("identificacao") + public IdentificadorItemDuimpCover getIdentificacao() { + return identificacao; + } + + public void setIdentificacao(IdentificadorItemDuimpCover identificacao) { + this.identificacao = identificacao; + } + + public ValoresCalculadosItemCover identificacao(IdentificadorItemDuimpCover identificacao) { + this.identificacao = identificacao; + return this; + } + + /** + * Get condicaoVenda + * + * @return condicaoVenda + **/ + @JsonProperty("condicaoVenda") + public CondicaoVendaValoresCalculadosCover getCondicaoVenda() { + return condicaoVenda; + } + + public void setCondicaoVenda(CondicaoVendaValoresCalculadosCover condicaoVenda) { + this.condicaoVenda = condicaoVenda; + } + + public ValoresCalculadosItemCover condicaoVenda(CondicaoVendaValoresCalculadosCover condicaoVenda) { + this.condicaoVenda = condicaoVenda; + return this; + } + + /** + * Get mercadoria + * + * @return mercadoria + **/ + @JsonProperty("mercadoria") + public MercadoriaValoresCalculadosItemCover getMercadoria() { + return mercadoria; + } + + public void setMercadoria(MercadoriaValoresCalculadosItemCover mercadoria) { + this.mercadoria = mercadoria; + } + + public ValoresCalculadosItemCover mercadoria(MercadoriaValoresCalculadosItemCover mercadoria) { + this.mercadoria = mercadoria; + return this; + } + + /** + * Get tributosCalculados + * + * @return tributosCalculados + **/ + @JsonProperty("tributosCalculados") + public List getTributosCalculados() { + return tributosCalculados; + } + + public void setTributosCalculados(List tributosCalculados) { + this.tributosCalculados = tributosCalculados; + } + + public ValoresCalculadosItemCover tributosCalculados(List tributosCalculados) { + this.tributosCalculados = tributosCalculados; + return this; + } + + public ValoresCalculadosItemCover addTributosCalculadosItem(TributoCalculadoItemCover tributosCalculadosItem) { + this.tributosCalculados.add(tributosCalculadosItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class ValoresCalculadosItemCover {\n" + + " identificacao: " + toIndentedString(identificacao) + "\n" + + " condicaoVenda: " + toIndentedString(condicaoVenda) + "\n" + + " mercadoria: " + toIndentedString(mercadoria) + "\n" + + " tributosCalculados: " + toIndentedString(tributosCalculados) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresTributoDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresTributoDuimpCover.java new file mode 100644 index 0000000..0f0ad8a --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresTributoDuimpCover.java @@ -0,0 +1,256 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValoresTributoDuimpCover", propOrder = + {"calculado", "aReduzir", "devido", "suspenso", "aRecolher", "recolhido", "complementar", "juros" + }) + +@XmlRootElement(name = "ValoresTributoDuimpCover") +public class ValoresTributoDuimpCover { + + @XmlElement(name = "calculado") + @ApiModelProperty(example = "1598.73", value = "Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens") + /** + * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + **/ + private Double calculado = null; + + @XmlElement(name = "aReduzir") + @ApiModelProperty(example = "135.7", value = "Valor a Reduzir do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor a Reduzir do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double aReduzir = null; + + @XmlElement(name = "devido") + @ApiModelProperty(example = "201.12", value = "Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens") + /** + * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + **/ + private Double devido = null; + + @XmlElement(name = "suspenso") + @ApiModelProperty(example = "16.7", value = "Valor Suspenso do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor Suspenso do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double suspenso = null; + + @XmlElement(name = "aRecolher") + @ApiModelProperty(example = "16.7", value = "Valor a Recolher do Imposto de Importação em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor a Recolher do Imposto de Importação em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double aRecolher = null; + + @XmlElement(name = "recolhido") + @ApiModelProperty(example = "16.7", value = "Valores Recolhidos (pagos) do Tributo.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valores Recolhidos (pagos) do Tributo.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double recolhido = null; + + @XmlElement(name = "complementar") + @ApiModelProperty(example = "16.7", value = "Valores complementares para pagamento por tributos.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valores complementares para pagamento por tributos.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double complementar = null; + + @XmlElement(name = "juros") + @ApiModelProperty(example = "16.7", value = "Valores de cálculo de juros.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valores de cálculo de juros.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double juros = null; + + /** + * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + * + * @return calculado + **/ + @JsonProperty("calculado") + public Double getCalculado() { + return calculado; + } + + public void setCalculado(Double calculado) { + this.calculado = calculado; + } + + public ValoresTributoDuimpCover calculado(Double calculado) { + this.calculado = calculado; + return this; + } + + /** + * Valor a Reduzir do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return aReduzir + **/ + @JsonProperty("aReduzir") + public Double getAReduzir() { + return aReduzir; + } + + public void setAReduzir(Double aReduzir) { + this.aReduzir = aReduzir; + } + + public ValoresTributoDuimpCover aReduzir(Double aReduzir) { + this.aReduzir = aReduzir; + return this; + } + + /** + * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + * + * @return devido + **/ + @JsonProperty("devido") + public Double getDevido() { + return devido; + } + + public void setDevido(Double devido) { + this.devido = devido; + } + + public ValoresTributoDuimpCover devido(Double devido) { + this.devido = devido; + return this; + } + + /** + * Valor Suspenso do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return suspenso + **/ + @JsonProperty("suspenso") + public Double getSuspenso() { + return suspenso; + } + + public void setSuspenso(Double suspenso) { + this.suspenso = suspenso; + } + + public ValoresTributoDuimpCover suspenso(Double suspenso) { + this.suspenso = suspenso; + return this; + } + + /** + * Valor a Recolher do Imposto de Importação em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return aRecolher + **/ + @JsonProperty("aRecolher") + public Double getARecolher() { + return aRecolher; + } + + public void setARecolher(Double aRecolher) { + this.aRecolher = aRecolher; + } + + public ValoresTributoDuimpCover aRecolher(Double aRecolher) { + this.aRecolher = aRecolher; + return this; + } + + /** + * Valores Recolhidos (pagos) do Tributo.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return recolhido + **/ + @JsonProperty("recolhido") + public Double getRecolhido() { + return recolhido; + } + + public void setRecolhido(Double recolhido) { + this.recolhido = recolhido; + } + + public ValoresTributoDuimpCover recolhido(Double recolhido) { + this.recolhido = recolhido; + return this; + } + + /** + * Valores complementares para pagamento por tributos.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return complementar + **/ + @JsonProperty("complementar") + public Double getComplementar() { + return complementar; + } + + public void setComplementar(Double complementar) { + this.complementar = complementar; + } + + public ValoresTributoDuimpCover complementar(Double complementar) { + this.complementar = complementar; + return this; + } + + /** + * Valores de cálculo de juros.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return juros + **/ + @JsonProperty("juros") + public Double getJuros() { + return juros; + } + + public void setJuros(Double juros) { + this.juros = juros; + } + + public ValoresTributoDuimpCover juros(Double juros) { + this.juros = juros; + return this; + } + + + @Override + public String toString() { + + String sb = "class ValoresTributoDuimpCover {\n" + + " calculado: " + toIndentedString(calculado) + "\n" + + " aReduzir: " + toIndentedString(aReduzir) + "\n" + + " devido: " + toIndentedString(devido) + "\n" + + " suspenso: " + toIndentedString(suspenso) + "\n" + + " aRecolher: " + toIndentedString(aRecolher) + "\n" + + " recolhido: " + toIndentedString(recolhido) + "\n" + + " complementar: " + toIndentedString(complementar) + "\n" + + " juros: " + toIndentedString(juros) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresTributoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresTributoItemCover.java new file mode 100644 index 0000000..51c3872 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresTributoItemCover.java @@ -0,0 +1,234 @@ +package br.gov.siscomex.portalunico.duimp_api_receita.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValoresTributoItemCover", propOrder = + {"calculado", "aReduzir", "devido", "suspenso", "aRecolher", "originalDevido", "calculadoPagProporcional" + }) + +@XmlRootElement(name = "ValoresTributoItemCover") +/** + * Valores do cálculo do tributo. + **/ +@ApiModel(description = "Valores do cálculo do tributo.") +public class ValoresTributoItemCover { + + @XmlElement(name = "calculado") + @ApiModelProperty(example = "1598.73", value = "Valor Calculado do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor Calculado do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double calculado = null; + + @XmlElement(name = "aReduzir") + @ApiModelProperty(example = "165.7", value = "Valor a Reduzir do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor a Reduzir do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double aReduzir = null; + + @XmlElement(name = "devido") + @ApiModelProperty(example = "16.7", value = "Valor Devido do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor Devido do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double devido = null; + + @XmlElement(name = "suspenso") + @ApiModelProperty(example = "16.7", value = "Valor Suspenso do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor Suspenso do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double suspenso = null; + + @XmlElement(name = "aRecolher") + @ApiModelProperty(example = "16.7", value = "Valor a Recolher do Imposto de Importação em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor a Recolher do Imposto de Importação em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double aRecolher = null; + + @XmlElement(name = "originalDevido") + @ApiModelProperty(example = "16.7", value = "Valor do Tributo Originalmente Devido em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor do Tributo Originalmente Devido em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double originalDevido = null; + + @XmlElement(name = "calculadoPagProporcional") + @ApiModelProperty(example = "16.7", value = "Valor do Tributo Calculado do Pagamento Proporcional em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor do Tributo Calculado do Pagamento Proporcional em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private Double calculadoPagProporcional = null; + + /** + * Valor Calculado do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return calculado + **/ + @JsonProperty("calculado") + public Double getCalculado() { + return calculado; + } + + public void setCalculado(Double calculado) { + this.calculado = calculado; + } + + public ValoresTributoItemCover calculado(Double calculado) { + this.calculado = calculado; + return this; + } + + /** + * Valor a Reduzir do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return aReduzir + **/ + @JsonProperty("aReduzir") + public Double getAReduzir() { + return aReduzir; + } + + public void setAReduzir(Double aReduzir) { + this.aReduzir = aReduzir; + } + + public ValoresTributoItemCover aReduzir(Double aReduzir) { + this.aReduzir = aReduzir; + return this; + } + + /** + * Valor Devido do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return devido + **/ + @JsonProperty("devido") + public Double getDevido() { + return devido; + } + + public void setDevido(Double devido) { + this.devido = devido; + } + + public ValoresTributoItemCover devido(Double devido) { + this.devido = devido; + return this; + } + + /** + * Valor Suspenso do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return suspenso + **/ + @JsonProperty("suspenso") + public Double getSuspenso() { + return suspenso; + } + + public void setSuspenso(Double suspenso) { + this.suspenso = suspenso; + } + + public ValoresTributoItemCover suspenso(Double suspenso) { + this.suspenso = suspenso; + return this; + } + + /** + * Valor a Recolher do Imposto de Importação em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return aRecolher + **/ + @JsonProperty("aRecolher") + public Double getARecolher() { + return aRecolher; + } + + public void setARecolher(Double aRecolher) { + this.aRecolher = aRecolher; + } + + public ValoresTributoItemCover aRecolher(Double aRecolher) { + this.aRecolher = aRecolher; + return this; + } + + /** + * Valor do Tributo Originalmente Devido em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return originalDevido + **/ + @JsonProperty("originalDevido") + public Double getOriginalDevido() { + return originalDevido; + } + + public void setOriginalDevido(Double originalDevido) { + this.originalDevido = originalDevido; + } + + public ValoresTributoItemCover originalDevido(Double originalDevido) { + this.originalDevido = originalDevido; + return this; + } + + /** + * Valor do Tributo Calculado do Pagamento Proporcional em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return calculadoPagProporcional + **/ + @JsonProperty("calculadoPagProporcional") + public Double getCalculadoPagProporcional() { + return calculadoPagProporcional; + } + + public void setCalculadoPagProporcional(Double calculadoPagProporcional) { + this.calculadoPagProporcional = calculadoPagProporcional; + } + + public ValoresTributoItemCover calculadoPagProporcional(Double calculadoPagProporcional) { + this.calculadoPagProporcional = calculadoPagProporcional; + return this; + } + + + @Override + public String toString() { + + String sb = "class ValoresTributoItemCover {\n" + + " calculado: " + toIndentedString(calculado) + "\n" + + " aReduzir: " + toIndentedString(aReduzir) + "\n" + + " devido: " + toIndentedString(devido) + "\n" + + " suspenso: " + toIndentedString(suspenso) + "\n" + + " aRecolher: " + toIndentedString(aRecolher) + "\n" + + " originalDevido: " + toIndentedString(originalDevido) + "\n" + + " calculadoPagProporcional: " + toIndentedString(calculadoPagProporcional) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/api/DuimpDadosDeItensApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/api/DuimpDadosDeItensApi.java new file mode 100644 index 0000000..52a2555 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/api/DuimpDadosDeItensApi.java @@ -0,0 +1,46 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.api; + +import br.gov.siscomex.portalunico.duimp_balanca_itens.model.DuimpItemBalancaComercialCover; +import br.gov.siscomex.portalunico.duimp_balanca_itens.model.RespostaApiErro; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import javax.validation.constraints.NotNull; +import javax.ws.rs.DefaultValue; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Response; + +/** + * Declaração Única de Importação - Balança Comercial - Itens de Duimp + * + *

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + */ +@Path("/") +@Api(value = "/", description = "") +public interface DuimpDadosDeItensApi { + + /** + * Recupera as informações dos Dados de itens das Duimps solicitadas como parâmetros. + */ + @GET + @Path("/duimp/itens") + @Produces({"application/json"}) + @ApiOperation(value = "Recupera as informações dos Dados de itens das Duimps solicitadas como parâmetros.", notes = "", tags = {"Duimp - Dados de Itens"}) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DuimpItemBalancaComercialCover.class, responseContainer = "List"), + @ApiResponse(code = 206, message = "Resultado parcial. Utilize o mecanismo de paginação para recuperar mais dados", response = DuimpItemBalancaComercialCover.class, responseContainer = "List"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = RespostaApiErro.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso", response = RespostaApiErro.class), + @ApiResponse(code = 404, message = "Recurso não encontrado", response = RespostaApiErro.class), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErro.class), + @ApiResponse(code = 500, message = "Erro interno no servidor", response = RespostaApiErro.class)}) + Response obterDadosItensV2UsingGET(@ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário.
    Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF.
    Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken, @NotNull @ApiParam(value = "Identificador único da consulta.
    O valor deste parâmetro é recuperado no header da primeira página da consulta dos dados gerais.
    Este atributo é obrigatório para recuperar os dados dos itens", required = true) @QueryParam("id-consulta") String idConsulta, @ApiParam(value = "Tamanho limite da quantidade de dados retornados.
    Formato: Inteiro, com até 10 dígitos", defaultValue = "1000") @DefaultValue("1000") @QueryParam("limit") Integer limit, @ApiParam(value = "Índice do primeiro elemento.
    Formato: Inteiro, com até 10 dígitos", defaultValue = "0") @DefaultValue("0") @QueryParam("offset") Integer offset); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AcrescimoDeducaoConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AcrescimoDeducaoConsultaItemCover.java new file mode 100644 index 0000000..1911f1e --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AcrescimoDeducaoConsultaItemCover.java @@ -0,0 +1,195 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AcrescimoDeducaoConsultaItemCover", propOrder = + {"tipo", "moeda", "denominacao", "valorBRL" + }) + +@XmlRootElement(name = "AcrescimoDeducaoConsultaItemCover") +public class AcrescimoDeducaoConsultaItemCover { + + + @XmlType(name = "TipoEnum") + @XmlEnum(String.class) + public enum TipoEnum { + + @XmlEnumValue("ACRESCIMO") + @JsonProperty("ACRESCIMO") + ACRESCIMO("ACRESCIMO"), + + @XmlEnumValue("DEDUCAO") + @JsonProperty("DEDUCAO") + DEDUCAO("DEDUCAO"); + + + private final String value; + + TipoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } + } + + @XmlElement(name = "tipo", required = true) + @ApiModelProperty(example = "ACRESCIMO", required = true, value = "Tipo de Operação (acreścimo ou dedução).
    Domínio:") + /** + * Tipo de Operação (acreścimo ou dedução).
    Domínio: + **/ + private TipoEnum tipo = null; + + @XmlElement(name = "moeda", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private MoedaAcrescimoDeducaoCover moeda = null; + + @XmlElement(name = "denominacao", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private DenominacaoAcrescimoDeducaoCover denominacao = null; + + @XmlElement(name = "valorBRL") + @ApiModelProperty(example = "33.45", value = "Valor na moeda negociada convertido em R$ (Reais).
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + @Valid + /** + * Valor na moeda negociada convertido em R$ (Reais).
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private BigDecimal valorBRL = null; + + /** + * Tipo de Operação (acreścimo ou dedução).<br>Domínio: + * + * @return tipo + **/ + @JsonProperty("tipo") + @NotNull + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public AcrescimoDeducaoConsultaItemCover tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Get moeda + * + * @return moeda + **/ + @JsonProperty("moeda") + @NotNull + public MoedaAcrescimoDeducaoCover getMoeda() { + return moeda; + } + + public void setMoeda(MoedaAcrescimoDeducaoCover moeda) { + this.moeda = moeda; + } + + public AcrescimoDeducaoConsultaItemCover moeda(MoedaAcrescimoDeducaoCover moeda) { + this.moeda = moeda; + return this; + } + + /** + * Get denominacao + * + * @return denominacao + **/ + @JsonProperty("denominacao") + @NotNull + public DenominacaoAcrescimoDeducaoCover getDenominacao() { + return denominacao; + } + + public void setDenominacao(DenominacaoAcrescimoDeducaoCover denominacao) { + this.denominacao = denominacao; + } + + public AcrescimoDeducaoConsultaItemCover denominacao(DenominacaoAcrescimoDeducaoCover denominacao) { + this.denominacao = denominacao; + return this; + } + + /** + * Valor na moeda negociada convertido em R$ (Reais).<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return valorBRL + **/ + @JsonProperty("valorBRL") + public BigDecimal getValorBRL() { + return valorBRL; + } + + public void setValorBRL(BigDecimal valorBRL) { + this.valorBRL = valorBRL; + } + + public AcrescimoDeducaoConsultaItemCover valorBRL(BigDecimal valorBRL) { + this.valorBRL = valorBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class AcrescimoDeducaoConsultaItemCover {\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + " moeda: " + toIndentedString(moeda) + "\n" + + " denominacao: " + toIndentedString(denominacao) + "\n" + + " valorBRL: " + toIndentedString(valorBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoFundamentoLegalCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoFundamentoLegalCover.java new file mode 100644 index 0000000..33d70f0 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoFundamentoLegalCover.java @@ -0,0 +1,94 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AtributoFundamentoLegalCover", propOrder = + {"codigo", "valor" + }) + +@XmlRootElement(name = "AtributoFundamentoLegalCover") +public class AtributoFundamentoLegalCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(value = "Código do atributo Fundamento Legal da Duimp para regimes especiais de despacho") + /** + * Código do atributo Fundamento Legal da Duimp para regimes especiais de despacho + **/ + private String codigo = null; + + @XmlElement(name = "valor") + @ApiModelProperty(example = "10.53", value = "Valor do atributo Fundamento Legal da Duimp para regimes especiais de despacho") + /** + * Valor do atributo Fundamento Legal da Duimp para regimes especiais de despacho + **/ + private String valor = null; + + /** + * Código do atributo Fundamento Legal da Duimp para regimes especiais de despacho + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public AtributoFundamentoLegalCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Valor do atributo Fundamento Legal da Duimp para regimes especiais de despacho + * + * @return valor + **/ + @JsonProperty("valor") + public String getValor() { + return valor; + } + + public void setValor(String valor) { + this.valor = valor; + } + + public AtributoFundamentoLegalCover valor(String valor) { + this.valor = valor; + return this; + } + + + @Override + public String toString() { + + String sb = "class AtributoFundamentoLegalCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " valor: " + toIndentedString(valor) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoItemCover.java new file mode 100644 index 0000000..cb97701 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoItemCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AtributoItemCover", propOrder = + {"codigo", "valor" + }) + +@XmlRootElement(name = "AtributoItemCover") +/** + * Lista de atributos dinâmicos da mercadoria.
    Origem: Sistema Cadastro de Atributos - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Lista de atributos dinâmicos da mercadoria.
    Origem: Sistema Cadastro de Atributos - https://api-docs.portalunico.siscomex.gov.br/") +public class AtributoItemCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "ATT_0001", value = "Código do atributo no cadastro de atributos.
    Tamanho mínimo: 1
    Tamanho máximo: 14") + /** + * Código do atributo no cadastro de atributos.
    Tamanho mínimo: 1
    Tamanho máximo: 14 + **/ + private String codigo = null; + + @XmlElement(name = "valor") + @ApiModelProperty(example = "01011100", value = "Valor atribuído pelo importador ao atributo representado pelo código.
    Tamanho mínimo: 0
    Tamanho máximo: 10000") + /** + * Valor atribuído pelo importador ao atributo representado pelo código.
    Tamanho mínimo: 0
    Tamanho máximo: 10000 + **/ + private String valor = null; + + /** + * Código do atributo no cadastro de atributos.<br>Tamanho mínimo: 1<br>Tamanho máximo: 14 + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public AtributoItemCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Valor atribuído pelo importador ao atributo representado pelo código.<br>Tamanho mínimo: 0<br>Tamanho máximo: 10000 + * + * @return valor + **/ + @JsonProperty("valor") + public String getValor() { + return valor; + } + + public void setValor(String valor) { + this.valor = valor; + } + + public AtributoItemCover valor(String valor) { + this.valor = valor; + return this; + } + + + @Override + public String toString() { + + String sb = "class AtributoItemCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " valor: " + toIndentedString(valor) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoTributoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoTributoCover.java new file mode 100644 index 0000000..fb52419 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoTributoCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AtributoTributoCover", propOrder = + {"codigo", "valor" + }) + +@XmlRootElement(name = "AtributoTributoCover") +/** + * Lista de atributos dinâmicos dos tributos. + **/ +@ApiModel(description = "Lista de atributos dinâmicos dos tributos.") +public class AtributoTributoCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "ATT_0001", value = "Código do atributo no cadastro de atributos.
    Tamanho mínimo: 1
    Tamanho máximo: 14") + /** + * Código do atributo no cadastro de atributos.
    Tamanho mínimo: 1
    Tamanho máximo: 14 + **/ + private String codigo = null; + + @XmlElement(name = "valor") + @ApiModelProperty(example = "01011100", value = "Valor atribuído pelo importador ao atributo representado pelo código.
    Tamanho mínimo: 0
    Tamanho máximo: 10000") + /** + * Valor atribuído pelo importador ao atributo representado pelo código.
    Tamanho mínimo: 0
    Tamanho máximo: 10000 + **/ + private String valor = null; + + /** + * Código do atributo no cadastro de atributos.<br>Tamanho mínimo: 1<br>Tamanho máximo: 14 + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public AtributoTributoCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Valor atribuído pelo importador ao atributo representado pelo código.<br>Tamanho mínimo: 0<br>Tamanho máximo: 10000 + * + * @return valor + **/ + @JsonProperty("valor") + public String getValor() { + return valor; + } + + public void setValor(String valor) { + this.valor = valor; + } + + public AtributoTributoCover valor(String valor) { + this.valor = valor; + return this; + } + + + @Override + public String toString() { + + String sb = "class AtributoTributoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " valor: " + toIndentedString(valor) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CaracterizacaoImportacaoConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CaracterizacaoImportacaoConsultaItemCover.java new file mode 100644 index 0000000..d2a7b8e --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CaracterizacaoImportacaoConsultaItemCover.java @@ -0,0 +1,149 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CaracterizacaoImportacaoConsultaItemCover", propOrder = + {"indicador", "ni" + }) + +@XmlRootElement(name = "CaracterizacaoImportacaoConsultaItemCover") +/** + * Caracterização da Importação. + **/ +@ApiModel(description = "Caracterização da Importação.") +public class CaracterizacaoImportacaoConsultaItemCover { + + + @XmlType(name = "IndicadorEnum") + @XmlEnum(String.class) + public enum IndicadorEnum { + + @XmlEnumValue("IMPORTACAO_DIRETA") + @JsonProperty("IMPORTACAO_DIRETA") + DIRETA("IMPORTACAO_DIRETA"), + + @XmlEnumValue("IMPORTACAO_POR_CONTA_E_ORDEM") + @JsonProperty("IMPORTACAO_POR_CONTA_E_ORDEM") + POR_CONTA_E_ORDEM("IMPORTACAO_POR_CONTA_E_ORDEM"), + + @XmlEnumValue("IMPORTACAO_POR_ENCOMENDA") + @JsonProperty("IMPORTACAO_POR_ENCOMENDA") + POR_ENCOMENDA("IMPORTACAO_POR_ENCOMENDA"); + + + private final String value; + + IndicadorEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IndicadorEnum fromValue(String v) { + for (IndicadorEnum b : IndicadorEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to IndicadorEnum"); + } + } + + @XmlElement(name = "indicador", required = true) + @ApiModelProperty(example = "IMPORTACAO_DIRETA", required = true, value = "Indicador de importação por terceiros.") + /** + * Indicador de importação por terceiros. + **/ + private IndicadorEnum indicador = null; + + @XmlElement(name = "ni") + @ApiModelProperty(example = "00000000000191", value = "CNPJ do adquirente ou encomendante.
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'
    Observação: Este atributo é informado apenas quando o atributo 'indicador' possui um dos seguintes valores: 'IMPORTACAO_POR_CONTA_E_ORDEM', 'IMPORTACAO_POR_ENCOMENDA'") + /** + * CNPJ do adquirente ou encomendante.
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'
    Observação: Este atributo é informado apenas quando o atributo 'indicador' possui um dos seguintes valores: 'IMPORTACAO_POR_CONTA_E_ORDEM', 'IMPORTACAO_POR_ENCOMENDA' + **/ + private String ni = null; + + /** + * Indicador de importação por terceiros. + * + * @return indicador + **/ + @JsonProperty("indicador") + @NotNull + public String getIndicador() { + if (indicador == null) { + return null; + } + return indicador.value(); + } + + public void setIndicador(IndicadorEnum indicador) { + this.indicador = indicador; + } + + public CaracterizacaoImportacaoConsultaItemCover indicador(IndicadorEnum indicador) { + this.indicador = indicador; + return this; + } + + /** + * CNPJ do adquirente ou encomendante.<br>Tamanho: 14<br>Formato: 'NNNNNNNNNNNNNN'<br>Observação: Este atributo é informado apenas quando o atributo 'indicador' possui um dos seguintes valores: 'IMPORTACAO_POR_CONTA_E_ORDEM', 'IMPORTACAO_POR_ENCOMENDA' + * + * @return ni + **/ + @JsonProperty("ni") + public String getNi() { + return ni; + } + + public void setNi(String ni) { + this.ni = ni; + } + + public CaracterizacaoImportacaoConsultaItemCover ni(String ni) { + this.ni = ni; + return this; + } + + + @Override + public String toString() { + + String sb = "class CaracterizacaoImportacaoConsultaItemCover {\n" + + " indicador: " + toIndentedString(indicador) + "\n" + + " ni: " + toIndentedString(ni) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CoberturaCambialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CoberturaCambialCover.java new file mode 100644 index 0000000..8c4615b --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CoberturaCambialCover.java @@ -0,0 +1,126 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CoberturaCambialCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "CoberturaCambialCover") +/** + * Cobertura cambial. + **/ +@ApiModel(description = "Cobertura cambial.") +public class CoberturaCambialCover { + + + @XmlType(name = "CodigoEnum") + @XmlEnum(String.class) + public enum CodigoEnum { + + @XmlEnumValue("ATE_180_DIAS") + @JsonProperty("ATE_180_DIAS") + ATE_180_DIAS("ATE_180_DIAS"), + + @XmlEnumValue("DE_180_ATE_360") + @JsonProperty("DE_180_ATE_360") + DE_180_ATE_360("DE_180_ATE_360"), + + @XmlEnumValue("ACIMA_360") + @JsonProperty("ACIMA_360") + ACIMA_360("ACIMA_360"), + + @XmlEnumValue("SEM_COBERTURA") + @JsonProperty("SEM_COBERTURA") + SEM_COBERTURA("SEM_COBERTURA"); + + + private final String value; + + CodigoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CodigoEnum fromValue(String v) { + for (CodigoEnum b : CodigoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum"); + } + } + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "ATE_180_DIAS", required = true, value = "Código da cobertura cambial.
    Domínio:") + /** + * Código da cobertura cambial.
    Domínio: + **/ + private CodigoEnum codigo = null; + + /** + * Código da cobertura cambial.<br>Domínio: + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + if (codigo == null) { + return null; + } + return codigo.value(); + } + + public void setCodigo(CodigoEnum codigo) { + this.codigo = codigo; + } + + public CoberturaCambialCover codigo(CodigoEnum codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class CoberturaCambialCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CondicaoVendaConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CondicaoVendaConsultaItemCover.java new file mode 100644 index 0000000..243d1ea --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CondicaoVendaConsultaItemCover.java @@ -0,0 +1,234 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CondicaoVendaConsultaItemCover", propOrder = + {"metodoValoracao", "incoterm", "valorBRL", "valorMoedaNegociada", "frete", "seguro", "acrescimosDeducoes" + }) + +@XmlRootElement(name = "CondicaoVendaConsultaItemCover") +/** + *
    Condição de venda da mercadoria.
    Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**) + **/ +@ApiModel(description = "
    Condição de venda da mercadoria.
    Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)") +public class CondicaoVendaConsultaItemCover { + + @XmlElement(name = "metodoValoracao") + @ApiModelProperty(value = "") + @Valid + private MetodoValoracaoCover metodoValoracao = null; + + @XmlElement(name = "incoterm") + @ApiModelProperty(value = "") + @Valid + private IncotermCover incoterm = null; + + @XmlElement(name = "valorBRL") + @ApiModelProperty(example = "1.0", value = "Valor na moeda negociada convertido em R$ (Reais).
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + @Valid + /** + * Valor na moeda negociada convertido em R$ (Reais).
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private BigDecimal valorBRL = null; + + @XmlElement(name = "valorMoedaNegociada") + @ApiModelProperty(example = "1.0", value = "Valor na moeda negociada.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + @Valid + /** + * Valor na moeda negociada.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private BigDecimal valorMoedaNegociada = null; + + @XmlElement(name = "frete") + @ApiModelProperty(value = "") + @Valid + private FreteConsultaItemCover frete = null; + + @XmlElement(name = "seguro") + @ApiModelProperty(value = "") + @Valid + private SeguroConsultaItemCover seguro = null; + + @XmlElement(name = "acrescimosDeducoes") + @ApiModelProperty(value = "") + @Valid + private List acrescimosDeducoes = null; + + /** + * Get metodoValoracao + * + * @return metodoValoracao + **/ + @JsonProperty("metodoValoracao") + public MetodoValoracaoCover getMetodoValoracao() { + return metodoValoracao; + } + + public void setMetodoValoracao(MetodoValoracaoCover metodoValoracao) { + this.metodoValoracao = metodoValoracao; + } + + public CondicaoVendaConsultaItemCover metodoValoracao(MetodoValoracaoCover metodoValoracao) { + this.metodoValoracao = metodoValoracao; + return this; + } + + /** + * Get incoterm + * + * @return incoterm + **/ + @JsonProperty("incoterm") + public IncotermCover getIncoterm() { + return incoterm; + } + + public void setIncoterm(IncotermCover incoterm) { + this.incoterm = incoterm; + } + + public CondicaoVendaConsultaItemCover incoterm(IncotermCover incoterm) { + this.incoterm = incoterm; + return this; + } + + /** + * Valor na moeda negociada convertido em R$ (Reais).<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return valorBRL + **/ + @JsonProperty("valorBRL") + public BigDecimal getValorBRL() { + return valorBRL; + } + + public void setValorBRL(BigDecimal valorBRL) { + this.valorBRL = valorBRL; + } + + public CondicaoVendaConsultaItemCover valorBRL(BigDecimal valorBRL) { + this.valorBRL = valorBRL; + return this; + } + + /** + * Valor na moeda negociada.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return valorMoedaNegociada + **/ + @JsonProperty("valorMoedaNegociada") + public BigDecimal getValorMoedaNegociada() { + return valorMoedaNegociada; + } + + public void setValorMoedaNegociada(BigDecimal valorMoedaNegociada) { + this.valorMoedaNegociada = valorMoedaNegociada; + } + + public CondicaoVendaConsultaItemCover valorMoedaNegociada(BigDecimal valorMoedaNegociada) { + this.valorMoedaNegociada = valorMoedaNegociada; + return this; + } + + /** + * Get frete + * + * @return frete + **/ + @JsonProperty("frete") + public FreteConsultaItemCover getFrete() { + return frete; + } + + public void setFrete(FreteConsultaItemCover frete) { + this.frete = frete; + } + + public CondicaoVendaConsultaItemCover frete(FreteConsultaItemCover frete) { + this.frete = frete; + return this; + } + + /** + * Get seguro + * + * @return seguro + **/ + @JsonProperty("seguro") + public SeguroConsultaItemCover getSeguro() { + return seguro; + } + + public void setSeguro(SeguroConsultaItemCover seguro) { + this.seguro = seguro; + } + + public CondicaoVendaConsultaItemCover seguro(SeguroConsultaItemCover seguro) { + this.seguro = seguro; + return this; + } + + /** + * Get acrescimosDeducoes + * + * @return acrescimosDeducoes + **/ + @JsonProperty("acrescimosDeducoes") + public List getAcrescimosDeducoes() { + return acrescimosDeducoes; + } + + public void setAcrescimosDeducoes(List acrescimosDeducoes) { + this.acrescimosDeducoes = acrescimosDeducoes; + } + + public CondicaoVendaConsultaItemCover acrescimosDeducoes(List acrescimosDeducoes) { + this.acrescimosDeducoes = acrescimosDeducoes; + return this; + } + + public CondicaoVendaConsultaItemCover addAcrescimosDeducoesItem(AcrescimoDeducaoConsultaItemCover acrescimosDeducoesItem) { + this.acrescimosDeducoes.add(acrescimosDeducoesItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class CondicaoVendaConsultaItemCover {\n" + + " metodoValoracao: " + toIndentedString(metodoValoracao) + "\n" + + " incoterm: " + toIndentedString(incoterm) + "\n" + + " valorBRL: " + toIndentedString(valorBRL) + "\n" + + " valorMoedaNegociada: " + toIndentedString(valorMoedaNegociada) + "\n" + + " frete: " + toIndentedString(frete) + "\n" + + " seguro: " + toIndentedString(seguro) + "\n" + + " acrescimosDeducoes: " + toIndentedString(acrescimosDeducoes) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DadosCambiaisCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DadosCambiaisCover.java new file mode 100644 index 0000000..ee0ceeb --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DadosCambiaisCover.java @@ -0,0 +1,177 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DadosCambiaisCover", propOrder = + {"coberturaCambial", "numeroROF", "instituicaoFinanciadora", "valorCoberturaCambial", "motivoSemCobertura" + }) + +@XmlRootElement(name = "DadosCambiaisCover") +/** + * Dados cambiais. + **/ +@ApiModel(description = "Dados cambiais.") +public class DadosCambiaisCover { + + @XmlElement(name = "coberturaCambial", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private CoberturaCambialCover coberturaCambial = null; + + @XmlElement(name = "numeroROF") + @ApiModelProperty(example = "180A0A0A", value = "Número do ROF no BACEN.
    Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias ou quando o motivo selecionado no atributo \"motivoSemCobertura\" admitir a utilização do ROF.
    Tamanho mínimo: 1
    Tamanho máximo: 8") + /** + * Número do ROF no BACEN.
    Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias ou quando o motivo selecionado no atributo \"motivoSemCobertura\" admitir a utilização do ROF.
    Tamanho mínimo: 1
    Tamanho máximo: 8 + **/ + private String numeroROF = null; + + @XmlElement(name = "instituicaoFinanciadora") + @ApiModelProperty(value = "") + @Valid + private InstituicaoFinanciadoraCover instituicaoFinanciadora = null; + + @XmlElement(name = "valorCoberturaCambial") + @ApiModelProperty(example = "100.12", value = "Valor da cobertura cambial.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.") + /** + * Valor da cobertura cambial.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias. + **/ + private String valorCoberturaCambial = null; + + @XmlElement(name = "motivoSemCobertura") + @ApiModelProperty(value = "") + @Valid + private MotivoSemCoberturaCambialCover motivoSemCobertura = null; + + /** + * Get coberturaCambial + * + * @return coberturaCambial + **/ + @JsonProperty("coberturaCambial") + @NotNull + public CoberturaCambialCover getCoberturaCambial() { + return coberturaCambial; + } + + public void setCoberturaCambial(CoberturaCambialCover coberturaCambial) { + this.coberturaCambial = coberturaCambial; + } + + public DadosCambiaisCover coberturaCambial(CoberturaCambialCover coberturaCambial) { + this.coberturaCambial = coberturaCambial; + return this; + } + + /** + * Número do ROF no BACEN.<br>Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias ou quando o motivo selecionado no atributo \"motivoSemCobertura\" admitir a utilização do ROF.<br>Tamanho mínimo: 1<br>Tamanho máximo: 8 + * + * @return numeroROF + **/ + @JsonProperty("numeroROF") + public String getNumeroROF() { + return numeroROF; + } + + public void setNumeroROF(String numeroROF) { + this.numeroROF = numeroROF; + } + + public DadosCambiaisCover numeroROF(String numeroROF) { + this.numeroROF = numeroROF; + return this; + } + + /** + * Get instituicaoFinanciadora + * + * @return instituicaoFinanciadora + **/ + @JsonProperty("instituicaoFinanciadora") + public InstituicaoFinanciadoraCover getInstituicaoFinanciadora() { + return instituicaoFinanciadora; + } + + public void setInstituicaoFinanciadora(InstituicaoFinanciadoraCover instituicaoFinanciadora) { + this.instituicaoFinanciadora = instituicaoFinanciadora; + } + + public DadosCambiaisCover instituicaoFinanciadora(InstituicaoFinanciadoraCover instituicaoFinanciadora) { + this.instituicaoFinanciadora = instituicaoFinanciadora; + return this; + } + + /** + * Valor da cobertura cambial.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias. + * + * @return valorCoberturaCambial + **/ + @JsonProperty("valorCoberturaCambial") + public String getValorCoberturaCambial() { + return valorCoberturaCambial; + } + + public void setValorCoberturaCambial(String valorCoberturaCambial) { + this.valorCoberturaCambial = valorCoberturaCambial; + } + + public DadosCambiaisCover valorCoberturaCambial(String valorCoberturaCambial) { + this.valorCoberturaCambial = valorCoberturaCambial; + return this; + } + + /** + * Get motivoSemCobertura + * + * @return motivoSemCobertura + **/ + @JsonProperty("motivoSemCobertura") + public MotivoSemCoberturaCambialCover getMotivoSemCobertura() { + return motivoSemCobertura; + } + + public void setMotivoSemCobertura(MotivoSemCoberturaCambialCover motivoSemCobertura) { + this.motivoSemCobertura = motivoSemCobertura; + } + + public DadosCambiaisCover motivoSemCobertura(MotivoSemCoberturaCambialCover motivoSemCobertura) { + this.motivoSemCobertura = motivoSemCobertura; + return this; + } + + + @Override + public String toString() { + + String sb = "class DadosCambiaisCover {\n" + + " coberturaCambial: " + toIndentedString(coberturaCambial) + "\n" + + " numeroROF: " + toIndentedString(numeroROF) + "\n" + + " instituicaoFinanciadora: " + toIndentedString(instituicaoFinanciadora) + "\n" + + " valorCoberturaCambial: " + toIndentedString(valorCoberturaCambial) + "\n" + + " motivoSemCobertura: " + toIndentedString(motivoSemCobertura) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DenominacaoAcrescimoDeducaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DenominacaoAcrescimoDeducaoCover.java new file mode 100644 index 0000000..c940d30 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DenominacaoAcrescimoDeducaoCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DenominacaoAcrescimoDeducaoCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "DenominacaoAcrescimoDeducaoCover") +/** + * Denominação do acréscimo ou da dedução escolhida. + **/ +@ApiModel(description = "Denominação do acréscimo ou da dedução escolhida.") +public class DenominacaoAcrescimoDeducaoCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "1", value = "Código do acréscimo ou da dedução escolhida.
    Domínio: Tabela de Acréscimos/Deduções do Siscomex
    Valor mínimo: 1
    Valor máximo: 99Origem: Sistema Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código do acréscimo ou da dedução escolhida.
    Domínio: Tabela de Acréscimos/Deduções do Siscomex
    Valor mínimo: 1
    Valor máximo: 99Origem: Sistema Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private String codigo = null; + + /** + * Código do acréscimo ou da dedução escolhida.<br>Domínio: Tabela de Acréscimos/Deduções do Siscomex<br>Valor mínimo: 1<br>Valor máximo: 99Origem: Sistema Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public DenominacaoAcrescimoDeducaoCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class DenominacaoAcrescimoDeducaoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DuimpApiMessageCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DuimpApiMessageCover.java new file mode 100644 index 0000000..d62c33d --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DuimpApiMessageCover.java @@ -0,0 +1,121 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DuimpApiMessageCover", propOrder = + {"code", "field", "message" + }) + +@XmlRootElement(name = "DuimpApiMessageCover") +public class DuimpApiMessageCover { + + @XmlElement(name = "code") + @ApiModelProperty(example = "DIMP-ER9999", value = "Código interno da mensagem de erro.") + /** + * Código interno da mensagem de erro. + **/ + private String code = null; + + @XmlElement(name = "field") + @ApiModelProperty(example = "numero", value = "Nome do campo que contém o valor inválido.
    Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido") + /** + * Nome do campo que contém o valor inválido.
    Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido + **/ + private String field = null; + + @XmlElement(name = "message") + @ApiModelProperty(example = "Mensagem de negócio detalhando o código de erro informado no atributo 'code'.", value = "Mensagem de erro.") + /** + * Mensagem de erro. + **/ + private String message = null; + + /** + * Código interno da mensagem de erro. + * + * @return code + **/ + @JsonProperty("code") + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public DuimpApiMessageCover code(String code) { + this.code = code; + return this; + } + + /** + * Nome do campo que contém o valor inválido. <br> Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido + * + * @return field + **/ + @JsonProperty("field") + public String getField() { + return field; + } + + public void setField(String field) { + this.field = field; + } + + public DuimpApiMessageCover field(String field) { + this.field = field; + return this; + } + + /** + * Mensagem de erro. + * + * @return message + **/ + @JsonProperty("message") + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public DuimpApiMessageCover message(String message) { + this.message = message; + return this; + } + + + @Override + public String toString() { + + String sb = "class DuimpApiMessageCover {\n" + + " code: " + toIndentedString(code) + "\n" + + " field: " + toIndentedString(field) + "\n" + + " message: " + toIndentedString(message) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DuimpItemBalancaComercialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DuimpItemBalancaComercialCover.java new file mode 100644 index 0000000..eaf507d --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DuimpItemBalancaComercialCover.java @@ -0,0 +1,407 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DuimpItemBalancaComercialCover", propOrder = + {"identificacao", "produto", "caracterizacaoImportacao", "indicadorExportadorFabricante", "fabricante", "exportador", "indicadorCompradorVendedor", "mercadoria", "condicaoVenda", "lpcos", "dadosCambiais", "atributosDuimp", "atributosFundamentoLegalDuimp", "tributos" + }) + +@XmlRootElement(name = "DuimpItemBalancaComercialCover") +public class DuimpItemBalancaComercialCover { + + @XmlElement(name = "identificacao") + @ApiModelProperty(value = "") + @Valid + private IdentificadorItemDuimpCover identificacao = null; + + @XmlElement(name = "produto") + @ApiModelProperty(value = "") + @Valid + private ProdutoConsultaItemCover produto = null; + + @XmlElement(name = "caracterizacaoImportacao") + @ApiModelProperty(value = "") + @Valid + private CaracterizacaoImportacaoConsultaItemCover caracterizacaoImportacao = null; + + @XmlElement(name = "indicadorExportadorFabricante") + @ApiModelProperty(value = "") + @Valid + private IndicadorExportadorFabricanteCover indicadorExportadorFabricante = null; + + @XmlElement(name = "fabricante") + @ApiModelProperty(value = "") + @Valid + private FabricanteCover fabricante = null; + + @XmlElement(name = "exportador") + @ApiModelProperty(value = "") + @Valid + private ExportadorCover exportador = null; + + @XmlElement(name = "indicadorCompradorVendedor") + @ApiModelProperty(value = "") + @Valid + private IndicadorCompradorVendedorCover indicadorCompradorVendedor = null; + + @XmlElement(name = "mercadoria") + @ApiModelProperty(value = "") + @Valid + private MercadoriaCover mercadoria = null; + + @XmlElement(name = "condicaoVenda") + @ApiModelProperty(value = "") + @Valid + private CondicaoVendaConsultaItemCover condicaoVenda = null; + + @XmlElement(name = "lpcos") + @ApiModelProperty(value = "") + @Valid + private List lpcos = null; + + @XmlElement(name = "dadosCambiais") + @ApiModelProperty(value = "") + @Valid + private DadosCambiaisCover dadosCambiais = null; + + @XmlElement(name = "atributosDuimp") + @ApiModelProperty(value = "") + @Valid + private List atributosDuimp = null; + + @XmlElement(name = "atributosFundamentoLegalDuimp") + @ApiModelProperty(value = "") + @Valid + private List atributosFundamentoLegalDuimp = null; + + @XmlElement(name = "tributos") + @ApiModelProperty(value = "") + @Valid + private TributosConsultaItemCover tributos = null; + + /** + * Get identificacao + * + * @return identificacao + **/ + @JsonProperty("identificacao") + public IdentificadorItemDuimpCover getIdentificacao() { + return identificacao; + } + + public void setIdentificacao(IdentificadorItemDuimpCover identificacao) { + this.identificacao = identificacao; + } + + public DuimpItemBalancaComercialCover identificacao(IdentificadorItemDuimpCover identificacao) { + this.identificacao = identificacao; + return this; + } + + /** + * Get produto + * + * @return produto + **/ + @JsonProperty("produto") + public ProdutoConsultaItemCover getProduto() { + return produto; + } + + public void setProduto(ProdutoConsultaItemCover produto) { + this.produto = produto; + } + + public DuimpItemBalancaComercialCover produto(ProdutoConsultaItemCover produto) { + this.produto = produto; + return this; + } + + /** + * Get caracterizacaoImportacao + * + * @return caracterizacaoImportacao + **/ + @JsonProperty("caracterizacaoImportacao") + public CaracterizacaoImportacaoConsultaItemCover getCaracterizacaoImportacao() { + return caracterizacaoImportacao; + } + + public void setCaracterizacaoImportacao(CaracterizacaoImportacaoConsultaItemCover caracterizacaoImportacao) { + this.caracterizacaoImportacao = caracterizacaoImportacao; + } + + public DuimpItemBalancaComercialCover caracterizacaoImportacao(CaracterizacaoImportacaoConsultaItemCover caracterizacaoImportacao) { + this.caracterizacaoImportacao = caracterizacaoImportacao; + return this; + } + + /** + * Get indicadorExportadorFabricante + * + * @return indicadorExportadorFabricante + **/ + @JsonProperty("indicadorExportadorFabricante") + public IndicadorExportadorFabricanteCover getIndicadorExportadorFabricante() { + return indicadorExportadorFabricante; + } + + public void setIndicadorExportadorFabricante(IndicadorExportadorFabricanteCover indicadorExportadorFabricante) { + this.indicadorExportadorFabricante = indicadorExportadorFabricante; + } + + public DuimpItemBalancaComercialCover indicadorExportadorFabricante(IndicadorExportadorFabricanteCover indicadorExportadorFabricante) { + this.indicadorExportadorFabricante = indicadorExportadorFabricante; + return this; + } + + /** + * Get fabricante + * + * @return fabricante + **/ + @JsonProperty("fabricante") + public FabricanteCover getFabricante() { + return fabricante; + } + + public void setFabricante(FabricanteCover fabricante) { + this.fabricante = fabricante; + } + + public DuimpItemBalancaComercialCover fabricante(FabricanteCover fabricante) { + this.fabricante = fabricante; + return this; + } + + /** + * Get exportador + * + * @return exportador + **/ + @JsonProperty("exportador") + public ExportadorCover getExportador() { + return exportador; + } + + public void setExportador(ExportadorCover exportador) { + this.exportador = exportador; + } + + public DuimpItemBalancaComercialCover exportador(ExportadorCover exportador) { + this.exportador = exportador; + return this; + } + + /** + * Get indicadorCompradorVendedor + * + * @return indicadorCompradorVendedor + **/ + @JsonProperty("indicadorCompradorVendedor") + public IndicadorCompradorVendedorCover getIndicadorCompradorVendedor() { + return indicadorCompradorVendedor; + } + + public void setIndicadorCompradorVendedor(IndicadorCompradorVendedorCover indicadorCompradorVendedor) { + this.indicadorCompradorVendedor = indicadorCompradorVendedor; + } + + public DuimpItemBalancaComercialCover indicadorCompradorVendedor(IndicadorCompradorVendedorCover indicadorCompradorVendedor) { + this.indicadorCompradorVendedor = indicadorCompradorVendedor; + return this; + } + + /** + * Get mercadoria + * + * @return mercadoria + **/ + @JsonProperty("mercadoria") + public MercadoriaCover getMercadoria() { + return mercadoria; + } + + public void setMercadoria(MercadoriaCover mercadoria) { + this.mercadoria = mercadoria; + } + + public DuimpItemBalancaComercialCover mercadoria(MercadoriaCover mercadoria) { + this.mercadoria = mercadoria; + return this; + } + + /** + * Get condicaoVenda + * + * @return condicaoVenda + **/ + @JsonProperty("condicaoVenda") + public CondicaoVendaConsultaItemCover getCondicaoVenda() { + return condicaoVenda; + } + + public void setCondicaoVenda(CondicaoVendaConsultaItemCover condicaoVenda) { + this.condicaoVenda = condicaoVenda; + } + + public DuimpItemBalancaComercialCover condicaoVenda(CondicaoVendaConsultaItemCover condicaoVenda) { + this.condicaoVenda = condicaoVenda; + return this; + } + + /** + * Get lpcos + * + * @return lpcos + **/ + @JsonProperty("lpcos") + public List getLpcos() { + return lpcos; + } + + public void setLpcos(List lpcos) { + this.lpcos = lpcos; + } + + public DuimpItemBalancaComercialCover lpcos(List lpcos) { + this.lpcos = lpcos; + return this; + } + + public DuimpItemBalancaComercialCover addLpcosItem(LpcoCover lpcosItem) { + this.lpcos.add(lpcosItem); + return this; + } + + /** + * Get dadosCambiais + * + * @return dadosCambiais + **/ + @JsonProperty("dadosCambiais") + public DadosCambiaisCover getDadosCambiais() { + return dadosCambiais; + } + + public void setDadosCambiais(DadosCambiaisCover dadosCambiais) { + this.dadosCambiais = dadosCambiais; + } + + public DuimpItemBalancaComercialCover dadosCambiais(DadosCambiaisCover dadosCambiais) { + this.dadosCambiais = dadosCambiais; + return this; + } + + /** + * Get atributosDuimp + * + * @return atributosDuimp + **/ + @JsonProperty("atributosDuimp") + public List getAtributosDuimp() { + return atributosDuimp; + } + + public void setAtributosDuimp(List atributosDuimp) { + this.atributosDuimp = atributosDuimp; + } + + public DuimpItemBalancaComercialCover atributosDuimp(List atributosDuimp) { + this.atributosDuimp = atributosDuimp; + return this; + } + + public DuimpItemBalancaComercialCover addAtributosDuimpItem(AtributoItemCover atributosDuimpItem) { + this.atributosDuimp.add(atributosDuimpItem); + return this; + } + + /** + * Get atributosFundamentoLegalDuimp + * + * @return atributosFundamentoLegalDuimp + **/ + @JsonProperty("atributosFundamentoLegalDuimp") + public List getAtributosFundamentoLegalDuimp() { + return atributosFundamentoLegalDuimp; + } + + public void setAtributosFundamentoLegalDuimp(List atributosFundamentoLegalDuimp) { + this.atributosFundamentoLegalDuimp = atributosFundamentoLegalDuimp; + } + + public DuimpItemBalancaComercialCover atributosFundamentoLegalDuimp(List atributosFundamentoLegalDuimp) { + this.atributosFundamentoLegalDuimp = atributosFundamentoLegalDuimp; + return this; + } + + public DuimpItemBalancaComercialCover addAtributosFundamentoLegalDuimpItem(AtributoFundamentoLegalCover atributosFundamentoLegalDuimpItem) { + this.atributosFundamentoLegalDuimp.add(atributosFundamentoLegalDuimpItem); + return this; + } + + /** + * Get tributos + * + * @return tributos + **/ + @JsonProperty("tributos") + public TributosConsultaItemCover getTributos() { + return tributos; + } + + public void setTributos(TributosConsultaItemCover tributos) { + this.tributos = tributos; + } + + public DuimpItemBalancaComercialCover tributos(TributosConsultaItemCover tributos) { + this.tributos = tributos; + return this; + } + + + @Override + public String toString() { + + String sb = "class DuimpItemBalancaComercialCover {\n" + + " identificacao: " + toIndentedString(identificacao) + "\n" + + " produto: " + toIndentedString(produto) + "\n" + + " caracterizacaoImportacao: " + toIndentedString(caracterizacaoImportacao) + "\n" + + " indicadorExportadorFabricante: " + toIndentedString(indicadorExportadorFabricante) + "\n" + + " fabricante: " + toIndentedString(fabricante) + "\n" + + " exportador: " + toIndentedString(exportador) + "\n" + + " indicadorCompradorVendedor: " + toIndentedString(indicadorCompradorVendedor) + "\n" + + " mercadoria: " + toIndentedString(mercadoria) + "\n" + + " condicaoVenda: " + toIndentedString(condicaoVenda) + "\n" + + " lpcos: " + toIndentedString(lpcos) + "\n" + + " dadosCambiais: " + toIndentedString(dadosCambiais) + "\n" + + " atributosDuimp: " + toIndentedString(atributosDuimp) + "\n" + + " atributosFundamentoLegalDuimp: " + toIndentedString(atributosFundamentoLegalDuimp) + "\n" + + " tributos: " + toIndentedString(tributos) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/ExportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/ExportadorCover.java new file mode 100644 index 0000000..ee25eb6 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/ExportadorCover.java @@ -0,0 +1,157 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ExportadorCover", propOrder = + {"codigo", "versao", "niOperador", "pais" + }) + +@XmlRootElement(name = "ExportadorCover") +/** + * Dados de Operador Estrangeiro.
    Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/
    Observação: Quando o atributo \"exportadorIndicadorFabricante\" for preenchido com o valor \"EXPORTADOR_IGUAL_FABRICANTE\", os valores informados neste grupo devem ser idênticos aos valores informados no grupo \"Fabricante\". + **/ +@ApiModel(description = "Dados de Operador Estrangeiro.
    Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/
    Observação: Quando o atributo \"exportadorIndicadorFabricante\" for preenchido com o valor \"EXPORTADOR_IGUAL_FABRICANTE\", os valores informados neste grupo devem ser idênticos aos valores informados no grupo \"Fabricante\".") +public class ExportadorCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "CN001", required = true, value = "Código do exportador estrangeiro.
    Tamanho mínimo: 1
    Tamanho máximo: 35") + /** + * Código do exportador estrangeiro.
    Tamanho mínimo: 1
    Tamanho máximo: 35 + **/ + private String codigo = null; + + @XmlElement(name = "versao", required = true) + @ApiModelProperty(example = "1", required = true, value = "Versão do exportador.
    Tamanho mínimo: 0
    Tamanho máximo: 6") + /** + * Versão do exportador.
    Tamanho mínimo: 0
    Tamanho máximo: 6 + **/ + private String versao = null; + + @XmlElement(name = "niOperador", required = true) + @ApiModelProperty(example = "00000000", required = true, value = "
    Número de Identificação:
    Caso seja CNPJ (Raiz):
    Tamanho: 8
    Formato: 'NNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + /** + *
    Número de Identificação:
    Caso seja CNPJ (Raiz):
    Tamanho: 8
    Formato: 'NNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + **/ + private String niOperador = null; + + @XmlElement(name = "pais", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private PaisExportadorCover pais = null; + + /** + * Código do exportador estrangeiro.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35 + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public ExportadorCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Versão do exportador.<br>Tamanho mínimo: 0<br>Tamanho máximo: 6 + * + * @return versao + **/ + @JsonProperty("versao") + @NotNull + public String getVersao() { + return versao; + } + + public void setVersao(String versao) { + this.versao = versao; + } + + public ExportadorCover versao(String versao) { + this.versao = versao; + return this; + } + + /** + * <br>Número de Identificação: <br>Caso seja CNPJ (Raiz): <br>Tamanho: 8<br>Formato: 'NNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN' + * + * @return niOperador + **/ + @JsonProperty("niOperador") + @NotNull + public String getNiOperador() { + return niOperador; + } + + public void setNiOperador(String niOperador) { + this.niOperador = niOperador; + } + + public ExportadorCover niOperador(String niOperador) { + this.niOperador = niOperador; + return this; + } + + /** + * Get pais + * + * @return pais + **/ + @JsonProperty("pais") + @NotNull + public PaisExportadorCover getPais() { + return pais; + } + + public void setPais(PaisExportadorCover pais) { + this.pais = pais; + } + + public ExportadorCover pais(PaisExportadorCover pais) { + this.pais = pais; + return this; + } + + + @Override + public String toString() { + + String sb = "class ExportadorCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " versao: " + toIndentedString(versao) + "\n" + + " niOperador: " + toIndentedString(niOperador) + "\n" + + " pais: " + toIndentedString(pais) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FabricanteCover.java new file mode 100644 index 0000000..104ff37 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FabricanteCover.java @@ -0,0 +1,152 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FabricanteCover", propOrder = + {"codigo", "versao", "niOperador", "pais" + }) + +@XmlRootElement(name = "FabricanteCover") +/** + * Dados do Fabricante/Produtor
    Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Dados do Fabricante/Produtor
    Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/") +public class FabricanteCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "2104", value = "Código do Fabricante.
    Tamanho mínimo: 1
    Tamanho máximo: 35
    Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro.") + /** + * Código do Fabricante.
    Tamanho mínimo: 1
    Tamanho máximo: 35
    Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro. + **/ + private String codigo = null; + + @XmlElement(name = "versao") + @ApiModelProperty(example = "1", value = "Versão do fabricante.
    Tamanho mínimo: 0
    Tamanho máximo: 6") + /** + * Versão do fabricante.
    Tamanho mínimo: 0
    Tamanho máximo: 6 + **/ + private String versao = null; + + @XmlElement(name = "niOperador") + @ApiModelProperty(example = "00000000", value = "
    Número de Identificação:
    Caso seja CNPJ (Raiz):
    Tamanho: 8
    Formato: 'NNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + /** + *
    Número de Identificação:
    Caso seja CNPJ (Raiz):
    Tamanho: 8
    Formato: 'NNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + **/ + private String niOperador = null; + + @XmlElement(name = "pais") + @ApiModelProperty(value = "") + @Valid + private PaisFabricanteCover pais = null; + + /** + * Código do Fabricante.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35<br>Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro. + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public FabricanteCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Versão do fabricante.<br>Tamanho mínimo: 0<br>Tamanho máximo: 6 + * + * @return versao + **/ + @JsonProperty("versao") + public String getVersao() { + return versao; + } + + public void setVersao(String versao) { + this.versao = versao; + } + + public FabricanteCover versao(String versao) { + this.versao = versao; + return this; + } + + /** + * <br>Número de Identificação: <br>Caso seja CNPJ (Raiz): <br>Tamanho: 8<br>Formato: 'NNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN' + * + * @return niOperador + **/ + @JsonProperty("niOperador") + public String getNiOperador() { + return niOperador; + } + + public void setNiOperador(String niOperador) { + this.niOperador = niOperador; + } + + public FabricanteCover niOperador(String niOperador) { + this.niOperador = niOperador; + return this; + } + + /** + * Get pais + * + * @return pais + **/ + @JsonProperty("pais") + public PaisFabricanteCover getPais() { + return pais; + } + + public void setPais(PaisFabricanteCover pais) { + this.pais = pais; + } + + public FabricanteCover pais(PaisFabricanteCover pais) { + this.pais = pais; + return this; + } + + + @Override + public String toString() { + + String sb = "class FabricanteCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " versao: " + toIndentedString(versao) + "\n" + + " niOperador: " + toIndentedString(niOperador) + "\n" + + " pais: " + toIndentedString(pais) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FreteConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FreteConsultaItemCover.java new file mode 100644 index 0000000..9442d14 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FreteConsultaItemCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FreteConsultaItemCover", propOrder = + {"valorBRL" + }) + +@XmlRootElement(name = "FreteConsultaItemCover") +/** + * Valor do frete. + **/ +@ApiModel(description = "Valor do frete.") +public class FreteConsultaItemCover { + + @XmlElement(name = "valorBRL") + @ApiModelProperty(example = "12.4", value = "Valor do frete total em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor do frete total em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private String valorBRL = null; + + /** + * Valor do frete total em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorBRL + **/ + @JsonProperty("valorBRL") + public String getValorBRL() { + return valorBRL; + } + + public void setValorBRL(String valorBRL) { + this.valorBRL = valorBRL; + } + + public FreteConsultaItemCover valorBRL(String valorBRL) { + this.valorBRL = valorBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class FreteConsultaItemCover {\n" + + " valorBRL: " + toIndentedString(valorBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FundamentoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FundamentoCover.java new file mode 100644 index 0000000..ed8618f --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FundamentoCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FundamentoCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "FundamentoCover") +/** + * Fundamento legal do regime tributário de importação. + **/ +@ApiModel(description = "Fundamento legal do regime tributário de importação.") +public class FundamentoCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "1001", required = true, value = "Código do fundamento legal do regime tributário de importação utilizado na declaração.
    Dominio: Fundamentos legais existentes no sistema Tratamento Tributário.") + /** + * Código do fundamento legal do regime tributário de importação utilizado na declaração.
    Dominio: Fundamentos legais existentes no sistema Tratamento Tributário. + **/ + private String codigo = null; + + /** + * Código do fundamento legal do regime tributário de importação utilizado na declaração.<br>Dominio: Fundamentos legais existentes no sistema Tratamento Tributário. + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public FundamentoCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class FundamentoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IdentificacaoDuimpRespostaApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IdentificacaoDuimpRespostaApi.java new file mode 100644 index 0000000..cc5ea52 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IdentificacaoDuimpRespostaApi.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IdentificacaoDuimpRespostaApi", propOrder = + {"numero", "versao" + }) + +@XmlRootElement(name = "IdentificacaoDuimpRespostaApi") +/** + * Dados da identificação da Duimp criada, retificada ou atualizada.
    Atributos devolvidos apenas na resposta aos métodos POST e PUT. + **/ +@ApiModel(description = "Dados da identificação da Duimp criada, retificada ou atualizada.
    Atributos devolvidos apenas na resposta aos métodos POST e PUT.") +public class IdentificacaoDuimpRespostaApi { + + @XmlElement(name = "numero") + @ApiModelProperty(example = "20BR00000012345", value = "Número da Duimp.
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)") + /** + * Número da Duimp.
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11) + **/ + private String numero = null; + + @XmlElement(name = "versao") + @ApiModelProperty(example = "1", value = "Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999") + /** + * Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999 + **/ + private String versao = null; + + /** + * Número da Duimp.<br>Tamanho: 15<br>Formato: 'AABRSSSSSSSSSSD'<br>Lei de formação. O número da Duimp é composto por: <br>* AA = Corresponde ao ano do registro da Declaração. <br>* BR = Corresponde à sigla do país de emissão do documento (BR).<br>* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11) + * + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public IdentificacaoDuimpRespostaApi numero(String numero) { + this.numero = numero; + return this; + } + + /** + * Versão da Duimp.<br>Valor mínimo: 0<br>Valor máximo: 9999 + * + * @return versao + **/ + @JsonProperty("versao") + public String getVersao() { + return versao; + } + + public void setVersao(String versao) { + this.versao = versao; + } + + public IdentificacaoDuimpRespostaApi versao(String versao) { + this.versao = versao; + return this; + } + + + @Override + public String toString() { + + String sb = "class IdentificacaoDuimpRespostaApi {\n" + + " numero: " + toIndentedString(numero) + "\n" + + " versao: " + toIndentedString(versao) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IdentificadorItemDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IdentificadorItemDuimpCover.java new file mode 100644 index 0000000..3b98e79 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IdentificadorItemDuimpCover.java @@ -0,0 +1,126 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IdentificadorItemDuimpCover", propOrder = + {"numero", "versao", "numeroItem" + }) + +@XmlRootElement(name = "IdentificadorItemDuimpCover") +/** + * Dados da identificação da declaração única de importação. + **/ +@ApiModel(description = "Dados da identificação da declaração única de importação.") +public class IdentificadorItemDuimpCover { + + @XmlElement(name = "numero") + @ApiModelProperty(example = "19BR00000004677", value = "Número da Duimp.
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)") + /** + * Número da Duimp.
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11) + **/ + private String numero = null; + + @XmlElement(name = "versao") + @ApiModelProperty(example = "1", value = "Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999") + /** + * Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999 + **/ + private Integer versao = null; + + @XmlElement(name = "numeroItem") + @ApiModelProperty(example = "1", value = "Número do item da Duimp.
    Formato: Inteiro, com até 5 dígitos") + /** + * Número do item da Duimp.
    Formato: Inteiro, com até 5 dígitos + **/ + private Integer numeroItem = null; + + /** + * Número da Duimp.<br>Tamanho: 15<br>Formato: 'AABRSSSSSSSSSSD'<br>Lei de formação. O número da Duimp é composto por: <br>* AA = Corresponde ao ano do registro da Declaração. <br>* BR = Corresponde à sigla do país de emissão do documento (BR).<br>* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11) + * + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public IdentificadorItemDuimpCover numero(String numero) { + this.numero = numero; + return this; + } + + /** + * Versão da Duimp.<br>Valor mínimo: 0<br>Valor máximo: 9999 + * + * @return versao + **/ + @JsonProperty("versao") + public Integer getVersao() { + return versao; + } + + public void setVersao(Integer versao) { + this.versao = versao; + } + + public IdentificadorItemDuimpCover versao(Integer versao) { + this.versao = versao; + return this; + } + + /** + * Número do item da Duimp.<br>Formato: Inteiro, com até 5 dígitos + * + * @return numeroItem + **/ + @JsonProperty("numeroItem") + public Integer getNumeroItem() { + return numeroItem; + } + + public void setNumeroItem(Integer numeroItem) { + this.numeroItem = numeroItem; + } + + public IdentificadorItemDuimpCover numeroItem(Integer numeroItem) { + this.numeroItem = numeroItem; + return this; + } + + + @Override + public String toString() { + + String sb = "class IdentificadorItemDuimpCover {\n" + + " numero: " + toIndentedString(numero) + "\n" + + " versao: " + toIndentedString(versao) + "\n" + + " numeroItem: " + toIndentedString(numeroItem) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IncotermCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IncotermCover.java new file mode 100644 index 0000000..ad3bb1c --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IncotermCover.java @@ -0,0 +1,99 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IncotermCover", propOrder = + {"codigo", "complemento" + }) + +@XmlRootElement(name = "IncotermCover") +/** + * Condição de Venda
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
    Observação: Este grupo só deve ser preenchido quando o atributo \"código do método de valoração\" for preenchido com o valor '1'. + **/ +@ApiModel(description = "Condição de Venda
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
    Observação: Este grupo só deve ser preenchido quando o atributo \"código do método de valoração\" for preenchido com o valor '1'.") +public class IncotermCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "FOB", value = "Código da Condição de Venda (Código INCOTERM).
    Tamanho: 3
    Domínio: EXW, FAS, FCA, FOB, OCV, C+F, CFR, CPT, C+I, DAT, CIF, CIP, DAP") + /** + * Código da Condição de Venda (Código INCOTERM).
    Tamanho: 3
    Domínio: EXW, FAS, FCA, FOB, OCV, C+F, CFR, CPT, C+I, DAT, CIF, CIP, DAP + **/ + private String codigo = null; + + @XmlElement(name = "complemento") + @ApiModelProperty(example = "1", value = "Descrição complementar da condição de venda.
    Tamanho mínimo: 0
    Tamanho máximo: 250") + /** + * Descrição complementar da condição de venda.
    Tamanho mínimo: 0
    Tamanho máximo: 250 + **/ + private String complemento = null; + + /** + * Código da Condição de Venda (Código INCOTERM).<br>Tamanho: 3<br>Domínio: EXW, FAS, FCA, FOB, OCV, C+F, CFR, CPT, C+I, DAT, CIF, CIP, DAP + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public IncotermCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Descrição complementar da condição de venda.<br>Tamanho mínimo: 0<br>Tamanho máximo: 250 + * + * @return complemento + **/ + @JsonProperty("complemento") + public String getComplemento() { + return complemento; + } + + public void setComplemento(String complemento) { + this.complemento = complemento; + } + + public IncotermCover complemento(String complemento) { + this.complemento = complemento; + return this; + } + + + @Override + public String toString() { + + String sb = "class IncotermCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " complemento: " + toIndentedString(complemento) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IndicadorCompradorVendedorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IndicadorCompradorVendedorCover.java new file mode 100644 index 0000000..ef46027 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IndicadorCompradorVendedorCover.java @@ -0,0 +1,122 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IndicadorCompradorVendedorCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "IndicadorCompradorVendedorCover") +/** + * Vinculação comprador x vendedor. + **/ +@ApiModel(description = "Vinculação comprador x vendedor.") +public class IndicadorCompradorVendedorCover { + + + @XmlType(name = "CodigoEnum") + @XmlEnum(String.class) + public enum CodigoEnum { + + @XmlEnumValue("NAO_HA_VINCULACAO") + @JsonProperty("NAO_HA_VINCULACAO") + NAO_HA_VINCULACAO("NAO_HA_VINCULACAO"), + + @XmlEnumValue("VINCULACAO_SEM_INFLUENCIA_PRECO") + @JsonProperty("VINCULACAO_SEM_INFLUENCIA_PRECO") + VINCULACAO_SEM_INFLUENCIA_PRECO("VINCULACAO_SEM_INFLUENCIA_PRECO"), + + @XmlEnumValue("VINCULACAO_COM_INFLUENCIA_PRECO") + @JsonProperty("VINCULACAO_COM_INFLUENCIA_PRECO") + VINCULACAO_COM_INFLUENCIA_PRECO("VINCULACAO_COM_INFLUENCIA_PRECO"); + + + private final String value; + + CodigoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CodigoEnum fromValue(String v) { + for (CodigoEnum b : CodigoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum"); + } + } + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "NAO_HA_VINCULACAO", required = true, value = "Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.
    Domínio:") + /** + * Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.
    Domínio: + **/ + private CodigoEnum codigo = null; + + /** + * Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.<br>Domínio: + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + if (codigo == null) { + return null; + } + return codigo.value(); + } + + public void setCodigo(CodigoEnum codigo) { + this.codigo = codigo; + } + + public IndicadorCompradorVendedorCover codigo(CodigoEnum codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class IndicadorCompradorVendedorCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IndicadorExportadorFabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IndicadorExportadorFabricanteCover.java new file mode 100644 index 0000000..551bee1 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IndicadorExportadorFabricanteCover.java @@ -0,0 +1,118 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IndicadorExportadorFabricanteCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "IndicadorExportadorFabricanteCover") +/** + * Relação exportador x fabricante. + **/ +@ApiModel(description = "Relação exportador x fabricante.") +public class IndicadorExportadorFabricanteCover { + + + @XmlType(name = "CodigoEnum") + @XmlEnum(String.class) + public enum CodigoEnum { + + @XmlEnumValue("EXPORTADOR_DIFERENTE_FABRICANTE") + @JsonProperty("EXPORTADOR_DIFERENTE_FABRICANTE") + DIFERENTE_FABRICANTE("EXPORTADOR_DIFERENTE_FABRICANTE"), + + @XmlEnumValue("EXPORTADOR_IGUAL_FABRICANTE") + @JsonProperty("EXPORTADOR_IGUAL_FABRICANTE") + IGUAL_FABRICANTE("EXPORTADOR_IGUAL_FABRICANTE"); + + + private final String value; + + CodigoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CodigoEnum fromValue(String v) { + for (CodigoEnum b : CodigoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum"); + } + } + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "EXPORTADOR_DIFERENTE_FABRICANTE", required = true, value = "Código da relação exportador x fabricante.
    Domínio:") + /** + * Código da relação exportador x fabricante.
    Domínio: + **/ + private CodigoEnum codigo = null; + + /** + * Código da relação exportador x fabricante.<br>Domínio: + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + if (codigo == null) { + return null; + } + return codigo.value(); + } + + public void setCodigo(CodigoEnum codigo) { + this.codigo = codigo; + } + + public IndicadorExportadorFabricanteCover codigo(CodigoEnum codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class IndicadorExportadorFabricanteCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/InstituicaoFinanciadoraCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/InstituicaoFinanciadoraCover.java new file mode 100644 index 0000000..fe5946c --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/InstituicaoFinanciadoraCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "InstituicaoFinanciadoraCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "InstituicaoFinanciadoraCover") +/** + * Instituição financiadora.
    Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias. + **/ +@ApiModel(description = "Instituição financiadora.
    Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.") +public class InstituicaoFinanciadoraCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "99", value = "Código da instituição financiadora.
    Origem : Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
    Valor mínimo: 1
    Valor máximo: 99") + /** + * Código da instituição financiadora.
    Origem : Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
    Valor mínimo: 1
    Valor máximo: 99 + **/ + private String codigo = null; + + /** + * Código da instituição financiadora.<br>Origem : Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/<br>Valor mínimo: 1<br>Valor máximo: 99 + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public InstituicaoFinanciadoraCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class InstituicaoFinanciadoraCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/LinkCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/LinkCover.java new file mode 100644 index 0000000..65c6e45 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/LinkCover.java @@ -0,0 +1,189 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "LinkCover", propOrder = + {"_rel", "_href", "_method" + }) + +@XmlRootElement(name = "LinkCover") +public class LinkCover { + + @XmlElement(name = "_rel") + @ApiModelProperty(value = "Descrição de uma URL que provê um operação relacionada ao serviço utilizado.") + /** + * Descrição de uma URL que provê um operação relacionada ao serviço utilizado. + **/ + private String _rel = null; + + @XmlElement(name = "_href") + @ApiModelProperty(value = "URL que deve ser utilizada para acessar o serviço descrito no atributo '_rel'") + /** + * URL que deve ser utilizada para acessar o serviço descrito no atributo '_rel' + **/ + private String _href = null; + + + @XmlType(name = "MethodEnum") + @XmlEnum(String.class) + public enum MethodEnum { + + @XmlEnumValue("GET") + @JsonProperty("GET") + GET("GET"), + + @XmlEnumValue("HEAD") + @JsonProperty("HEAD") + HEAD("HEAD"), + + @XmlEnumValue("POST") + @JsonProperty("POST") + POST("POST"), + + @XmlEnumValue("PUT") + @JsonProperty("PUT") + PUT("PUT"), + + @XmlEnumValue("DELETE") + @JsonProperty("DELETE") + DELETE("DELETE"), + + @XmlEnumValue("OPTIONS") + @JsonProperty("OPTIONS") + OPTIONS("OPTIONS"), + + @XmlEnumValue("TRACE") + @JsonProperty("TRACE") + TRACE("TRACE"), + + @XmlEnumValue("PATCH") + @JsonProperty("PATCH") + PATCH("PATCH"); + + + private final String value; + + MethodEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static MethodEnum fromValue(String v) { + for (MethodEnum b : MethodEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to MethodEnum"); + } + } + + @XmlElement(name = "_method") + @ApiModelProperty(value = "Método HTTP que deve ser utilizado para acessar o serviço") + /** + * Método HTTP que deve ser utilizado para acessar o serviço + **/ + private MethodEnum _method = null; + + /** + * Descrição de uma URL que provê um operação relacionada ao serviço utilizado. + * + * @return _rel + **/ + @JsonProperty("_rel") + public String getRel() { + return _rel; + } + + public void setRel(String _rel) { + this._rel = _rel; + } + + public LinkCover _rel(String _rel) { + this._rel = _rel; + return this; + } + + /** + * URL que deve ser utilizada para acessar o serviço descrito no atributo '_rel' + * + * @return _href + **/ + @JsonProperty("_href") + public String getHref() { + return _href; + } + + public void setHref(String _href) { + this._href = _href; + } + + public LinkCover _href(String _href) { + this._href = _href; + return this; + } + + /** + * Método HTTP que deve ser utilizado para acessar o serviço + * + * @return _method + **/ + @JsonProperty("_method") + public String getMethod() { + if (_method == null) { + return null; + } + return _method.value(); + } + + public void setMethod(MethodEnum _method) { + this._method = _method; + } + + public LinkCover _method(MethodEnum _method) { + this._method = _method; + return this; + } + + + @Override + public String toString() { + + String sb = "class LinkCover {\n" + + " _rel: " + toIndentedString(_rel) + "\n" + + " _href: " + toIndentedString(_href) + "\n" + + " _method: " + toIndentedString(_method) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/LpcoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/LpcoCover.java new file mode 100644 index 0000000..1250ad8 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/LpcoCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "LpcoCover", propOrder = + {"numero" + }) + +@XmlRootElement(name = "LpcoCover") +/** + * Lista de documentos LPCO (Licenças, Permissões, Certificados e Outros) necessários para operações de comércio exterior.
    Origem: Sistema Tratamento Administrativo e LPCO - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Lista de documentos LPCO (Licenças, Permissões, Certificados e Outros) necessários para operações de comércio exterior.
    Origem: Sistema Tratamento Administrativo e LPCO - https://api-docs.portalunico.siscomex.gov.br/") +public class LpcoCover { + + @XmlElement(name = "numero") + @ApiModelProperty(example = "I2000000063", value = "Número do um LPCO.
    Tamanho: 11
    Formato: 'OAANNNNNNNN'
    Lei de formação. O número do LPCO é composto por:
    * O = Operação (E para exportação, I para importação).
    * AA = Ano do registro do LPCO.
    * NNNNNNNN = 8 caracteres númericos. Número sequencial do LPCO no ano.") + /** + * Número do um LPCO.
    Tamanho: 11
    Formato: 'OAANNNNNNNN'
    Lei de formação. O número do LPCO é composto por:
    * O = Operação (E para exportação, I para importação).
    * AA = Ano do registro do LPCO.
    * NNNNNNNN = 8 caracteres númericos. Número sequencial do LPCO no ano. + **/ + private String numero = null; + + /** + * Número do um LPCO.<br>Tamanho: 11<br>Formato: 'OAANNNNNNNN'<br>Lei de formação. O número do LPCO é composto por: <br>* O = Operação (E para exportação, I para importação).<br>* AA = Ano do registro do LPCO.<br>* NNNNNNNN = 8 caracteres númericos. Número sequencial do LPCO no ano. + * + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public LpcoCover numero(String numero) { + this.numero = numero; + return this; + } + + + @Override + public String toString() { + + String sb = "class LpcoCover {\n" + + " numero: " + toIndentedString(numero) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MemoriaCalculoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MemoriaCalculoItemCover.java new file mode 100644 index 0000000..170c019 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MemoriaCalculoItemCover.java @@ -0,0 +1,452 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MemoriaCalculoItemCover", propOrder = + {"codigoFundamentoLegalNormal", "baseCalculoBRL", "baseCalculoEspecificaBRL", "baseCalculoReduzidaBRL", "percentualReducaoBaseCalculo", "tipoAliquota", "percentualReducaoAliquotaReduzida", "valorAliquota", "valorAliquotaEspecifica", "valorAliquotaReduzida", "normal", "tributado", "percentualPagamento" + }) + +@XmlRootElement(name = "MemoriaCalculoItemCover") +/** + * Memória de cálculo por tipo de imposto. + **/ +@ApiModel(description = "Memória de cálculo por tipo de imposto.") +public class MemoriaCalculoItemCover { + + @XmlElement(name = "codigoFundamentoLegalNormal") + @ApiModelProperty(example = "1001", value = "Código do fundamento legal do regime tributário de importação utilizado na declaração.
    Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.") + /** + * Código do fundamento legal do regime tributário de importação utilizado na declaração.
    Domínio: Fundamentos legais existentes no sistema Tratamento Tributário. + **/ + private Long codigoFundamentoLegalNormal = null; + + @XmlElement(name = "baseCalculoBRL") + @ApiModelProperty(example = "4567.8", value = "Valor da base de cálculo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor da base de cálculo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal baseCalculoBRL = null; + + @XmlElement(name = "baseCalculoEspecificaBRL") + @ApiModelProperty(example = "4567.8", value = "Valor da base de cálculo específica em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor da base de cálculo específica em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal baseCalculoEspecificaBRL = null; + + @XmlElement(name = "baseCalculoReduzidaBRL") + @ApiModelProperty(example = "4567.8", value = "Valor da base de cálculo reduzida em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor da base de cálculo reduzida em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal baseCalculoReduzidaBRL = null; + + @XmlElement(name = "percentualReducaoBaseCalculo") + @ApiModelProperty(example = "4567.8", value = "Percentual de redução da base de cálculo.
    Tamanho: 16,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto.") + @Valid + /** + * Percentual de redução da base de cálculo.
    Tamanho: 16,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto. + **/ + private BigDecimal percentualReducaoBaseCalculo = null; + + + @XmlType(name = "TipoAliquotaEnum") + @XmlEnum(String.class) + public enum TipoAliquotaEnum { + + @XmlEnumValue("AD_VALOREM") + @JsonProperty("AD_VALOREM") + AD_VALOREM("AD_VALOREM"), + + @XmlEnumValue("ESPECIFICA") + @JsonProperty("ESPECIFICA") + ESPECIFICA("ESPECIFICA"); + + + private final String value; + + TipoAliquotaEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoAliquotaEnum fromValue(String v) { + for (TipoAliquotaEnum b : TipoAliquotaEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoAliquotaEnum"); + } + } + + @XmlElement(name = "tipoAliquota") + @ApiModelProperty(example = "AD_VALOREM", value = "Tipo de alíquota do tributo.
    Domínio:") + /** + * Tipo de alíquota do tributo.
    Domínio: + **/ + private TipoAliquotaEnum tipoAliquota = null; + + @XmlElement(name = "percentualReducaoAliquotaReduzida") + @ApiModelProperty(example = "4227.8", value = "Percentual de redução da alíquota reduzida (%).
    Tamanho: 16,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto.") + @Valid + /** + * Percentual de redução da alíquota reduzida (%).
    Tamanho: 16,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto. + **/ + private BigDecimal percentualReducaoAliquotaReduzida = null; + + @XmlElement(name = "valorAliquota") + @ApiModelProperty(example = "4227.8", value = "Valor da alíquota (%).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor da alíquota (%).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal valorAliquota = null; + + @XmlElement(name = "valorAliquotaEspecifica") + @ApiModelProperty(example = "4227.8", value = "Valor da alíquota específica (%).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor da alíquota específica (%).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal valorAliquotaEspecifica = null; + + @XmlElement(name = "valorAliquotaReduzida") + @ApiModelProperty(example = "4227.8", value = "Valor da alíquota reduzida (%).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor da alíquota reduzida (%).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal valorAliquotaReduzida = null; + + @XmlElement(name = "normal") + @ApiModelProperty(example = "4227.8", value = "Valor normal em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor normal em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal normal = null; + + @XmlElement(name = "tributado") + @ApiModelProperty(example = "true", value = "Indicador de tributação.") + /** + * Indicador de tributação. + **/ + private Boolean tributado = null; + + @XmlElement(name = "percentualPagamento") + @ApiModelProperty(example = "4227.8", value = "Percentual de pagamento, preenchido no caso de item com fundamento legal correspondente à admissão temporária com pagamento proporcional (ATUE). Para as demais Duimp será retornado nulo.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Percentual de pagamento, preenchido no caso de item com fundamento legal correspondente à admissão temporária com pagamento proporcional (ATUE). Para as demais Duimp será retornado nulo.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal percentualPagamento = null; + + /** + * Código do fundamento legal do regime tributário de importação utilizado na declaração.<br>Domínio: Fundamentos legais existentes no sistema Tratamento Tributário. + * + * @return codigoFundamentoLegalNormal + **/ + @JsonProperty("codigoFundamentoLegalNormal") + public Long getCodigoFundamentoLegalNormal() { + return codigoFundamentoLegalNormal; + } + + public void setCodigoFundamentoLegalNormal(Long codigoFundamentoLegalNormal) { + this.codigoFundamentoLegalNormal = codigoFundamentoLegalNormal; + } + + public MemoriaCalculoItemCover codigoFundamentoLegalNormal(Long codigoFundamentoLegalNormal) { + this.codigoFundamentoLegalNormal = codigoFundamentoLegalNormal; + return this; + } + + /** + * Valor da base de cálculo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return baseCalculoBRL + **/ + @JsonProperty("baseCalculoBRL") + public BigDecimal getBaseCalculoBRL() { + return baseCalculoBRL; + } + + public void setBaseCalculoBRL(BigDecimal baseCalculoBRL) { + this.baseCalculoBRL = baseCalculoBRL; + } + + public MemoriaCalculoItemCover baseCalculoBRL(BigDecimal baseCalculoBRL) { + this.baseCalculoBRL = baseCalculoBRL; + return this; + } + + /** + * Valor da base de cálculo específica em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return baseCalculoEspecificaBRL + **/ + @JsonProperty("baseCalculoEspecificaBRL") + public BigDecimal getBaseCalculoEspecificaBRL() { + return baseCalculoEspecificaBRL; + } + + public void setBaseCalculoEspecificaBRL(BigDecimal baseCalculoEspecificaBRL) { + this.baseCalculoEspecificaBRL = baseCalculoEspecificaBRL; + } + + public MemoriaCalculoItemCover baseCalculoEspecificaBRL(BigDecimal baseCalculoEspecificaBRL) { + this.baseCalculoEspecificaBRL = baseCalculoEspecificaBRL; + return this; + } + + /** + * Valor da base de cálculo reduzida em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return baseCalculoReduzidaBRL + **/ + @JsonProperty("baseCalculoReduzidaBRL") + public BigDecimal getBaseCalculoReduzidaBRL() { + return baseCalculoReduzidaBRL; + } + + public void setBaseCalculoReduzidaBRL(BigDecimal baseCalculoReduzidaBRL) { + this.baseCalculoReduzidaBRL = baseCalculoReduzidaBRL; + } + + public MemoriaCalculoItemCover baseCalculoReduzidaBRL(BigDecimal baseCalculoReduzidaBRL) { + this.baseCalculoReduzidaBRL = baseCalculoReduzidaBRL; + return this; + } + + /** + * Percentual de redução da base de cálculo.<br>Tamanho: 16,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. + * + * @return percentualReducaoBaseCalculo + **/ + @JsonProperty("percentualReducaoBaseCalculo") + public BigDecimal getPercentualReducaoBaseCalculo() { + return percentualReducaoBaseCalculo; + } + + public void setPercentualReducaoBaseCalculo(BigDecimal percentualReducaoBaseCalculo) { + this.percentualReducaoBaseCalculo = percentualReducaoBaseCalculo; + } + + public MemoriaCalculoItemCover percentualReducaoBaseCalculo(BigDecimal percentualReducaoBaseCalculo) { + this.percentualReducaoBaseCalculo = percentualReducaoBaseCalculo; + return this; + } + + /** + * Tipo de alíquota do tributo.<br>Domínio: + * + * @return tipoAliquota + **/ + @JsonProperty("tipoAliquota") + public String getTipoAliquota() { + if (tipoAliquota == null) { + return null; + } + return tipoAliquota.value(); + } + + public void setTipoAliquota(TipoAliquotaEnum tipoAliquota) { + this.tipoAliquota = tipoAliquota; + } + + public MemoriaCalculoItemCover tipoAliquota(TipoAliquotaEnum tipoAliquota) { + this.tipoAliquota = tipoAliquota; + return this; + } + + /** + * Percentual de redução da alíquota reduzida (%).<br>Tamanho: 16,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. + * + * @return percentualReducaoAliquotaReduzida + **/ + @JsonProperty("percentualReducaoAliquotaReduzida") + public BigDecimal getPercentualReducaoAliquotaReduzida() { + return percentualReducaoAliquotaReduzida; + } + + public void setPercentualReducaoAliquotaReduzida(BigDecimal percentualReducaoAliquotaReduzida) { + this.percentualReducaoAliquotaReduzida = percentualReducaoAliquotaReduzida; + } + + public MemoriaCalculoItemCover percentualReducaoAliquotaReduzida(BigDecimal percentualReducaoAliquotaReduzida) { + this.percentualReducaoAliquotaReduzida = percentualReducaoAliquotaReduzida; + return this; + } + + /** + * Valor da alíquota (%).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorAliquota + **/ + @JsonProperty("valorAliquota") + public BigDecimal getValorAliquota() { + return valorAliquota; + } + + public void setValorAliquota(BigDecimal valorAliquota) { + this.valorAliquota = valorAliquota; + } + + public MemoriaCalculoItemCover valorAliquota(BigDecimal valorAliquota) { + this.valorAliquota = valorAliquota; + return this; + } + + /** + * Valor da alíquota específica (%).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorAliquotaEspecifica + **/ + @JsonProperty("valorAliquotaEspecifica") + public BigDecimal getValorAliquotaEspecifica() { + return valorAliquotaEspecifica; + } + + public void setValorAliquotaEspecifica(BigDecimal valorAliquotaEspecifica) { + this.valorAliquotaEspecifica = valorAliquotaEspecifica; + } + + public MemoriaCalculoItemCover valorAliquotaEspecifica(BigDecimal valorAliquotaEspecifica) { + this.valorAliquotaEspecifica = valorAliquotaEspecifica; + return this; + } + + /** + * Valor da alíquota reduzida (%).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorAliquotaReduzida + **/ + @JsonProperty("valorAliquotaReduzida") + public BigDecimal getValorAliquotaReduzida() { + return valorAliquotaReduzida; + } + + public void setValorAliquotaReduzida(BigDecimal valorAliquotaReduzida) { + this.valorAliquotaReduzida = valorAliquotaReduzida; + } + + public MemoriaCalculoItemCover valorAliquotaReduzida(BigDecimal valorAliquotaReduzida) { + this.valorAliquotaReduzida = valorAliquotaReduzida; + return this; + } + + /** + * Valor normal em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return normal + **/ + @JsonProperty("normal") + public BigDecimal getNormal() { + return normal; + } + + public void setNormal(BigDecimal normal) { + this.normal = normal; + } + + public MemoriaCalculoItemCover normal(BigDecimal normal) { + this.normal = normal; + return this; + } + + /** + * Indicador de tributação. + * + * @return tributado + **/ + @JsonProperty("tributado") + public Boolean isTributado() { + return tributado; + } + + public void setTributado(Boolean tributado) { + this.tributado = tributado; + } + + public MemoriaCalculoItemCover tributado(Boolean tributado) { + this.tributado = tributado; + return this; + } + + /** + * Percentual de pagamento, preenchido no caso de item com fundamento legal correspondente à admissão temporária com pagamento proporcional (ATUE). Para as demais Duimp será retornado nulo.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return percentualPagamento + **/ + @JsonProperty("percentualPagamento") + public BigDecimal getPercentualPagamento() { + return percentualPagamento; + } + + public void setPercentualPagamento(BigDecimal percentualPagamento) { + this.percentualPagamento = percentualPagamento; + } + + public MemoriaCalculoItemCover percentualPagamento(BigDecimal percentualPagamento) { + this.percentualPagamento = percentualPagamento; + return this; + } + + + @Override + public String toString() { + + String sb = "class MemoriaCalculoItemCover {\n" + + " codigoFundamentoLegalNormal: " + toIndentedString(codigoFundamentoLegalNormal) + "\n" + + " baseCalculoBRL: " + toIndentedString(baseCalculoBRL) + "\n" + + " baseCalculoEspecificaBRL: " + toIndentedString(baseCalculoEspecificaBRL) + "\n" + + " baseCalculoReduzidaBRL: " + toIndentedString(baseCalculoReduzidaBRL) + "\n" + + " percentualReducaoBaseCalculo: " + toIndentedString(percentualReducaoBaseCalculo) + "\n" + + " tipoAliquota: " + toIndentedString(tipoAliquota) + "\n" + + " percentualReducaoAliquotaReduzida: " + toIndentedString(percentualReducaoAliquotaReduzida) + "\n" + + " valorAliquota: " + toIndentedString(valorAliquota) + "\n" + + " valorAliquotaEspecifica: " + toIndentedString(valorAliquotaEspecifica) + "\n" + + " valorAliquotaReduzida: " + toIndentedString(valorAliquotaReduzida) + "\n" + + " normal: " + toIndentedString(normal) + "\n" + + " tributado: " + toIndentedString(tributado) + "\n" + + " percentualPagamento: " + toIndentedString(percentualPagamento) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MercadoriaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MercadoriaCover.java new file mode 100644 index 0000000..9279bdb --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MercadoriaCover.java @@ -0,0 +1,338 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MercadoriaCover", propOrder = + {"tipoAplicacao", "condicao", "unidadeComercial", "quantidadeComercial", "quantidadeMedidaEstatistica", "pesoLiquido", "moedaNegociada", "valorUnitarioMoedaNegociada", "descricao" + }) + +@XmlRootElement(name = "MercadoriaCover") +/** + * Dados da Mercadoria. + **/ +@ApiModel(description = "Dados da Mercadoria.") +public class MercadoriaCover { + + @XmlElement(name = "tipoAplicacao", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private TipoAplicacaoCover tipoAplicacao = null; + + + @XmlType(name = "CondicaoEnum") + @XmlEnum(String.class) + public enum CondicaoEnum { + + @XmlEnumValue("NOVA") + @JsonProperty("NOVA") + NOVA("NOVA"), + + @XmlEnumValue("USADA") + @JsonProperty("USADA") + USADA("USADA"); + + + private final String value; + + CondicaoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CondicaoEnum fromValue(String v) { + for (CondicaoEnum b : CondicaoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CondicaoEnum"); + } + } + + @XmlElement(name = "condicao", required = true) + @ApiModelProperty(example = "NOVA", required = true, value = "Indica se a mercadoria é nova ou usada.
    Domínio:") + /** + * Indica se a mercadoria é nova ou usada.
    Domínio: + **/ + private CondicaoEnum condicao = null; + + @XmlElement(name = "unidadeComercial", required = true) + @ApiModelProperty(example = "SACAS", required = true, value = "Unidade de medida utilizada na comercialização da mercadoria.
    Tamanho mínimo: 1
    Tamanho máximo: 20") + /** + * Unidade de medida utilizada na comercialização da mercadoria.
    Tamanho mínimo: 1
    Tamanho máximo: 20 + **/ + private String unidadeComercial = null; + + @XmlElement(name = "quantidadeComercial", required = true) + @ApiModelProperty(example = "100.5", required = true, value = "Quantidade da mercadoria na unidade de medida comercial.
    Tamanho: 9,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto.") + /** + * Quantidade da mercadoria na unidade de medida comercial.
    Tamanho: 9,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto. + **/ + private String quantidadeComercial = null; + + @XmlElement(name = "quantidadeMedidaEstatistica", required = true) + @ApiModelProperty(example = "12.12345", required = true, value = "Quantidade na unidade de medida estatística associada à NCM do produto.
    Tamanho: 9,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto.") + /** + * Quantidade na unidade de medida estatística associada à NCM do produto.
    Tamanho: 9,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto. + **/ + private String quantidadeMedidaEstatistica = null; + + @XmlElement(name = "pesoLiquido", required = true) + @ApiModelProperty(example = "100", required = true, value = "Peso líquido, em quilogramas, que corresponde ao quantitativo total das mercadorias do item.
    Tamanho: 9,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto.") + /** + * Peso líquido, em quilogramas, que corresponde ao quantitativo total das mercadorias do item.
    Tamanho: 9,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto. + **/ + private String pesoLiquido = null; + + @XmlElement(name = "moedaNegociada", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private MoedaNegociadaCover moedaNegociada = null; + + @XmlElement(name = "valorUnitarioMoedaNegociada", required = true) + @ApiModelProperty(example = "10", required = true, value = "Valor unitário da mercadoria na condição de venda.
    Tamanho: 13,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor unitário da mercadoria na condição de venda.
    Tamanho: 13,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private String valorUnitarioMoedaNegociada = null; + + @XmlElement(name = "descricao") + @ApiModelProperty(example = "Texto de exemplo.", value = "Descrição complementar da mercadoria.
    Tamanho mínimo: 0
    Tamanho máximo: 4000") + /** + * Descrição complementar da mercadoria.
    Tamanho mínimo: 0
    Tamanho máximo: 4000 + **/ + private String descricao = null; + + /** + * Get tipoAplicacao + * + * @return tipoAplicacao + **/ + @JsonProperty("tipoAplicacao") + @NotNull + public TipoAplicacaoCover getTipoAplicacao() { + return tipoAplicacao; + } + + public void setTipoAplicacao(TipoAplicacaoCover tipoAplicacao) { + this.tipoAplicacao = tipoAplicacao; + } + + public MercadoriaCover tipoAplicacao(TipoAplicacaoCover tipoAplicacao) { + this.tipoAplicacao = tipoAplicacao; + return this; + } + + /** + * Indica se a mercadoria é nova ou usada.<br>Domínio: + * + * @return condicao + **/ + @JsonProperty("condicao") + @NotNull + public String getCondicao() { + if (condicao == null) { + return null; + } + return condicao.value(); + } + + public void setCondicao(CondicaoEnum condicao) { + this.condicao = condicao; + } + + public MercadoriaCover condicao(CondicaoEnum condicao) { + this.condicao = condicao; + return this; + } + + /** + * Unidade de medida utilizada na comercialização da mercadoria.<br>Tamanho mínimo: 1<br>Tamanho máximo: 20 + * + * @return unidadeComercial + **/ + @JsonProperty("unidadeComercial") + @NotNull + public String getUnidadeComercial() { + return unidadeComercial; + } + + public void setUnidadeComercial(String unidadeComercial) { + this.unidadeComercial = unidadeComercial; + } + + public MercadoriaCover unidadeComercial(String unidadeComercial) { + this.unidadeComercial = unidadeComercial; + return this; + } + + /** + * Quantidade da mercadoria na unidade de medida comercial.<br>Tamanho: 9,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. + * + * @return quantidadeComercial + **/ + @JsonProperty("quantidadeComercial") + @NotNull + public String getQuantidadeComercial() { + return quantidadeComercial; + } + + public void setQuantidadeComercial(String quantidadeComercial) { + this.quantidadeComercial = quantidadeComercial; + } + + public MercadoriaCover quantidadeComercial(String quantidadeComercial) { + this.quantidadeComercial = quantidadeComercial; + return this; + } + + /** + * Quantidade na unidade de medida estatística associada à NCM do produto.<br>Tamanho: 9,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. + * + * @return quantidadeMedidaEstatistica + **/ + @JsonProperty("quantidadeMedidaEstatistica") + @NotNull + public String getQuantidadeMedidaEstatistica() { + return quantidadeMedidaEstatistica; + } + + public void setQuantidadeMedidaEstatistica(String quantidadeMedidaEstatistica) { + this.quantidadeMedidaEstatistica = quantidadeMedidaEstatistica; + } + + public MercadoriaCover quantidadeMedidaEstatistica(String quantidadeMedidaEstatistica) { + this.quantidadeMedidaEstatistica = quantidadeMedidaEstatistica; + return this; + } + + /** + * Peso líquido, em quilogramas, que corresponde ao quantitativo total das mercadorias do item.<br>Tamanho: 9,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. + * + * @return pesoLiquido + **/ + @JsonProperty("pesoLiquido") + @NotNull + public String getPesoLiquido() { + return pesoLiquido; + } + + public void setPesoLiquido(String pesoLiquido) { + this.pesoLiquido = pesoLiquido; + } + + public MercadoriaCover pesoLiquido(String pesoLiquido) { + this.pesoLiquido = pesoLiquido; + return this; + } + + /** + * Get moedaNegociada + * + * @return moedaNegociada + **/ + @JsonProperty("moedaNegociada") + @NotNull + public MoedaNegociadaCover getMoedaNegociada() { + return moedaNegociada; + } + + public void setMoedaNegociada(MoedaNegociadaCover moedaNegociada) { + this.moedaNegociada = moedaNegociada; + } + + public MercadoriaCover moedaNegociada(MoedaNegociadaCover moedaNegociada) { + this.moedaNegociada = moedaNegociada; + return this; + } + + /** + * Valor unitário da mercadoria na condição de venda.<br>Tamanho: 13,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorUnitarioMoedaNegociada + **/ + @JsonProperty("valorUnitarioMoedaNegociada") + @NotNull + public String getValorUnitarioMoedaNegociada() { + return valorUnitarioMoedaNegociada; + } + + public void setValorUnitarioMoedaNegociada(String valorUnitarioMoedaNegociada) { + this.valorUnitarioMoedaNegociada = valorUnitarioMoedaNegociada; + } + + public MercadoriaCover valorUnitarioMoedaNegociada(String valorUnitarioMoedaNegociada) { + this.valorUnitarioMoedaNegociada = valorUnitarioMoedaNegociada; + return this; + } + + /** + * Descrição complementar da mercadoria.<br>Tamanho mínimo: 0<br>Tamanho máximo: 4000 + * + * @return descricao + **/ + @JsonProperty("descricao") + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public MercadoriaCover descricao(String descricao) { + this.descricao = descricao; + return this; + } + + + @Override + public String toString() { + + String sb = "class MercadoriaCover {\n" + + " tipoAplicacao: " + toIndentedString(tipoAplicacao) + "\n" + + " condicao: " + toIndentedString(condicao) + "\n" + + " unidadeComercial: " + toIndentedString(unidadeComercial) + "\n" + + " quantidadeComercial: " + toIndentedString(quantidadeComercial) + "\n" + + " quantidadeMedidaEstatistica: " + toIndentedString(quantidadeMedidaEstatistica) + "\n" + + " pesoLiquido: " + toIndentedString(pesoLiquido) + "\n" + + " moedaNegociada: " + toIndentedString(moedaNegociada) + "\n" + + " valorUnitarioMoedaNegociada: " + toIndentedString(valorUnitarioMoedaNegociada) + "\n" + + " descricao: " + toIndentedString(descricao) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MercadoriaValoresCalculadosItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MercadoriaValoresCalculadosItemCover.java new file mode 100644 index 0000000..f6d93d6 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MercadoriaValoresCalculadosItemCover.java @@ -0,0 +1,103 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MercadoriaValoresCalculadosItemCover", propOrder = + {"valorLocalEmbarqueBRL", "valorAduaneiroBRL" + }) + +@XmlRootElement(name = "MercadoriaValoresCalculadosItemCover") +/** + * Valores da Mercadoria. + **/ +@ApiModel(description = "Valores da Mercadoria.") +public class MercadoriaValoresCalculadosItemCover { + + @XmlElement(name = "valorLocalEmbarqueBRL") + @ApiModelProperty(example = "20.666", value = "Valor total da mercadoria no local de embarque em R$ (Reais).
    Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor total da mercadoria no local de embarque em R$ (Reais).
    Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal valorLocalEmbarqueBRL = null; + + @XmlElement(name = "valorAduaneiroBRL") + @ApiModelProperty(example = "20.666", value = "Valor total aduaneiro em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor total aduaneiro em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal valorAduaneiroBRL = null; + + /** + * Valor total da mercadoria no local de embarque em R$ (Reais). <br> Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorLocalEmbarqueBRL + **/ + @JsonProperty("valorLocalEmbarqueBRL") + public BigDecimal getValorLocalEmbarqueBRL() { + return valorLocalEmbarqueBRL; + } + + public void setValorLocalEmbarqueBRL(BigDecimal valorLocalEmbarqueBRL) { + this.valorLocalEmbarqueBRL = valorLocalEmbarqueBRL; + } + + public MercadoriaValoresCalculadosItemCover valorLocalEmbarqueBRL(BigDecimal valorLocalEmbarqueBRL) { + this.valorLocalEmbarqueBRL = valorLocalEmbarqueBRL; + return this; + } + + /** + * Valor total aduaneiro em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorAduaneiroBRL + **/ + @JsonProperty("valorAduaneiroBRL") + public BigDecimal getValorAduaneiroBRL() { + return valorAduaneiroBRL; + } + + public void setValorAduaneiroBRL(BigDecimal valorAduaneiroBRL) { + this.valorAduaneiroBRL = valorAduaneiroBRL; + } + + public MercadoriaValoresCalculadosItemCover valorAduaneiroBRL(BigDecimal valorAduaneiroBRL) { + this.valorAduaneiroBRL = valorAduaneiroBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class MercadoriaValoresCalculadosItemCover {\n" + + " valorLocalEmbarqueBRL: " + toIndentedString(valorLocalEmbarqueBRL) + "\n" + + " valorAduaneiroBRL: " + toIndentedString(valorAduaneiroBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MetodoValoracaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MetodoValoracaoCover.java new file mode 100644 index 0000000..84b72f8 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MetodoValoracaoCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MetodoValoracaoCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "MetodoValoracaoCover") +/** + * Método de valoração. + **/ +@ApiModel(description = "Método de valoração.") +public class MetodoValoracaoCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "1", required = true, value = "Código do método de valoração.
    Domínio: Tabela de Métodos de Valoração Siscomex
    Valor mínimo: 1
    Valor máximo: 99999
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código do método de valoração.
    Domínio: Tabela de Métodos de Valoração Siscomex
    Valor mínimo: 1
    Valor máximo: 99999
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private String codigo = null; + + /** + * Código do método de valoração.<br>Domínio: Tabela de Métodos de Valoração Siscomex<br>Valor mínimo: 1<br>Valor máximo: 99999<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public MetodoValoracaoCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class MetodoValoracaoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MoedaAcrescimoDeducaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MoedaAcrescimoDeducaoCover.java new file mode 100644 index 0000000..dc90486 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MoedaAcrescimoDeducaoCover.java @@ -0,0 +1,102 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MoedaAcrescimoDeducaoCover", propOrder = + {"codigo", "valor" + }) + +@XmlRootElement(name = "MoedaAcrescimoDeducaoCover") +/** + * Dados da moeda utilizada no Acréscimo ou Dedução. + **/ +@ApiModel(description = "Dados da moeda utilizada no Acréscimo ou Dedução.") +public class MoedaAcrescimoDeducaoCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "USD", required = true, value = "Código da Moeda negociada (ISO-4217).
    Tamanho: 3
    Formato: 'AAA'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código da Moeda negociada (ISO-4217).
    Tamanho: 3
    Formato: 'AAA'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private String codigo = null; + + @XmlElement(name = "valor", required = true) + @ApiModelProperty(example = "100.12", required = true, value = "Valor, na moeda negociada, acrescentado no/deduzido do valor da condição de venda.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + /** + * Valor, na moeda negociada, acrescentado no/deduzido do valor da condição de venda.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private String valor = null; + + /** + * Código da Moeda negociada (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public MoedaAcrescimoDeducaoCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Valor, na moeda negociada, acrescentado no/deduzido do valor da condição de venda.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return valor + **/ + @JsonProperty("valor") + @NotNull + public String getValor() { + return valor; + } + + public void setValor(String valor) { + this.valor = valor; + } + + public MoedaAcrescimoDeducaoCover valor(String valor) { + this.valor = valor; + return this; + } + + + @Override + public String toString() { + + String sb = "class MoedaAcrescimoDeducaoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " valor: " + toIndentedString(valor) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MoedaNegociadaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MoedaNegociadaCover.java new file mode 100644 index 0000000..1a253a3 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MoedaNegociadaCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MoedaNegociadaCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "MoedaNegociadaCover") +/** + * Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217). + **/ +@ApiModel(description = "Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).") +public class MoedaNegociadaCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "USD", required = true, value = "Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
    Tamanho: 3
    Formato: 'AAA'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
    Tamanho: 3
    Formato: 'AAA'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private String codigo = null; + + /** + * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public MoedaNegociadaCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class MoedaNegociadaCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MotivoSemCoberturaCambialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MotivoSemCoberturaCambialCover.java new file mode 100644 index 0000000..32bab88 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MotivoSemCoberturaCambialCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MotivoSemCoberturaCambialCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "MotivoSemCoberturaCambialCover") +/** + * Motivo para ausência de cobertura cambial.
    Observação: Deve ser preenchido quando a cobertura cambial for \"sem cobertura\". + **/ +@ApiModel(description = "Motivo para ausência de cobertura cambial.
    Observação: Deve ser preenchido quando a cobertura cambial for \"sem cobertura\".") +public class MotivoSemCoberturaCambialCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "52", value = "Código do Motivo para ausência de cobertura cambial.
    Domínio: Tabela de Motivos Sem Cobertura do Siscomex. - https://api-docs.portalunico.siscomex.gov.br/
    Valor mínimo: 1
    Valor máximo: 99999") + /** + * Código do Motivo para ausência de cobertura cambial.
    Domínio: Tabela de Motivos Sem Cobertura do Siscomex. - https://api-docs.portalunico.siscomex.gov.br/
    Valor mínimo: 1
    Valor máximo: 99999 + **/ + private String codigo = null; + + /** + * Código do Motivo para ausência de cobertura cambial.<br>Domínio: Tabela de Motivos Sem Cobertura do Siscomex. - https://api-docs.portalunico.siscomex.gov.br/<br>Valor mínimo: 1<br>Valor máximo: 99999 + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public MotivoSemCoberturaCambialCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class MotivoSemCoberturaCambialCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/PaisExportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/PaisExportadorCover.java new file mode 100644 index 0000000..4502d97 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/PaisExportadorCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PaisExportadorCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "PaisExportadorCover") +/** + * País de procedência da mercadoria. + **/ +@ApiModel(description = "País de procedência da mercadoria.") +public class PaisExportadorCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "BR", required = true, value = "Código do país de origem no formato ISO (3166-1 alfa-2).
    Tamanho: 2
    Formato: 'AA'") + /** + * Código do país de origem no formato ISO (3166-1 alfa-2).
    Tamanho: 2
    Formato: 'AA' + **/ + private String codigo = null; + + /** + * Código do país de origem no formato ISO (3166-1 alfa-2).<br>Tamanho: 2<br>Formato: 'AA' + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public PaisExportadorCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class PaisExportadorCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/PaisFabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/PaisFabricanteCover.java new file mode 100644 index 0000000..0af2c67 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/PaisFabricanteCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PaisFabricanteCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "PaisFabricanteCover") +/** + * País de origem do fabricante. + **/ +@ApiModel(description = "País de origem do fabricante.") +public class PaisFabricanteCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "BR", required = true, value = "Código do país de origem no formato ISO (3166-1 alfa-2).
    Tamanho: 2
    Formato: 'AA'") + /** + * Código do país de origem no formato ISO (3166-1 alfa-2).
    Tamanho: 2
    Formato: 'AA' + **/ + private String codigo = null; + + /** + * Código do país de origem no formato ISO (3166-1 alfa-2).<br>Tamanho: 2<br>Formato: 'AA' + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public PaisFabricanteCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class PaisFabricanteCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/ProdutoConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/ProdutoConsultaItemCover.java new file mode 100644 index 0000000..7c3f6a9 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/ProdutoConsultaItemCover.java @@ -0,0 +1,126 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ProdutoConsultaItemCover", propOrder = + {"codigo", "versao", "niResponsavel" + }) + +@XmlRootElement(name = "ProdutoConsultaItemCover") +/** + * Dados do Produto.
    Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Dados do Produto.
    Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/") +public class ProdutoConsultaItemCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "10", value = "Código do produto.
    Formato: Inteiro, com até 10 dígitos") + /** + * Código do produto.
    Formato: Inteiro, com até 10 dígitos + **/ + private String codigo = null; + + @XmlElement(name = "versao") + @ApiModelProperty(example = "1", value = "Versão do produto.
    Tamanho mínimo: 1
    Tamanho máximo: 7") + /** + * Versão do produto.
    Tamanho mínimo: 1
    Tamanho máximo: 7 + **/ + private String versao = null; + + @XmlElement(name = "niResponsavel") + @ApiModelProperty(example = "00000000", value = "
    Número de Identificação:
    Caso seja CNPJ (Raiz):
    Tamanho: 8
    Formato: 'NNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + /** + *
    Número de Identificação:
    Caso seja CNPJ (Raiz):
    Tamanho: 8
    Formato: 'NNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + **/ + private String niResponsavel = null; + + /** + * Código do produto.<br>Formato: Inteiro, com até 10 dígitos + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public ProdutoConsultaItemCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Versão do produto.<br>Tamanho mínimo: 1<br>Tamanho máximo: 7 + * + * @return versao + **/ + @JsonProperty("versao") + public String getVersao() { + return versao; + } + + public void setVersao(String versao) { + this.versao = versao; + } + + public ProdutoConsultaItemCover versao(String versao) { + this.versao = versao; + return this; + } + + /** + * <br>Número de Identificação: <br>Caso seja CNPJ (Raiz): <br>Tamanho: 8<br>Formato: 'NNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN' + * + * @return niResponsavel + **/ + @JsonProperty("niResponsavel") + public String getNiResponsavel() { + return niResponsavel; + } + + public void setNiResponsavel(String niResponsavel) { + this.niResponsavel = niResponsavel; + } + + public ProdutoConsultaItemCover niResponsavel(String niResponsavel) { + this.niResponsavel = niResponsavel; + return this; + } + + + @Override + public String toString() { + + String sb = "class ProdutoConsultaItemCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + " versao: " + toIndentedString(versao) + "\n" + + " niResponsavel: " + toIndentedString(niResponsavel) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/RegimeCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/RegimeCover.java new file mode 100644 index 0000000..2391c06 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/RegimeCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RegimeCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "RegimeCover") +/** + * Regime tributário. + **/ +@ApiModel(description = "Regime tributário.") +public class RegimeCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "1", required = true, value = "Código do regime tributário.
    Dominio: Regimes tributários existentes no sistema Tratamento Tributário.") + /** + * Código do regime tributário.
    Dominio: Regimes tributários existentes no sistema Tratamento Tributário. + **/ + private String codigo = null; + + /** + * Código do regime tributário.<br>Dominio: Regimes tributários existentes no sistema Tratamento Tributário. + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public RegimeCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class RegimeCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/RespostaApiErro.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/RespostaApiErro.java new file mode 100644 index 0000000..7fd2620 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/RespostaApiErro.java @@ -0,0 +1,160 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RespostaApiErro", propOrder = + {"message", "identificacao", "errors", "links" + }) + +@XmlRootElement(name = "RespostaApiErro") +public class RespostaApiErro { + + @XmlElement(name = "message") + @ApiModelProperty(example = "Mensagem de exemplo.", value = "Mensagem de resposta do resultado da operação.") + /** + * Mensagem de resposta do resultado da operação. + **/ + private String message = null; + + @XmlElement(name = "identificacao") + @ApiModelProperty(value = "") + @Valid + private IdentificacaoDuimpRespostaApi identificacao = null; + + @XmlElement(name = "errors") + @ApiModelProperty(value = "Conjunto de erros de validação dos campos. Devolvido apenas para erros HTTP 422.
    Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422
    Quando houver mais de um erro, essa lista será preenchida com cada um dos erros
    Exemplo: A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item.") + @Valid + /** + * Conjunto de erros de validação dos campos. Devolvido apenas para erros HTTP 422.
    Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422
    Quando houver mais de um erro, essa lista será preenchida com cada um dos erros
    Exemplo: A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item. + **/ + private List errors = null; + + @XmlElement(name = "links") + @ApiModelProperty(value = "Operações disponíveis sobre o recurso.
    Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas.") + @Valid + /** + * Operações disponíveis sobre o recurso.
    Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas. + **/ + private List links = null; + + /** + * Mensagem de resposta do resultado da operação. + * + * @return message + **/ + @JsonProperty("message") + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public RespostaApiErro message(String message) { + this.message = message; + return this; + } + + /** + * Get identificacao + * + * @return identificacao + **/ + @JsonProperty("identificacao") + public IdentificacaoDuimpRespostaApi getIdentificacao() { + return identificacao; + } + + public void setIdentificacao(IdentificacaoDuimpRespostaApi identificacao) { + this.identificacao = identificacao; + } + + public RespostaApiErro identificacao(IdentificacaoDuimpRespostaApi identificacao) { + this.identificacao = identificacao; + return this; + } + + /** + * Conjunto de erros de validação dos campos. Devolvido apenas para erros HTTP 422. <br> Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422<br> Quando houver mais de um erro, essa lista será preenchida com cada um dos erros<br> <b>Exemplo:</b> A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item. + * + * @return errors + **/ + @JsonProperty("errors") + public List getErrors() { + return errors; + } + + public void setErrors(List errors) { + this.errors = errors; + } + + public RespostaApiErro errors(List errors) { + this.errors = errors; + return this; + } + + public RespostaApiErro addErrorsItem(DuimpApiMessageCover errorsItem) { + this.errors.add(errorsItem); + return this; + } + + /** + * Operações disponíveis sobre o recurso.<br>Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas. + * + * @return links + **/ + @JsonProperty("links") + public List getLinks() { + return links; + } + + public void setLinks(List links) { + this.links = links; + } + + public RespostaApiErro links(List links) { + this.links = links; + return this; + } + + public RespostaApiErro addLinksItem(LinkCover linksItem) { + this.links.add(linksItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class RespostaApiErro {\n" + + " message: " + toIndentedString(message) + "\n" + + " identificacao: " + toIndentedString(identificacao) + "\n" + + " errors: " + toIndentedString(errors) + "\n" + + " links: " + toIndentedString(links) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/SeguroConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/SeguroConsultaItemCover.java new file mode 100644 index 0000000..a83af11 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/SeguroConsultaItemCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SeguroConsultaItemCover", propOrder = + {"valorBRL" + }) + +@XmlRootElement(name = "SeguroConsultaItemCover") +/** + * Valor do seguro. + **/ +@ApiModel(description = "Valor do seguro.") +public class SeguroConsultaItemCover { + + @XmlElement(name = "valorBRL") + @ApiModelProperty(example = "12.4", value = "Valor do seguro em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + /** + * Valor do seguro em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private String valorBRL = null; + + /** + * Valor do seguro em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorBRL + **/ + @JsonProperty("valorBRL") + public String getValorBRL() { + return valorBRL; + } + + public void setValorBRL(String valorBRL) { + this.valorBRL = valorBRL; + } + + public SeguroConsultaItemCover valorBRL(String valorBRL) { + this.valorBRL = valorBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class SeguroConsultaItemCover {\n" + + " valorBRL: " + toIndentedString(valorBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TipoAplicacaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TipoAplicacaoCover.java new file mode 100644 index 0000000..5382cca --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TipoAplicacaoCover.java @@ -0,0 +1,130 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TipoAplicacaoCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "TipoAplicacaoCover") +/** + * Destinação da mercadoria. + **/ +@ApiModel(description = "Destinação da mercadoria.") +public class TipoAplicacaoCover { + + + @XmlType(name = "CodigoEnum") + @XmlEnum(String.class) + public enum CodigoEnum { + + @XmlEnumValue("CONSUMO") + @JsonProperty("CONSUMO") + CONSUMO("CONSUMO"), + + @XmlEnumValue("INCORPORACAO_ATIVO_FIXO") + @JsonProperty("INCORPORACAO_ATIVO_FIXO") + INCORPORACAO_ATIVO_FIXO("INCORPORACAO_ATIVO_FIXO"), + + @XmlEnumValue("INDUSTRIALIZACAO") + @JsonProperty("INDUSTRIALIZACAO") + INDUSTRIALIZACAO("INDUSTRIALIZACAO"), + + @XmlEnumValue("REVENDA") + @JsonProperty("REVENDA") + REVENDA("REVENDA"), + + @XmlEnumValue("OUTRA") + @JsonProperty("OUTRA") + OUTRA("OUTRA"); + + + private final String value; + + CodigoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CodigoEnum fromValue(String v) { + for (CodigoEnum b : CodigoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum"); + } + } + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "CONSUMO", required = true, value = "Destinação da mercadoria de acordo com o domínio a seguir.
    Domínio:") + /** + * Destinação da mercadoria de acordo com o domínio a seguir.
    Domínio: + **/ + private CodigoEnum codigo = null; + + /** + * Destinação da mercadoria de acordo com o domínio a seguir.<br>Domínio: + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + if (codigo == null) { + return null; + } + return codigo.value(); + } + + public void setCodigo(CodigoEnum codigo) { + this.codigo = codigo; + } + + public TipoAplicacaoCover codigo(CodigoEnum codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class TipoAplicacaoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoCalculadoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoCalculadoItemCover.java new file mode 100644 index 0000000..9795338 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoCalculadoItemCover.java @@ -0,0 +1,195 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TributoCalculadoItemCover", propOrder = + {"tipo", "valoresBRL", "memoriaCalculo" + }) + +@XmlRootElement(name = "TributoCalculadoItemCover") +/** + * Valores do cálculo do tributo e a memória de cálculo. + **/ +@ApiModel(description = "Valores do cálculo do tributo e a memória de cálculo.") +public class TributoCalculadoItemCover { + + + @XmlType(name = "TipoEnum") + @XmlEnum(String.class) + public enum TipoEnum { + + @XmlEnumValue("II") + @JsonProperty("II") + II("II"), + + @XmlEnumValue("IPI") + @JsonProperty("IPI") + IPI("IPI"), + + @XmlEnumValue("PIS") + @JsonProperty("PIS") + PIS("PIS"), + + @XmlEnumValue("COFINS") + @JsonProperty("COFINS") + COFINS("COFINS"), + + @XmlEnumValue("CIDE") + @JsonProperty("CIDE") + CIDE("CIDE"), + + @XmlEnumValue("ANTIDUMPING") + @JsonProperty("ANTIDUMPING") + ANTIDUMPING("ANTIDUMPING"), + + @XmlEnumValue("MULTA_COM_REDUCAO") + @JsonProperty("MULTA_COM_REDUCAO") + MULTA_COM_REDUCAO("MULTA_COM_REDUCAO"), + + @XmlEnumValue("MULTA_SEM_REDUCAO") + @JsonProperty("MULTA_SEM_REDUCAO") + MULTA_SEM_REDUCAO("MULTA_SEM_REDUCAO"), + + @XmlEnumValue("TAXA_UTILIZACAO") + @JsonProperty("TAXA_UTILIZACAO") + TAXA_UTILIZACAO("TAXA_UTILIZACAO"); + + + private final String value; + + TipoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } + } + + @XmlElement(name = "tipo") + @ApiModelProperty(example = "II", value = "Tipo de impostos (códigos de receita principal únicos).
    Domínio:") + /** + * Tipo de impostos (códigos de receita principal únicos).
    Domínio: + **/ + private TipoEnum tipo = null; + + @XmlElement(name = "valoresBRL") + @ApiModelProperty(value = "") + @Valid + private ValoresTributoItemCover valoresBRL = null; + + @XmlElement(name = "memoriaCalculo") + @ApiModelProperty(value = "") + @Valid + private MemoriaCalculoItemCover memoriaCalculo = null; + + /** + * Tipo de impostos (códigos de receita principal únicos).<br>Domínio: + * + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public TributoCalculadoItemCover tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Get valoresBRL + * + * @return valoresBRL + **/ + @JsonProperty("valoresBRL") + public ValoresTributoItemCover getValoresBRL() { + return valoresBRL; + } + + public void setValoresBRL(ValoresTributoItemCover valoresBRL) { + this.valoresBRL = valoresBRL; + } + + public TributoCalculadoItemCover valoresBRL(ValoresTributoItemCover valoresBRL) { + this.valoresBRL = valoresBRL; + return this; + } + + /** + * Get memoriaCalculo + * + * @return memoriaCalculo + **/ + @JsonProperty("memoriaCalculo") + public MemoriaCalculoItemCover getMemoriaCalculo() { + return memoriaCalculo; + } + + public void setMemoriaCalculo(MemoriaCalculoItemCover memoriaCalculo) { + this.memoriaCalculo = memoriaCalculo; + } + + public TributoCalculadoItemCover memoriaCalculo(MemoriaCalculoItemCover memoriaCalculo) { + this.memoriaCalculo = memoriaCalculo; + return this; + } + + + @Override + public String toString() { + + String sb = "class TributoCalculadoItemCover {\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + " valoresBRL: " + toIndentedString(valoresBRL) + "\n" + + " memoriaCalculo: " + toIndentedString(memoriaCalculo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoCover.java new file mode 100644 index 0000000..82e917f --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoCover.java @@ -0,0 +1,144 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TributoCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "TributoCover") +/** + * Dados de um tributo. + **/ +@ApiModel(description = "Dados de um tributo.") +public class TributoCover { + + + @XmlType(name = "CodigoEnum") + @XmlEnum(String.class) + public enum CodigoEnum { + + @XmlEnumValue("II") + @JsonProperty("II") + II("II"), + + @XmlEnumValue("IPI") + @JsonProperty("IPI") + IPI("IPI"), + + @XmlEnumValue("PIS") + @JsonProperty("PIS") + PIS("PIS"), + + @XmlEnumValue("COFINS") + @JsonProperty("COFINS") + COFINS("COFINS"), + + @XmlEnumValue("CIDE") + @JsonProperty("CIDE") + CIDE("CIDE"), + + @XmlEnumValue("ANTIDUMPING") + @JsonProperty("ANTIDUMPING") + ANTIDUMPING("ANTIDUMPING"), + + @XmlEnumValue("MEDIDAS") + @JsonProperty("MEDIDAS") + MEDIDAS("MEDIDAS"), + + @XmlEnumValue("SALVAGUARDA") + @JsonProperty("SALVAGUARDA") + SALVAGUARDA("SALVAGUARDA"), + + @XmlEnumValue("MULTA") + @JsonProperty("MULTA") + MULTA("MULTA"); + + + private final String value; + + CodigoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CodigoEnum fromValue(String v) { + for (CodigoEnum b : CodigoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum"); + } + } + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "IPI", value = "Código do regime tributário.
    Domínio:") + /** + * Código do regime tributário.
    Domínio: + **/ + private CodigoEnum codigo = null; + + /** + * Código do regime tributário.<br>Domínio: + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + if (codigo == null) { + return null; + } + return codigo.value(); + } + + public void setCodigo(CodigoEnum codigo) { + this.codigo = codigo; + } + + public TributoCover codigo(CodigoEnum codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class TributoCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoItemCover.java new file mode 100644 index 0000000..b441aac --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoItemCover.java @@ -0,0 +1,152 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TributoItemCover", propOrder = + {"tributo", "regime", "fundamento", "atributos" + }) + +@XmlRootElement(name = "TributoItemCover") +/** + * Lista de Tributos.
    Origem: Sistema Tratamento Tributário - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Lista de Tributos.
    Origem: Sistema Tratamento Tributário - https://api-docs.portalunico.siscomex.gov.br/") +public class TributoItemCover { + + @XmlElement(name = "tributo") + @ApiModelProperty(value = "") + @Valid + private TributoCover tributo = null; + + @XmlElement(name = "regime") + @ApiModelProperty(value = "") + @Valid + private RegimeCover regime = null; + + @XmlElement(name = "fundamento") + @ApiModelProperty(value = "") + @Valid + private FundamentoCover fundamento = null; + + @XmlElement(name = "atributos") + @ApiModelProperty(value = "") + @Valid + private List atributos = null; + + /** + * Get tributo + * + * @return tributo + **/ + @JsonProperty("tributo") + public TributoCover getTributo() { + return tributo; + } + + public void setTributo(TributoCover tributo) { + this.tributo = tributo; + } + + public TributoItemCover tributo(TributoCover tributo) { + this.tributo = tributo; + return this; + } + + /** + * Get regime + * + * @return regime + **/ + @JsonProperty("regime") + public RegimeCover getRegime() { + return regime; + } + + public void setRegime(RegimeCover regime) { + this.regime = regime; + } + + public TributoItemCover regime(RegimeCover regime) { + this.regime = regime; + return this; + } + + /** + * Get fundamento + * + * @return fundamento + **/ + @JsonProperty("fundamento") + public FundamentoCover getFundamento() { + return fundamento; + } + + public void setFundamento(FundamentoCover fundamento) { + this.fundamento = fundamento; + } + + public TributoItemCover fundamento(FundamentoCover fundamento) { + this.fundamento = fundamento; + return this; + } + + /** + * Get atributos + * + * @return atributos + **/ + @JsonProperty("atributos") + public List getAtributos() { + return atributos; + } + + public void setAtributos(List atributos) { + this.atributos = atributos; + } + + public TributoItemCover atributos(List atributos) { + this.atributos = atributos; + return this; + } + + public TributoItemCover addAtributosItem(AtributoTributoCover atributosItem) { + this.atributos.add(atributosItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class TributoItemCover {\n" + + " tributo: " + toIndentedString(tributo) + "\n" + + " regime: " + toIndentedString(regime) + "\n" + + " fundamento: " + toIndentedString(fundamento) + "\n" + + " atributos: " + toIndentedString(atributos) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributosConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributosConsultaItemCover.java new file mode 100644 index 0000000..6b76f59 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributosConsultaItemCover.java @@ -0,0 +1,135 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TributosConsultaItemCover", propOrder = + {"mercadoria", "tributosAplicados", "tributosCalculados" + }) + +@XmlRootElement(name = "TributosConsultaItemCover") +/** + * Lista de Tributos.
    Origem: Sistema Tratamento Tributário - https://api-docs.portalunico.siscomex.gov.br/ + **/ +@ApiModel(description = "Lista de Tributos.
    Origem: Sistema Tratamento Tributário - https://api-docs.portalunico.siscomex.gov.br/") +public class TributosConsultaItemCover { + + @XmlElement(name = "mercadoria") + @ApiModelProperty(value = "") + @Valid + private MercadoriaValoresCalculadosItemCover mercadoria = null; + + @XmlElement(name = "tributosAplicados") + @ApiModelProperty(value = "Para Duimp de situação especial de despacho cujo motivo indicar cobrança de tributos suspensos: o cálculo dos tributos será feito em conformidade com os fundamentos legais informados na declaração de admissão") + @Valid + /** + * Para Duimp de situação especial de despacho cujo motivo indicar cobrança de tributos suspensos: o cálculo dos tributos será feito em conformidade com os fundamentos legais informados na declaração de admissão + **/ + private List tributosAplicados = null; + + @XmlElement(name = "tributosCalculados") + @ApiModelProperty(value = "") + @Valid + private List tributosCalculados = null; + + /** + * Get mercadoria + * + * @return mercadoria + **/ + @JsonProperty("mercadoria") + public MercadoriaValoresCalculadosItemCover getMercadoria() { + return mercadoria; + } + + public void setMercadoria(MercadoriaValoresCalculadosItemCover mercadoria) { + this.mercadoria = mercadoria; + } + + public TributosConsultaItemCover mercadoria(MercadoriaValoresCalculadosItemCover mercadoria) { + this.mercadoria = mercadoria; + return this; + } + + /** + * Para Duimp de situação especial de despacho cujo motivo indicar cobrança de tributos suspensos: o cálculo dos tributos será feito em conformidade com os fundamentos legais informados na declaração de admissão + * + * @return tributosAplicados + **/ + @JsonProperty("tributosAplicados") + public List getTributosAplicados() { + return tributosAplicados; + } + + public void setTributosAplicados(List tributosAplicados) { + this.tributosAplicados = tributosAplicados; + } + + public TributosConsultaItemCover tributosAplicados(List tributosAplicados) { + this.tributosAplicados = tributosAplicados; + return this; + } + + public TributosConsultaItemCover addTributosAplicadosItem(TributoItemCover tributosAplicadosItem) { + this.tributosAplicados.add(tributosAplicadosItem); + return this; + } + + /** + * Get tributosCalculados + * + * @return tributosCalculados + **/ + @JsonProperty("tributosCalculados") + public List getTributosCalculados() { + return tributosCalculados; + } + + public void setTributosCalculados(List tributosCalculados) { + this.tributosCalculados = tributosCalculados; + } + + public TributosConsultaItemCover tributosCalculados(List tributosCalculados) { + this.tributosCalculados = tributosCalculados; + return this; + } + + public TributosConsultaItemCover addTributosCalculadosItem(TributoCalculadoItemCover tributosCalculadosItem) { + this.tributosCalculados.add(tributosCalculadosItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class TributosConsultaItemCover {\n" + + " mercadoria: " + toIndentedString(mercadoria) + "\n" + + " tributosAplicados: " + toIndentedString(tributosAplicados) + "\n" + + " tributosCalculados: " + toIndentedString(tributosCalculados) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/ValoresTributoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/ValoresTributoItemCover.java new file mode 100644 index 0000000..e627abe --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/ValoresTributoItemCover.java @@ -0,0 +1,243 @@ +package br.gov.siscomex.portalunico.duimp_balanca_itens.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValoresTributoItemCover", propOrder = + {"calculado", "aReduzir", "devido", "suspenso", "aRecolher", "originalDevido", "calculadoPagProporcional" + }) + +@XmlRootElement(name = "ValoresTributoItemCover") +/** + * Valores do cálculo do tributo. + **/ +@ApiModel(description = "Valores do cálculo do tributo.") +public class ValoresTributoItemCover { + + @XmlElement(name = "calculado") + @ApiModelProperty(example = "1598.73", value = "Valor Calculado do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor Calculado do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal calculado = null; + + @XmlElement(name = "aReduzir") + @ApiModelProperty(example = "165.7", value = "Valor a Reduzir do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor a Reduzir do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal aReduzir = null; + + @XmlElement(name = "devido") + @ApiModelProperty(example = "16.7", value = "Valor Devido do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor Devido do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal devido = null; + + @XmlElement(name = "suspenso") + @ApiModelProperty(example = "16.7", value = "Valor Suspenso do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor Suspenso do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal suspenso = null; + + @XmlElement(name = "aRecolher") + @ApiModelProperty(example = "16.7", value = "Valor a Recolher do Imposto de Importação em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor a Recolher do Imposto de Importação em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal aRecolher = null; + + @XmlElement(name = "originalDevido") + @ApiModelProperty(example = "16.7", value = "Valor do Tributo Originalmente Devido em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor do Tributo Originalmente Devido em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal originalDevido = null; + + @XmlElement(name = "calculadoPagProporcional") + @ApiModelProperty(example = "16.7", value = "Valor do Tributo Calculado do Pagamento Proporcional em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor do Tributo Calculado do Pagamento Proporcional em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal calculadoPagProporcional = null; + + /** + * Valor Calculado do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return calculado + **/ + @JsonProperty("calculado") + public BigDecimal getCalculado() { + return calculado; + } + + public void setCalculado(BigDecimal calculado) { + this.calculado = calculado; + } + + public ValoresTributoItemCover calculado(BigDecimal calculado) { + this.calculado = calculado; + return this; + } + + /** + * Valor a Reduzir do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return aReduzir + **/ + @JsonProperty("aReduzir") + public BigDecimal getAReduzir() { + return aReduzir; + } + + public void setAReduzir(BigDecimal aReduzir) { + this.aReduzir = aReduzir; + } + + public ValoresTributoItemCover aReduzir(BigDecimal aReduzir) { + this.aReduzir = aReduzir; + return this; + } + + /** + * Valor Devido do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return devido + **/ + @JsonProperty("devido") + public BigDecimal getDevido() { + return devido; + } + + public void setDevido(BigDecimal devido) { + this.devido = devido; + } + + public ValoresTributoItemCover devido(BigDecimal devido) { + this.devido = devido; + return this; + } + + /** + * Valor Suspenso do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return suspenso + **/ + @JsonProperty("suspenso") + public BigDecimal getSuspenso() { + return suspenso; + } + + public void setSuspenso(BigDecimal suspenso) { + this.suspenso = suspenso; + } + + public ValoresTributoItemCover suspenso(BigDecimal suspenso) { + this.suspenso = suspenso; + return this; + } + + /** + * Valor a Recolher do Imposto de Importação em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return aRecolher + **/ + @JsonProperty("aRecolher") + public BigDecimal getARecolher() { + return aRecolher; + } + + public void setARecolher(BigDecimal aRecolher) { + this.aRecolher = aRecolher; + } + + public ValoresTributoItemCover aRecolher(BigDecimal aRecolher) { + this.aRecolher = aRecolher; + return this; + } + + /** + * Valor do Tributo Originalmente Devido em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return originalDevido + **/ + @JsonProperty("originalDevido") + public BigDecimal getOriginalDevido() { + return originalDevido; + } + + public void setOriginalDevido(BigDecimal originalDevido) { + this.originalDevido = originalDevido; + } + + public ValoresTributoItemCover originalDevido(BigDecimal originalDevido) { + this.originalDevido = originalDevido; + return this; + } + + /** + * Valor do Tributo Calculado do Pagamento Proporcional em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return calculadoPagProporcional + **/ + @JsonProperty("calculadoPagProporcional") + public BigDecimal getCalculadoPagProporcional() { + return calculadoPagProporcional; + } + + public void setCalculadoPagProporcional(BigDecimal calculadoPagProporcional) { + this.calculadoPagProporcional = calculadoPagProporcional; + } + + public ValoresTributoItemCover calculadoPagProporcional(BigDecimal calculadoPagProporcional) { + this.calculadoPagProporcional = calculadoPagProporcional; + return this; + } + + + @Override + public String toString() { + + String sb = "class ValoresTributoItemCover {\n" + + " calculado: " + toIndentedString(calculado) + "\n" + + " aReduzir: " + toIndentedString(aReduzir) + "\n" + + " devido: " + toIndentedString(devido) + "\n" + + " suspenso: " + toIndentedString(suspenso) + "\n" + + " aRecolher: " + toIndentedString(aRecolher) + "\n" + + " originalDevido: " + toIndentedString(originalDevido) + "\n" + + " calculadoPagProporcional: " + toIndentedString(calculadoPagProporcional) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/api/DuimpDadosGeraisApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/api/DuimpDadosGeraisApi.java new file mode 100644 index 0000000..54811b3 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/api/DuimpDadosGeraisApi.java @@ -0,0 +1,45 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.api; + +import br.gov.siscomex.portalunico.duimp_balanca_principal.model.DuimpBalancaComercialCover; +import br.gov.siscomex.portalunico.duimp_balanca_principal.model.RespostaApiErroBalanca; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import javax.ws.rs.DefaultValue; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Response; + +/** + * Declaração Única de Importação - Balança Comercial - Dados Gerais e Totalizadores + * + *

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + */ +@Path("/") +@Api(value = "/", description = "") +public interface DuimpDadosGeraisApi { + + /** + * Recupera as informações dos Dados Gerais das Duimps selecionadas de acordo com os parâmetros informados. + */ + @GET + @Path("/duimps") + @Produces({"application/json"}) + @ApiOperation(value = "Recupera as informações dos Dados Gerais das Duimps selecionadas de acordo com os parâmetros informados.", notes = "", tags = {"Duimp - Dados Gerais"}) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DuimpBalancaComercialCover.class, responseContainer = "List"), + @ApiResponse(code = 206, message = "Resultado parcial. Utilize o mecanismo de paginação para recuperar mais dados", response = DuimpBalancaComercialCover.class, responseContainer = "List"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = RespostaApiErroBalanca.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso", response = RespostaApiErroBalanca.class), + @ApiResponse(code = 404, message = "Recurso não encontrado", response = RespostaApiErroBalanca.class), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErroBalanca.class), + @ApiResponse(code = 500, message = "Erro interno no servidor", response = RespostaApiErroBalanca.class)}) + Response obterDadosGeraisUsingGET(@ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário.
    Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF.
    Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken, @ApiParam(value = "Data inicial de desembaraço a ser considerada no filtro de pesquisa.
    Formato: 'AAAA-MM-DD'
    Atenção:
    Este abributo deve ser utilizado apenas na recuperação da primeira página.
    Nas demais páginas deve ser utilizado o atributo id-consulta fornecido no header da resposta da primeira página!") @QueryParam("data-inicial-desembaraco") String dataInicialDesembaraco, @ApiParam(value = "Data final de desembaraço a ser considerada no filtro de pesquisa.
    Formato: 'AAAA-MM-DD'
    Atenção:
    Este abributo deve ser utilizado apenas na recuperação da primeira página.
    Nas demais páginas deve ser utilizado o atributo id-consulta fornecido no header da resposta da primeira página!") @QueryParam("data-final-desembaraco") String dataFinalDesembaraco, @ApiParam(value = "Data inicial da última atualização a ser considerada no filtro de pesquisa.
    Formato: 'AAAA-MM-DD'
    Atenção:
    Este abributo deve ser utilizado apenas na recuperação da primeira página.
    Nas demais páginas deve ser utilizado o atributo id-consulta fornecido no header da resposta da primeira página!") @QueryParam("data-inicial-atualizacao") String dataInicialAtualizacao, @ApiParam(value = "Data final da última atualização a ser considerada no filtro de pesquisa.
    Formato: 'AAAA-MM-DD'
    Atenção:
    Este abributo deve ser utilizado apenas na recuperação da primeira página.
    Nas demais páginas deve ser utilizado o atributo id-consulta fornecido no header da resposta da primeira página!") @QueryParam("data-final-atualizacao") String dataFinalAtualizacao, @ApiParam(value = "Identificador único da consulta.
    O valor deste parâmetro é recuperado no header da primeira página de uma nova busca com filtro.
    Este atributo é obrigatório para recuperar as próximas páginas da consulta") @QueryParam("id-consulta") String idConsulta, @ApiParam(value = "Deslocamento do primeiro elemento a ser recebido na consulta.
    O valor padrão é zero, para indicar que se deseja receber o primeiro elemento da consulta, sem qualquer deslocamento
    Formato: Inteiro, com até 10 dígitos", defaultValue = "0") @DefaultValue("0") @QueryParam("offset") Integer offset, @ApiParam(value = "Tamanho limite da quantidade de dados retornados em uma página.
    Formato: Inteiro, com até 10 dígitos", defaultValue = "1000") @DefaultValue("1000") @QueryParam("limit") Integer limit); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/api/DuimpTotalizadoresApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/api/DuimpTotalizadoresApi.java new file mode 100644 index 0000000..24a8c27 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/api/DuimpTotalizadoresApi.java @@ -0,0 +1,61 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.api; + +import br.gov.siscomex.portalunico.duimp_balanca_principal.model.BalancaDuimpSumarioCover; +import br.gov.siscomex.portalunico.duimp_balanca_principal.model.BalancaDuimpTotaisCover; +import br.gov.siscomex.portalunico.duimp_balanca_principal.model.RespostaApiErroBalanca; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import javax.validation.constraints.NotNull; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Response; + +/** + * Declaração Única de Importação - Balança Comercial - Dados Gerais e Totalizadores + * + *

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + */ +@Path("/") +@Api(value = "/", description = "") +public interface DuimpTotalizadoresApi { + + /** + * Recupera os dados do Sumário: Lista de Totalizadores agrupados por data. + */ + @GET + @Path("/totalizadores/sumarios") + @Produces({"application/json"}) + @ApiOperation(value = "Recupera os dados do Sumário: Lista de Totalizadores agrupados por data.", notes = "", tags = {"Duimp - Totalizadores"}) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = BalancaDuimpSumarioCover.class, responseContainer = "List"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = RespostaApiErroBalanca.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso", response = RespostaApiErroBalanca.class), + @ApiResponse(code = 404, message = "Recurso não encontrado", response = RespostaApiErroBalanca.class), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErroBalanca.class), + @ApiResponse(code = 500, message = "Erro interno no servidor", response = RespostaApiErroBalanca.class)}) + Response obterDadosSumarioUsingGET(@NotNull @ApiParam(value = "Data inicial de desembaraço a ser considerada no filtro de pesquisa.
    Formato: 'AAAA-MM-DD'", required = true) @QueryParam("data-inicial") String dataInicial, @NotNull @ApiParam(value = "Data final de desembaraço a ser considerada no filtro de pesquisa.
    Formato: 'AAAA-MM-DD'", required = true) @QueryParam("data-final") String dataFinal, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário.
    Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF.
    Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Recupera os Totais Gerais: Recupera os totalizadores das Duimps seleciondas utilizando os mesmos parâmetros da Consulta dos Dados Gerais . + */ + @GET + @Path("/totalizadores/quantidades-totais") + @Produces({"application/json"}) + @ApiOperation(value = "Recupera os Totais Gerais: Recupera os totalizadores das Duimps seleciondas utilizando os mesmos parâmetros da Consulta dos Dados Gerais .", notes = "", tags = {"Duimp - Totalizadores"}) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = BalancaDuimpTotaisCover.class), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = RespostaApiErroBalanca.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso", response = RespostaApiErroBalanca.class), + @ApiResponse(code = 404, message = "Recurso não encontrado", response = RespostaApiErroBalanca.class), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErroBalanca.class), + @ApiResponse(code = 500, message = "Erro interno no servidor", response = RespostaApiErroBalanca.class)}) + Response obterQuantidadesTotaisUsingGET(@NotNull @ApiParam(value = "Data inicial de desembaraço a ser considerada no filtro de pesquisa.
    Formato: 'AAAA-MM-DD'", required = true) @QueryParam("data-inicial-desembaraco") String dataInicialDesembaraco, @NotNull @ApiParam(value = "Data final de desembaraço a ser considerada no filtro de pesquisa.
    Formato: 'AAAA-MM-DD'", required = true) @QueryParam("data-final-desembaraco") String dataFinalDesembaraco, @NotNull @ApiParam(value = "Data inicial da última atualização a ser considerada no filtro de pesquisa.
    Formato: 'AAAA-MM-DD'", required = true) @QueryParam("data-inicial-atualizacao") String dataInicialAtualizacao, @NotNull @ApiParam(value = "Data final da última atualização a ser considerada no filtro de pesquisa.
    Formato: 'AAAA-MM-DD'", required = true) @QueryParam("data-final-atualizacao") String dataFinalAtualizacao, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário.
    Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF.
    Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/BalancaDuimpSumarioCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/BalancaDuimpSumarioCover.java new file mode 100644 index 0000000..beff320 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/BalancaDuimpSumarioCover.java @@ -0,0 +1,212 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BalancaDuimpSumarioCover", propOrder = + {"dataDesembaraco", "quantidadeTotalDuimp", "quantidadeTotaltensDuimp", "somatorioValorTotalCondicaoVenda", "somatorioValorTotalLocalEmbarque", "somatorioPesoItensDuimp" + }) + +@XmlRootElement(name = "BalancaDuimpSumarioCover") +/** + * Dados do Sumario das Duimps em uma data específica + **/ +@ApiModel(description = "Dados do Sumario das Duimps em uma data específica") +public class BalancaDuimpSumarioCover { + + @XmlElement(name = "dataDesembaraco") + @ApiModelProperty(example = "2024-01-31", value = "Data de desembaraço das Duimps selecionadas na data.
    Formato: 'AAAA-MM-DD'") + /** + * Data de desembaraço das Duimps selecionadas na data.
    Formato: 'AAAA-MM-DD' + **/ + private String dataDesembaraco = null; + + @XmlElement(name = "quantidadeTotalDuimp") + @ApiModelProperty(example = "1000", value = "Quantidade de duimps desembaraçadas na data.
    Valor mínimo: 1
    Valor máximo: 9999999999") + /** + * Quantidade de duimps desembaraçadas na data.
    Valor mínimo: 1
    Valor máximo: 9999999999 + **/ + private Long quantidadeTotalDuimp = null; + + @XmlElement(name = "quantidadeTotaltensDuimp") + @ApiModelProperty(example = "20000", value = "Soma da quantidade de itens das Duimps selecionadas desembaraçadas na data.
    Valor mínimo: 1
    Valor máximo: 9999999999") + /** + * Soma da quantidade de itens das Duimps selecionadas desembaraçadas na data.
    Valor mínimo: 1
    Valor máximo: 9999999999 + **/ + private Long quantidadeTotaltensDuimp = null; + + @XmlElement(name = "somatorioValorTotalCondicaoVenda") + @ApiModelProperty(example = "1.1234567", value = "Soma do valor na condição de venda dos Itens das Duimps selecionadas na data.
    Atributo de origem no item: item.condicaoVenda.valorMoedaNegociada
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Soma do valor na condição de venda dos Itens das Duimps selecionadas na data.
    Atributo de origem no item: item.condicaoVenda.valorMoedaNegociada
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal somatorioValorTotalCondicaoVenda = null; + + @XmlElement(name = "somatorioValorTotalLocalEmbarque") + @ApiModelProperty(example = "1.1234567", value = "Soma do valor da mercadoria no local de embarque das Duimp selecionadas na data.
    Atributo de origem no item: item.tributos.mercadoria.valorLocalEmbarqueBRL
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Soma do valor da mercadoria no local de embarque das Duimp selecionadas na data.
    Atributo de origem no item: item.tributos.mercadoria.valorLocalEmbarqueBRL
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal somatorioValorTotalLocalEmbarque = null; + + @XmlElement(name = "somatorioPesoItensDuimp") + @ApiModelProperty(example = "1.12345", value = "Soma do peso líquido dos itens das Duimps selecionadas da data
    Atributo de origem no item: item.mercadoria.pesoLiquido
    Tamanho: 16,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto.") + @Valid + /** + * Soma do peso líquido dos itens das Duimps selecionadas da data
    Atributo de origem no item: item.mercadoria.pesoLiquido
    Tamanho: 16,5
    Formato: Decimal, com até 5 casas decimais separadas por ponto. + **/ + private BigDecimal somatorioPesoItensDuimp = null; + + /** + * Data de desembaraço das Duimps selecionadas na data.<br>Formato: 'AAAA-MM-DD' + * + * @return dataDesembaraco + **/ + @JsonProperty("dataDesembaraco") + public String getDataDesembaraco() { + return dataDesembaraco; + } + + public void setDataDesembaraco(String dataDesembaraco) { + this.dataDesembaraco = dataDesembaraco; + } + + public BalancaDuimpSumarioCover dataDesembaraco(String dataDesembaraco) { + this.dataDesembaraco = dataDesembaraco; + return this; + } + + /** + * Quantidade de duimps desembaraçadas na data.<br>Valor mínimo: 1<br>Valor máximo: 9999999999 + * + * @return quantidadeTotalDuimp + **/ + @JsonProperty("quantidadeTotalDuimp") + public Long getQuantidadeTotalDuimp() { + return quantidadeTotalDuimp; + } + + public void setQuantidadeTotalDuimp(Long quantidadeTotalDuimp) { + this.quantidadeTotalDuimp = quantidadeTotalDuimp; + } + + public BalancaDuimpSumarioCover quantidadeTotalDuimp(Long quantidadeTotalDuimp) { + this.quantidadeTotalDuimp = quantidadeTotalDuimp; + return this; + } + + /** + * Soma da quantidade de itens das Duimps selecionadas desembaraçadas na data.<br>Valor mínimo: 1<br>Valor máximo: 9999999999 + * + * @return quantidadeTotaltensDuimp + **/ + @JsonProperty("quantidadeTotaltensDuimp") + public Long getQuantidadeTotaltensDuimp() { + return quantidadeTotaltensDuimp; + } + + public void setQuantidadeTotaltensDuimp(Long quantidadeTotaltensDuimp) { + this.quantidadeTotaltensDuimp = quantidadeTotaltensDuimp; + } + + public BalancaDuimpSumarioCover quantidadeTotaltensDuimp(Long quantidadeTotaltensDuimp) { + this.quantidadeTotaltensDuimp = quantidadeTotaltensDuimp; + return this; + } + + /** + * Soma do valor na condição de venda dos Itens das Duimps selecionadas na data. <br>Atributo de origem no item: item.condicaoVenda.valorMoedaNegociada<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return somatorioValorTotalCondicaoVenda + **/ + @JsonProperty("somatorioValorTotalCondicaoVenda") + public BigDecimal getSomatorioValorTotalCondicaoVenda() { + return somatorioValorTotalCondicaoVenda; + } + + public void setSomatorioValorTotalCondicaoVenda(BigDecimal somatorioValorTotalCondicaoVenda) { + this.somatorioValorTotalCondicaoVenda = somatorioValorTotalCondicaoVenda; + } + + public BalancaDuimpSumarioCover somatorioValorTotalCondicaoVenda(BigDecimal somatorioValorTotalCondicaoVenda) { + this.somatorioValorTotalCondicaoVenda = somatorioValorTotalCondicaoVenda; + return this; + } + + /** + * Soma do valor da mercadoria no local de embarque das Duimp selecionadas na data.<br>Atributo de origem no item: item.tributos.mercadoria.valorLocalEmbarqueBRL<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return somatorioValorTotalLocalEmbarque + **/ + @JsonProperty("somatorioValorTotalLocalEmbarque") + public BigDecimal getSomatorioValorTotalLocalEmbarque() { + return somatorioValorTotalLocalEmbarque; + } + + public void setSomatorioValorTotalLocalEmbarque(BigDecimal somatorioValorTotalLocalEmbarque) { + this.somatorioValorTotalLocalEmbarque = somatorioValorTotalLocalEmbarque; + } + + public BalancaDuimpSumarioCover somatorioValorTotalLocalEmbarque(BigDecimal somatorioValorTotalLocalEmbarque) { + this.somatorioValorTotalLocalEmbarque = somatorioValorTotalLocalEmbarque; + return this; + } + + /** + * Soma do peso líquido dos itens das Duimps selecionadas da data<br>Atributo de origem no item: item.mercadoria.pesoLiquido<br>Tamanho: 16,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. + * + * @return somatorioPesoItensDuimp + **/ + @JsonProperty("somatorioPesoItensDuimp") + public BigDecimal getSomatorioPesoItensDuimp() { + return somatorioPesoItensDuimp; + } + + public void setSomatorioPesoItensDuimp(BigDecimal somatorioPesoItensDuimp) { + this.somatorioPesoItensDuimp = somatorioPesoItensDuimp; + } + + public BalancaDuimpSumarioCover somatorioPesoItensDuimp(BigDecimal somatorioPesoItensDuimp) { + this.somatorioPesoItensDuimp = somatorioPesoItensDuimp; + return this; + } + + + @Override + public String toString() { + + String sb = "class BalancaDuimpSumarioCover {\n" + + " dataDesembaraco: " + toIndentedString(dataDesembaraco) + "\n" + + " quantidadeTotalDuimp: " + toIndentedString(quantidadeTotalDuimp) + "\n" + + " quantidadeTotaltensDuimp: " + toIndentedString(quantidadeTotaltensDuimp) + "\n" + + " somatorioValorTotalCondicaoVenda: " + toIndentedString(somatorioValorTotalCondicaoVenda) + "\n" + + " somatorioValorTotalLocalEmbarque: " + toIndentedString(somatorioValorTotalLocalEmbarque) + "\n" + + " somatorioPesoItensDuimp: " + toIndentedString(somatorioPesoItensDuimp) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/BalancaDuimpTotaisCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/BalancaDuimpTotaisCover.java new file mode 100644 index 0000000..ac2a3ce --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/BalancaDuimpTotaisCover.java @@ -0,0 +1,94 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BalancaDuimpTotaisCover", propOrder = + {"quantidadeTotalDuimp", "quantidadeTotaltensDuimp" + }) + +@XmlRootElement(name = "BalancaDuimpTotaisCover") +public class BalancaDuimpTotaisCover { + + @XmlElement(name = "quantidadeTotalDuimp") + @ApiModelProperty(value = "Quantidade de Duimps selecionadas no período pesquisado.
    Valor mínimo: 1
    Valor máximo: 9999999999") + /** + * Quantidade de Duimps selecionadas no período pesquisado.
    Valor mínimo: 1
    Valor máximo: 9999999999 + **/ + private Long quantidadeTotalDuimp = null; + + @XmlElement(name = "quantidadeTotaltensDuimp") + @ApiModelProperty(value = "Soma da quantidade de itens das Duimps selecionadas no período pesquisado.
    Valor mínimo: 1
    Valor máximo: 9999999999") + /** + * Soma da quantidade de itens das Duimps selecionadas no período pesquisado.
    Valor mínimo: 1
    Valor máximo: 9999999999 + **/ + private Long quantidadeTotaltensDuimp = null; + + /** + * Quantidade de Duimps selecionadas no período pesquisado.<br>Valor mínimo: 1<br>Valor máximo: 9999999999 + * + * @return quantidadeTotalDuimp + **/ + @JsonProperty("quantidadeTotalDuimp") + public Long getQuantidadeTotalDuimp() { + return quantidadeTotalDuimp; + } + + public void setQuantidadeTotalDuimp(Long quantidadeTotalDuimp) { + this.quantidadeTotalDuimp = quantidadeTotalDuimp; + } + + public BalancaDuimpTotaisCover quantidadeTotalDuimp(Long quantidadeTotalDuimp) { + this.quantidadeTotalDuimp = quantidadeTotalDuimp; + return this; + } + + /** + * Soma da quantidade de itens das Duimps selecionadas no período pesquisado.<br>Valor mínimo: 1<br>Valor máximo: 9999999999 + * + * @return quantidadeTotaltensDuimp + **/ + @JsonProperty("quantidadeTotaltensDuimp") + public Long getQuantidadeTotaltensDuimp() { + return quantidadeTotaltensDuimp; + } + + public void setQuantidadeTotaltensDuimp(Long quantidadeTotaltensDuimp) { + this.quantidadeTotaltensDuimp = quantidadeTotaltensDuimp; + } + + public BalancaDuimpTotaisCover quantidadeTotaltensDuimp(Long quantidadeTotaltensDuimp) { + this.quantidadeTotaltensDuimp = quantidadeTotaltensDuimp; + return this; + } + + + @Override + public String toString() { + + String sb = "class BalancaDuimpTotaisCover {\n" + + " quantidadeTotalDuimp: " + toIndentedString(quantidadeTotalDuimp) + "\n" + + " quantidadeTotaltensDuimp: " + toIndentedString(quantidadeTotaltensDuimp) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpConsultaCover.java new file mode 100644 index 0000000..7d26a9c --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpConsultaCover.java @@ -0,0 +1,269 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CargaDuimpConsultaCover", propOrder = + {"unidadeDeclarada", "tipoIdentificacaoCarga", "identificacao", "seguro", "frete", "paisProcedencia", "motivoSituacaoEspecial" + }) + +@XmlRootElement(name = "CargaDuimpConsultaCover") +/** + * Dados da carga. + **/ +@ApiModel(description = "Dados da carga.") +public class CargaDuimpConsultaCover { + + @XmlElement(name = "unidadeDeclarada") + @ApiModelProperty(value = "") + @Valid + private UnidadeDeclaradaCover unidadeDeclarada = null; + + + @XmlType(name = "TipoIdentificacaoCargaEnum") + @XmlEnum(String.class) + public enum TipoIdentificacaoCargaEnum { + + @XmlEnumValue("CE") + @JsonProperty("CE") + CE("CE"), + + @XmlEnumValue("RUC") + @JsonProperty("RUC") + RUC("RUC"); + + + private final String value; + + TipoIdentificacaoCargaEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoIdentificacaoCargaEnum fromValue(String v) { + for (TipoIdentificacaoCargaEnum b : TipoIdentificacaoCargaEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoIdentificacaoCargaEnum"); + } + } + + @XmlElement(name = "tipoIdentificacaoCarga") + @ApiModelProperty(example = "CE", value = "Descreve se a identificação da carga é do tipo CE ou RUC") + /** + * Descreve se a identificação da carga é do tipo CE ou RUC + **/ + private TipoIdentificacaoCargaEnum tipoIdentificacaoCarga = null; + + @XmlElement(name = "identificacao") + @ApiModelProperty(value = "Número de Identificação da Carga.
    Quando tipo de identificação da carga for CE:
    - Tamanho: 15
    - Formato: NNNNNNNNNNNNNNN
    Quando tipo de identificação da carga for RUC:
    - Tamanho mínimo: 1
    - Tamanho máximo: 32
    Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11

    Origem: Portal Único Siscomex - Sistema CCT Importação - https://portalunico.siscomex.gov.br/
    Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo") + /** + * Número de Identificação da Carga.
    Quando tipo de identificação da carga for CE:
    - Tamanho: 15
    - Formato: NNNNNNNNNNNNNNN
    Quando tipo de identificação da carga for RUC:
    - Tamanho mínimo: 1
    - Tamanho máximo: 32
    Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11

    Origem: Portal Único Siscomex - Sistema CCT Importação - https://portalunico.siscomex.gov.br/
    Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + **/ + private String identificacao = null; + + @XmlElement(name = "seguro") + @ApiModelProperty(value = "") + @Valid + private CargaDuimpSeguroConsultaCover seguro = null; + + @XmlElement(name = "frete") + @ApiModelProperty(value = "") + @Valid + private CargaDuimpFreteConsultaCover frete = null; + + @XmlElement(name = "paisProcedencia") + @ApiModelProperty(value = "") + @Valid + private CargaDuimpPaisProcedenciaCover paisProcedencia = null; + + @XmlElement(name = "motivoSituacaoEspecial") + @ApiModelProperty(value = "") + @Valid + private CargaDuimpMotivoSituacaoEspecialCover motivoSituacaoEspecial = null; + + /** + * Get unidadeDeclarada + * + * @return unidadeDeclarada + **/ + @JsonProperty("unidadeDeclarada") + public UnidadeDeclaradaCover getUnidadeDeclarada() { + return unidadeDeclarada; + } + + public void setUnidadeDeclarada(UnidadeDeclaradaCover unidadeDeclarada) { + this.unidadeDeclarada = unidadeDeclarada; + } + + public CargaDuimpConsultaCover unidadeDeclarada(UnidadeDeclaradaCover unidadeDeclarada) { + this.unidadeDeclarada = unidadeDeclarada; + return this; + } + + /** + * Descreve se a identificação da carga é do tipo CE ou RUC + * + * @return tipoIdentificacaoCarga + **/ + @JsonProperty("tipoIdentificacaoCarga") + public String getTipoIdentificacaoCarga() { + if (tipoIdentificacaoCarga == null) { + return null; + } + return tipoIdentificacaoCarga.value(); + } + + public void setTipoIdentificacaoCarga(TipoIdentificacaoCargaEnum tipoIdentificacaoCarga) { + this.tipoIdentificacaoCarga = tipoIdentificacaoCarga; + } + + public CargaDuimpConsultaCover tipoIdentificacaoCarga(TipoIdentificacaoCargaEnum tipoIdentificacaoCarga) { + this.tipoIdentificacaoCarga = tipoIdentificacaoCarga; + return this; + } + + /** + * Número de Identificação da Carga.<br>Quando tipo de identificação da carga for CE: <br> - Tamanho: 15 <br> - Formato: NNNNNNNNNNNNNNN<br>Quando tipo de identificação da carga for RUC: <br> - Tamanho mínimo: 1<br> - Tamanho máximo: 32<br>Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11<br><br>Origem: Portal Único Siscomex - Sistema CCT Importação - https://portalunico.siscomex.gov.br/<br>Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + * + * @return identificacao + **/ + @JsonProperty("identificacao") + public String getIdentificacao() { + return identificacao; + } + + public void setIdentificacao(String identificacao) { + this.identificacao = identificacao; + } + + public CargaDuimpConsultaCover identificacao(String identificacao) { + this.identificacao = identificacao; + return this; + } + + /** + * Get seguro + * + * @return seguro + **/ + @JsonProperty("seguro") + public CargaDuimpSeguroConsultaCover getSeguro() { + return seguro; + } + + public void setSeguro(CargaDuimpSeguroConsultaCover seguro) { + this.seguro = seguro; + } + + public CargaDuimpConsultaCover seguro(CargaDuimpSeguroConsultaCover seguro) { + this.seguro = seguro; + return this; + } + + /** + * Get frete + * + * @return frete + **/ + @JsonProperty("frete") + public CargaDuimpFreteConsultaCover getFrete() { + return frete; + } + + public void setFrete(CargaDuimpFreteConsultaCover frete) { + this.frete = frete; + } + + public CargaDuimpConsultaCover frete(CargaDuimpFreteConsultaCover frete) { + this.frete = frete; + return this; + } + + /** + * Get paisProcedencia + * + * @return paisProcedencia + **/ + @JsonProperty("paisProcedencia") + public CargaDuimpPaisProcedenciaCover getPaisProcedencia() { + return paisProcedencia; + } + + public void setPaisProcedencia(CargaDuimpPaisProcedenciaCover paisProcedencia) { + this.paisProcedencia = paisProcedencia; + } + + public CargaDuimpConsultaCover paisProcedencia(CargaDuimpPaisProcedenciaCover paisProcedencia) { + this.paisProcedencia = paisProcedencia; + return this; + } + + /** + * Get motivoSituacaoEspecial + * + * @return motivoSituacaoEspecial + **/ + @JsonProperty("motivoSituacaoEspecial") + public CargaDuimpMotivoSituacaoEspecialCover getMotivoSituacaoEspecial() { + return motivoSituacaoEspecial; + } + + public void setMotivoSituacaoEspecial(CargaDuimpMotivoSituacaoEspecialCover motivoSituacaoEspecial) { + this.motivoSituacaoEspecial = motivoSituacaoEspecial; + } + + public CargaDuimpConsultaCover motivoSituacaoEspecial(CargaDuimpMotivoSituacaoEspecialCover motivoSituacaoEspecial) { + this.motivoSituacaoEspecial = motivoSituacaoEspecial; + return this; + } + + + @Override + public String toString() { + + String sb = "class CargaDuimpConsultaCover {\n" + + " unidadeDeclarada: " + toIndentedString(unidadeDeclarada) + "\n" + + " tipoIdentificacaoCarga: " + toIndentedString(tipoIdentificacaoCarga) + "\n" + + " identificacao: " + toIndentedString(identificacao) + "\n" + + " seguro: " + toIndentedString(seguro) + "\n" + + " frete: " + toIndentedString(frete) + "\n" + + " paisProcedencia: " + toIndentedString(paisProcedencia) + "\n" + + " motivoSituacaoEspecial: " + toIndentedString(motivoSituacaoEspecial) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpFreteConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpFreteConsultaCover.java new file mode 100644 index 0000000..9f363f2 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpFreteConsultaCover.java @@ -0,0 +1,102 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CargaDuimpFreteConsultaCover", propOrder = + {"codigoMoedaNegociada", "valorMoedaNegociada" + }) + +@XmlRootElement(name = "CargaDuimpFreteConsultaCover") +/** + * Dados do frete + **/ +@ApiModel(description = "Dados do frete") +public class CargaDuimpFreteConsultaCover { + + @XmlElement(name = "codigoMoedaNegociada") + @ApiModelProperty(example = "USD", value = "Código da moeda negociada do frete (ISO-4217).
    Tamanho: 3
    Formato: 'AAA' Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo") + /** + * Código da moeda negociada do frete (ISO-4217).
    Tamanho: 3
    Formato: 'AAA' Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + **/ + private String codigoMoedaNegociada = null; + + @XmlElement(name = "valorMoedaNegociada") + @ApiModelProperty(example = "30.22", value = "Valor do frete na moeda negociada.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.
    Observação:
    Para as Duimp registradas a partir de 08/06/2022, o valor do frete utilizado no cálculo do valor aduaneiro não inclui os gastos relativos à carga, à descarga e ao manuseio incorridos no território nacional e destacados do custo de transporte Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo") + @Valid + /** + * Valor do frete na moeda negociada.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.
    Observação:
    Para as Duimp registradas a partir de 08/06/2022, o valor do frete utilizado no cálculo do valor aduaneiro não inclui os gastos relativos à carga, à descarga e ao manuseio incorridos no território nacional e destacados do custo de transporte Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + **/ + private BigDecimal valorMoedaNegociada = null; + + /** + * Código da moeda negociada do frete (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA' Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + * + * @return codigoMoedaNegociada + **/ + @JsonProperty("codigoMoedaNegociada") + public String getCodigoMoedaNegociada() { + return codigoMoedaNegociada; + } + + public void setCodigoMoedaNegociada(String codigoMoedaNegociada) { + this.codigoMoedaNegociada = codigoMoedaNegociada; + } + + public CargaDuimpFreteConsultaCover codigoMoedaNegociada(String codigoMoedaNegociada) { + this.codigoMoedaNegociada = codigoMoedaNegociada; + return this; + } + + /** + * Valor do frete na moeda negociada.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.<br>Observação:<br>Para as Duimp registradas a partir de 08/06/2022, o valor do frete utilizado no cálculo do valor aduaneiro não inclui os gastos relativos à carga, à descarga e ao manuseio incorridos no território nacional e destacados do custo de transporte Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + * + * @return valorMoedaNegociada + **/ + @JsonProperty("valorMoedaNegociada") + public BigDecimal getValorMoedaNegociada() { + return valorMoedaNegociada; + } + + public void setValorMoedaNegociada(BigDecimal valorMoedaNegociada) { + this.valorMoedaNegociada = valorMoedaNegociada; + } + + public CargaDuimpFreteConsultaCover valorMoedaNegociada(BigDecimal valorMoedaNegociada) { + this.valorMoedaNegociada = valorMoedaNegociada; + return this; + } + + + @Override + public String toString() { + + String sb = "class CargaDuimpFreteConsultaCover {\n" + + " codigoMoedaNegociada: " + toIndentedString(codigoMoedaNegociada) + "\n" + + " valorMoedaNegociada: " + toIndentedString(valorMoedaNegociada) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpMotivoSituacaoEspecialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpMotivoSituacaoEspecialCover.java new file mode 100644 index 0000000..463c0eb --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpMotivoSituacaoEspecialCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CargaDuimpMotivoSituacaoEspecialCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "CargaDuimpMotivoSituacaoEspecialCover") +/** + * Motivo da situação especial de despacho da carga + **/ +@ApiModel(description = "Motivo da situação especial de despacho da carga") +public class CargaDuimpMotivoSituacaoEspecialCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "1", value = "Código do motivo da situação especial de despacho no sistema.
    Tamanho: 5
    Formato: 'NNNNN'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ Para Duimp SEM situação especial de despacho (atributo carga.identificacao preenchido), este atributo será retornado nulo") + /** + * Código do motivo da situação especial de despacho no sistema.
    Tamanho: 5
    Formato: 'NNNNN'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ Para Duimp SEM situação especial de despacho (atributo carga.identificacao preenchido), este atributo será retornado nulo + **/ + private String codigo = null; + + /** + * Código do motivo da situação especial de despacho no sistema.<br>Tamanho: 5<br>Formato: 'NNNNN'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ Para Duimp SEM situação especial de despacho (atributo carga.identificacao preenchido), este atributo será retornado nulo + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public CargaDuimpMotivoSituacaoEspecialCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class CargaDuimpMotivoSituacaoEspecialCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpPaisProcedenciaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpPaisProcedenciaCover.java new file mode 100644 index 0000000..98b641d --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpPaisProcedenciaCover.java @@ -0,0 +1,72 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CargaDuimpPaisProcedenciaCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "CargaDuimpPaisProcedenciaCover") +/** + * País de Procedência.
    Para DUIMP com tipo de identificação de carga RUC, o país de procedência é informado pelo Importador + **/ +@ApiModel(description = "País de Procedência.
    Para DUIMP com tipo de identificação de carga RUC, o país de procedência é informado pelo Importador") +public class CargaDuimpPaisProcedenciaCover { + + @XmlElement(name = "codigo") + @ApiModelProperty(example = "CN", value = "Código do país de procedência no formato ISO (3166-1 alfa-2).
    Tamanho: 2
    Formato: 'AA'") + /** + * Código do país de procedência no formato ISO (3166-1 alfa-2).
    Tamanho: 2
    Formato: 'AA' + **/ + private String codigo = null; + + /** + * Código do país de procedência no formato ISO (3166-1 alfa-2).<br>Tamanho: 2<br>Formato: 'AA' + * + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public CargaDuimpPaisProcedenciaCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class CargaDuimpPaisProcedenciaCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpSeguroConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpSeguroConsultaCover.java new file mode 100644 index 0000000..a894094 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpSeguroConsultaCover.java @@ -0,0 +1,102 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CargaDuimpSeguroConsultaCover", propOrder = + {"codigoMoedaNegociada", "valorMoedaNegociada" + }) + +@XmlRootElement(name = "CargaDuimpSeguroConsultaCover") +/** + * Dados do seguro. + **/ +@ApiModel(description = "Dados do seguro.") +public class CargaDuimpSeguroConsultaCover { + + @XmlElement(name = "codigoMoedaNegociada") + @ApiModelProperty(example = "USD", value = "Código da moeda negociada do seguro (ISO-4217).
    Tamanho: 3
    Formato: 'AAA' Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo") + /** + * Código da moeda negociada do seguro (ISO-4217).
    Tamanho: 3
    Formato: 'AAA' Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + **/ + private String codigoMoedaNegociada = null; + + @XmlElement(name = "valorMoedaNegociada") + @ApiModelProperty(example = "30.22", value = "Valor do seguro na moeda negociada.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo") + @Valid + /** + * Valor do seguro na moeda negociada.
    Tamanho: 13,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + **/ + private BigDecimal valorMoedaNegociada = null; + + /** + * Código da moeda negociada do seguro (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA' Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + * + * @return codigoMoedaNegociada + **/ + @JsonProperty("codigoMoedaNegociada") + public String getCodigoMoedaNegociada() { + return codigoMoedaNegociada; + } + + public void setCodigoMoedaNegociada(String codigoMoedaNegociada) { + this.codigoMoedaNegociada = codigoMoedaNegociada; + } + + public CargaDuimpSeguroConsultaCover codigoMoedaNegociada(String codigoMoedaNegociada) { + this.codigoMoedaNegociada = codigoMoedaNegociada; + return this; + } + + /** + * Valor do seguro na moeda negociada.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + * + * @return valorMoedaNegociada + **/ + @JsonProperty("valorMoedaNegociada") + public BigDecimal getValorMoedaNegociada() { + return valorMoedaNegociada; + } + + public void setValorMoedaNegociada(BigDecimal valorMoedaNegociada) { + this.valorMoedaNegociada = valorMoedaNegociada; + } + + public CargaDuimpSeguroConsultaCover valorMoedaNegociada(BigDecimal valorMoedaNegociada) { + this.valorMoedaNegociada = valorMoedaNegociada; + return this; + } + + + @Override + public String toString() { + + String sb = "class CargaDuimpSeguroConsultaCover {\n" + + " codigoMoedaNegociada: " + toIndentedString(codigoMoedaNegociada) + "\n" + + " valorMoedaNegociada: " + toIndentedString(valorMoedaNegociada) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DadosPagamentoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DadosPagamentoCover.java new file mode 100644 index 0000000..fadbc0d --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DadosPagamentoCover.java @@ -0,0 +1,261 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; +import java.time.OffsetDateTime; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DadosPagamentoCover", propOrder = + {"dataPagamento", "codigoReceita", "banco", "agencia", "conta", "tributo", "valor", "juros" + }) + +@XmlRootElement(name = "DadosPagamentoCover") +/** + * Dados principais de um pagamento. + **/ +@ApiModel(description = "Dados principais de um pagamento.") +public class DadosPagamentoCover { + + @XmlElement(name = "dataPagamento") + @ApiModelProperty(value = "Data e hora do pagamento.
    Formato: 'yyyy-MM-dd'T'HH:mm:ssZ'") + /** + * Data e hora do pagamento.
    Formato: 'yyyy-MM-dd'T'HH:mm:ssZ' + **/ + private OffsetDateTime dataPagamento = null; + + @XmlElement(name = "codigoReceita") + @ApiModelProperty(example = "5602", value = "Código da receita.
    Tamanho: 4
    Formato: 'NNNN'") + /** + * Código da receita.
    Tamanho: 4
    Formato: 'NNNN' + **/ + private String codigoReceita = null; + + @XmlElement(name = "banco") + @ApiModelProperty(example = "001", value = "Código do banco.
    Valor mínimo: 1
    Valor máximo: 999") + /** + * Código do banco.
    Valor mínimo: 1
    Valor máximo: 999 + **/ + private String banco = null; + + @XmlElement(name = "agencia") + @ApiModelProperty(example = "3521", value = "Número da agência
    Tamanho mínimo: 1
    Tamanho máximo: 4") + /** + * Número da agência
    Tamanho mínimo: 1
    Tamanho máximo: 4 + **/ + private String agencia = null; + + @XmlElement(name = "conta") + @ApiModelProperty(example = "707070", value = "Número da conta
    Tamanho mínimo: 1
    Tamanho máximo: 10") + /** + * Número da conta
    Tamanho mínimo: 1
    Tamanho máximo: 10 + **/ + private String conta = null; + + @XmlElement(name = "tributo") + @ApiModelProperty(value = "") + @Valid + private TributoDuimpConsultaCover tributo = null; + + @XmlElement(name = "valor") + @ApiModelProperty(example = "17.2", value = "Valor pago.
    Tamanho: 17,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + @Valid + /** + * Valor pago.
    Tamanho: 17,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private BigDecimal valor = null; + + @XmlElement(name = "juros") + @ApiModelProperty(value = "") + @Valid + private JurosPagamentoCover juros = null; + + /** + * Data e hora do pagamento.<br>Formato: 'yyyy-MM-dd'T'HH:mm:ssZ' + * + * @return dataPagamento + **/ + @JsonProperty("dataPagamento") + public OffsetDateTime getDataPagamento() { + return dataPagamento; + } + + public void setDataPagamento(OffsetDateTime dataPagamento) { + this.dataPagamento = dataPagamento; + } + + public DadosPagamentoCover dataPagamento(OffsetDateTime dataPagamento) { + this.dataPagamento = dataPagamento; + return this; + } + + /** + * Código da receita.<br>Tamanho: 4<br>Formato: 'NNNN' + * + * @return codigoReceita + **/ + @JsonProperty("codigoReceita") + public String getCodigoReceita() { + return codigoReceita; + } + + public void setCodigoReceita(String codigoReceita) { + this.codigoReceita = codigoReceita; + } + + public DadosPagamentoCover codigoReceita(String codigoReceita) { + this.codigoReceita = codigoReceita; + return this; + } + + /** + * Código do banco.<br>Valor mínimo: 1<br>Valor máximo: 999 + * + * @return banco + **/ + @JsonProperty("banco") + public String getBanco() { + return banco; + } + + public void setBanco(String banco) { + this.banco = banco; + } + + public DadosPagamentoCover banco(String banco) { + this.banco = banco; + return this; + } + + /** + * Número da agência<br>Tamanho mínimo: 1<br>Tamanho máximo: 4 + * + * @return agencia + **/ + @JsonProperty("agencia") + public String getAgencia() { + return agencia; + } + + public void setAgencia(String agencia) { + this.agencia = agencia; + } + + public DadosPagamentoCover agencia(String agencia) { + this.agencia = agencia; + return this; + } + + /** + * Número da conta<br>Tamanho mínimo: 1<br>Tamanho máximo: 10 + * + * @return conta + **/ + @JsonProperty("conta") + public String getConta() { + return conta; + } + + public void setConta(String conta) { + this.conta = conta; + } + + public DadosPagamentoCover conta(String conta) { + this.conta = conta; + return this; + } + + /** + * Get tributo + * + * @return tributo + **/ + @JsonProperty("tributo") + public TributoDuimpConsultaCover getTributo() { + return tributo; + } + + public void setTributo(TributoDuimpConsultaCover tributo) { + this.tributo = tributo; + } + + public DadosPagamentoCover tributo(TributoDuimpConsultaCover tributo) { + this.tributo = tributo; + return this; + } + + /** + * Valor pago.<br>Tamanho: 17,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return valor + **/ + @JsonProperty("valor") + public BigDecimal getValor() { + return valor; + } + + public void setValor(BigDecimal valor) { + this.valor = valor; + } + + public DadosPagamentoCover valor(BigDecimal valor) { + this.valor = valor; + return this; + } + + /** + * Get juros + * + * @return juros + **/ + @JsonProperty("juros") + public JurosPagamentoCover getJuros() { + return juros; + } + + public void setJuros(JurosPagamentoCover juros) { + this.juros = juros; + } + + public DadosPagamentoCover juros(JurosPagamentoCover juros) { + this.juros = juros; + return this; + } + + + @Override + public String toString() { + + String sb = "class DadosPagamentoCover {\n" + + " dataPagamento: " + toIndentedString(dataPagamento) + "\n" + + " codigoReceita: " + toIndentedString(codigoReceita) + "\n" + + " banco: " + toIndentedString(banco) + "\n" + + " agencia: " + toIndentedString(agencia) + "\n" + + " conta: " + toIndentedString(conta) + "\n" + + " tributo: " + toIndentedString(tributo) + "\n" + + " valor: " + toIndentedString(valor) + "\n" + + " juros: " + toIndentedString(juros) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DuimpApiMessageCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DuimpApiMessageCover.java new file mode 100644 index 0000000..69a9377 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DuimpApiMessageCover.java @@ -0,0 +1,121 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DuimpApiMessageCover", propOrder = + {"code", "field", "message" + }) + +@XmlRootElement(name = "DuimpApiMessageCover") +public class DuimpApiMessageCover { + + @XmlElement(name = "code") + @ApiModelProperty(example = "DIMP-ER9999", value = "Código interno da mensagem de erro.") + /** + * Código interno da mensagem de erro. + **/ + private String code = null; + + @XmlElement(name = "field") + @ApiModelProperty(example = "numero", value = "Nome do campo que contém o valor inválido.
    Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido") + /** + * Nome do campo que contém o valor inválido.
    Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido + **/ + private String field = null; + + @XmlElement(name = "message") + @ApiModelProperty(example = "Mensagem de negócio detalhando o código de erro informado no atributo 'code'.", value = "Mensagem de erro.") + /** + * Mensagem de erro. + **/ + private String message = null; + + /** + * Código interno da mensagem de erro. + * + * @return code + **/ + @JsonProperty("code") + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public DuimpApiMessageCover code(String code) { + this.code = code; + return this; + } + + /** + * Nome do campo que contém o valor inválido. <br> Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido + * + * @return field + **/ + @JsonProperty("field") + public String getField() { + return field; + } + + public void setField(String field) { + this.field = field; + } + + public DuimpApiMessageCover field(String field) { + this.field = field; + return this; + } + + /** + * Mensagem de erro. + * + * @return message + **/ + @JsonProperty("message") + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public DuimpApiMessageCover message(String message) { + this.message = message; + return this; + } + + + @Override + public String toString() { + + String sb = "class DuimpApiMessageCover {\n" + + " code: " + toIndentedString(code) + "\n" + + " field: " + toIndentedString(field) + "\n" + + " message: " + toIndentedString(message) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DuimpBalancaComercialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DuimpBalancaComercialCover.java new file mode 100644 index 0000000..4118f7e --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DuimpBalancaComercialCover.java @@ -0,0 +1,224 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DuimpBalancaComercialCover", propOrder = + {"identificacao", "situacao", "resultadoAnaliseRisco", "carga", "tributos", "pagamentos", "quantidadeItens" + }) + +@XmlRootElement(name = "DuimpBalancaComercialCover") +public class DuimpBalancaComercialCover { + + @XmlElement(name = "identificacao") + @ApiModelProperty(value = "") + @Valid + private IdentificacaoDuimpConsultaCover identificacao = null; + + @XmlElement(name = "situacao") + @ApiModelProperty(value = "") + @Valid + private SituacaoDuimpConsultaCover situacao = null; + + @XmlElement(name = "resultadoAnaliseRisco") + @ApiModelProperty(value = "") + @Valid + private ResultadoAnaliseRiscoDuimpCover resultadoAnaliseRisco = null; + + @XmlElement(name = "carga") + @ApiModelProperty(value = "") + @Valid + private CargaDuimpConsultaCover carga = null; + + @XmlElement(name = "tributos") + @ApiModelProperty(value = "") + @Valid + private TributoConsultaDuimpCover tributos = null; + + @XmlElement(name = "pagamentos") + @ApiModelProperty(value = "") + @Valid + private List pagamentos = null; + + @XmlElement(name = "quantidadeItens") + @ApiModelProperty(example = "100", value = "Quantidade total de Itens da Duimp.
    Tamanho mínimo: 1
    Tamanho máximo: 5") + /** + * Quantidade total de Itens da Duimp.
    Tamanho mínimo: 1
    Tamanho máximo: 5 + **/ + private Long quantidadeItens = null; + + /** + * Get identificacao + * + * @return identificacao + **/ + @JsonProperty("identificacao") + public IdentificacaoDuimpConsultaCover getIdentificacao() { + return identificacao; + } + + public void setIdentificacao(IdentificacaoDuimpConsultaCover identificacao) { + this.identificacao = identificacao; + } + + public DuimpBalancaComercialCover identificacao(IdentificacaoDuimpConsultaCover identificacao) { + this.identificacao = identificacao; + return this; + } + + /** + * Get situacao + * + * @return situacao + **/ + @JsonProperty("situacao") + public SituacaoDuimpConsultaCover getSituacao() { + return situacao; + } + + public void setSituacao(SituacaoDuimpConsultaCover situacao) { + this.situacao = situacao; + } + + public DuimpBalancaComercialCover situacao(SituacaoDuimpConsultaCover situacao) { + this.situacao = situacao; + return this; + } + + /** + * Get resultadoAnaliseRisco + * + * @return resultadoAnaliseRisco + **/ + @JsonProperty("resultadoAnaliseRisco") + public ResultadoAnaliseRiscoDuimpCover getResultadoAnaliseRisco() { + return resultadoAnaliseRisco; + } + + public void setResultadoAnaliseRisco(ResultadoAnaliseRiscoDuimpCover resultadoAnaliseRisco) { + this.resultadoAnaliseRisco = resultadoAnaliseRisco; + } + + public DuimpBalancaComercialCover resultadoAnaliseRisco(ResultadoAnaliseRiscoDuimpCover resultadoAnaliseRisco) { + this.resultadoAnaliseRisco = resultadoAnaliseRisco; + return this; + } + + /** + * Get carga + * + * @return carga + **/ + @JsonProperty("carga") + public CargaDuimpConsultaCover getCarga() { + return carga; + } + + public void setCarga(CargaDuimpConsultaCover carga) { + this.carga = carga; + } + + public DuimpBalancaComercialCover carga(CargaDuimpConsultaCover carga) { + this.carga = carga; + return this; + } + + /** + * Get tributos + * + * @return tributos + **/ + @JsonProperty("tributos") + public TributoConsultaDuimpCover getTributos() { + return tributos; + } + + public void setTributos(TributoConsultaDuimpCover tributos) { + this.tributos = tributos; + } + + public DuimpBalancaComercialCover tributos(TributoConsultaDuimpCover tributos) { + this.tributos = tributos; + return this; + } + + /** + * Get pagamentos + * + * @return pagamentos + **/ + @JsonProperty("pagamentos") + public List getPagamentos() { + return pagamentos; + } + + public void setPagamentos(List pagamentos) { + this.pagamentos = pagamentos; + } + + public DuimpBalancaComercialCover pagamentos(List pagamentos) { + this.pagamentos = pagamentos; + return this; + } + + public DuimpBalancaComercialCover addPagamentosItem(PagamentoDuimpConsultaCover pagamentosItem) { + this.pagamentos.add(pagamentosItem); + return this; + } + + /** + * Quantidade total de Itens da Duimp.<br>Tamanho mínimo: 1<br>Tamanho máximo: 5 + * + * @return quantidadeItens + **/ + @JsonProperty("quantidadeItens") + public Long getQuantidadeItens() { + return quantidadeItens; + } + + public void setQuantidadeItens(Long quantidadeItens) { + this.quantidadeItens = quantidadeItens; + } + + public DuimpBalancaComercialCover quantidadeItens(Long quantidadeItens) { + this.quantidadeItens = quantidadeItens; + return this; + } + + + @Override + public String toString() { + + String sb = "class DuimpBalancaComercialCover {\n" + + " identificacao: " + toIndentedString(identificacao) + "\n" + + " situacao: " + toIndentedString(situacao) + "\n" + + " resultadoAnaliseRisco: " + toIndentedString(resultadoAnaliseRisco) + "\n" + + " carga: " + toIndentedString(carga) + "\n" + + " tributos: " + toIndentedString(tributos) + "\n" + + " pagamentos: " + toIndentedString(pagamentos) + "\n" + + " quantidadeItens: " + toIndentedString(quantidadeItens) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/IdentificacaoDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/IdentificacaoDuimpConsultaCover.java new file mode 100644 index 0000000..7ebfc7d --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/IdentificacaoDuimpConsultaCover.java @@ -0,0 +1,180 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.time.OffsetDateTime; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IdentificacaoDuimpConsultaCover", propOrder = + {"numero", "versao", "importador", "dataRegistro", "informacaoComplementar" + }) + +@XmlRootElement(name = "IdentificacaoDuimpConsultaCover") +/** + * Dados da identificação da declaração única de importação. + **/ +@ApiModel(description = "Dados da identificação da declaração única de importação.") +public class IdentificacaoDuimpConsultaCover { + + @XmlElement(name = "numero") + @ApiModelProperty(example = "19BR00000004677", value = "
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)") + /** + *
    Tamanho: 15
    Formato: 'AABRSSSSSSSSSSD'
    Lei de formação. O número da Duimp é composto por:
    * AA = Corresponde ao ano do registro da Declaração.
    * BR = Corresponde à sigla do país de emissão do documento (BR).
    * SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
    * D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11) + **/ + private String numero = null; + + @XmlElement(name = "versao") + @ApiModelProperty(example = "1", value = "Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999") + /** + * Versão da Duimp.
    Valor mínimo: 0
    Valor máximo: 9999 + **/ + private Integer versao = null; + + @XmlElement(name = "importador") + @ApiModelProperty(value = "") + @Valid + private ImportadorCover importador = null; + + @XmlElement(name = "dataRegistro") + @ApiModelProperty(value = "Data e hora em que a Duimp foi registrada.
    Formato: 'yyyy-MM-dd'T'HH:mm:ssZ'") + /** + * Data e hora em que a Duimp foi registrada.
    Formato: 'yyyy-MM-dd'T'HH:mm:ssZ' + **/ + private OffsetDateTime dataRegistro = null; + + @XmlElement(name = "informacaoComplementar") + @ApiModelProperty(example = "Texto complementando informações sobre a Duimp.", value = "Descrição complementar da Duimp.
    Tamanho mínimo: 0
    Tamanho máximo: 7800") + /** + * Descrição complementar da Duimp.
    Tamanho mínimo: 0
    Tamanho máximo: 7800 + **/ + private String informacaoComplementar = null; + + /** + * <br>Tamanho: 15<br>Formato: 'AABRSSSSSSSSSSD'<br>Lei de formação. O número da Duimp é composto por: <br>* AA = Corresponde ao ano do registro da Declaração. <br>* BR = Corresponde à sigla do país de emissão do documento (BR).<br>* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11) + * + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public IdentificacaoDuimpConsultaCover numero(String numero) { + this.numero = numero; + return this; + } + + /** + * Versão da Duimp.<br>Valor mínimo: 0<br>Valor máximo: 9999 + * + * @return versao + **/ + @JsonProperty("versao") + public Integer getVersao() { + return versao; + } + + public void setVersao(Integer versao) { + this.versao = versao; + } + + public IdentificacaoDuimpConsultaCover versao(Integer versao) { + this.versao = versao; + return this; + } + + /** + * Get importador + * + * @return importador + **/ + @JsonProperty("importador") + public ImportadorCover getImportador() { + return importador; + } + + public void setImportador(ImportadorCover importador) { + this.importador = importador; + } + + public IdentificacaoDuimpConsultaCover importador(ImportadorCover importador) { + this.importador = importador; + return this; + } + + /** + * Data e hora em que a Duimp foi registrada.<br>Formato: 'yyyy-MM-dd'T'HH:mm:ssZ' + * + * @return dataRegistro + **/ + @JsonProperty("dataRegistro") + public OffsetDateTime getDataRegistro() { + return dataRegistro; + } + + public void setDataRegistro(OffsetDateTime dataRegistro) { + this.dataRegistro = dataRegistro; + } + + public IdentificacaoDuimpConsultaCover dataRegistro(OffsetDateTime dataRegistro) { + this.dataRegistro = dataRegistro; + return this; + } + + /** + * Descrição complementar da Duimp.<br>Tamanho mínimo: 0<br>Tamanho máximo: 7800 + * + * @return informacaoComplementar + **/ + @JsonProperty("informacaoComplementar") + public String getInformacaoComplementar() { + return informacaoComplementar; + } + + public void setInformacaoComplementar(String informacaoComplementar) { + this.informacaoComplementar = informacaoComplementar; + } + + public IdentificacaoDuimpConsultaCover informacaoComplementar(String informacaoComplementar) { + this.informacaoComplementar = informacaoComplementar; + return this; + } + + + @Override + public String toString() { + + String sb = "class IdentificacaoDuimpConsultaCover {\n" + + " numero: " + toIndentedString(numero) + "\n" + + " versao: " + toIndentedString(versao) + "\n" + + " importador: " + toIndentedString(importador) + "\n" + + " dataRegistro: " + toIndentedString(dataRegistro) + "\n" + + " informacaoComplementar: " + toIndentedString(informacaoComplementar) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ImportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ImportadorCover.java new file mode 100644 index 0000000..e7e4d34 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ImportadorCover.java @@ -0,0 +1,145 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ImportadorCover", propOrder = + {"tipoImportador", "ni" + }) + +@XmlRootElement(name = "ImportadorCover") +/** + * Identificação do importador da declaração única de importação. + **/ +@ApiModel(description = "Identificação do importador da declaração única de importação.") +public class ImportadorCover { + + + @XmlType(name = "TipoImportadorEnum") + @XmlEnum(String.class) + public enum TipoImportadorEnum { + + @XmlEnumValue("CNPJ") + @JsonProperty("CNPJ") + CNPJ("CNPJ"), + + @XmlEnumValue("CPF") + @JsonProperty("CPF") + CPF("CPF"); + + + private final String value; + + TipoImportadorEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoImportadorEnum fromValue(String v) { + for (TipoImportadorEnum b : TipoImportadorEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoImportadorEnum"); + } + } + + @XmlElement(name = "tipoImportador") + @ApiModelProperty(example = "CNPJ", value = "Descreve se o Importador é do tipo CPF ou CNPJ") + /** + * Descreve se o Importador é do tipo CPF ou CNPJ + **/ + private TipoImportadorEnum tipoImportador = null; + + @XmlElement(name = "ni", required = true) + @ApiModelProperty(example = "00055555000130", required = true, value = "
    Número do Importador:
    Caso seja CNPJ:
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + /** + *
    Número do Importador:
    Caso seja CNPJ:
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'
    Caso seja CPF:
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + **/ + private String ni = null; + + /** + * Descreve se o Importador é do tipo CPF ou CNPJ + * + * @return tipoImportador + **/ + @JsonProperty("tipoImportador") + public String getTipoImportador() { + if (tipoImportador == null) { + return null; + } + return tipoImportador.value(); + } + + public void setTipoImportador(TipoImportadorEnum tipoImportador) { + this.tipoImportador = tipoImportador; + } + + public ImportadorCover tipoImportador(TipoImportadorEnum tipoImportador) { + this.tipoImportador = tipoImportador; + return this; + } + + /** + * <br>Número do Importador: <br>Caso seja CNPJ: <br>Tamanho: 14<br>Formato: 'NNNNNNNNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN' + * + * @return ni + **/ + @JsonProperty("ni") + @NotNull + public String getNi() { + return ni; + } + + public void setNi(String ni) { + this.ni = ni; + } + + public ImportadorCover ni(String ni) { + this.ni = ni; + return this; + } + + + @Override + public String toString() { + + String sb = "class ImportadorCover {\n" + + " tipoImportador: " + toIndentedString(tipoImportador) + "\n" + + " ni: " + toIndentedString(ni) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/JurosPagamentoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/JurosPagamentoCover.java new file mode 100644 index 0000000..a27679f --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/JurosPagamentoCover.java @@ -0,0 +1,211 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; +import java.time.OffsetDateTime; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "JurosPagamentoCover", propOrder = + {"codigoReceita", "valor", "dataPagamentoJuros", "bancoJuros", "agenciaJuros", "contaJuros" + }) + +@XmlRootElement(name = "JurosPagamentoCover") +/** + * Informações sobre os Juros. + **/ +@ApiModel(description = "Informações sobre os Juros.") +public class JurosPagamentoCover { + + @XmlElement(name = "codigoReceita") + @ApiModelProperty(example = "5602", value = "Código da receita.
    Tamanho: 4
    Formato: 'NNNN'") + /** + * Código da receita.
    Tamanho: 4
    Formato: 'NNNN' + **/ + private String codigoReceita = null; + + @XmlElement(name = "valor") + @ApiModelProperty(example = "100.1", value = "Valor de juros.
    Tamanho: 17,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto.") + @Valid + /** + * Valor de juros.
    Tamanho: 17,2
    Formato: Decimal, com até 2 casas decimais separadas por ponto. + **/ + private BigDecimal valor = null; + + @XmlElement(name = "dataPagamentoJuros") + @ApiModelProperty(value = "Data de pagamento de juros.
    Formato: 'yyyy-MM-dd'T'HH:mm:ssZ'") + /** + * Data de pagamento de juros.
    Formato: 'yyyy-MM-dd'T'HH:mm:ssZ' + **/ + private OffsetDateTime dataPagamentoJuros = null; + + @XmlElement(name = "bancoJuros") + @ApiModelProperty(example = "001", value = "Código do banco.
    Valor mínimo: 1
    Valor máximo: 999") + /** + * Código do banco.
    Valor mínimo: 1
    Valor máximo: 999 + **/ + private String bancoJuros = null; + + @XmlElement(name = "agenciaJuros") + @ApiModelProperty(example = "3521", value = "Número da agência
    Tamanho mínimo: 1
    Tamanho máximo: 4") + /** + * Número da agência
    Tamanho mínimo: 1
    Tamanho máximo: 4 + **/ + private String agenciaJuros = null; + + @XmlElement(name = "contaJuros") + @ApiModelProperty(example = "707070", value = "Número da conta
    Tamanho mínimo: 1
    Tamanho máximo: 10") + /** + * Número da conta
    Tamanho mínimo: 1
    Tamanho máximo: 10 + **/ + private String contaJuros = null; + + /** + * Código da receita.<br>Tamanho: 4<br>Formato: 'NNNN' + * + * @return codigoReceita + **/ + @JsonProperty("codigoReceita") + public String getCodigoReceita() { + return codigoReceita; + } + + public void setCodigoReceita(String codigoReceita) { + this.codigoReceita = codigoReceita; + } + + public JurosPagamentoCover codigoReceita(String codigoReceita) { + this.codigoReceita = codigoReceita; + return this; + } + + /** + * Valor de juros.<br>Tamanho: 17,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * + * @return valor + **/ + @JsonProperty("valor") + public BigDecimal getValor() { + return valor; + } + + public void setValor(BigDecimal valor) { + this.valor = valor; + } + + public JurosPagamentoCover valor(BigDecimal valor) { + this.valor = valor; + return this; + } + + /** + * Data de pagamento de juros.<br>Formato: 'yyyy-MM-dd'T'HH:mm:ssZ' + * + * @return dataPagamentoJuros + **/ + @JsonProperty("dataPagamentoJuros") + public OffsetDateTime getDataPagamentoJuros() { + return dataPagamentoJuros; + } + + public void setDataPagamentoJuros(OffsetDateTime dataPagamentoJuros) { + this.dataPagamentoJuros = dataPagamentoJuros; + } + + public JurosPagamentoCover dataPagamentoJuros(OffsetDateTime dataPagamentoJuros) { + this.dataPagamentoJuros = dataPagamentoJuros; + return this; + } + + /** + * Código do banco.<br>Valor mínimo: 1<br>Valor máximo: 999 + * + * @return bancoJuros + **/ + @JsonProperty("bancoJuros") + public String getBancoJuros() { + return bancoJuros; + } + + public void setBancoJuros(String bancoJuros) { + this.bancoJuros = bancoJuros; + } + + public JurosPagamentoCover bancoJuros(String bancoJuros) { + this.bancoJuros = bancoJuros; + return this; + } + + /** + * Número da agência<br>Tamanho mínimo: 1<br>Tamanho máximo: 4 + * + * @return agenciaJuros + **/ + @JsonProperty("agenciaJuros") + public String getAgenciaJuros() { + return agenciaJuros; + } + + public void setAgenciaJuros(String agenciaJuros) { + this.agenciaJuros = agenciaJuros; + } + + public JurosPagamentoCover agenciaJuros(String agenciaJuros) { + this.agenciaJuros = agenciaJuros; + return this; + } + + /** + * Número da conta<br>Tamanho mínimo: 1<br>Tamanho máximo: 10 + * + * @return contaJuros + **/ + @JsonProperty("contaJuros") + public String getContaJuros() { + return contaJuros; + } + + public void setContaJuros(String contaJuros) { + this.contaJuros = contaJuros; + } + + public JurosPagamentoCover contaJuros(String contaJuros) { + this.contaJuros = contaJuros; + return this; + } + + + @Override + public String toString() { + + String sb = "class JurosPagamentoCover {\n" + + " codigoReceita: " + toIndentedString(codigoReceita) + "\n" + + " valor: " + toIndentedString(valor) + "\n" + + " dataPagamentoJuros: " + toIndentedString(dataPagamentoJuros) + "\n" + + " bancoJuros: " + toIndentedString(bancoJuros) + "\n" + + " agenciaJuros: " + toIndentedString(agenciaJuros) + "\n" + + " contaJuros: " + toIndentedString(contaJuros) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/MercadoriaDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/MercadoriaDuimpConsultaCover.java new file mode 100644 index 0000000..875ef45 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/MercadoriaDuimpConsultaCover.java @@ -0,0 +1,98 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MercadoriaDuimpConsultaCover", propOrder = + {"valorTotalLocalEmbarqueBRL", "valorTotalLocalEmbarqueUSD" + }) + +@XmlRootElement(name = "MercadoriaDuimpConsultaCover") +public class MercadoriaDuimpConsultaCover { + + @XmlElement(name = "valorTotalLocalEmbarqueBRL") + @ApiModelProperty(example = "20.366", value = "Valor total da mercadoria no local de embarque em R$ (Reais).
    Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor total da mercadoria no local de embarque em R$ (Reais).
    Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal valorTotalLocalEmbarqueBRL = null; + + @XmlElement(name = "valorTotalLocalEmbarqueUSD") + @ApiModelProperty(example = "20.366", value = "Valor total da mercadoria no local de embarque em US$ (Dólares).
    Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor total da mercadoria no local de embarque em US$ (Dólares).
    Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal valorTotalLocalEmbarqueUSD = null; + + /** + * Valor total da mercadoria no local de embarque em R$ (Reais). <br> Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorTotalLocalEmbarqueBRL + **/ + @JsonProperty("valorTotalLocalEmbarqueBRL") + public BigDecimal getValorTotalLocalEmbarqueBRL() { + return valorTotalLocalEmbarqueBRL; + } + + public void setValorTotalLocalEmbarqueBRL(BigDecimal valorTotalLocalEmbarqueBRL) { + this.valorTotalLocalEmbarqueBRL = valorTotalLocalEmbarqueBRL; + } + + public MercadoriaDuimpConsultaCover valorTotalLocalEmbarqueBRL(BigDecimal valorTotalLocalEmbarqueBRL) { + this.valorTotalLocalEmbarqueBRL = valorTotalLocalEmbarqueBRL; + return this; + } + + /** + * Valor total da mercadoria no local de embarque em US$ (Dólares). <br> Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return valorTotalLocalEmbarqueUSD + **/ + @JsonProperty("valorTotalLocalEmbarqueUSD") + public BigDecimal getValorTotalLocalEmbarqueUSD() { + return valorTotalLocalEmbarqueUSD; + } + + public void setValorTotalLocalEmbarqueUSD(BigDecimal valorTotalLocalEmbarqueUSD) { + this.valorTotalLocalEmbarqueUSD = valorTotalLocalEmbarqueUSD; + } + + public MercadoriaDuimpConsultaCover valorTotalLocalEmbarqueUSD(BigDecimal valorTotalLocalEmbarqueUSD) { + this.valorTotalLocalEmbarqueUSD = valorTotalLocalEmbarqueUSD; + return this; + } + + + @Override + public String toString() { + + String sb = "class MercadoriaDuimpConsultaCover {\n" + + " valorTotalLocalEmbarqueBRL: " + toIndentedString(valorTotalLocalEmbarqueBRL) + "\n" + + " valorTotalLocalEmbarqueUSD: " + toIndentedString(valorTotalLocalEmbarqueUSD) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/PagamentoDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/PagamentoDuimpConsultaCover.java new file mode 100644 index 0000000..228f307 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/PagamentoDuimpConsultaCover.java @@ -0,0 +1,98 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PagamentoDuimpConsultaCover", propOrder = + {"versaoOrigem", "principal" + }) + +@XmlRootElement(name = "PagamentoDuimpConsultaCover") +/** + * Dados de um pagamento. + **/ +@ApiModel(description = "Dados de um pagamento.") +public class PagamentoDuimpConsultaCover { + + @XmlElement(name = "versaoOrigem") + @ApiModelProperty(example = "1", value = "Versão da Duimp em que este pagamento foi realizado.
    Valor mínimo: 1
    Valor máximo: 9999") + /** + * Versão da Duimp em que este pagamento foi realizado.
    Valor mínimo: 1
    Valor máximo: 9999 + **/ + private Integer versaoOrigem = null; + + @XmlElement(name = "principal") + @ApiModelProperty(value = "") + @Valid + private DadosPagamentoCover principal = null; + + /** + * Versão da Duimp em que este pagamento foi realizado.<br>Valor mínimo: 1<br>Valor máximo: 9999 + * + * @return versaoOrigem + **/ + @JsonProperty("versaoOrigem") + public Integer getVersaoOrigem() { + return versaoOrigem; + } + + public void setVersaoOrigem(Integer versaoOrigem) { + this.versaoOrigem = versaoOrigem; + } + + public PagamentoDuimpConsultaCover versaoOrigem(Integer versaoOrigem) { + this.versaoOrigem = versaoOrigem; + return this; + } + + /** + * Get principal + * + * @return principal + **/ + @JsonProperty("principal") + public DadosPagamentoCover getPrincipal() { + return principal; + } + + public void setPrincipal(DadosPagamentoCover principal) { + this.principal = principal; + } + + public PagamentoDuimpConsultaCover principal(DadosPagamentoCover principal) { + this.principal = principal; + return this; + } + + + @Override + public String toString() { + + String sb = "class PagamentoDuimpConsultaCover {\n" + + " versaoOrigem: " + toIndentedString(versaoOrigem) + "\n" + + " principal: " + toIndentedString(principal) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/RespostaApiErroBalanca.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/RespostaApiErroBalanca.java new file mode 100644 index 0000000..3e8f935 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/RespostaApiErroBalanca.java @@ -0,0 +1,102 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RespostaApiErroBalanca", propOrder = + {"message", "errors" + }) + +@XmlRootElement(name = "RespostaApiErroBalanca") +public class RespostaApiErroBalanca { + + @XmlElement(name = "message") + @ApiModelProperty(example = "Mensagem de exemplo.", value = "Mensagem de resposta do resultado da operação.") + /** + * Mensagem de resposta do resultado da operação. + **/ + private String message = null; + + @XmlElement(name = "errors") + @ApiModelProperty(value = "Conjunto de erros de validação dos campos. Atributo devolvido apenas para erros HTTP 422.
    Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422
    Quando houver mais de um erro, essa lista será preenchida com cada um dos erros
    Exemplo: A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item.") + @Valid + /** + * Conjunto de erros de validação dos campos. Atributo devolvido apenas para erros HTTP 422.
    Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422
    Quando houver mais de um erro, essa lista será preenchida com cada um dos erros
    Exemplo: A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item. + **/ + private List errors = null; + + /** + * Mensagem de resposta do resultado da operação. + * + * @return message + **/ + @JsonProperty("message") + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public RespostaApiErroBalanca message(String message) { + this.message = message; + return this; + } + + /** + * Conjunto de erros de validação dos campos. Atributo devolvido apenas para erros HTTP 422. <br> Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422<br> Quando houver mais de um erro, essa lista será preenchida com cada um dos erros<br> <b>Exemplo:</b> A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item. + * + * @return errors + **/ + @JsonProperty("errors") + public List getErrors() { + return errors; + } + + public void setErrors(List errors) { + this.errors = errors; + } + + public RespostaApiErroBalanca errors(List errors) { + this.errors = errors; + return this; + } + + public RespostaApiErroBalanca addErrorsItem(DuimpApiMessageCover errorsItem) { + this.errors.add(errorsItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class RespostaApiErroBalanca {\n" + + " message: " + toIndentedString(message) + "\n" + + " errors: " + toIndentedString(errors) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ResultadoAnaliseRiscoDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ResultadoAnaliseRiscoDuimpCover.java new file mode 100644 index 0000000..250a630 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ResultadoAnaliseRiscoDuimpCover.java @@ -0,0 +1,124 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ResultadoAnaliseRiscoDuimpCover", propOrder = + {"canalConsolidado" + }) + +@XmlRootElement(name = "ResultadoAnaliseRiscoDuimpCover") +/** + * Resultado da análise de risco para uma Duimp. + **/ +@ApiModel(description = "Resultado da análise de risco para uma Duimp.") +public class ResultadoAnaliseRiscoDuimpCover { + + + @XmlType(name = "CanalConsolidadoEnum") + @XmlEnum(String.class) + public enum CanalConsolidadoEnum { + + @XmlEnumValue("1 - Verde") + @JsonProperty("1 - Verde") + _1_VERDE("1 - Verde"), + + @XmlEnumValue("12 - Amarelo") + @JsonProperty("12 - Amarelo") + _12_AMARELO("12 - Amarelo"), + + @XmlEnumValue("3 - Vermelho") + @JsonProperty("3 - Vermelho") + _3_VERMELHO("3 - Vermelho"), + + @XmlEnumValue("15 - Cinza") + @JsonProperty("15 - Cinza") + _15_CINZA("15 - Cinza"); + + + private final String value; + + CanalConsolidadoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CanalConsolidadoEnum fromValue(String v) { + for (CanalConsolidadoEnum b : CanalConsolidadoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to CanalConsolidadoEnum"); + } + } + + @XmlElement(name = "canalConsolidado") + @ApiModelProperty(example = "VERDE", value = "Canais da análise de risco.
    Domínio:") + /** + * Canais da análise de risco.
    Domínio: + **/ + private CanalConsolidadoEnum canalConsolidado = null; + + /** + * Canais da análise de risco.<br>Domínio: + * + * @return canalConsolidado + **/ + @JsonProperty("canalConsolidado") + public String getCanalConsolidado() { + if (canalConsolidado == null) { + return null; + } + return canalConsolidado.value(); + } + + public void setCanalConsolidado(CanalConsolidadoEnum canalConsolidado) { + this.canalConsolidado = canalConsolidado; + } + + public ResultadoAnaliseRiscoDuimpCover canalConsolidado(CanalConsolidadoEnum canalConsolidado) { + this.canalConsolidado = canalConsolidado; + return this; + } + + + @Override + public String toString() { + + String sb = "class ResultadoAnaliseRiscoDuimpCover {\n" + + " canalConsolidado: " + toIndentedString(canalConsolidado) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/SituacaoDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/SituacaoDuimpConsultaCover.java new file mode 100644 index 0000000..ef7e58b --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/SituacaoDuimpConsultaCover.java @@ -0,0 +1,208 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SituacaoDuimpConsultaCover", propOrder = + {"situacaoDuimp" + }) + +@XmlRootElement(name = "SituacaoDuimpConsultaCover") +/** + * Tipos de situações e controles da declaração única de importação. + **/ +@ApiModel(description = "Tipos de situações e controles da declaração única de importação.") +public class SituacaoDuimpConsultaCover { + + + @XmlType(name = "SituacaoDuimpEnum") + @XmlEnum(String.class) + public enum SituacaoDuimpEnum { + + @XmlEnumValue("EM_ELABORACAO") + @JsonProperty("EM_ELABORACAO") + EM_ELABORACAO("EM_ELABORACAO"), + + @XmlEnumValue("ELABORADA_AGUARDANDO_VINCULACAO_CARGA") + @JsonProperty("ELABORADA_AGUARDANDO_VINCULACAO_CARGA") + ELABORADA_AGUARDANDO_VINCULACAO_CARGA("ELABORADA_AGUARDANDO_VINCULACAO_CARGA"), + + @XmlEnumValue("ELABORADA_AGUARDANDO_PCCE") + @JsonProperty("ELABORADA_AGUARDANDO_PCCE") + ELABORADA_AGUARDANDO_PCCE("ELABORADA_AGUARDANDO_PCCE"), + + @XmlEnumValue("ELABORADA_AGUARDANDO_DESVINCULACAO_CARGA") + @JsonProperty("ELABORADA_AGUARDANDO_DESVINCULACAO_CARGA") + ELABORADA_AGUARDANDO_DESVINCULACAO_CARGA("ELABORADA_AGUARDANDO_DESVINCULACAO_CARGA"), + + @XmlEnumValue("ELABORADA_AGUARDANDO_PROCESSAMENTO_DRAWBACK") + @JsonProperty("ELABORADA_AGUARDANDO_PROCESSAMENTO_DRAWBACK") + ELABORADA_AGUARDANDO_PROCESSAMENTO_DRAWBACK("ELABORADA_AGUARDANDO_PROCESSAMENTO_DRAWBACK"), + + @XmlEnumValue("ELABORADA_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK") + @JsonProperty("ELABORADA_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK") + ELABORADA_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK("ELABORADA_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK"), + + @XmlEnumValue("ELABORADA_AGUARDANDO_CRIACAO_ESTOQUE") + @JsonProperty("ELABORADA_AGUARDANDO_CRIACAO_ESTOQUE") + ELABORADA_AGUARDANDO_CRIACAO_ESTOQUE("ELABORADA_AGUARDANDO_CRIACAO_ESTOQUE"), + + @XmlEnumValue("ELABORADA_AGUARDANDO_EXCLUSAO_ESTOQUE") + @JsonProperty("ELABORADA_AGUARDANDO_EXCLUSAO_ESTOQUE") + ELABORADA_AGUARDANDO_EXCLUSAO_ESTOQUE("ELABORADA_AGUARDANDO_EXCLUSAO_ESTOQUE"), + + @XmlEnumValue("SOLICITACAO_RETIFICACAO_EM_ELABORACAO") + @JsonProperty("SOLICITACAO_RETIFICACAO_EM_ELABORACAO") + SOLICITACAO_RETIFICACAO_EM_ELABORACAO("SOLICITACAO_RETIFICACAO_EM_ELABORACAO"), + + @XmlEnumValue("SOLICITACAO_RETIFICACAO_AGUARDANDO_VINCULACAO_CARGA_NOVA") + @JsonProperty("SOLICITACAO_RETIFICACAO_AGUARDANDO_VINCULACAO_CARGA_NOVA") + SOLICITACAO_RETIFICACAO_AGUARDANDO_VINCULACAO_CARGA_NOVA("SOLICITACAO_RETIFICACAO_AGUARDANDO_VINCULACAO_CARGA_NOVA"), + + @XmlEnumValue("SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_ANTIGA") + @JsonProperty("SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_ANTIGA") + SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_ANTIGA("SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_ANTIGA"), + + @XmlEnumValue("SOLICITACAO_RETIFICACAO_AGUARDANDO_PAGAMENTO") + @JsonProperty("SOLICITACAO_RETIFICACAO_AGUARDANDO_PAGAMENTO") + SOLICITACAO_RETIFICACAO_AGUARDANDO_PAGAMENTO("SOLICITACAO_RETIFICACAO_AGUARDANDO_PAGAMENTO"), + + @XmlEnumValue("SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_NOVA") + @JsonProperty("SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_NOVA") + SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_NOVA("SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_NOVA"), + + @XmlEnumValue("SOLICITACAO_RETIFICACAO_AGUARDANDO_PROCESSAMENTO_DRAWBACK") + @JsonProperty("SOLICITACAO_RETIFICACAO_AGUARDANDO_PROCESSAMENTO_DRAWBACK") + SOLICITACAO_RETIFICACAO_AGUARDANDO_PROCESSAMENTO_DRAWBACK("SOLICITACAO_RETIFICACAO_AGUARDANDO_PROCESSAMENTO_DRAWBACK"), + + @XmlEnumValue("SOLICITACAO_RETIFICACAO_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK") + @JsonProperty("SOLICITACAO_RETIFICACAO_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK") + SOLICITACAO_RETIFICACAO_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK("SOLICITACAO_RETIFICACAO_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK"), + + @XmlEnumValue("REGISTRADA_AGUARDANDO_CANAL") + @JsonProperty("REGISTRADA_AGUARDANDO_CANAL") + REGISTRADA_AGUARDANDO_CANAL("REGISTRADA_AGUARDANDO_CANAL"), + + @XmlEnumValue("EM_CONFERENCIA_SELECIONADA") + @JsonProperty("EM_CONFERENCIA_SELECIONADA") + EM_CONFERENCIA_SELECIONADA("EM_CONFERENCIA_SELECIONADA"), + + @XmlEnumValue("DESEMBARACADA_AGUARDANDO_PENDENCIA") + @JsonProperty("DESEMBARACADA_AGUARDANDO_PENDENCIA") + DESEMBARACADA_AGUARDANDO_PENDENCIA("DESEMBARACADA_AGUARDANDO_PENDENCIA"), + + @XmlEnumValue("DESEMBARACADA_AGUARDANDO_ENTREGA_CARGA") + @JsonProperty("DESEMBARACADA_AGUARDANDO_ENTREGA_CARGA") + DESEMBARACADA_AGUARDANDO_ENTREGA_CARGA("DESEMBARACADA_AGUARDANDO_ENTREGA_CARGA"), + + @XmlEnumValue("DESEMBARACADA_CARGA_ENTREGUE") + @JsonProperty("DESEMBARACADA_CARGA_ENTREGUE") + DESEMBARACADA_CARGA_ENTREGUE("DESEMBARACADA_CARGA_ENTREGUE"), + + @XmlEnumValue("ENTREGA_ANTECIPADA_AGUARDANDO_PENDENCIA_TRIBUTOS_ESTADUAIS") + @JsonProperty("ENTREGA_ANTECIPADA_AGUARDANDO_PENDENCIA_TRIBUTOS_ESTADUAIS") + ENTREGA_ANTECIPADA_AGUARDANDO_PENDENCIA_TRIBUTOS_ESTADUAIS("ENTREGA_ANTECIPADA_AGUARDANDO_PENDENCIA_TRIBUTOS_ESTADUAIS"), + + @XmlEnumValue("ENTREGA_ANTECIPADA_AGUARDANDO_ENTREGA_CARGA") + @JsonProperty("ENTREGA_ANTECIPADA_AGUARDANDO_ENTREGA_CARGA") + ENTREGA_ANTECIPADA_AGUARDANDO_ENTREGA_CARGA("ENTREGA_ANTECIPADA_AGUARDANDO_ENTREGA_CARGA"), + + @XmlEnumValue("ENTREGA_ANTECIPADA_CARGA_ENTREGUE") + @JsonProperty("ENTREGA_ANTECIPADA_CARGA_ENTREGUE") + ENTREGA_ANTECIPADA_CARGA_ENTREGUE("ENTREGA_ANTECIPADA_CARGA_ENTREGUE"), + + @XmlEnumValue("CANCELADA_PELA_ADUANA") + @JsonProperty("CANCELADA_PELA_ADUANA") + CANCELADA_PELA_ADUANA("CANCELADA_PELA_ADUANA"), + + @XmlEnumValue("CANCELADA_POR_APURACAO") + @JsonProperty("CANCELADA_POR_APURACAO") + CANCELADA_POR_APURACAO("CANCELADA_POR_APURACAO"); + + + private final String value; + + SituacaoDuimpEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SituacaoDuimpEnum fromValue(String v) { + for (SituacaoDuimpEnum b : SituacaoDuimpEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to SituacaoDuimpEnum"); + } + } + + @XmlElement(name = "situacaoDuimp") + @ApiModelProperty(example = "REGISTRADA_AGUARDANDO_CANAL", value = "Situação da versão vigente da Duimp.
    Domínio:") + /** + * Situação da versão vigente da Duimp.
    Domínio: + **/ + private SituacaoDuimpEnum situacaoDuimp = null; + + /** + * Situação da versão vigente da Duimp.<br>Domínio: + * + * @return situacaoDuimp + **/ + @JsonProperty("situacaoDuimp") + public String getSituacaoDuimp() { + if (situacaoDuimp == null) { + return null; + } + return situacaoDuimp.value(); + } + + public void setSituacaoDuimp(SituacaoDuimpEnum situacaoDuimp) { + this.situacaoDuimp = situacaoDuimp; + } + + public SituacaoDuimpConsultaCover situacaoDuimp(SituacaoDuimpEnum situacaoDuimp) { + this.situacaoDuimp = situacaoDuimp; + return this; + } + + + @Override + public String toString() { + + String sb = "class SituacaoDuimpConsultaCover {\n" + + " situacaoDuimp: " + toIndentedString(situacaoDuimp) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoCalculadoDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoCalculadoDuimpConsultaCover.java new file mode 100644 index 0000000..49dfe74 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoCalculadoDuimpConsultaCover.java @@ -0,0 +1,170 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TributoCalculadoDuimpConsultaCover", propOrder = + {"tipo", "valoresBRL" + }) + +@XmlRootElement(name = "TributoCalculadoDuimpConsultaCover") +/** + * Valores do cálculo do tributo e a memória de cálculo. + **/ +@ApiModel(description = "Valores do cálculo do tributo e a memória de cálculo.") +public class TributoCalculadoDuimpConsultaCover { + + + @XmlType(name = "TipoEnum") + @XmlEnum(String.class) + public enum TipoEnum { + + @XmlEnumValue("II") + @JsonProperty("II") + II("II"), + + @XmlEnumValue("IPI") + @JsonProperty("IPI") + IPI("IPI"), + + @XmlEnumValue("PIS") + @JsonProperty("PIS") + PIS("PIS"), + + @XmlEnumValue("COFINS") + @JsonProperty("COFINS") + COFINS("COFINS"), + + @XmlEnumValue("CIDE") + @JsonProperty("CIDE") + CIDE("CIDE"), + + @XmlEnumValue("ANTIDUMPING") + @JsonProperty("ANTIDUMPING") + ANTIDUMPING("ANTIDUMPING"), + + @XmlEnumValue("MULTA_COM_REDUCAO") + @JsonProperty("MULTA_COM_REDUCAO") + MULTA_COM_REDUCAO("MULTA_COM_REDUCAO"), + + @XmlEnumValue("MULTA_SEM_REDUCAO") + @JsonProperty("MULTA_SEM_REDUCAO") + MULTA_SEM_REDUCAO("MULTA_SEM_REDUCAO"), + + @XmlEnumValue("TAXA_UTILIZACAO") + @JsonProperty("TAXA_UTILIZACAO") + TAXA_UTILIZACAO("TAXA_UTILIZACAO"); + + + private final String value; + + TipoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } + } + + @XmlElement(name = "tipo") + @ApiModelProperty(example = "II", value = "Tipo de impostos (códigos de receita principal únicos).
    Domínio:") + /** + * Tipo de impostos (códigos de receita principal únicos).
    Domínio: + **/ + private TipoEnum tipo = null; + + @XmlElement(name = "valoresBRL") + @ApiModelProperty(value = "") + @Valid + private ValoresTributoDuimpConsultaCover valoresBRL = null; + + /** + * Tipo de impostos (códigos de receita principal únicos).<br>Domínio: + * + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public TributoCalculadoDuimpConsultaCover tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Get valoresBRL + * + * @return valoresBRL + **/ + @JsonProperty("valoresBRL") + public ValoresTributoDuimpConsultaCover getValoresBRL() { + return valoresBRL; + } + + public void setValoresBRL(ValoresTributoDuimpConsultaCover valoresBRL) { + this.valoresBRL = valoresBRL; + } + + public TributoCalculadoDuimpConsultaCover valoresBRL(ValoresTributoDuimpConsultaCover valoresBRL) { + this.valoresBRL = valoresBRL; + return this; + } + + + @Override + public String toString() { + + String sb = "class TributoCalculadoDuimpConsultaCover {\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + " valoresBRL: " + toIndentedString(valoresBRL) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoConsultaDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoConsultaDuimpCover.java new file mode 100644 index 0000000..04f7576 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoConsultaDuimpCover.java @@ -0,0 +1,97 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TributoConsultaDuimpCover", propOrder = + {"mercadoria", "tributosCalculados" + }) + +@XmlRootElement(name = "TributoConsultaDuimpCover") +public class TributoConsultaDuimpCover { + + @XmlElement(name = "mercadoria") + @ApiModelProperty(value = "") + @Valid + private MercadoriaDuimpConsultaCover mercadoria = null; + + @XmlElement(name = "tributosCalculados") + @ApiModelProperty(value = "") + @Valid + private List tributosCalculados = null; + + /** + * Get mercadoria + * + * @return mercadoria + **/ + @JsonProperty("mercadoria") + public MercadoriaDuimpConsultaCover getMercadoria() { + return mercadoria; + } + + public void setMercadoria(MercadoriaDuimpConsultaCover mercadoria) { + this.mercadoria = mercadoria; + } + + public TributoConsultaDuimpCover mercadoria(MercadoriaDuimpConsultaCover mercadoria) { + this.mercadoria = mercadoria; + return this; + } + + /** + * Get tributosCalculados + * + * @return tributosCalculados + **/ + @JsonProperty("tributosCalculados") + public List getTributosCalculados() { + return tributosCalculados; + } + + public void setTributosCalculados(List tributosCalculados) { + this.tributosCalculados = tributosCalculados; + } + + public TributoConsultaDuimpCover tributosCalculados(List tributosCalculados) { + this.tributosCalculados = tributosCalculados; + return this; + } + + public TributoConsultaDuimpCover addTributosCalculadosItem(TributoCalculadoDuimpConsultaCover tributosCalculadosItem) { + this.tributosCalculados.add(tributosCalculadosItem); + return this; + } + + + @Override + public String toString() { + + String sb = "class TributoConsultaDuimpCover {\n" + + " mercadoria: " + toIndentedString(mercadoria) + "\n" + + " tributosCalculados: " + toIndentedString(tributosCalculados) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoDuimpConsultaCover.java new file mode 100644 index 0000000..f22c5e9 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoDuimpConsultaCover.java @@ -0,0 +1,144 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TributoDuimpConsultaCover", propOrder = + {"tipo" + }) + +@XmlRootElement(name = "TributoDuimpConsultaCover") +/** + * Valores do cálculo do tributo. + **/ +@ApiModel(description = "Valores do cálculo do tributo.") +public class TributoDuimpConsultaCover { + + + @XmlType(name = "TipoEnum") + @XmlEnum(String.class) + public enum TipoEnum { + + @XmlEnumValue("II") + @JsonProperty("II") + II("II"), + + @XmlEnumValue("IPI") + @JsonProperty("IPI") + IPI("IPI"), + + @XmlEnumValue("PIS") + @JsonProperty("PIS") + PIS("PIS"), + + @XmlEnumValue("COFINS") + @JsonProperty("COFINS") + COFINS("COFINS"), + + @XmlEnumValue("CIDE") + @JsonProperty("CIDE") + CIDE("CIDE"), + + @XmlEnumValue("ANTIDUMPING") + @JsonProperty("ANTIDUMPING") + ANTIDUMPING("ANTIDUMPING"), + + @XmlEnumValue("MULTA_COM_REDUCAO") + @JsonProperty("MULTA_COM_REDUCAO") + MULTA_COM_REDUCAO("MULTA_COM_REDUCAO"), + + @XmlEnumValue("MULTA_SEM_REDUCAO") + @JsonProperty("MULTA_SEM_REDUCAO") + MULTA_SEM_REDUCAO("MULTA_SEM_REDUCAO"), + + @XmlEnumValue("TAXA_UTILIZACAO") + @JsonProperty("TAXA_UTILIZACAO") + TAXA_UTILIZACAO("TAXA_UTILIZACAO"); + + + private final String value; + + TipoEnum(String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } + } + + @XmlElement(name = "tipo") + @ApiModelProperty(example = "II", value = "Tipo de impostos (códigos de receita principal únicos).
    Domínio:") + /** + * Tipo de impostos (códigos de receita principal únicos).
    Domínio: + **/ + private TipoEnum tipo = null; + + /** + * Tipo de impostos (códigos de receita principal únicos).<br>Domínio: + * + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public TributoDuimpConsultaCover tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + + @Override + public String toString() { + + String sb = "class TributoDuimpConsultaCover {\n" + + " tipo: " + toIndentedString(tipo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/UnidadeDeclaradaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/UnidadeDeclaradaCover.java new file mode 100644 index 0000000..53857a6 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/UnidadeDeclaradaCover.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UnidadeDeclaradaCover", propOrder = + {"codigo" + }) + +@XmlRootElement(name = "UnidadeDeclaradaCover") +/** + * Unidade de Despacho. + **/ +@ApiModel(description = "Unidade de Despacho.") +public class UnidadeDeclaradaCover { + + @XmlElement(name = "codigo", required = true) + @ApiModelProperty(example = "7912001", required = true, value = "Código da unidade da RFB na qual as mercadorias acobertadas pela Duimp serão submetidas a conferência aduaneira.
    Tamanho: 7
    Formato: 'NNNNNNN'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/") + /** + * Código da unidade da RFB na qual as mercadorias acobertadas pela Duimp serão submetidas a conferência aduaneira.
    Tamanho: 7
    Formato: 'NNNNNNN'
    Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + **/ + private String codigo = null; + + /** + * Código da unidade da RFB na qual as mercadorias acobertadas pela Duimp serão submetidas a conferência aduaneira.<br>Tamanho: 7<br>Formato: 'NNNNNNN'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ + * + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public UnidadeDeclaradaCover codigo(String codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + + String sb = "class UnidadeDeclaradaCover {\n" + + " codigo: " + toIndentedString(codigo) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ValoresTributoDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ValoresTributoDuimpConsultaCover.java new file mode 100644 index 0000000..2c5fe6a --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ValoresTributoDuimpConsultaCover.java @@ -0,0 +1,215 @@ +package br.gov.siscomex.portalunico.duimp_balanca_principal.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValoresTributoDuimpConsultaCover", propOrder = + {"calculado", "aReduzir", "devido", "suspenso", "aRecolher", "recolhido" + }) + +@XmlRootElement(name = "ValoresTributoDuimpConsultaCover") +/** + * Valores do cálculo do tributo. + **/ +@ApiModel(description = "Valores do cálculo do tributo.") +public class ValoresTributoDuimpConsultaCover { + + @XmlElement(name = "calculado") + @ApiModelProperty(example = "1598.73", value = "Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens") + @Valid + /** + * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + **/ + private BigDecimal calculado = null; + + @XmlElement(name = "aReduzir") + @ApiModelProperty(example = "135.7", value = "Valor a Reduzir do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor a Reduzir do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal aReduzir = null; + + @XmlElement(name = "devido") + @ApiModelProperty(example = "201.12", value = "Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens") + @Valid + /** + * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + **/ + private BigDecimal devido = null; + + @XmlElement(name = "suspenso") + @ApiModelProperty(example = "16.7", value = "Valor Suspenso do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor Suspenso do Tributo em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal suspenso = null; + + @XmlElement(name = "aRecolher") + @ApiModelProperty(example = "16.7", value = "Valor a Recolher do Imposto de Importação em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valor a Recolher do Imposto de Importação em R$ (Reais).
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal aRecolher = null; + + @XmlElement(name = "recolhido") + @ApiModelProperty(example = "16.7", value = "Valores Recolhidos (pagos) do Tributo.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto.") + @Valid + /** + * Valores Recolhidos (pagos) do Tributo.
    Tamanho: 16,7
    Formato: Decimal, com até 7 casas decimais separadas por ponto. + **/ + private BigDecimal recolhido = null; + + /** + * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + * + * @return calculado + **/ + @JsonProperty("calculado") + public BigDecimal getCalculado() { + return calculado; + } + + public void setCalculado(BigDecimal calculado) { + this.calculado = calculado; + } + + public ValoresTributoDuimpConsultaCover calculado(BigDecimal calculado) { + this.calculado = calculado; + return this; + } + + /** + * Valor a Reduzir do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return aReduzir + **/ + @JsonProperty("aReduzir") + public BigDecimal getAReduzir() { + return aReduzir; + } + + public void setAReduzir(BigDecimal aReduzir) { + this.aReduzir = aReduzir; + } + + public ValoresTributoDuimpConsultaCover aReduzir(BigDecimal aReduzir) { + this.aReduzir = aReduzir; + return this; + } + + /** + * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens + * + * @return devido + **/ + @JsonProperty("devido") + public BigDecimal getDevido() { + return devido; + } + + public void setDevido(BigDecimal devido) { + this.devido = devido; + } + + public ValoresTributoDuimpConsultaCover devido(BigDecimal devido) { + this.devido = devido; + return this; + } + + /** + * Valor Suspenso do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return suspenso + **/ + @JsonProperty("suspenso") + public BigDecimal getSuspenso() { + return suspenso; + } + + public void setSuspenso(BigDecimal suspenso) { + this.suspenso = suspenso; + } + + public ValoresTributoDuimpConsultaCover suspenso(BigDecimal suspenso) { + this.suspenso = suspenso; + return this; + } + + /** + * Valor a Recolher do Imposto de Importação em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return aRecolher + **/ + @JsonProperty("aRecolher") + public BigDecimal getARecolher() { + return aRecolher; + } + + public void setARecolher(BigDecimal aRecolher) { + this.aRecolher = aRecolher; + } + + public ValoresTributoDuimpConsultaCover aRecolher(BigDecimal aRecolher) { + this.aRecolher = aRecolher; + return this; + } + + /** + * Valores Recolhidos (pagos) do Tributo.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. + * + * @return recolhido + **/ + @JsonProperty("recolhido") + public BigDecimal getRecolhido() { + return recolhido; + } + + public void setRecolhido(BigDecimal recolhido) { + this.recolhido = recolhido; + } + + public ValoresTributoDuimpConsultaCover recolhido(BigDecimal recolhido) { + this.recolhido = recolhido; + return this; + } + + + @Override + public String toString() { + + String sb = "class ValoresTributoDuimpConsultaCover {\n" + + " calculado: " + toIndentedString(calculado) + "\n" + + " aReduzir: " + toIndentedString(aReduzir) + "\n" + + " devido: " + toIndentedString(devido) + "\n" + + " suspenso: " + toIndentedString(suspenso) + "\n" + + " aRecolher: " + toIndentedString(aRecolher) + "\n" + + " recolhido: " + toIndentedString(recolhido) + "\n" + + "}"; + return sb; + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo1ControleDeReasEEquipamentosApi.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo1ControleDeReasEEquipamentosApi.java new file mode 100644 index 0000000..107620c --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo1ControleDeReasEEquipamentosApi.java @@ -0,0 +1,73 @@ +package br.gov.siscomex.portalunico.rcnt.api; + +import br.gov.siscomex.portalunico.rcnt.model.DadosGeorreferenciamento; +import br.gov.siscomex.portalunico.rcnt.model.DadosIndisponibilidadeEquipamento; +import br.gov.siscomex.portalunico.rcnt.model.ExceptionCoverDocumentacao; +import br.gov.siscomex.portalunico.rcnt.model.RespostaParaSucessoNaRecepoDeEventoAduaneiro; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import javax.validation.Valid; +import javax.ws.rs.Consumes; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; + +/** + * Recintos Aduaneiros + * + *

    Introdução

    Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex.

    Disponibilizamos os endpoints de 22 eventos.

    Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API.

    O processo de autenticação deve ser executado conforme descrito em Autenticação.

    Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022:

    I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro;
    II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
    III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
    IV - registro: a inserção e a retificação de informações no SICA;
    V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
    VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.

    O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto.

    O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado.

    Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente.

    A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados.

    O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro.

    Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso.

    Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal:

    1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8;
    2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
    3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
    4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
    5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
    6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
    7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
    8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
    9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
    10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
    11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
    12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
    13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
    14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.

    O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido.

    Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido.

    Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo.

    URLs de Acesso

    Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs:

    Nome do AmbienteURL de acesso
    Ambiente de Validação de Empresashttps://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço}
    Ambiente de Produçãohttps://portalunico.siscomex.gov.br/recintos-ext/api/{serviço}

     

    Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas:

    https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas


    Organização por Tópicos dos Eventos

    Os endpoints relativos aos 22 eventos estão distribuídos em 6 grupos, conforme abaixo:

    + * + */ +@Path("/") +@Api(value = "/", description = "") +public interface Grupo1ControleDeReasEEquipamentosApi { + + /** + * Georreferenciamento + * + * Neste evento devem ser enviadas as informações de georreferenciamento de áreas e equipamentos do recinto.<br/>As áreas e equipamentos considerados devem ser os constantes da lista de domínio “tipo”.<br/>As coordenadas de cada objeto definido podem ser um polígono ou ponto, por exemplo:<br/><ul><li>O perímetro da área alfandegada e demais áreas... (polígono);<br/></li><li>As câmeras do sistema de CFTV, inclusive dos Gates e que fazem parte do sistema de OCR (ponto);</li><li>As catracas, torniquetes e outros instrumentos de controle de acesso de pessoas (ponto);</li><li>As balanças, medidores e outros equipamentos utilizados para quantificação (ponto);</li><li>Os Portêiner, Shiploader e outros instrumentos de manipulação de unidades de carga em navios (ponto/polígono);</li><li>Os escâneres, tanto de contêineres, veículos ou volumes (ponto);</li><li>Os gates, portões e outros instrumentos de controle de acesso de veículos (ponto).</li></ul>Obs.: Visando facilitar o preenchimento das coordenadas, os valores da Latitude e Longitude devem estar dentro dos seguintes limites:<br/><br/>Latitude: entre +10.000000 e -38.000000 <br/>Longitude: entre -30.000000 e -78.000000 + * + */ + @POST + @Path("/ext/evento-georreferenciamento") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Georreferenciamento", notes = "Neste evento devem ser enviadas as informações de georreferenciamento de áreas e equipamentos do recinto.
    As áreas e equipamentos considerados devem ser os constantes da lista de domínio “tipo”.
    As coordenadas de cada objeto definido podem ser um polígono ou ponto, por exemplo:
    • O perímetro da área alfandegada e demais áreas... (polígono);
    • As câmeras do sistema de CFTV, inclusive dos Gates e que fazem parte do sistema de OCR (ponto);
    • As catracas, torniquetes e outros instrumentos de controle de acesso de pessoas (ponto);
    • As balanças, medidores e outros equipamentos utilizados para quantificação (ponto);
    • Os Portêiner, Shiploader e outros instrumentos de manipulação de unidades de carga em navios (ponto/polígono);
    • Os escâneres, tanto de contêineres, veículos ou volumes (ponto);
    • Os gates, portões e outros instrumentos de controle de acesso de veículos (ponto).
    Obs.: Visando facilitar o preenchimento das coordenadas, os valores da Latitude e Longitude devem estar dentro dos seguintes limites:

    Latitude: entre +10.000000 e -38.000000
    Longitude: entre -30.000000 e -78.000000", tags={ "Grupo 1 - Controle de Áreas e Equipamentos" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST12(@ApiParam(value = "JSON do evento Georreferenciamento" ,required=true)@Valid DadosGeorreferenciamento body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Ocorrências de indisponibilidades de equipamentos + * + * Transmitir um evento para cada indisponibilidade e retorno à normalidade de cada equipamento definido.<br/>Não considerar indisponibilidades do tipo “house keeping”, casos de manutenção preventiva, rápida e, muitas vezes, diária de equipamentos (exemplo: trocas de óleo em Portêiner que é executada diariamente). + * + */ + @POST + @Path("/ext/indisponibilidade-equipamentos") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Ocorrências de indisponibilidades de equipamentos", notes = "Transmitir um evento para cada indisponibilidade e retorno à normalidade de cada equipamento definido.
    Não considerar indisponibilidades do tipo “house keeping”, casos de manutenção preventiva, rápida e, muitas vezes, diária de equipamentos (exemplo: trocas de óleo em Portêiner que é executada diariamente).", tags={ "Grupo 1 - Controle de Áreas e Equipamentos" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST17(@ApiParam(value = "JSON do evento Ocorrências Indisponibilidades Equipamentos" ,required=true)@Valid DadosIndisponibilidadeEquipamento body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo2ControleDePessoasApi.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo2ControleDePessoasApi.java new file mode 100644 index 0000000..2b7062f --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo2ControleDePessoasApi.java @@ -0,0 +1,95 @@ +package br.gov.siscomex.portalunico.rcnt.api; + +import br.gov.siscomex.portalunico.rcnt.model.DadosAcessoPessoa; +import br.gov.siscomex.portalunico.rcnt.model.DadosCredenciamentoPessoa; +import br.gov.siscomex.portalunico.rcnt.model.DadosRepresentante; +import br.gov.siscomex.portalunico.rcnt.model.ExceptionCoverDocumentacao; +import br.gov.siscomex.portalunico.rcnt.model.RespostaParaSucessoNaRecepoDeEventoAduaneiro; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import javax.validation.Valid; +import javax.ws.rs.Consumes; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; + +/** + * Recintos Aduaneiros + * + *

    Introdução

    Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex.

    Disponibilizamos os endpoints de 22 eventos.

    Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API.

    O processo de autenticação deve ser executado conforme descrito em Autenticação.

    Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022:

    I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro;
    II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
    III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
    IV - registro: a inserção e a retificação de informações no SICA;
    V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
    VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.

    O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto.

    O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado.

    Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente.

    A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados.

    O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro.

    Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso.

    Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal:

    1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8;
    2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
    3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
    4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
    5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
    6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
    7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
    8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
    9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
    10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
    11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
    12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
    13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
    14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.

    O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido.

    Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido.

    Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo.

    URLs de Acesso

    Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs:

    Nome do AmbienteURL de acesso
    Ambiente de Validação de Empresashttps://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço}
    Ambiente de Produçãohttps://portalunico.siscomex.gov.br/recintos-ext/api/{serviço}

     

    Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas:

    https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas


    Organização por Tópicos dos Eventos

    Os endpoints relativos aos 22 eventos estão distribuídos em 6 grupos, conforme abaixo:

    + * + */ +@Path("/") +@Api(value = "/", description = "") +public interface Grupo2ControleDePessoasApi { + + /** + * Credenciamento de Pessoas + * + * Um evento para cada pessoa credenciada para acesso ao recinto (entrada/saída).<br/>Considerar acesso às áreas alfandegadas apenas.<br/>Transmitir logo que encerrar o ato de credenciamento.<br/>Um evento para cada CPF credenciado.<br/><br/>Obs.: Quando do credenciamento inicial informar “credenciamentoAtivo:true” e validade do credenciamento caso existir.<br/>Casos em que a validade do credenciamento seja informada, a RFB vai considerar credenciamento inativo quando do vencimento do prazo.<br/>Para os casos que não exista validade do credenciamento o evento deve ser retificado para “credenciamentoAtivo:false” quando for o caso.<br/>(por exemplo: no caso de funcionários não há validade de credenciamento logo no caso de demissão o evento de credenciamento deve ser retificado para status = inativo). + * + */ + @POST + @Path("/ext/credenciamento-pessoas") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Credenciamento de Pessoas", notes = "Um evento para cada pessoa credenciada para acesso ao recinto (entrada/saída).
    Considerar acesso às áreas alfandegadas apenas.
    Transmitir logo que encerrar o ato de credenciamento.
    Um evento para cada CPF credenciado.

    Obs.: Quando do credenciamento inicial informar “credenciamentoAtivo:true” e validade do credenciamento caso existir.
    Casos em que a validade do credenciamento seja informada, a RFB vai considerar credenciamento inativo quando do vencimento do prazo.
    Para os casos que não exista validade do credenciamento o evento deve ser retificado para “credenciamentoAtivo:false” quando for o caso.
    (por exemplo: no caso de funcionários não há validade de credenciamento logo no caso de demissão o evento de credenciamento deve ser retificado para status = inativo).", tags={ "Grupo 2 - Controle de Pessoas" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST10(@ApiParam(value = "JSON do evento Credenciamento Pessoas" ,required=true)@Valid DadosCredenciamentoPessoa body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Representantes + * + * Lista de pessoas que acessam o sistema do recinto em nome de cada cliente ou que possuam representação via procuração. Diferente do cadastro de representação do Siscomex. Toda representação via sistema ou papel deve ser informada. Transmitir um evento para cada representação CPF/CNPJ. + * + */ + @POST + @Path("/ext/representantes") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Representantes", notes = "Lista de pessoas que acessam o sistema do recinto em nome de cada cliente ou que possuam representação via procuração. Diferente do cadastro de representação do Siscomex. Toda representação via sistema ou papel deve ser informada. Transmitir um evento para cada representação CPF/CNPJ.", tags={ "Grupo 2 - Controle de Pessoas" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST21(@ApiParam(value = "JSON do evento Representantes" ,required=true)@Valid DadosRepresentante body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Controle de Acesso de Pessoas + * + * Um evento para cada acesso (entrada ou saída) de pessoa ao recinto. Transmitir imediatamente ao acesso (entrada ou saída).<br/>Um evento para cada acesso de CPF; + * + */ + @POST + @Path("/ext/acesso-pessoas") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Controle de Acesso de Pessoas", notes = "Um evento para cada acesso (entrada ou saída) de pessoa ao recinto. Transmitir imediatamente ao acesso (entrada ou saída).
    Um evento para cada acesso de CPF;", tags={ "Grupo 2 - Controle de Pessoas" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST7(@ApiParam(value = "JSON do evento Acesso Pessoa" ,required=true)@Valid DadosAcessoPessoa body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo3ControleDeVeculosTerrestresApi.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo3ControleDeVeculosTerrestresApi.java new file mode 100644 index 0000000..9d06a4f --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo3ControleDeVeculosTerrestresApi.java @@ -0,0 +1,95 @@ +package br.gov.siscomex.portalunico.rcnt.api; + +import br.gov.siscomex.portalunico.rcnt.model.DadosAcessoVeculo; +import br.gov.siscomex.portalunico.rcnt.model.DadosCredenciamentoVeculo; +import br.gov.siscomex.portalunico.rcnt.model.DadosPosioVeculoPtio; +import br.gov.siscomex.portalunico.rcnt.model.ExceptionCoverDocumentacao; +import br.gov.siscomex.portalunico.rcnt.model.RespostaParaSucessoNaRecepoDeEventoAduaneiro; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import javax.validation.Valid; +import javax.ws.rs.Consumes; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; + +/** + * Recintos Aduaneiros + * + *

    Introdução

    Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex.

    Disponibilizamos os endpoints de 22 eventos.

    Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API.

    O processo de autenticação deve ser executado conforme descrito em Autenticação.

    Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022:

    I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro;
    II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
    III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
    IV - registro: a inserção e a retificação de informações no SICA;
    V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
    VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.

    O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto.

    O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado.

    Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente.

    A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados.

    O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro.

    Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso.

    Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal:

    1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8;
    2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
    3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
    4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
    5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
    6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
    7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
    8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
    9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
    10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
    11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
    12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
    13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
    14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.

    O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido.

    Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido.

    Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo.

    URLs de Acesso

    Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs:

    Nome do AmbienteURL de acesso
    Ambiente de Validação de Empresashttps://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço}
    Ambiente de Produçãohttps://portalunico.siscomex.gov.br/recintos-ext/api/{serviço}

     

    Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas:

    https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas


    Organização por Tópicos dos Eventos

    Os endpoints relativos aos 22 eventos estão distribuídos em 6 grupos, conforme abaixo:

    + * + */ +@Path("/") +@Api(value = "/", description = "") +public interface Grupo3ControleDeVeculosTerrestresApi { + + /** + * Credenciamento de Veículos Terrestres + * + * Um evento para cada veículo credenciado para entrar/sair no recinto.<br/>Transmitir ao final do ato de credenciamento.<br/>Um evento deve ser transmitido para cada credenciamento de cavalo-trator, outro evento para cada semirreboque, outro para cada vagão…<br/>Um evento para cada PLACA credenciada.<br/><br/>Obs.: Quando do credenciamento inicial informar “credenciamentoAtivo:true” e validade do credenciamento caso existir.<br/>Casos em que a validade do credenciamento seja informada, a RFB vai considerar credenciamento inativo quando do vencimento do prazo.<br/>Para os casos que não exista validade do credenciamento o evento deve ser retificado para “credenciamentoAtivo:false” quando for o caso. + * + */ + @POST + @Path("/ext/credenciamento-veiculos") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Credenciamento de Veículos Terrestres", notes = "Um evento para cada veículo credenciado para entrar/sair no recinto.
    Transmitir ao final do ato de credenciamento.
    Um evento deve ser transmitido para cada credenciamento de cavalo-trator, outro evento para cada semirreboque, outro para cada vagão…
    Um evento para cada PLACA credenciada.

    Obs.: Quando do credenciamento inicial informar “credenciamentoAtivo:true” e validade do credenciamento caso existir.
    Casos em que a validade do credenciamento seja informada, a RFB vai considerar credenciamento inativo quando do vencimento do prazo.
    Para os casos que não exista validade do credenciamento o evento deve ser retificado para “credenciamentoAtivo:false” quando for o caso.", tags={ "Grupo 3 - Controle de Veículos Terrestres" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST11(@ApiParam(value = "JSON do evento Credenciamento de Veículos" ,required=true)@Valid DadosCredenciamentoVeculo body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Posição de Veículo Terrestre no Pátio + * + * Um evento para cada mudança de posição de veículo no pátio. Evento comum em recintos do modal rodoviário.<br/>Transmitir imediatamente a finalização do posicionamento.<br/>Um evento para cada conjunto PLACA/CONTÊINER/CHASSI posicionada num box no pátio. + * + */ + @POST + @Path("/ext/posicao-veiculo-patio") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Posição de Veículo Terrestre no Pátio", notes = "Um evento para cada mudança de posição de veículo no pátio. Evento comum em recintos do modal rodoviário.
    Transmitir imediatamente a finalização do posicionamento.
    Um evento para cada conjunto PLACA/CONTÊINER/CHASSI posicionada num box no pátio.", tags={ "Grupo 3 - Controle de Veículos Terrestres" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST20(@ApiParam(value = "JSON do evento Posição Veículo Pátio" ,required=true)@Valid DadosPosioVeculoPtio body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Controle de Agendamento/Acesso de Veículo Terrestre + * + * Um evento para cada agendamento ou acesso (entrada ou saída) de veículo ao recinto. Transmitir imediatamente ao agendamento ou ao acesso (entrada ou saída).<br/>Um evento para cada agendamento/acesso PLACA/CHASSI/LOCOMOTIVA.<br/><br/>Obs.: O manifesto e conhecimento de carga informado devem ser os internacionais sempre que existirem. Do contrário deve ser informado conhecimento interno. Exemplo: No ingresso de veículo com contêiner para exportação sem BL existente, tal evento deve constar a informação do CT-e.<br/><br/>Este evento possui integração com Controle de Carga e Trânsito na Importação (CCT Importação) para a funcionalidade \"chegada de veículo terrestre\" (Para mais informações,<a href =\"https://www.gov.br/siscomex/pt-br/arquivos-e-imagens/manualcctimportao.pdf\"> clique aqui</a>) + * + */ + @POST + @Path("/ext/acesso-veiculos") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Controle de Agendamento/Acesso de Veículo Terrestre", notes = "Um evento para cada agendamento ou acesso (entrada ou saída) de veículo ao recinto. Transmitir imediatamente ao agendamento ou ao acesso (entrada ou saída).
    Um evento para cada agendamento/acesso PLACA/CHASSI/LOCOMOTIVA.

    Obs.: O manifesto e conhecimento de carga informado devem ser os internacionais sempre que existirem. Do contrário deve ser informado conhecimento interno. Exemplo: No ingresso de veículo com contêiner para exportação sem BL existente, tal evento deve constar a informação do CT-e.

    Este evento possui integração com Controle de Carga e Trânsito na Importação (CCT Importação) para a funcionalidade \"chegada de veículo terrestre\" (Para mais informações, clique aqui)", tags={ "Grupo 3 - Controle de Veículos Terrestres" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST8(@ApiParam(value = "JSON do evento Acesso Veículo" ,required=true)@Valid DadosAcessoVeculo body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo4OperaesDePesagemEEscaneamentoApi.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo4OperaesDePesagemEEscaneamentoApi.java new file mode 100644 index 0000000..08bc0fa --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo4OperaesDePesagemEEscaneamentoApi.java @@ -0,0 +1,73 @@ +package br.gov.siscomex.portalunico.rcnt.api; + +import br.gov.siscomex.portalunico.rcnt.model.DadosDaInspeoNoInvasiva; +import br.gov.siscomex.portalunico.rcnt.model.DadosPesagemVeculo; +import br.gov.siscomex.portalunico.rcnt.model.ExceptionCoverDocumentacao; +import br.gov.siscomex.portalunico.rcnt.model.RespostaParaSucessoNaRecepoDeEventoAduaneiro; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import javax.validation.Valid; +import javax.ws.rs.Consumes; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; + +/** + * Recintos Aduaneiros + * + *

    Introdução

    Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex.

    Disponibilizamos os endpoints de 22 eventos.

    Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API.

    O processo de autenticação deve ser executado conforme descrito em Autenticação.

    Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022:

    I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro;
    II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
    III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
    IV - registro: a inserção e a retificação de informações no SICA;
    V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
    VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.

    O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto.

    O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado.

    Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente.

    A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados.

    O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro.

    Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso.

    Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal:

    1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8;
    2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
    3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
    4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
    5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
    6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
    7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
    8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
    9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
    10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
    11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
    12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
    13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
    14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.

    O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido.

    Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido.

    Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo.

    URLs de Acesso

    Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs:

    Nome do AmbienteURL de acesso
    Ambiente de Validação de Empresashttps://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço}
    Ambiente de Produçãohttps://portalunico.siscomex.gov.br/recintos-ext/api/{serviço}

     

    Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas:

    https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas


    Organização por Tópicos dos Eventos

    Os endpoints relativos aos 22 eventos estão distribuídos em 6 grupos, conforme abaixo:

    + * + */ +@Path("/") +@Api(value = "/", description = "") +public interface Grupo4OperaesDePesagemEEscaneamentoApi { + + /** + * Inspeção não invasiva + * + * Um evento para cada inspeção não invasiva efetuada em unidades de carga ou volumes (carga solta). Transmitir imediatamente após a finalização da inspeção. Um evento para cada PLACA/CONTÊINER/VOLUME escaneados.<br/> + * + */ + @POST + @Path("/ext/inspecao-nao-invasiva") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Inspeção não invasiva", notes = "Um evento para cada inspeção não invasiva efetuada em unidades de carga ou volumes (carga solta). Transmitir imediatamente após a finalização da inspeção. Um evento para cada PLACA/CONTÊINER/VOLUME escaneados.
    ", tags={ "Grupo 4 - Operações de Pesagem e Escaneamento" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST16(@ApiParam(value = "Inspeção não invasiva" ,required=true)@Valid DadosDaInspeoNoInvasiva body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Pesagem de Veículo/Carga + * + * Um evento para cada pesagem de unidades de carga ou carga.<br/> <br/>A utilização deste evento inclui as situações:<br/><ul><li>Pesagem em balança rodoviária ou ferroviária;<br/></li><li>Pesagem efetuada em equipamentos de movimentação de Contêineres (RTG, etc) e, neste caso, não informar placas (veículos e semirreboques) e tampouco as taras do conjunto transportador;<br/></li><li>Granel que ingressar ou sair do recinto via dutos ou correias transportadoras. Granel gasoso ou líquido: informar a quantificação do medidor de fluxo(volume em metros cúbicos) aferido ao final da operação. Granel sólido: informar na pesagem a soma das bateladas da balança de fluxo ao final da operação.<br/></li></ul> <br/>Outras pesagens:<br/><ul><li>Caso a pesagem ocorra via Portâiner, dutos ou balança de fluxo na operação de embarque/desembarque navio, informar o peso aferido no evento “Embarque/Desembarque Navio”;<br/></li><li>A pesagem dos volumes, nos casos de geração de lotes, deve ser informada no evento “Controle de Carga Solta-Geração Lotes”.<br/></li></ul> Um evento para cada conjunto de PLACA/CONTÊINER/VOLUME pesado.<br/>Transmitir após a pesagem.<br/><br/>Obs. 1: As taras de veículo e semirreboque podem ser informadas em separado ou em conjunto e são excludentes, ou seja, caso o recinto opere com a tara do conjunto (cavalo / semirreboque) ,comum no modal aquaviário, informar esta e ignorar a tara em separado, conforme determinação unidade local.<br/>As taras devem ser informadas em separado nos casos de recintos que possuem cadastro de taras, conforme determinação da unidade local. Esse tipo de cadastro é comum no modal rodoviário em que cargas de importação ou exportação ingressam no recinto e permanecem sob rodas até o desembaraço.<br/><br/>Obs. 2: Para os casos em que a pesagem é feita no gate (ou balança interna), comum no modal aquaviário, usar a tara aferida na última pesagem do conjunto vazio.<br/>Caso o conjunto realize a primeira passagem no recinto “carregado / cheio”, retificar o evento assim que obter a tara do conjunto vazio.<br/><br/>Obs. 3: Pesagens de veículos vazios, conforme determinação da unidade local, devem ser transmitidas com valores iguais para os atributos peso bruto da balança e tara individual ou tara do conjunto, conforme o caso. + * + */ + @POST + @Path("/ext/pesagem-veiculos-cargas") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Pesagem de Veículo/Carga", notes = "Um evento para cada pesagem de unidades de carga ou carga.

    A utilização deste evento inclui as situações:
    • Pesagem em balança rodoviária ou ferroviária;
    • Pesagem efetuada em equipamentos de movimentação de Contêineres (RTG, etc) e, neste caso, não informar placas (veículos e semirreboques) e tampouco as taras do conjunto transportador;
    • Granel que ingressar ou sair do recinto via dutos ou correias transportadoras. Granel gasoso ou líquido: informar a quantificação do medidor de fluxo(volume em metros cúbicos) aferido ao final da operação. Granel sólido: informar na pesagem a soma das bateladas da balança de fluxo ao final da operação.

    Outras pesagens:
    • Caso a pesagem ocorra via Portâiner, dutos ou balança de fluxo na operação de embarque/desembarque navio, informar o peso aferido no evento “Embarque/Desembarque Navio”;
    • A pesagem dos volumes, nos casos de geração de lotes, deve ser informada no evento “Controle de Carga Solta-Geração Lotes”.
    Um evento para cada conjunto de PLACA/CONTÊINER/VOLUME pesado.
    Transmitir após a pesagem.

    Obs. 1: As taras de veículo e semirreboque podem ser informadas em separado ou em conjunto e são excludentes, ou seja, caso o recinto opere com a tara do conjunto (cavalo / semirreboque) ,comum no modal aquaviário, informar esta e ignorar a tara em separado, conforme determinação unidade local.
    As taras devem ser informadas em separado nos casos de recintos que possuem cadastro de taras, conforme determinação da unidade local. Esse tipo de cadastro é comum no modal rodoviário em que cargas de importação ou exportação ingressam no recinto e permanecem sob rodas até o desembaraço.

    Obs. 2: Para os casos em que a pesagem é feita no gate (ou balança interna), comum no modal aquaviário, usar a tara aferida na última pesagem do conjunto vazio.
    Caso o conjunto realize a primeira passagem no recinto “carregado / cheio”, retificar o evento assim que obter a tara do conjunto vazio.

    Obs. 3: Pesagens de veículos vazios, conforme determinação da unidade local, devem ser transmitidas com valores iguais para os atributos peso bruto da balança e tara individual ou tara do conjunto, conforme o caso.", tags={ "Grupo 4 - Operações de Pesagem e Escaneamento" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST18(@ApiParam(value = "JSON do evento Pesagem de Veículos/Cargas" ,required=true)@Valid DadosPesagemVeculo body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo5ControleDeCargasEUnidadesDeCarga_Api.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo5ControleDeCargasEUnidadesDeCarga_Api.java new file mode 100644 index 0000000..c966594 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo5ControleDeCargasEUnidadesDeCarga_Api.java @@ -0,0 +1,227 @@ +package br.gov.siscomex.portalunico.rcnt.api; + +import br.gov.siscomex.portalunico.rcnt.model.DadosArmazenamentoLote; +import br.gov.siscomex.portalunico.rcnt.model.DadosAvariaExtravioLote; +import br.gov.siscomex.portalunico.rcnt.model.DadosCarregamentoEntregaLotes; +import br.gov.siscomex.portalunico.rcnt.model.DadosDaChegadaAoPontoZero; +import br.gov.siscomex.portalunico.rcnt.model.DadosDaConfernciaFsica; +import br.gov.siscomex.portalunico.rcnt.model.DadosGeraoLote; +import br.gov.siscomex.portalunico.rcnt.model.DadosInformaoBloqueioDesbloqueioVeculoCarga; +import br.gov.siscomex.portalunico.rcnt.model.DadosInformaoPrviaTrnsitoSimplificadoContiner; +import br.gov.siscomex.portalunico.rcnt.model.DadosPosioContiner; +import br.gov.siscomex.portalunico.rcnt.model.ExceptionCoverDocumentacao; +import br.gov.siscomex.portalunico.rcnt.model.RespostaParaSucessoNaRecepoDeEventoAduaneiro; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import javax.validation.Valid; +import javax.ws.rs.Consumes; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; + +/** + * Recintos Aduaneiros + * + *

    Introdução

    Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex.

    Disponibilizamos os endpoints de 22 eventos.

    Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API.

    O processo de autenticação deve ser executado conforme descrito em Autenticação.

    Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022:

    I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro;
    II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
    III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
    IV - registro: a inserção e a retificação de informações no SICA;
    V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
    VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.

    O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto.

    O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado.

    Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente.

    A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados.

    O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro.

    Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso.

    Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal:

    1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8;
    2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
    3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
    4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
    5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
    6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
    7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
    8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
    9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
    10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
    11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
    12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
    13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
    14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.

    O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido.

    Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido.

    Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo.

    URLs de Acesso

    Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs:

    Nome do AmbienteURL de acesso
    Ambiente de Validação de Empresashttps://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço}
    Ambiente de Produçãohttps://portalunico.siscomex.gov.br/recintos-ext/api/{serviço}

     

    Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas:

    https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas


    Organização por Tópicos dos Eventos

    Os endpoints relativos aos 22 eventos estão distribuídos em 6 grupos, conforme abaixo:

    + * + */ +@Path("/") +@Api(value = "/", description = "") +public interface Grupo5ControleDeCargasEUnidadesDeCarga_Api { + + /** + * Controle de Carga Solta - Posição de Lote + * + * Um evento para cada armazenamento/mudança de posição do lote dentro do armazém.<br/>Não considerar os movimentos do tipo “house keeping”, a exemplo do posicionamento para verificação ou inspeção física, casos em que a carga retorna, em pouco tempo, para a mesma posição.<br/>Não aplicar para granel.<br/>Transmitir imediatamente a finalização do armazenamento.<br/>Um evento para cada LOTE armazenado. + * + */ + @POST + @Path("/ext/armazenamento-lote") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Controle de Carga Solta - Posição de Lote", notes = "Um evento para cada armazenamento/mudança de posição do lote dentro do armazém.
    Não considerar os movimentos do tipo “house keeping”, a exemplo do posicionamento para verificação ou inspeção física, casos em que a carga retorna, em pouco tempo, para a mesma posição.
    Não aplicar para granel.
    Transmitir imediatamente a finalização do armazenamento.
    Um evento para cada LOTE armazenado.", tags={ "Grupo 5 - Controle de Cargas e Unidades de Carga " }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST1(@ApiParam(value = "JSON do evento Armazenamento de Lote." ,required=true)@Valid DadosArmazenamentoLote body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Controle de Carga Solta - Geração de Lotes + * + * Um evento para cada conjunto de LOTEs gerados por conhecimento.Não considerar os movimentos do tipo “house keeping”, a exemplo de desunitização para verificação ou inspeção física, casos em que a carga deve ser reunitizada após o processo.<br/>Exemplos de geração de lote; desunitização = n... lotes; baldeação imediata = n... lotes; depositada em armazém = n... lotes;<br/>Baldeação, a transferência de mercadoria descarregada de um veículo e posteriormente carregada em outro. Nesse caso ocorre a geração lote e posterior carregamento lote.<br/>Não aplicar para granel.<br/>Transmitir imediatamente a geração de um conjunto de LOTEs por conhecimento.<br/>Pode repetir o conhecimento na transmissão de um novo evento no caso de cargas com chegada parcial.<br/><br/>Este evento possui integração com Controle de Carga e Trânsito na Importação – modal aéreo (CCT Importação) para funcionalidade de \"recepção de carga\" (Para mais informações,<a href =\"https://www.gov.br/siscomex/pt-br/arquivos-e-imagens/manualcctimportao.pdf\"> clique aqui</a>).<br/> + * + */ + @POST + @Path("/ext/geracao-lotes") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Controle de Carga Solta - Geração de Lotes", notes = "Um evento para cada conjunto de LOTEs gerados por conhecimento.Não considerar os movimentos do tipo “house keeping”, a exemplo de desunitização para verificação ou inspeção física, casos em que a carga deve ser reunitizada após o processo.
    Exemplos de geração de lote; desunitização = n... lotes; baldeação imediata = n... lotes; depositada em armazém = n... lotes;
    Baldeação, a transferência de mercadoria descarregada de um veículo e posteriormente carregada em outro. Nesse caso ocorre a geração lote e posterior carregamento lote.
    Não aplicar para granel.
    Transmitir imediatamente a geração de um conjunto de LOTEs por conhecimento.
    Pode repetir o conhecimento na transmissão de um novo evento no caso de cargas com chegada parcial.

    Este evento possui integração com Controle de Carga e Trânsito na Importação – modal aéreo (CCT Importação) para funcionalidade de \"recepção de carga\" (Para mais informações, clique aqui).
    ", tags={ "Grupo 5 - Controle de Cargas e Unidades de Carga " }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST13(@ApiParam(value = "JSON do evento Geração de Lotes" ,required=true)@Valid DadosGeraoLote body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Informação de Bloqueio/Desbloqueio de Veículo Terrestre /Carga / Unidade de Carga + * + * Um evento para cada bloqueio/desbloqueio de carga solicitado/efetuado diretamente no sistema do recinto.<br/>Não enviar os bloqueios/desbloqueios automáticos implementados no sistema do recinto.<br/>Não se trata do bloqueio no sistema Carga e/ou CCT.<br/>Transmitir um evento para cada solicitação de bloqueio ou desbloqueio efetivada no sistema privado do recinto para conhecimento, contêiner, veículo ou lote. + * + */ + @POST + @Path("/ext/bloqueio-desbloqueio-veiculo-carga") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Informação de Bloqueio/Desbloqueio de Veículo Terrestre /Carga / Unidade de Carga", notes = "Um evento para cada bloqueio/desbloqueio de carga solicitado/efetuado diretamente no sistema do recinto.
    Não enviar os bloqueios/desbloqueios automáticos implementados no sistema do recinto.
    Não se trata do bloqueio no sistema Carga e/ou CCT.
    Transmitir um evento para cada solicitação de bloqueio ou desbloqueio efetivada no sistema privado do recinto para conhecimento, contêiner, veículo ou lote.", tags={ "Grupo 5 - Controle de Cargas e Unidades de Carga " }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST14(@ApiParam(value = "JSON do evento Informação Bloqueio Desbloqueio Veículo Carga" ,required=true)@Valid DadosInformaoBloqueioDesbloqueioVeculoCarga body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Informação Prévia Trânsito Simplificado Contêiner + * + * Um evento para cada lista de unidades que serão removidas. Verificar a normatização local sobre os prazos para que os recintos de destino informem o recinto onde a carga vai atracar sobre a remoção da mesma.<br/>Transmitir imediatamente a recepção da lista de cargas a remover.<br/>Um evento por LISTA CARGAS. + * + */ + @POST + @Path("/ext/transito-simplificado-conteiner") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Informação Prévia Trânsito Simplificado Contêiner", notes = "Um evento para cada lista de unidades que serão removidas. Verificar a normatização local sobre os prazos para que os recintos de destino informem o recinto onde a carga vai atracar sobre a remoção da mesma.
    Transmitir imediatamente a recepção da lista de cargas a remover.
    Um evento por LISTA CARGAS.", tags={ "Grupo 5 - Controle de Cargas e Unidades de Carga " }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST15(@ApiParam(value = "JSON do evento Informação Prévia Trânsito Simplificado Contêiner" ,required=true)@Valid DadosInformaoPrviaTrnsitoSimplificadoContiner body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Posição do Contêiner + * + * Um evento para cada mudança de posição da unidade de carga dentro do pátio.Não considerar os movimentos do tipo “house keeping”, quando a unidade retorna, em pouco tempo, para a mesma posição.<br/>Transmitir imediatamente a finalização do posicionamento.<br/>Um evento para cada CONTÊINER posicionado no pátio.<br/> + * + */ + @POST + @Path("/ext/posicao-conteiner") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Posição do Contêiner", notes = "Um evento para cada mudança de posição da unidade de carga dentro do pátio.Não considerar os movimentos do tipo “house keeping”, quando a unidade retorna, em pouco tempo, para a mesma posição.
    Transmitir imediatamente a finalização do posicionamento.
    Um evento para cada CONTÊINER posicionado no pátio.
    ", tags={ "Grupo 5 - Controle de Cargas e Unidades de Carga " }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST19(@ApiParam(value = "JSON do evento Posição do Contêiner." ,required=true)@Valid DadosPosioContiner body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Controle de Carga Solta - Avaria/Extravio de Lote + * + * Um evento para cada avaria ou extravio verificados em lote de carga.<br/>Transmitir imediatamente a verificação da avaria/extravio.<br/>Não aplicar para granel.<br/>Um evento para cada LOTE com avaria/extravio. + * + */ + @POST + @Path("/ext/avaria-extravio-lote") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Controle de Carga Solta - Avaria/Extravio de Lote", notes = "Um evento para cada avaria ou extravio verificados em lote de carga.
    Transmitir imediatamente a verificação da avaria/extravio.
    Não aplicar para granel.
    Um evento para cada LOTE com avaria/extravio.", tags={ "Grupo 5 - Controle de Cargas e Unidades de Carga " }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST3(@ApiParam(value = "JSON do evento Avaria / Extravio de Lote." ,required=true)@Valid DadosAvariaExtravioLote body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Controle de Carga Solta - Carregamento/Entrega de Lotes + * + * Um evento para cada carregamento de lotes em unidade de carga – contêiner, caminhão, etc. Não considerar os movimentos do tipo 'house keeping', a exemplo do carregamento em caminhão para utilizar o scanner, casos em que a carga retorna, em pouco tempo, para a mesma posição.<br/>O evento deve ser utilizado quando os lotes forem carregados em unidade de carga(caminhão, vagão, contêiner, ULD aeronave) ou entregue à companhia aérea.<br/>No caso de carga solta a ser carregada diretamente em navio, utilizar apenas o evento Embarque Navio informando o número do lote carregado.<br/>Transmitir imediatamente a finalização do carregamento ou da entrega física de um conjunto de lotes por conhecimento.<br/>Não aplicar para granel.<br/>Um evento para cada conjunto de LOTES carregados do mesmo conhecimento.<br/>Transmitir imediatamente ao carregamento de um conjunto de LOTEs por conhecimento.<br/>Pode repetir o conhecimento na transmissão de um novo evento no caso de cargas com saída parcial. + * + */ + @POST + @Path("/ext/carregamento-lotes") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Controle de Carga Solta - Carregamento/Entrega de Lotes", notes = "Um evento para cada carregamento de lotes em unidade de carga – contêiner, caminhão, etc. Não considerar os movimentos do tipo 'house keeping', a exemplo do carregamento em caminhão para utilizar o scanner, casos em que a carga retorna, em pouco tempo, para a mesma posição.
    O evento deve ser utilizado quando os lotes forem carregados em unidade de carga(caminhão, vagão, contêiner, ULD aeronave) ou entregue à companhia aérea.
    No caso de carga solta a ser carregada diretamente em navio, utilizar apenas o evento Embarque Navio informando o número do lote carregado.
    Transmitir imediatamente a finalização do carregamento ou da entrega física de um conjunto de lotes por conhecimento.
    Não aplicar para granel.
    Um evento para cada conjunto de LOTES carregados do mesmo conhecimento.
    Transmitir imediatamente ao carregamento de um conjunto de LOTEs por conhecimento.
    Pode repetir o conhecimento na transmissão de um novo evento no caso de cargas com saída parcial.", tags={ "Grupo 5 - Controle de Cargas e Unidades de Carga " }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST4(@ApiParam(value = "JSON do evento Carregamento Entrega Lotes" ,required=true)@Valid DadosCarregamentoEntregaLotes body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Chegada ao Ponto Zero + * + * Neste evento o recinto deve informar as cargas que recebe da companhia aérea(transportadora) quando do ingresso em seu recinto.<br/><br/>Transmitir quando existir ULD (Unit Load Device - Aéreo) + * + */ + @POST + @Path("/ext/chegada-ponto-zero") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Chegada ao Ponto Zero", notes = "Neste evento o recinto deve informar as cargas que recebe da companhia aérea(transportadora) quando do ingresso em seu recinto.

    Transmitir quando existir ULD (Unit Load Device - Aéreo)", tags={ "Grupo 5 - Controle de Cargas e Unidades de Carga " }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST5(@ApiParam(value = "JSON da Chegada ao Ponto Zero." ,required=true)@Valid DadosDaChegadaAoPontoZero body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Controle de Conferência Física + * + * Um evento para cada agendamento ou conclusão de verificação ou inspeção física.<br/>Considerar todos os tipos de conferência solicitadas por qualquer anuente ou pelo proprietário da carga.<br/><br/>Não transmitir para conferência de embalagem de madeira.<br/><br/>Transmitir um evento para cada agendamento ou conclusão de conferência recebida. + * + */ + @POST + @Path("/ext/conferencia-fisica") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Controle de Conferência Física", notes = "Um evento para cada agendamento ou conclusão de verificação ou inspeção física.
    Considerar todos os tipos de conferência solicitadas por qualquer anuente ou pelo proprietário da carga.

    Não transmitir para conferência de embalagem de madeira.

    Transmitir um evento para cada agendamento ou conclusão de conferência recebida.", tags={ "Grupo 5 - Controle de Cargas e Unidades de Carga " }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST6(@ApiParam(value = "Conferência Física" ,required=true)@Valid DadosDaConfernciaFsica body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo6ControleDeNaviosEAeronavesApi.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo6ControleDeNaviosEAeronavesApi.java new file mode 100644 index 0000000..6c1809b --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo6ControleDeNaviosEAeronavesApi.java @@ -0,0 +1,95 @@ +package br.gov.siscomex.portalunico.rcnt.api; + +import br.gov.siscomex.portalunico.rcnt.model.DadosAgendaOperaoNaviosAeronaves; +import br.gov.siscomex.portalunico.rcnt.model.DadosAtribuioTrocaNavio; +import br.gov.siscomex.portalunico.rcnt.model.DadosEmbarqueDesembarqueNavio; +import br.gov.siscomex.portalunico.rcnt.model.ExceptionCoverDocumentacao; +import br.gov.siscomex.portalunico.rcnt.model.RespostaParaSucessoNaRecepoDeEventoAduaneiro; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import javax.validation.Valid; +import javax.ws.rs.Consumes; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; + +/** + * Recintos Aduaneiros + * + *

    Introdução

    Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex.

    Disponibilizamos os endpoints de 22 eventos.

    Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API.

    O processo de autenticação deve ser executado conforme descrito em Autenticação.

    Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022:

    I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro;
    II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
    III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
    IV - registro: a inserção e a retificação de informações no SICA;
    V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
    VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.

    O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto.

    O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado.

    Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente.

    A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados.

    O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro.

    Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso.

    Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal:

    1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8;
    2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
    3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
    4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
    5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
    6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
    7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
    8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
    9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
    10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
    11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
    12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
    13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
    14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.

    O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido.

    Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido.

    Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo.

    URLs de Acesso

    Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs:

    Nome do AmbienteURL de acesso
    Ambiente de Validação de Empresashttps://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço}
    Ambiente de Produçãohttps://portalunico.siscomex.gov.br/recintos-ext/api/{serviço}

     

    Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas:

    https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas


    Organização por Tópicos dos Eventos

    Os endpoints relativos aos 22 eventos estão distribuídos em 6 grupos, conforme abaixo:

    + * + */ +@Path("/") +@Api(value = "/", description = "") +public interface Grupo6ControleDeNaviosEAeronavesApi { + + /** + * Agenda/Operação de Navios/Aeronaves + * + * Um evento para cada inclusão / alteração no 'line up' / 'agenda' de navios / aeronaves com atracação / pouso previstos para o recinto.<br/><br/>Transmitir a agenda (previsão), a chegada (atracação/desatracação pouso/decolagem) e a operação.<br/><br/>Evento aplicável para recintos com atracadouro ou pista aeronáutica próprios.<br/><br/><br/>Exemplo de eventos para Navio:<br/><br/>Chegada (informa a viagem e escala de chegada, dados da embarcação, dentre outros)<br/><br/>evento 1 - previsão de atracação e desatracação;<br/><br/>evento 2 - previsão + efetiva atracação<br/><br/>evento 3 - previsão + efetiva atracação + início operação <br/><br/><br/>Saída (informa a viagem e escala de partida, dados da embarcação, dentre outros)<br/><br/>evento 4 - previsão + efetiva atracação + início operação + final operação <br/><br/>evento 5 - previsão + efetiva atracação + início operação + final operação + efetiva desatracação <br/><br/><br/>Exemplo de eventos para Aeronave:<br/><br/>Chegada (informa o VOO e viagem de chegada, dados da aeronave, dentre outros)<br/><br/>evento 1 - previsão de pouso;<br/><br/>evento 2 - previsão + efetivo pouso<br/><br/>evento 3 - previsão + efetivo pouso + início operaçã<br/><br/><br/>Saída (informa o VOO e viagem de partida, dados da aeronave, dentre outros)<br/><br/>evento 4 - previsão + efetivo pouso + início operação + previsão de partida; <br/><br/>evento 5 - previsão + efetivo pouso + início operação + previsão + final operação <br/><br/>evento 6 - previsão + efetivo pouso + início operação + previsão + final operação + efetiva partida<br/><br/><strong>Transmitir imediatamente a recepção da informação.</strong><br/> + * + */ + @POST + @Path("/ext/agenda-navios-aeronaves") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Agenda/Operação de Navios/Aeronaves", notes = "Um evento para cada inclusão / alteração no 'line up' / 'agenda' de navios / aeronaves com atracação / pouso previstos para o recinto.

    Transmitir a agenda (previsão), a chegada (atracação/desatracação pouso/decolagem) e a operação.

    Evento aplicável para recintos com atracadouro ou pista aeronáutica próprios.


    Exemplo de eventos para Navio:

    Chegada (informa a viagem e escala de chegada, dados da embarcação, dentre outros)

    evento 1 - previsão de atracação e desatracação;

    evento 2 - previsão + efetiva atracação

    evento 3 - previsão + efetiva atracação + início operação


    Saída (informa a viagem e escala de partida, dados da embarcação, dentre outros)

    evento 4 - previsão + efetiva atracação + início operação + final operação

    evento 5 - previsão + efetiva atracação + início operação + final operação + efetiva desatracação


    Exemplo de eventos para Aeronave:

    Chegada (informa o VOO e viagem de chegada, dados da aeronave, dentre outros)

    evento 1 - previsão de pouso;

    evento 2 - previsão + efetivo pouso

    evento 3 - previsão + efetivo pouso + início operaçã


    Saída (informa o VOO e viagem de partida, dados da aeronave, dentre outros)

    evento 4 - previsão + efetivo pouso + início operação + previsão de partida;

    evento 5 - previsão + efetivo pouso + início operação + previsão + final operação

    evento 6 - previsão + efetivo pouso + início operação + previsão + final operação + efetiva partida

    Transmitir imediatamente a recepção da informação.
    ", tags={ "Grupo 6 - Controle de Navios e Aeronaves" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST(@ApiParam(value = "JSON do evento Agenda Operação Navios Aeronaves" ,required=true)@Valid DadosAgendaOperaoNaviosAeronaves body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Atribuição/Troca de Navio + * + * Um evento para cada alteração de navio em que a unidade de carga ou carga solta irá embarcar.<br/>Transmitir imediatamente a atribuição ou alteração. + * + */ + @POST + @Path("/ext/atribuicao-troca-navio") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Atribuição/Troca de Navio", notes = "Um evento para cada alteração de navio em que a unidade de carga ou carga solta irá embarcar.
    Transmitir imediatamente a atribuição ou alteração.", tags={ "Grupo 6 - Controle de Navios e Aeronaves" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST2(@ApiParam(value = "JSON do evento Atribuição / Troca de Navio." ,required=true)@Valid DadosAtribuioTrocaNavio body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Embarque/Desembarque no Navio + * + * Na API-Recintos entende-se por “navio” a embarcação utilizada para o transporte de cargas (vide tabela Embarcação do Mercante).<br/>Um evento para cada embarque ou desembarque de unidades de carga, carga solta ou granel no navio.<br/>Transmitir imediatamente ao encerramento do embarque / desembarque de cada navio.<br/>Transmitir também nos casos de transbordo/baldeação entre navios.<br/>Um evento por CONTÊINER/LOTE CARGA SOLTA/GRANEL embarcado ou desembarcado.<br/>Granel: um evento ao final da operação de carregamento/descarregamento total do navio graneleiro.<br/>Exemplos:<br/>Granel: informar N manifestos, N conhecimentos, N Portos carregamento, N Portos descarregamento, N Países destino final e demais atributos pertinentes.<br/>Contêiner: informar 1 manifesto, N conhecimentos, 1 Porto carregamento, 1 Porto descarregamento, N Países destino final e demais atributos pertinentes.<br/>Lote Carga solta: informar 1 manifesto, 1 conhecimento, 1 Porto carregamento, 1 Porto descarregamento, 1 País destino final e demais atributos pertinentes. + * + */ + @POST + @Path("/ext/embarque-desembarque-navios") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Embarque/Desembarque no Navio", notes = "Na API-Recintos entende-se por “navio” a embarcação utilizada para o transporte de cargas (vide tabela Embarcação do Mercante).
    Um evento para cada embarque ou desembarque de unidades de carga, carga solta ou granel no navio.
    Transmitir imediatamente ao encerramento do embarque / desembarque de cada navio.
    Transmitir também nos casos de transbordo/baldeação entre navios.
    Um evento por CONTÊINER/LOTE CARGA SOLTA/GRANEL embarcado ou desembarcado.
    Granel: um evento ao final da operação de carregamento/descarregamento total do navio graneleiro.
    Exemplos:
    Granel: informar N manifestos, N conhecimentos, N Portos carregamento, N Portos descarregamento, N Países destino final e demais atributos pertinentes.
    Contêiner: informar 1 manifesto, N conhecimentos, 1 Porto carregamento, 1 Porto descarregamento, N Países destino final e demais atributos pertinentes.
    Lote Carga solta: informar 1 manifesto, 1 conhecimento, 1 Porto carregamento, 1 Porto descarregamento, 1 País destino final e demais atributos pertinentes.", tags={ "Grupo 6 - Controle de Navios e Aeronaves" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 503, message = "Serviço indisponível") }) + public Response incluirUsingPOST9(@ApiParam(value = "JSON do evento Controle de Embarque e Desembarque de Navios" ,required=true)@Valid DadosEmbarqueDesembarqueNavio body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/api/ServiosDestinadosRecepoDeEventosAduaneiros_Api.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/ServiosDestinadosRecepoDeEventosAduaneiros_Api.java deleted file mode 100644 index 9b66599..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/api/ServiosDestinadosRecepoDeEventosAduaneiros_Api.java +++ /dev/null @@ -1,513 +0,0 @@ -package br.gov.siscomex.portalunico.rcnt.api; - -import br.gov.siscomex.portalunico.rcnt.model.DadosAcessoPessoa; -import br.gov.siscomex.portalunico.rcnt.model.DadosAcessoVeculo; -import br.gov.siscomex.portalunico.rcnt.model.DadosAgendaOperaoNaviosAeronaves; -import br.gov.siscomex.portalunico.rcnt.model.DadosArmazenamentoLote; -import br.gov.siscomex.portalunico.rcnt.model.DadosAtribuioTrocaNavio; -import br.gov.siscomex.portalunico.rcnt.model.DadosAvariaExtravioLote; -import br.gov.siscomex.portalunico.rcnt.model.DadosCarregamentoEntregaLotes; -import br.gov.siscomex.portalunico.rcnt.model.DadosCredenciamentoPessoa; -import br.gov.siscomex.portalunico.rcnt.model.DadosCredenciamentoVeculo; -import br.gov.siscomex.portalunico.rcnt.model.DadosDaChegadaAoPontoZero; -import br.gov.siscomex.portalunico.rcnt.model.DadosDaConfernciaFsica; -import br.gov.siscomex.portalunico.rcnt.model.DadosDaInspeoNoInvasiva; -import br.gov.siscomex.portalunico.rcnt.model.DadosEmbarqueDesembarqueNavio; -import br.gov.siscomex.portalunico.rcnt.model.DadosGeorreferenciamento; -import br.gov.siscomex.portalunico.rcnt.model.DadosGeraoLote; -import br.gov.siscomex.portalunico.rcnt.model.DadosIndisponibilidadeEquipamento; -import br.gov.siscomex.portalunico.rcnt.model.DadosInformaoBloqueioDesbloqueioVeculoCarga; -import br.gov.siscomex.portalunico.rcnt.model.DadosInformaoPrviaTrnsitoSimplificadoContiner; -import br.gov.siscomex.portalunico.rcnt.model.DadosPesagemVeculo; -import br.gov.siscomex.portalunico.rcnt.model.DadosPosioContiner; -import br.gov.siscomex.portalunico.rcnt.model.DadosPosioVeculoPtio; -import br.gov.siscomex.portalunico.rcnt.model.DadosRepresentante; -import br.gov.siscomex.portalunico.rcnt.model.ExceptionCoverDocumentacao; -import br.gov.siscomex.portalunico.rcnt.model.RespostaParaSucessoNaRecepoDeEventoAduaneiro; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; - -import javax.validation.Valid; -import javax.ws.rs.Consumes; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Response; - -/** - * Recintos Aduaneiros - * - *

    Aviso

    Esta documentação refere-se à API Recintos disponível em ambiente de Produção (Release Apa). A documentação da API Recintos referente às evoluções da API Recintos disponíveis em ambiente de Validação de Empresas (Release Volga) está disponível em: https://docs-proxima.portalunico.siscomex.gov.br/swagger/rcnt.html.

    Introdução

    Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex.

    Disponibilizamos os endpoints de 22 eventos.

    Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API.

    O processo de autenticação deve ser executado conforme descrito em Autenticação.

    Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022:

    I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro;
    II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
    III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
    IV - registro: a inserção e a retificação de informações no SICA;
    V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
    VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.

    O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto.

    O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado.

    Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente.

    A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados.

    O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro.

    Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso.

    Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal:

    1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8;
    2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
    3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
    4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
    5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
    6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
    7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
    8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
    9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
    10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
    11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
    12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
    13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
    14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.

    O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido.

    Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido.

    Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo.

    URLs de Acesso

    Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs:

    Nome do AmbienteURL de acesso
    Ambiente de Validação de Empresashttps://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço}
    Ambiente de Produçãohttps://portalunico.siscomex.gov.br/recintos-ext/api/{serviço}

     

    Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas:

    https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas

    - * - */ -@Path("/") -@Api(value = "/", description = "") -public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { - - /** - * Agenda/Operação de Navios/Aeronaves - * - * Um evento para cada inclusão / alteração no 'line up' / 'agenda' de navios / aeronaves com atracação / pouso previstos para o recinto.<br/><br/>Transmitir a agenda (previsão), a chegada (atracação/desatracação pouso/decolagem) e a operação.<br/><br/>Evento aplicável para recintos com atracadouro ou pista aeronáutica próprios.<br/><br/><br/>Exemplo de eventos para Navio:<br/><br/>Chegada (informa a viagem e escala de chegada, dados da embarcação, dentre outros)<br/><br/>evento 1 - previsão de atracação e desatracação;<br/><br/>evento 2 - previsão + efetiva atracação<br/><br/>evento 3 - previsão + efetiva atracação + início operação <br/><br/><br/>Saída (informa a viagem e escala de partida, dados da embarcação, dentre outros)<br/><br/>evento 4 - previsão + efetiva atracação + início operação + final operação <br/><br/>evento 5 - previsão + efetiva atracação + início operação + final operação + efetiva desatracação <br/><br/><br/>Exemplo de eventos para Aeronave:<br/><br/>Chegada (informa o VOO e viagem de chegada, dados da aeronave, dentre outros)<br/><br/>evento 1 - previsão de pouso;<br/><br/>evento 2 - previsão + efetivo pouso<br/><br/>evento 3 - previsão + efetivo pouso + início operaçã<br/><br/><br/>Saída (informa o VOO e viagem de partida, dados da aeronave, dentre outros)<br/><br/>evento 4 - previsão + efetivo pouso + início operação + previsão de partida; <br/><br/>evento 5 - previsão + efetivo pouso + início operação + previsão + final operação <br/><br/>evento 6 - previsão + efetivo pouso + início operação + previsão + final operação + efetiva partida<br/><br/><strong>Transmitir imediatamente a recepção da informação.</strong><br/> - * - */ - @POST - @Path("/ext/agenda-navios-aeronaves") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Agenda/Operação de Navios/Aeronaves", notes = "Um evento para cada inclusão / alteração no 'line up' / 'agenda' de navios / aeronaves com atracação / pouso previstos para o recinto.

    Transmitir a agenda (previsão), a chegada (atracação/desatracação pouso/decolagem) e a operação.

    Evento aplicável para recintos com atracadouro ou pista aeronáutica próprios.


    Exemplo de eventos para Navio:

    Chegada (informa a viagem e escala de chegada, dados da embarcação, dentre outros)

    evento 1 - previsão de atracação e desatracação;

    evento 2 - previsão + efetiva atracação

    evento 3 - previsão + efetiva atracação + início operação


    Saída (informa a viagem e escala de partida, dados da embarcação, dentre outros)

    evento 4 - previsão + efetiva atracação + início operação + final operação

    evento 5 - previsão + efetiva atracação + início operação + final operação + efetiva desatracação


    Exemplo de eventos para Aeronave:

    Chegada (informa o VOO e viagem de chegada, dados da aeronave, dentre outros)

    evento 1 - previsão de pouso;

    evento 2 - previsão + efetivo pouso

    evento 3 - previsão + efetivo pouso + início operaçã


    Saída (informa o VOO e viagem de partida, dados da aeronave, dentre outros)

    evento 4 - previsão + efetivo pouso + início operação + previsão de partida;

    evento 5 - previsão + efetivo pouso + início operação + previsão + final operação

    evento 6 - previsão + efetivo pouso + início operação + previsão + final operação + efetiva partida

    Transmitir imediatamente a recepção da informação.
    ", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST(@ApiParam(value = "JSON do evento Agenda Operação Navios Aeronaves", required = true) @Valid DadosAgendaOperaoNaviosAeronaves body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Controle de Carga Solta - Posição de Lote - * - * Um evento para cada armazenamento/mudança de posição do lote dentro do armazém.<br/>Não considerar os movimentos do tipo “house keeping”, a exemplo do posicionamento para verificação ou inspeção física, casos em que a carga retorna, em pouco tempo, para a mesma posição.<br/>Não aplicar para granel.<br/>Transmitir imediatamente a finalização do armazenamento.<br/>Um evento para cada LOTE armazenado. - * - */ - @POST - @Path("/ext/armazenamento-lote") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Controle de Carga Solta - Posição de Lote", notes = "Um evento para cada armazenamento/mudança de posição do lote dentro do armazém.
    Não considerar os movimentos do tipo “house keeping”, a exemplo do posicionamento para verificação ou inspeção física, casos em que a carga retorna, em pouco tempo, para a mesma posição.
    Não aplicar para granel.
    Transmitir imediatamente a finalização do armazenamento.
    Um evento para cada LOTE armazenado.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST1(@ApiParam(value = "JSON do evento Armazenamento de Lote.", required = true) @Valid DadosArmazenamentoLote body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Credenciamento de Pessoas - * - * Um evento para cada pessoa credenciada para acesso ao recinto (entrada/saída).<br/>Considerar acesso às áreas alfandegadas apenas.<br/>Transmitir logo que encerrar o ato de credenciamento.<br/>Um evento para cada CPF credenciado.<br/><br/>Obs.: Quando do credenciamento inicial informar “credenciamentoAtivo:true” e validade do credenciamento caso existir.<br/>Casos em que a validade do credenciamento seja informada, a RFB vai considerar credenciamento inativo quando do vencimento do prazo.<br/>Para os casos que não exista validade do credenciamento o evento deve ser retificado para “credenciamentoAtivo:false” quando for o caso.<br/>(por exemplo: no caso de funcionários não há validade de credenciamento logo no caso de demissão o evento de credenciamento deve ser retificado para status = inativo). - * - */ - @POST - @Path("/ext/credenciamento-pessoas") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Credenciamento de Pessoas", notes = "Um evento para cada pessoa credenciada para acesso ao recinto (entrada/saída).
    Considerar acesso às áreas alfandegadas apenas.
    Transmitir logo que encerrar o ato de credenciamento.
    Um evento para cada CPF credenciado.

    Obs.: Quando do credenciamento inicial informar “credenciamentoAtivo:true” e validade do credenciamento caso existir.
    Casos em que a validade do credenciamento seja informada, a RFB vai considerar credenciamento inativo quando do vencimento do prazo.
    Para os casos que não exista validade do credenciamento o evento deve ser retificado para “credenciamentoAtivo:false” quando for o caso.
    (por exemplo: no caso de funcionários não há validade de credenciamento logo no caso de demissão o evento de credenciamento deve ser retificado para status = inativo).", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST10(@ApiParam(value = "JSON do evento Credenciamento Pessoas", required = true) @Valid DadosCredenciamentoPessoa body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Credenciamento de Veículos Terrestres - * - * Um evento para cada veículo credenciado para entrar/sair no recinto.<br/>Transmitir ao final do ato de credenciamento.<br/>Um evento deve ser transmitido para cada credenciamento de cavalo-trator, outro evento para cada semirreboque, outro para cada vagão…<br/>Um evento para cada PLACA credenciada.<br/><br/>Obs.: Quando do credenciamento inicial informar “credenciamentoAtivo:true” e validade do credenciamento caso existir.<br/>Casos em que a validade do credenciamento seja informada, a RFB vai considerar credenciamento inativo quando do vencimento do prazo.<br/>Para os casos que não exista validade do credenciamento o evento deve ser retificado para “credenciamentoAtivo:false” quando for o caso. - * - */ - @POST - @Path("/ext/credenciamento-veiculos") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Credenciamento de Veículos Terrestres", notes = "Um evento para cada veículo credenciado para entrar/sair no recinto.
    Transmitir ao final do ato de credenciamento.
    Um evento deve ser transmitido para cada credenciamento de cavalo-trator, outro evento para cada semirreboque, outro para cada vagão…
    Um evento para cada PLACA credenciada.

    Obs.: Quando do credenciamento inicial informar “credenciamentoAtivo:true” e validade do credenciamento caso existir.
    Casos em que a validade do credenciamento seja informada, a RFB vai considerar credenciamento inativo quando do vencimento do prazo.
    Para os casos que não exista validade do credenciamento o evento deve ser retificado para “credenciamentoAtivo:false” quando for o caso.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST11(@ApiParam(value = "JSON do evento Credenciamento de Veículos", required = true) @Valid DadosCredenciamentoVeculo body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Georreferenciamento - * - * Neste evento deve ser georreferenciado as áreas e equipamentos do recinto conforme lista do atributo 'Tipo'.<br/>As coordenadas de cada objeto definido podem ser um polígono ou ponto, por exemplo:<br/>O perímetro da área alfandegada e demais áreas... (polígono)<br/>As câmeras do sistema de CFTV, inclusive dos Gates e que fazem parte do sistema de OCR (ponto);<br/>As catracas, torniquetes e outros instrumentos de controle de acesso de pessoas (ponto);<br/>As balanças rodoviárias (ponto);<br/>Os Portêineres e outros instrumentos de manipulação de unidades de carga em navios (ponto);<br/>Os escâneres, tanto de contêineres quanto de volumes(ponto);<br/>Os gates, portões e outros instrumentos de controle de acesso de veículos (ponto).<br/>Obs.: Visando facilitar o preenchimento das coordenadas, os valores da Latitude e Longitude devem estar dentro dos seguintes limites:<br/><br/>Latitude: entre +10.000000 e -38.000000 <br/>Longitude: entre -30.000000 e -78.000000 - * - */ - @POST - @Path("/ext/evento-georreferenciamento") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Georreferenciamento", notes = "Neste evento deve ser georreferenciado as áreas e equipamentos do recinto conforme lista do atributo 'Tipo'.
    As coordenadas de cada objeto definido podem ser um polígono ou ponto, por exemplo:
    O perímetro da área alfandegada e demais áreas... (polígono)
    As câmeras do sistema de CFTV, inclusive dos Gates e que fazem parte do sistema de OCR (ponto);
    As catracas, torniquetes e outros instrumentos de controle de acesso de pessoas (ponto);
    As balanças rodoviárias (ponto);
    Os Portêineres e outros instrumentos de manipulação de unidades de carga em navios (ponto);
    Os escâneres, tanto de contêineres quanto de volumes(ponto);
    Os gates, portões e outros instrumentos de controle de acesso de veículos (ponto).
    Obs.: Visando facilitar o preenchimento das coordenadas, os valores da Latitude e Longitude devem estar dentro dos seguintes limites:

    Latitude: entre +10.000000 e -38.000000
    Longitude: entre -30.000000 e -78.000000", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST12(@ApiParam(value = "JSON do evento Georreferenciamento", required = true) @Valid DadosGeorreferenciamento body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Controle de Carga Solta - Geração de Lotes - * - * Um evento para cada conjunto de LOTEs gerados por conhecimento.Não considerar os movimentos do tipo “house keeping”, a exemplo de desunitização para verificação ou inspeção física, casos em que a carga deve ser reunitizada após o processo.<br/>Exemplos de geração de lote; desunitização = n... lotes; baldeação imediata = n... lotes; depositada em armazém = n... lotes;<br/>Baldeação, a transferência de mercadoria descarregada de um veículo e posteriormente carregada em outro. Nesse caso ocorre a geração lote e posterior carregamento lote.<br/>Não aplicar para granel.<br/>Transmitir imediatamente a geração de um conjunto de LOTEs por conhecimento.<br/>Pode repetir o conhecimento na transmissão de um novo evento no caso de cargas com chegada parcial.<br/><br/>Este evento possui integração com Controle de Carga e Trânsito na Importação – modal aéreo (CCT Importação) para funcionalidade de \"recepção de carga\" (Para mais informações,<a href =\"https://www.gov.br/siscomex/pt-br/arquivos-e-imagens/manualcctimportao.pdf\"> clique aqui</a>).<br/> - * - */ - @POST - @Path("/ext/geracao-lotes") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Controle de Carga Solta - Geração de Lotes", notes = "Um evento para cada conjunto de LOTEs gerados por conhecimento.Não considerar os movimentos do tipo “house keeping”, a exemplo de desunitização para verificação ou inspeção física, casos em que a carga deve ser reunitizada após o processo.
    Exemplos de geração de lote; desunitização = n... lotes; baldeação imediata = n... lotes; depositada em armazém = n... lotes;
    Baldeação, a transferência de mercadoria descarregada de um veículo e posteriormente carregada em outro. Nesse caso ocorre a geração lote e posterior carregamento lote.
    Não aplicar para granel.
    Transmitir imediatamente a geração de um conjunto de LOTEs por conhecimento.
    Pode repetir o conhecimento na transmissão de um novo evento no caso de cargas com chegada parcial.

    Este evento possui integração com Controle de Carga e Trânsito na Importação – modal aéreo (CCT Importação) para funcionalidade de \"recepção de carga\" (Para mais informações, clique aqui).
    ", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST13(@ApiParam(value = "JSON do evento Geração de Lotes", required = true) @Valid DadosGeraoLote body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Informação de Bloqueio/Desbloqueio de Veículo Terrestre /Carga / Unidade de Carga - * - * Um evento para cada bloqueio/desbloqueio de carga solicitado/efetuado diretamente no sistema do recinto.<br/>Não enviar os bloqueios/desbloqueios automáticos implementados no sistema do recinto.<br/>Não se trata do bloqueio no sistema Carga e/ou CCT.<br/>Transmitir um evento para cada solicitação de bloqueio ou desbloqueio efetivada no sistema privado do recinto para conhecimento, contêiner, veículo ou lote. - * - */ - @POST - @Path("/ext/bloqueio-desbloqueio-veiculo-carga") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Informação de Bloqueio/Desbloqueio de Veículo Terrestre /Carga / Unidade de Carga", notes = "Um evento para cada bloqueio/desbloqueio de carga solicitado/efetuado diretamente no sistema do recinto.
    Não enviar os bloqueios/desbloqueios automáticos implementados no sistema do recinto.
    Não se trata do bloqueio no sistema Carga e/ou CCT.
    Transmitir um evento para cada solicitação de bloqueio ou desbloqueio efetivada no sistema privado do recinto para conhecimento, contêiner, veículo ou lote.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST14(@ApiParam(value = "JSON do evento Informação Bloqueio Desbloqueio Veículo Carga", required = true) @Valid DadosInformaoBloqueioDesbloqueioVeculoCarga body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Informação Prévia Trânsito Simplificado Contêiner - * - * Um evento para cada lista de unidades que serão removidas. Verificar a normatização local sobre os prazos para que os recintos de destino informem o recinto onde a carga vai atracar sobre a remoção da mesma.<br/>Transmitir imediatamente a recepção da lista de cargas a remover.<br/>Um evento por LISTA CARGAS. - * - */ - @POST - @Path("/ext/transito-simplificado-conteiner") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Informação Prévia Trânsito Simplificado Contêiner", notes = "Um evento para cada lista de unidades que serão removidas. Verificar a normatização local sobre os prazos para que os recintos de destino informem o recinto onde a carga vai atracar sobre a remoção da mesma.
    Transmitir imediatamente a recepção da lista de cargas a remover.
    Um evento por LISTA CARGAS.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST15(@ApiParam(value = "JSON do evento Informação Prévia Trânsito Simplificado Contêiner", required = true) @Valid DadosInformaoPrviaTrnsitoSimplificadoContiner body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Inspeção não invasiva - * - * Um evento para cada inspeção não invasiva de unidades de carga.<br/>Transmitir imediatamente após a finalização da inspeção.<br/>Um evento para cada conjunto PLACA/CONTÊINER/VOLUME escaneados. - * - */ - @POST - @Path("/ext/inspecao-nao-invasiva") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Inspeção não invasiva", notes = "Um evento para cada inspeção não invasiva de unidades de carga.
    Transmitir imediatamente após a finalização da inspeção.
    Um evento para cada conjunto PLACA/CONTÊINER/VOLUME escaneados.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST16(@ApiParam(value = "Inspeção não invasiva", required = true) @Valid DadosDaInspeoNoInvasiva body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Ocorrências de indisponibilidades de equipamentos - * - * Transmitir um evento para cada indisponibilidade e retorno à normalidade de cada equipamento definido.<br/>Não considerar indisponibilidades do tipo “house keeping”, casos de manutenção preventiva, rápida e, muitas vezes, diária de equipamentos (exemplo: trocas de óleo em Portêiner que é executada diariamente). - * - */ - @POST - @Path("/ext/indisponibilidade-equipamentos") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Ocorrências de indisponibilidades de equipamentos", notes = "Transmitir um evento para cada indisponibilidade e retorno à normalidade de cada equipamento definido.
    Não considerar indisponibilidades do tipo “house keeping”, casos de manutenção preventiva, rápida e, muitas vezes, diária de equipamentos (exemplo: trocas de óleo em Portêiner que é executada diariamente).", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST17(@ApiParam(value = "JSON do evento Ocorrências Indisponibilidades Equipamentos", required = true) @Valid DadosIndisponibilidadeEquipamento body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Pesagem de Veículo/Carga - * - * Um evento para cada pesagem efetuada em unidades de carga.<br/> Usar este evento também nos casos em que a pesagem for efetuada em equipamentos de movimentação de Contêineres (RTG, etc) e, neste caso, não informar placas (veículos e semirreboques) e nem taras do conjunto transportador.<br/>Caso a pesagem aconteça via Portainer ou balança de fluxo na operação de embarque/desembarque navio, informar o peso aferido no evento Embarque/Desembarque Navio.<br/>A pesagem dos volumes, nos casos de geração de lotes, deve ser informada no evento Geração Lotes.<br/>No caso de granel que ingressar ou sair do recinto via dutos, transmitir o presente evento com a soma das bateladas da balança de fluxo ao final da operação.<br/>Um evento para cada conjunto de PLACA/CONTÊINER/VOLUME pesados.<br/>Transmitir após a pesagem.<br/><br/>Obs. 1: As taras de veículo e semirreboque podem ser informadas em separado ou em conjunto e são excludentes, ou seja, caso o recinto opere com a tara do conjunto (cavalo / semirreboque) ,comum no modal aquaviário, informar esta e ignorar a tara em separado, conforme determinação unidade local.<br/>As taras devem ser informadas em separado nos casos de recintos que possuem cadastro de taras, conforme determinação da unidade local. Esse tipo de cadastro é comum no modal rodoviário em que cargas de importação ou exportação ingressam no recinto e permanecem sob rodas até o desembaraço.<br/><br/>Obs. 2: Para os casos em que a pesagem é feita no gate (ou balança interna), comum no modal aquaviário, usar a tara aferida na última pesagem do conjunto vazio.<br/>Caso o conjunto realize a primeira passagem no recinto “carregado / cheio”, retificar o evento assim que obter a tara do conjunto vazio.<br/><br/>Obs. 3: Pesagens de veículos vazios, conforme determinação da unidade local, devem ser transmitidas com valores iguais para os atributos peso bruto da balança e tara individual ou tara do conjunto, conforme o caso. - * - */ - @POST - @Path("/ext/pesagem-veiculos-cargas") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Pesagem de Veículo/Carga", notes = "Um evento para cada pesagem efetuada em unidades de carga.
    Usar este evento também nos casos em que a pesagem for efetuada em equipamentos de movimentação de Contêineres (RTG, etc) e, neste caso, não informar placas (veículos e semirreboques) e nem taras do conjunto transportador.
    Caso a pesagem aconteça via Portainer ou balança de fluxo na operação de embarque/desembarque navio, informar o peso aferido no evento Embarque/Desembarque Navio.
    A pesagem dos volumes, nos casos de geração de lotes, deve ser informada no evento Geração Lotes.
    No caso de granel que ingressar ou sair do recinto via dutos, transmitir o presente evento com a soma das bateladas da balança de fluxo ao final da operação.
    Um evento para cada conjunto de PLACA/CONTÊINER/VOLUME pesados.
    Transmitir após a pesagem.

    Obs. 1: As taras de veículo e semirreboque podem ser informadas em separado ou em conjunto e são excludentes, ou seja, caso o recinto opere com a tara do conjunto (cavalo / semirreboque) ,comum no modal aquaviário, informar esta e ignorar a tara em separado, conforme determinação unidade local.
    As taras devem ser informadas em separado nos casos de recintos que possuem cadastro de taras, conforme determinação da unidade local. Esse tipo de cadastro é comum no modal rodoviário em que cargas de importação ou exportação ingressam no recinto e permanecem sob rodas até o desembaraço.

    Obs. 2: Para os casos em que a pesagem é feita no gate (ou balança interna), comum no modal aquaviário, usar a tara aferida na última pesagem do conjunto vazio.
    Caso o conjunto realize a primeira passagem no recinto “carregado / cheio”, retificar o evento assim que obter a tara do conjunto vazio.

    Obs. 3: Pesagens de veículos vazios, conforme determinação da unidade local, devem ser transmitidas com valores iguais para os atributos peso bruto da balança e tara individual ou tara do conjunto, conforme o caso.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST18(@ApiParam(value = "JSON do evento Pesagem de Veículos/Cargas", required = true) @Valid DadosPesagemVeculo body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Posição do Contêiner - * - * Um evento para cada mudança de posição da unidade de carga dentro do pátio.Não considerar os movimentos do tipo “house keeping”, quando a unidade retorna, em pouco tempo, para a mesma posição.<br/>Transmitir imediatamente a finalização do posicionamento.<br/>Um evento para cada CONTÊINER posicionado no pátio.<br/> - * - */ - @POST - @Path("/ext/posicao-conteiner") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Posição do Contêiner", notes = "Um evento para cada mudança de posição da unidade de carga dentro do pátio.Não considerar os movimentos do tipo “house keeping”, quando a unidade retorna, em pouco tempo, para a mesma posição.
    Transmitir imediatamente a finalização do posicionamento.
    Um evento para cada CONTÊINER posicionado no pátio.
    ", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST19(@ApiParam(value = "JSON do evento Posição do Contêiner.", required = true) @Valid DadosPosioContiner body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Atribuição/Troca de Navio - * - * Um evento para cada alteração de navio em que a unidade de carga ou carga solta irá embarcar.<br/>Transmitir imediatamente a atribuição ou alteração. - * - */ - @POST - @Path("/ext/atribuicao-troca-navio") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Atribuição/Troca de Navio", notes = "Um evento para cada alteração de navio em que a unidade de carga ou carga solta irá embarcar.
    Transmitir imediatamente a atribuição ou alteração.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST2(@ApiParam(value = "JSON do evento Atribuição / Troca de Navio.", required = true) @Valid DadosAtribuioTrocaNavio body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Posição de Veículo Terrestre no Pátio - * - * Um evento para cada mudança de posição de veículo no pátio. Evento comum em recintos do modal rodoviário.<br/>Transmitir imediatamente a finalização do posicionamento.<br/>Um evento para cada conjunto PLACA/CONTÊINER/CHASSI posicionada num box no pátio. - * - */ - @POST - @Path("/ext/posicao-veiculo-patio") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Posição de Veículo Terrestre no Pátio", notes = "Um evento para cada mudança de posição de veículo no pátio. Evento comum em recintos do modal rodoviário.
    Transmitir imediatamente a finalização do posicionamento.
    Um evento para cada conjunto PLACA/CONTÊINER/CHASSI posicionada num box no pátio.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST20(@ApiParam(value = "JSON do evento Posição Veículo Pátio", required = true) @Valid DadosPosioVeculoPtio body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Representantes - * - * Lista de pessoas que acessam o sistema do recinto em nome de cada cliente ou que possuam representação via procuração. Diferente do cadastro de representação do Siscomex. Toda representação via sistema ou papel deve ser informada. Transmitir um evento para cada representação CPF/CNPJ. - * - */ - @POST - @Path("/ext/representantes") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Representantes", notes = "Lista de pessoas que acessam o sistema do recinto em nome de cada cliente ou que possuam representação via procuração. Diferente do cadastro de representação do Siscomex. Toda representação via sistema ou papel deve ser informada. Transmitir um evento para cada representação CPF/CNPJ.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST21(@ApiParam(value = "JSON do evento Representantes", required = true) @Valid DadosRepresentante body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Controle de Carga Solta - Avaria/Extravio de Lote - * - * Um evento para cada avaria ou extravio verificados em lote de carga.<br/>Transmitir imediatamente a verificação da avaria/extravio.<br/>Não aplicar para granel.<br/>Um evento para cada LOTE com avaria/extravio. - * - */ - @POST - @Path("/ext/avaria-extravio-lote") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Controle de Carga Solta - Avaria/Extravio de Lote", notes = "Um evento para cada avaria ou extravio verificados em lote de carga.
    Transmitir imediatamente a verificação da avaria/extravio.
    Não aplicar para granel.
    Um evento para cada LOTE com avaria/extravio.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST3(@ApiParam(value = "JSON do evento Avaria / Extravio de Lote.", required = true) @Valid DadosAvariaExtravioLote body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Controle de Carga Solta - Carregamento/Entrega de Lotes - * - * Um evento para cada carregamento de lotes em unidade de carga – contêiner, caminhão, etc. Não considerar os movimentos do tipo 'house keeping', a exemplo do carregamento em caminhão para utilizar o scanner, casos em que a carga retorna, em pouco tempo, para a mesma posição.<br/>O evento deve ser utilizado quando os lotes forem carregados em unidade de carga(caminhão, vagão, contêiner, ULD aeronave) ou entregue à companhia aérea.<br/>No caso de carga solta a ser carregada diretamente em navio, utilizar apenas o evento Embarque Navio informando o número do lote carregado.<br/>Transmitir imediatamente a finalização do carregamento ou da entrega física de um conjunto de lotes por conhecimento.<br/>Não aplicar para granel.<br/>Um evento para cada conjunto de LOTES carregados do mesmo conhecimento.<br/>Transmitir imediatamente ao carregamento de um conjunto de LOTEs por conhecimento.<br/>Pode repetir o conhecimento na transmissão de um novo evento no caso de cargas com saída parcial. - * - */ - @POST - @Path("/ext/carregamento-lotes") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Controle de Carga Solta - Carregamento/Entrega de Lotes", notes = "Um evento para cada carregamento de lotes em unidade de carga – contêiner, caminhão, etc. Não considerar os movimentos do tipo 'house keeping', a exemplo do carregamento em caminhão para utilizar o scanner, casos em que a carga retorna, em pouco tempo, para a mesma posição.
    O evento deve ser utilizado quando os lotes forem carregados em unidade de carga(caminhão, vagão, contêiner, ULD aeronave) ou entregue à companhia aérea.
    No caso de carga solta a ser carregada diretamente em navio, utilizar apenas o evento Embarque Navio informando o número do lote carregado.
    Transmitir imediatamente a finalização do carregamento ou da entrega física de um conjunto de lotes por conhecimento.
    Não aplicar para granel.
    Um evento para cada conjunto de LOTES carregados do mesmo conhecimento.
    Transmitir imediatamente ao carregamento de um conjunto de LOTEs por conhecimento.
    Pode repetir o conhecimento na transmissão de um novo evento no caso de cargas com saída parcial.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST4(@ApiParam(value = "JSON do evento Carregamento Entrega Lotes", required = true) @Valid DadosCarregamentoEntregaLotes body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Chegada ao Ponto Zero - * - * Neste evento o recinto deve informar as cargas que recebe da companhia aérea(transportadora) quando do ingresso em seu recinto.<br/><br/>Transmitir quando existir ULD (Unit Load Device - Aéreo) - * - */ - @POST - @Path("/ext/chegada-ponto-zero") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Chegada ao Ponto Zero", notes = "Neste evento o recinto deve informar as cargas que recebe da companhia aérea(transportadora) quando do ingresso em seu recinto.

    Transmitir quando existir ULD (Unit Load Device - Aéreo)", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST5(@ApiParam(value = "JSON da Chegada ao Ponto Zero.", required = true) @Valid DadosDaChegadaAoPontoZero body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Controle de Conferência Física - * - * Um evento para cada agendamento ou conclusão de verificação ou inspeção física.<br/>Considerar todos os tipos de conferência solicitadas por qualquer anuente ou pelo proprietário da carga.<br/><br/>Não transmitir para conferência de embalagem de madeira.<br/><br/>Transmitir um evento para cada agendamento ou conclusão de conferência recebida. - * - */ - @POST - @Path("/ext/conferencia-fisica") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Controle de Conferência Física", notes = "Um evento para cada agendamento ou conclusão de verificação ou inspeção física.
    Considerar todos os tipos de conferência solicitadas por qualquer anuente ou pelo proprietário da carga.

    Não transmitir para conferência de embalagem de madeira.

    Transmitir um evento para cada agendamento ou conclusão de conferência recebida.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST6(@ApiParam(value = "Conferência Física", required = true) @Valid DadosDaConfernciaFsica body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Controle de Acesso de Pessoas - * - * Um evento para cada acesso (entrada ou saída) de pessoa ao recinto. Transmitir imediatamente ao acesso (entrada ou saída).<br/>Um evento para cada acesso de CPF; - * - */ - @POST - @Path("/ext/acesso-pessoas") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Controle de Acesso de Pessoas", notes = "Um evento para cada acesso (entrada ou saída) de pessoa ao recinto. Transmitir imediatamente ao acesso (entrada ou saída).
    Um evento para cada acesso de CPF;", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST7(@ApiParam(value = "JSON do evento Acesso Pessoa", required = true) @Valid DadosAcessoPessoa body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Controle de Agendamento/Acesso de Veículo Terrestre - * - * Um evento para cada agendamento ou acesso (entrada ou saída) de veículo ao recinto. Transmitir imediatamente ao agendamento ou ao acesso (entrada ou saída).<br/>Um evento para cada agendamento/acesso PLACA/CHASSI/LOCOMOTIVA.<br/><br/>Obs.: O manifesto e conhecimento de carga informado devem ser os internacionais sempre que existirem. Do contrário deve ser informado conhecimento interno. Exemplo: No ingresso de veículo com contêiner para exportação sem BL existente, tal evento deve constar a informação do CT-e.<br/><br/>Este evento possui integração com Controle de Carga e Trânsito na Importação (CCT Importação) para a funcionalidade \"chegada de veículo terrestre\" (Para mais informações,<a href =\"https://www.gov.br/siscomex/pt-br/arquivos-e-imagens/manualcctimportao.pdf\"> clique aqui</a>) - * - */ - @POST - @Path("/ext/acesso-veiculos") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Controle de Agendamento/Acesso de Veículo Terrestre", notes = "Um evento para cada agendamento ou acesso (entrada ou saída) de veículo ao recinto. Transmitir imediatamente ao agendamento ou ao acesso (entrada ou saída).
    Um evento para cada agendamento/acesso PLACA/CHASSI/LOCOMOTIVA.

    Obs.: O manifesto e conhecimento de carga informado devem ser os internacionais sempre que existirem. Do contrário deve ser informado conhecimento interno. Exemplo: No ingresso de veículo com contêiner para exportação sem BL existente, tal evento deve constar a informação do CT-e.

    Este evento possui integração com Controle de Carga e Trânsito na Importação (CCT Importação) para a funcionalidade \"chegada de veículo terrestre\" (Para mais informações, clique aqui)", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST8(@ApiParam(value = "JSON do evento Acesso Veículo", required = true) @Valid DadosAcessoVeculo body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); - - /** - * Embarque/Desembarque no Navio - * - * Na API-Recintos entende-se por “navio” a embarcação utilizada para o transporte de cargas (vide tabela Embarcação do Mercante).<br/>Um evento para cada embarque ou desembarque de unidades de carga, carga solta ou granel no navio.<br/>Transmitir imediatamente ao encerramento do embarque / desembarque de cada navio.<br/>Transmitir também nos casos de transbordo/baldeação entre navios.<br/>Um evento por CONTÊINER/LOTE CARGA SOLTA/GRANEL embarcado ou desembarcado.<br/>Granel: um evento ao final da operação de carregamento/descarregamento total do navio graneleiro.<br/>Exemplos:<br/>Granel: informar N manifestos, N conhecimentos, N Portos carregamento, N Portos descarregamento, N Países destino final e demais atributos pertinentes.<br/>Contêiner: informar 1 manifesto, N conhecimentos, 1 Porto carregamento, 1 Porto descarregamento, N Países destino final e demais atributos pertinentes.<br/>Lote Carga solta: informar 1 manifesto, 1 conhecimento, 1 Porto carregamento, 1 Porto descarregamento, 1 País destino final e demais atributos pertinentes. - * - */ - @POST - @Path("/ext/embarque-desembarque-navios") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Embarque/Desembarque no Navio", notes = "Na API-Recintos entende-se por “navio” a embarcação utilizada para o transporte de cargas (vide tabela Embarcação do Mercante).
    Um evento para cada embarque ou desembarque de unidades de carga, carga solta ou granel no navio.
    Transmitir imediatamente ao encerramento do embarque / desembarque de cada navio.
    Transmitir também nos casos de transbordo/baldeação entre navios.
    Um evento por CONTÊINER/LOTE CARGA SOLTA/GRANEL embarcado ou desembarcado.
    Granel: um evento ao final da operação de carregamento/descarregamento total do navio graneleiro.
    Exemplos:
    Granel: informar N manifestos, N conhecimentos, N Portos carregamento, N Portos descarregamento, N Países destino final e demais atributos pertinentes.
    Contêiner: informar 1 manifesto, N conhecimentos, 1 Porto carregamento, 1 Porto descarregamento, N Países destino final e demais atributos pertinentes.
    Lote Carga solta: informar 1 manifesto, 1 conhecimento, 1 Porto carregamento, 1 Porto descarregamento, 1 País destino final e demais atributos pertinentes.", tags = {"Serviços destinados à recepção de eventos aduaneiros."}) - @ApiResponses(value = { - @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class), - @ApiResponse(code = 400, message = "Requisição mal formatada"), - @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), - @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class), - @ApiResponse(code = 500, message = "Erro interno no servidor"), - @ApiResponse(code = 503, message = "Serviço indisponível")}) - Response incluirUsingPOST9(@ApiParam(value = "JSON do evento Controle de Embarque e Desembarque de Navios", required = true) @Valid DadosEmbarqueDesembarqueNavio body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação.", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken); -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAcessoPessoa.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAcessoPessoa.java index 30cb218..c13a54c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAcessoPessoa.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAcessoPessoa.java @@ -129,9 +129,9 @@ public static TipoOperacaoEnum fromValue(String v) { private String codigoRecinto = null; @XmlElement(name = "cpf") - @ApiModelProperty(example = "55555555555", value = "CPF da pessoa que está acessando o recinto (entrada ou saída).
    É obrigatório informar o atributo 'cpf' quando o atributo 'identidadeEstrangeiro' não for informado.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + @ApiModelProperty(example = "55555555555", value = "CPF da pessoa que está acessando o recinto (entrada ou saída).
    (!)
    É obrigatório informar o atributo 'cpf' quando o atributo 'identidadeEstrangeiro' não for informado.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") /** - * CPF da pessoa que está acessando o recinto (entrada ou saída).
    É obrigatório informar o atributo 'cpf' quando o atributo 'identidadeEstrangeiro' não for informado.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + * CPF da pessoa que está acessando o recinto (entrada ou saída).
    (!)
    É obrigatório informar o atributo 'cpf' quando o atributo 'identidadeEstrangeiro' não for informado.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' **/ private String cpf = null; @@ -236,9 +236,9 @@ public static IdentificacaoEnum fromValue(String v) { private IdentificacaoEnum identificacao = null; @XmlElement(name = "identidadeEstrangeiro") - @ApiModelProperty(example = "FB000001", value = "Número do documento de estrangeiro.
    Informar apenas no caso de estrangeiro sem CPF. Usar o passaporte sempre que possível.
    É obrigatório informar o atributo 'identidadeEstrangeiro' quando o atributo 'cpf' não for informado.
    Tamanho: 50") + @ApiModelProperty(example = "FB000001", value = "Número do documento de estrangeiro.
    Informar apenas no caso de estrangeiro sem CPF. Usar o passaporte sempre que possível.
    (!)
    É obrigatório informar o atributo 'identidadeEstrangeiro' quando o atributo 'cpf' não for informado.
    Tamanho: 50") /** - * Número do documento de estrangeiro.
    Informar apenas no caso de estrangeiro sem CPF. Usar o passaporte sempre que possível.
    É obrigatório informar o atributo 'identidadeEstrangeiro' quando o atributo 'cpf' não for informado.
    Tamanho: 50 + * Número do documento de estrangeiro.
    Informar apenas no caso de estrangeiro sem CPF. Usar o passaporte sempre que possível.
    (!)
    É obrigatório informar o atributo 'identidadeEstrangeiro' quando o atributo 'cpf' não for informado.
    Tamanho: 50 **/ private String identidadeEstrangeiro = null; @@ -458,7 +458,7 @@ public DadosAcessoPessoa codigoRecinto(String codigoRecinto) { } /** - * CPF da pessoa que está acessando o recinto (entrada ou saída). <br/>É obrigatório informar o atributo 'cpf' quando o atributo 'identidadeEstrangeiro' não for informado.<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' + * CPF da pessoa que está acessando o recinto (entrada ou saída).<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'cpf' quando o atributo 'identidadeEstrangeiro' não for informado.<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' * @return cpf **/ @JsonProperty("cpf") @@ -522,7 +522,7 @@ public DadosAcessoPessoa identificacao(IdentificacaoEnum identificacao) { } /** - * Número do documento de estrangeiro. <br/> Informar apenas no caso de estrangeiro sem CPF. Usar o passaporte sempre que possível. <br/>É obrigatório informar o atributo 'identidadeEstrangeiro' quando o atributo 'cpf' não for informado.<br/>Tamanho: 50 + * Número do documento de estrangeiro. <br/> Informar apenas no caso de estrangeiro sem CPF. Usar o passaporte sempre que possível.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'identidadeEstrangeiro' quando o atributo 'cpf' não for informado.<br/>Tamanho: 50 * @return identidadeEstrangeiro **/ @JsonProperty("identidadeEstrangeiro") diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAcessoVeculo.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAcessoVeculo.java index 3f48ec0..a521359 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAcessoVeculo.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAcessoVeculo.java @@ -16,7 +16,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosAcessoVeculo", propOrder = - {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "operacao", "direcao", "protocoloAgenda", "dataHoraAgenda", "listaManifestos", "listaDeclaracaoAduaneira", "listaNfe", "listaMalas", "tipoGranel", "listaChassi", "placa", "ufEmplacamento", "ocrPlaca", "oogDimensao", "oogPeso", "listaSemirreboque", "listaConteineresUld", "cnpjTransportador", "nomeTransportador", "motorista", "codigoRecintoDestino", "codigoRecintoOrigem", "dataHoraPartidaOrigem", "modal", "gate", "listaCameras" + {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "operacao", "direcao", "protocoloAgenda", "dataHoraAgenda", "listaManifestos", "listaDeclaracaoAduaneira", "listaNfe", "listaMalas", "tipoGranel", "listaChassi", "placa", "ufEmplacamento", "ocrPlaca", "oogDimensao", "oogPeso", "listaSemirreboque", "listaConteineresUld", "cnpjTransportador", "cpfTransportador", "transportadorEstrangeiro", "nomeTransportador", "motorista", "codigoRecintoDestino", "codigoRecintoOrigem", "dataHoraPartidaOrigem", "modal", "gate", "listaCameras" }) @XmlRootElement(name = "DadosAcessoVeculo") @@ -228,9 +228,9 @@ public static DirecaoEnum fromValue(String v) { private String protocoloAgenda = null; @XmlElement(name = "dataHoraAgenda") - @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Data e Hora agendada. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    É obrigatório informar o atributo 'dataHoraAgenda' quando o atributo 'operacao' for informado com valor 'G'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") + @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Data e Hora agendada. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    (!)
    É obrigatório informar o atributo 'dataHoraAgenda' quando o atributo 'operacao' for informado com valor 'G'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") /** - * Data e Hora agendada. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    É obrigatório informar o atributo 'dataHoraAgenda' quando o atributo 'operacao' for informado com valor 'G'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' + * Data e Hora agendada. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    (!)
    É obrigatório informar o atributo 'dataHoraAgenda' quando o atributo 'operacao' for informado com valor 'G'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' **/ private String dataHoraAgenda = null; @@ -240,7 +240,7 @@ public static DirecaoEnum fromValue(String v) { /** * Lista de manifestos. **/ - private List listaManifestos = null; + private List listaManifestos = null; @XmlElement(name = "listaDeclaracaoAduaneira") @ApiModelProperty(value = "Lista de declarações aduaneiras associadas à carga.") @@ -330,24 +330,24 @@ public static TipoGranelEnum fromValue(String v) { } @XmlElement(name = "tipoGranel") - @ApiModelProperty(example = "01", value = "Tipo de granel conforme tabela de domínio.
    Domínio:
    01 - SÓLIDOS - MINÉRIOS
    02 - SÓLIDOS - GRÃOS
    03 - SÓLIDOS - FARELOS
    04 - SÓLIDOS - OUTROS
    05 - LÍQUIDOS - COMBUSTÍVEIS
    06 - LÍQUIDOS - OUTROS
    07 - GASOSOS
    99 - OUTROS
    ") + @ApiModelProperty(example = "01", value = "Tipo de granel conforme tabela de domínio.
    Domínio:
    01 - SÓLIDOS - MINÉRIOS
    02 - SÓLIDOS - GRÃOS
    03 - SÓLIDOS - FARELOS
    04 - SÓLIDOS - OUTROS
    05 - LÍQUIDOS - COMBUSTÍVEIS
    06 - LÍQUIDOS - OUTROS
    07 - GASOSOS
    99 - OUTROS") /** - * Tipo de granel conforme tabela de domínio.
    Domínio:
    01 - SÓLIDOS - MINÉRIOS
    02 - SÓLIDOS - GRÃOS
    03 - SÓLIDOS - FARELOS
    04 - SÓLIDOS - OUTROS
    05 - LÍQUIDOS - COMBUSTÍVEIS
    06 - LÍQUIDOS - OUTROS
    07 - GASOSOS
    99 - OUTROS
    + * Tipo de granel conforme tabela de domínio.
    Domínio:
    01 - SÓLIDOS - MINÉRIOS
    02 - SÓLIDOS - GRÃOS
    03 - SÓLIDOS - FARELOS
    04 - SÓLIDOS - OUTROS
    05 - LÍQUIDOS - COMBUSTÍVEIS
    06 - LÍQUIDOS - OUTROS
    07 - GASOSOS
    99 - OUTROS **/ private TipoGranelEnum tipoGranel = null; @XmlElement(name = "listaChassi") - @ApiModelProperty(value = "Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).
    É obrigatório informar o atributo 'listaChassi.chassi' quando o atributo 'placa' não for informado.
    Tamanho: 50") + @ApiModelProperty(value = "Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).
    (!)
    É obrigatório informar o atributo 'listaChassi.chassi' quando o atributo 'placa' não for informado.
    Tamanho: 50") @Valid /** - * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).
    É obrigatório informar o atributo 'listaChassi.chassi' quando o atributo 'placa' não for informado.
    Tamanho: 50 + * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).
    (!)
    É obrigatório informar o atributo 'listaChassi.chassi' quando o atributo 'placa' não for informado.
    Tamanho: 50 **/ - private List listaChassi = null; + private List listaChassi = null; @XmlElement(name = "placa") - @ApiModelProperty(value = "Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).
    É obrigatório informar o atributo 'placa' quando o atributo 'lista.Chassi.chassi' não for informado. Pode ser nulo quando o evento for de exclusão.
    Tamanho: 50") + @ApiModelProperty(value = "Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).
    (!)
    É obrigatório informar o atributo 'placa' quando o atributo 'lista.Chassi.chassi' não for informado. Pode ser nulo quando o evento for de exclusão.
    Tamanho: 50") /** - * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).
    É obrigatório informar o atributo 'placa' quando o atributo 'lista.Chassi.chassi' não for informado. Pode ser nulo quando o evento for de exclusão.
    Tamanho: 50 + * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).
    (!)
    É obrigatório informar o atributo 'placa' quando o atributo 'lista.Chassi.chassi' não for informado. Pode ser nulo quando o evento for de exclusão.
    Tamanho: 50 **/ private String placa = null; @@ -359,23 +359,23 @@ public static TipoGranelEnum fromValue(String v) { private String ufEmplacamento = null; @XmlElement(name = "ocrPlaca") - @ApiModelProperty(example = "false", value = "Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition).
    É obrigatório informar o atributo 'ocrPlaca' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    true - Sim
    false - Não") + @ApiModelProperty(example = "false", value = "Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)
    (!)
    É obrigatório informar o atributo 'ocrPlaca' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    true - Sim
    false - Não") /** - * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition).
    É obrigatório informar o atributo 'ocrPlaca' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    true - Sim
    false - Não + * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)
    (!)
    É obrigatório informar o atributo 'ocrPlaca' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    true - Sim
    false - Não **/ private Boolean ocrPlaca = null; @XmlElement(name = "oogDimensao") - @ApiModelProperty(example = "false", value = "Dimensões que impeçam a entrada/saída OOG (Out of Gauge) pelo gate padrão ou a pesagem ou a passagem pelo scanner.
    É obrigatório informar o atributo 'oogDimensao' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    true - Sim
    false - Não") + @ApiModelProperty(example = "false", value = "Dimensões que impeçam a entrada/saída OOG (Out of Gauge) pelo gate padrão ou a pesagem ou a passagem pelo scanner.
    (!)
    É obrigatório informar o atributo 'oogDimensao' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    true - Sim
    false - Não") /** - * Dimensões que impeçam a entrada/saída OOG (Out of Gauge) pelo gate padrão ou a pesagem ou a passagem pelo scanner.
    É obrigatório informar o atributo 'oogDimensao' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    true - Sim
    false - Não + * Dimensões que impeçam a entrada/saída OOG (Out of Gauge) pelo gate padrão ou a pesagem ou a passagem pelo scanner.
    (!)
    É obrigatório informar o atributo 'oogDimensao' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    true - Sim
    false - Não **/ private Boolean oogDimensao = null; @XmlElement(name = "oogPeso") - @ApiModelProperty(example = "false", value = "Peso que impeça a entrada/saída OOG (Out of Gauge) pelo gate padrão, a pesagem ou a passagem pelo scanner.
    É obrigatório informar o atributo 'oogPeso' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    true - Sim
    false - Não") + @ApiModelProperty(example = "false", value = "Peso que impeça a entrada/saída OOG (Out of Gauge) pelo gate padrão, a pesagem ou a passagem pelo scanner.
    (!)
    É obrigatório informar o atributo 'oogPeso' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    true - Sim
    false - Não") /** - * Peso que impeça a entrada/saída OOG (Out of Gauge) pelo gate padrão, a pesagem ou a passagem pelo scanner.
    É obrigatório informar o atributo 'oogPeso' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    true - Sim
    false - Não + * Peso que impeça a entrada/saída OOG (Out of Gauge) pelo gate padrão, a pesagem ou a passagem pelo scanner.
    (!)
    É obrigatório informar o atributo 'oogPeso' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    true - Sim
    false - Não **/ private Boolean oogPeso = null; @@ -402,6 +402,20 @@ public static TipoGranelEnum fromValue(String v) { **/ private String cnpjTransportador = null; + @XmlElement(name = "cpfTransportador") + @ApiModelProperty(example = "55555555555", value = "CPF do transportador, aplicável quando for transportador autônomo sem empresa.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + /** + * CPF do transportador, aplicável quando for transportador autônomo sem empresa.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + **/ + private String cpfTransportador = null; + + @XmlElement(name = "transportadorEstrangeiro") + @ApiModelProperty(value = "Identificação fiscal de empresa estrangeira responsável pelo transporte. Por exemplo: TIN - Trade Identification Number (Número de Identificação do Operador)
    Tamanho: 50") + /** + * Identificação fiscal de empresa estrangeira responsável pelo transporte. Por exemplo: TIN - Trade Identification Number (Número de Identificação do Operador)
    Tamanho: 50 + **/ + private String transportadorEstrangeiro = null; + @XmlElement(name = "nomeTransportador") @ApiModelProperty(value = "Nome da empresa transportadora.
    Tamanho: 100") /** @@ -446,11 +460,7 @@ public enum ModalEnum { @XmlEnumValue("'F'") @JsonProperty("'F'") - F_("'F'"), - - @XmlEnumValue("'L'") - @JsonProperty("'L'") - L_("'L'"); + F_("'F'"); private final String value; @@ -479,16 +489,16 @@ public static ModalEnum fromValue(String v) { } @XmlElement(name = "modal") - @ApiModelProperty(example = "R", value = "Modal. Forma como a carga chegou/saiu do recinto, transporte rodoviário ou transporte ferroviário. Conforme tabela domínio.
    É obrigatório informar o atributo 'modal' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    R - Rodoviário
    F - Ferroviário
    L - Fluvial") + @ApiModelProperty(example = "R", value = "Modal. Forma como a carga chegou/saiu do recinto, transporte rodoviário ou transporte ferroviário. Conforme tabela domínio.
    (!)
    É obrigatório informar o atributo 'modal' quando o atributo 'operacao' for informado com valor 'C'.

    Domínio:
    R - Rodoviário
    F - Ferroviário") /** - * Modal. Forma como a carga chegou/saiu do recinto, transporte rodoviário ou transporte ferroviário. Conforme tabela domínio.
    É obrigatório informar o atributo 'modal' quando o atributo 'operacao' for informado com valor 'C'.
    Domínio:
    R - Rodoviário
    F - Ferroviário
    L - Fluvial + * Modal. Forma como a carga chegou/saiu do recinto, transporte rodoviário ou transporte ferroviário. Conforme tabela domínio.
    (!)
    É obrigatório informar o atributo 'modal' quando o atributo 'operacao' for informado com valor 'C'.

    Domínio:
    R - Rodoviário
    F - Ferroviário **/ private ModalEnum modal = null; @XmlElement(name = "gate") - @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", value = "Identificação do Gate.
    Usar o protocolo do evento de georreferenciamento relativo ao ponto de acesso utilizado.
    É obrigatório informar o atributo 'gate' quando o atributo 'operacao' for informado com valor 'C'.
    Tamanho: 36") + @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", value = "Identificação do Gate.
    Usar o protocolo do evento de georreferenciamento relativo ao ponto de acesso utilizado.
    (!)
    É obrigatório informar o atributo 'gate' quando o atributo 'operacao' for informado com valor 'C'.
    Tamanho: 36") /** - * Identificação do Gate.
    Usar o protocolo do evento de georreferenciamento relativo ao ponto de acesso utilizado.
    É obrigatório informar o atributo 'gate' quando o atributo 'operacao' for informado com valor 'C'.
    Tamanho: 36 + * Identificação do Gate.
    Usar o protocolo do evento de georreferenciamento relativo ao ponto de acesso utilizado.
    (!)
    É obrigatório informar o atributo 'gate' quando o atributo 'operacao' for informado com valor 'C'.
    Tamanho: 36 **/ private String gate = null; @@ -744,7 +754,7 @@ public DadosAcessoVeculo protocoloAgenda(String protocoloAgenda) { } /** - * Data e Hora agendada. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada. <br/>É obrigatório informar o atributo 'dataHoraAgenda' quando o atributo 'operacao' for informado com valor 'G'.<br/>Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' + * Data e Hora agendada. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'dataHoraAgenda' quando o atributo 'operacao' for informado com valor 'G'.<br/>Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' * @return dataHoraAgenda **/ @JsonProperty("dataHoraAgenda") @@ -766,20 +776,20 @@ public DadosAcessoVeculo dataHoraAgenda(String dataHoraAgenda) { * @return listaManifestos **/ @JsonProperty("listaManifestos") - public List getListaManifestos() { + public List getListaManifestos() { return listaManifestos; } - public void setListaManifestos(List listaManifestos) { + public void setListaManifestos(List listaManifestos) { this.listaManifestos = listaManifestos; } - public DadosAcessoVeculo listaManifestos(List listaManifestos) { + public DadosAcessoVeculo listaManifestos(List listaManifestos) { this.listaManifestos = listaManifestos; return this; } - public DadosAcessoVeculo addListaManifestosItem(DadosDoManisfestoDaCarga listaManifestosItem) { + public DadosAcessoVeculo addListaManifestosItem(DadosDoManifestoDaCarga listaManifestosItem) { this.listaManifestos.add(listaManifestosItem); return this; } @@ -855,7 +865,7 @@ public DadosAcessoVeculo addListaMalasItem(DadosDaMala listaMalasItem) { } /** - * Tipo de granel conforme tabela de domínio.<br/>Domínio:<br/>01 - SÓLIDOS - MINÉRIOS<br/>02 - SÓLIDOS - GRÃOS<br/>03 - SÓLIDOS - FARELOS<br/>04 - SÓLIDOS - OUTROS<br/>05 - LÍQUIDOS - COMBUSTÍVEIS<br/>06 - LÍQUIDOS - OUTROS<br/>07 - GASOSOS<br/>99 - OUTROS<br/> + * Tipo de granel conforme tabela de domínio.<br/>Domínio:<br/>01 - SÓLIDOS - MINÉRIOS<br/>02 - SÓLIDOS - GRÃOS<br/>03 - SÓLIDOS - FARELOS<br/>04 - SÓLIDOS - OUTROS<br/>05 - LÍQUIDOS - COMBUSTÍVEIS<br/>06 - LÍQUIDOS - OUTROS<br/>07 - GASOSOS<br/>99 - OUTROS * * @return tipoGranel **/ @@ -877,30 +887,30 @@ public DadosAcessoVeculo tipoGranel(TipoGranelEnum tipoGranel) { } /** - * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...). <br/>É obrigatório informar o atributo 'listaChassi.chassi' quando o atributo 'placa' não for informado.<br/>Tamanho: 50 + * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'listaChassi.chassi' quando o atributo 'placa' não for informado.<br/>Tamanho: 50 * @return listaChassi **/ @JsonProperty("listaChassi") - public List getListaChassi() { + public List getListaChassi() { return listaChassi; } - public void setListaChassi(List listaChassi) { + public void setListaChassi(List listaChassi) { this.listaChassi = listaChassi; } - public DadosAcessoVeculo listaChassi(List listaChassi) { + public DadosAcessoVeculo listaChassi(List listaChassi) { this.listaChassi = listaChassi; return this; } - public DadosAcessoVeculo addListaChassiItem(DadosDoChassi listaChassiItem) { + public DadosAcessoVeculo addListaChassiItem(DadosDoChassiEmbarque listaChassiItem) { this.listaChassi.add(listaChassiItem); return this; } /** - * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva). <br/>É obrigatório informar o atributo 'placa' quando o atributo 'lista.Chassi.chassi' não for informado. Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 50 + * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'placa' quando o atributo 'lista.Chassi.chassi' não for informado. Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 50 * @return placa **/ @JsonProperty("placa") @@ -936,7 +946,7 @@ public DadosAcessoVeculo ufEmplacamento(String ufEmplacamento) { } /** - * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition). <br/>É obrigatório informar o atributo 'ocrPlaca' quando o atributo 'operacao' for informado com valor 'C'.<br/>Domínio:<br/>true - Sim<br/>false - Não + * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'ocrPlaca' quando o atributo 'operacao' for informado com valor 'C'.<br/>Domínio:<br/>true - Sim<br/>false - Não * @return ocrPlaca **/ @JsonProperty("ocrPlaca") @@ -954,7 +964,7 @@ public DadosAcessoVeculo ocrPlaca(Boolean ocrPlaca) { } /** - * Dimensões que impeçam a entrada/saída OOG (Out of Gauge) pelo gate padrão ou a pesagem ou a passagem pelo scanner. <br/>É obrigatório informar o atributo 'oogDimensao' quando o atributo 'operacao' for informado com valor 'C'.<br/>Domínio:<br/>true - Sim<br/>false - Não + * Dimensões que impeçam a entrada/saída OOG (Out of Gauge) pelo gate padrão ou a pesagem ou a passagem pelo scanner.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'oogDimensao' quando o atributo 'operacao' for informado com valor 'C'.<br/>Domínio:<br/>true - Sim<br/>false - Não * @return oogDimensao **/ @JsonProperty("oogDimensao") @@ -972,7 +982,7 @@ public DadosAcessoVeculo oogDimensao(Boolean oogDimensao) { } /** - * Peso que impeça a entrada/saída OOG (Out of Gauge) pelo gate padrão, a pesagem ou a passagem pelo scanner. <br/>É obrigatório informar o atributo 'oogPeso' quando o atributo 'operacao' for informado com valor 'C'.<br/>Domínio:<br/>true - Sim<br/>false - Não + * Peso que impeça a entrada/saída OOG (Out of Gauge) pelo gate padrão, a pesagem ou a passagem pelo scanner. <font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'oogPeso' quando o atributo 'operacao' for informado com valor 'C'.<br/>Domínio:<br/>true - Sim<br/>false - Não * @return oogPeso **/ @JsonProperty("oogPeso") @@ -1053,6 +1063,44 @@ public DadosAcessoVeculo cnpjTransportador(String cnpjTransportador) { return this; } + /** + * CPF do transportador, aplicável quando for transportador autônomo sem empresa.<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' + * + * @return cpfTransportador + **/ + @JsonProperty("cpfTransportador") + public String getCpfTransportador() { + return cpfTransportador; + } + + public void setCpfTransportador(String cpfTransportador) { + this.cpfTransportador = cpfTransportador; + } + + public DadosAcessoVeculo cpfTransportador(String cpfTransportador) { + this.cpfTransportador = cpfTransportador; + return this; + } + + /** + * Identificação fiscal de empresa estrangeira responsável pelo transporte. Por exemplo: TIN - Trade Identification Number (Número de Identificação do Operador)<br/>Tamanho: 50 + * + * @return transportadorEstrangeiro + **/ + @JsonProperty("transportadorEstrangeiro") + public String getTransportadorEstrangeiro() { + return transportadorEstrangeiro; + } + + public void setTransportadorEstrangeiro(String transportadorEstrangeiro) { + this.transportadorEstrangeiro = transportadorEstrangeiro; + } + + public DadosAcessoVeculo transportadorEstrangeiro(String transportadorEstrangeiro) { + this.transportadorEstrangeiro = transportadorEstrangeiro; + return this; + } + /** * Nome da empresa transportadora.<br/>Tamanho: 100 * @return nomeTransportador @@ -1073,7 +1121,6 @@ public DadosAcessoVeculo nomeTransportador(String nomeTransportador) { /** * Get motorista - * * @return motorista **/ @JsonProperty("motorista") @@ -1145,7 +1192,7 @@ public DadosAcessoVeculo dataHoraPartidaOrigem(String dataHoraPartidaOrigem) { } /** - * Modal. Forma como a carga chegou/saiu do recinto, transporte rodoviário ou transporte ferroviário. Conforme tabela domínio.<br/> É obrigatório informar o atributo 'modal' quando o atributo 'operacao' for informado com valor 'C'.<br/>Domínio:<br/>R - Rodoviário<br/>F - Ferroviário<br/>L - Fluvial + * Modal. Forma como a carga chegou/saiu do recinto, transporte rodoviário ou transporte ferroviário. Conforme tabela domínio.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'modal' quando o atributo 'operacao' for informado com valor 'C'. <br/> <br/>Domínio:<br/>R - Rodoviário<br/>F - Ferroviário * @return modal **/ @JsonProperty("modal") @@ -1166,7 +1213,7 @@ public DadosAcessoVeculo modal(ModalEnum modal) { } /** - * Identificação do Gate.<br/>Usar o protocolo do evento de georreferenciamento relativo ao ponto de acesso utilizado.<br/> É obrigatório informar o atributo 'gate' quando o atributo 'operacao' for informado com valor 'C'.<br/>Tamanho: 36 + * Identificação do Gate.<br/>Usar o protocolo do evento de georreferenciamento relativo ao ponto de acesso utilizado.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'gate' quando o atributo 'operacao' for informado com valor 'C'.<br/>Tamanho: 36 * @return gate **/ @JsonProperty("gate") @@ -1238,6 +1285,8 @@ public String toString() { " listaSemirreboque: " + toIndentedString(listaSemirreboque) + "\n" + " listaConteineresUld: " + toIndentedString(listaConteineresUld) + "\n" + " cnpjTransportador: " + toIndentedString(cnpjTransportador) + "\n" + + " cpfTransportador: " + toIndentedString(cpfTransportador) + "\n" + + " transportadorEstrangeiro: " + toIndentedString(transportadorEstrangeiro) + "\n" + " nomeTransportador: " + toIndentedString(nomeTransportador) + "\n" + " motorista: " + toIndentedString(motorista) + "\n" + " codigoRecintoDestino: " + toIndentedString(codigoRecintoDestino) + "\n" + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAgendaOperaoNaviosAeronaves.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAgendaOperaoNaviosAeronaves.java index 958abf2..64c43d4 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAgendaOperaoNaviosAeronaves.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAgendaOperaoNaviosAeronaves.java @@ -130,40 +130,40 @@ public static TipoOperacaoEnum fromValue(String v) { @XmlElement(name = "navio") @ApiModelProperty(value = "") @Valid - private DadosNavio navio = null; + private DadosNavioAgenda navio = null; @XmlElement(name = "iataAeronave") - @ApiModelProperty(value = "Código IATA da Aeronave
    Tamanho: 50") + @ApiModelProperty(value = "Código IATA da Aeronave
    (!)
    É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')
    Tamanho: 50") /** - * Código IATA da Aeronave
    Tamanho: 50 + * Código IATA da Aeronave
    (!)
    É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')
    Tamanho: 50 **/ private String iataAeronave = null; @XmlElement(name = "prefixoAeronave") - @ApiModelProperty(value = "Prefixo da aeronave
    Tamanho: 20") + @ApiModelProperty(value = "Prefixo da aeronave
    (!)
    É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')
    Tamanho: 20") /** - * Prefixo da aeronave
    Tamanho: 20 + * Prefixo da aeronave
    (!)
    É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')
    Tamanho: 20 **/ private String prefixoAeronave = null; - @XmlElement(name = "viagem") - @ApiModelProperty(example = "AA090520191209MIA', onde vôo = 'AA0905', data de partida prevista = '20191209' e aeroporto da partida = 'MIA", value = "
    No aéreo a composição da viagem é: vôo + data da partida prevista + aeroporto da partida.No aquaviário também deve ser informado o campo viagem no formato disponível.
    Tamanho: 20") + @XmlElement(name = "viagem", required = true) + @ApiModelProperty(example = "AA090520191209MIA', onde vôo = 'AA0905', data de partida prevista = '20191209' e aeroporto da partida = 'MIA", required = true, value = "
    No aéreo a composição da viagem é: vôo + data da partida prevista + aeroporto da partida.No aquaviário também deve ser informado o campo viagem no formato disponível.
    Tamanho: 20") /** *
    No aéreo a composição da viagem é: vôo + data da partida prevista + aeroporto da partida.No aquaviário também deve ser informado o campo viagem no formato disponível.
    Tamanho: 20 **/ private String viagem = null; @XmlElement(name = "voo") - @ApiModelProperty(value = "Vôo
    Tamanho: 20") + @ApiModelProperty(value = "Vôo
    (!)
    É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')
    Tamanho: 20") /** - * Vôo
    Tamanho: 20 + * Vôo
    (!)
    É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')
    Tamanho: 20 **/ private String voo = null; @XmlElement(name = "escala") - @ApiModelProperty(value = "Escala
    Tamanho: 20") + @ApiModelProperty(value = "Escala
    (!)
    É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')
    Tamanho: 20") /** - * Escala
    Tamanho: 20 + * Escala
    (!)
    É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')
    Tamanho: 20 **/ private String escala = null; @@ -366,21 +366,21 @@ public DadosAgendaOperaoNaviosAeronaves codigoRecinto(String codigoRecinto) { * @return navio **/ @JsonProperty("navio") - public DadosNavio getNavio() { + public DadosNavioAgenda getNavio() { return navio; } - public void setNavio(DadosNavio navio) { + public void setNavio(DadosNavioAgenda navio) { this.navio = navio; } - public DadosAgendaOperaoNaviosAeronaves navio(DadosNavio navio) { + public DadosAgendaOperaoNaviosAeronaves navio(DadosNavioAgenda navio) { this.navio = navio; return this; } /** - * Código IATA da Aeronave<br/>Tamanho: 50 + * Código IATA da Aeronave<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')<br/>Tamanho: 50 * @return iataAeronave **/ @JsonProperty("iataAeronave") @@ -398,7 +398,7 @@ public DadosAgendaOperaoNaviosAeronaves iataAeronave(String iataAeronave) { } /** - * Prefixo da aeronave<br/>Tamanho: 20 + * Prefixo da aeronave<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')<br/>Tamanho: 20 * @return prefixoAeronave **/ @JsonProperty("prefixoAeronave") @@ -420,6 +420,7 @@ public DadosAgendaOperaoNaviosAeronaves prefixoAeronave(String prefixoAeronave) * @return viagem **/ @JsonProperty("viagem") + @NotNull public String getViagem() { return viagem; } @@ -434,7 +435,7 @@ public DadosAgendaOperaoNaviosAeronaves viagem(String viagem) { } /** - * Vôo<br/>Tamanho: 20 + * Vôo<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')<br/>Tamanho: 20 * @return voo **/ @JsonProperty("voo") @@ -452,7 +453,7 @@ public DadosAgendaOperaoNaviosAeronaves voo(String voo) { } /** - * Escala<br/>Tamanho: 20 + * Escala<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')<br/>Tamanho: 20 * @return escala **/ @JsonProperty("escala") diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosArmazenamentoLote.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosArmazenamentoLote.java index 525458e..e014222 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosArmazenamentoLote.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosArmazenamentoLote.java @@ -135,8 +135,8 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String numeroLote = null; - @XmlElement(name = "quantidadeVolumesLote") - @ApiModelProperty(value = "Quantidade de volumes do lote") + @XmlElement(name = "quantidadeVolumesLote", required = true) + @ApiModelProperty(required = true, value = "Quantidade de volumes do lote") /** * Quantidade de volumes do lote **/ @@ -147,8 +147,8 @@ public static TipoOperacaoEnum fromValue(String v) { @Valid private DadosLocalizaoArmazenamentoLote localizacao = null; - @XmlElement(name = "areaArmazenamento") - @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", value = "Identificação da área de armazenamento do lote. Usar o protocolo do evento de georreferenciamento.
    Tamanho: 36") + @XmlElement(name = "areaArmazenamento", required = true) + @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", required = true, value = "Identificação da área de armazenamento do lote. Usar o protocolo do evento de georreferenciamento.
    Tamanho: 36") /** * Identificação da área de armazenamento do lote. Usar o protocolo do evento de georreferenciamento.
    Tamanho: 36 **/ @@ -366,6 +366,7 @@ public DadosArmazenamentoLote numeroLote(String numeroLote) { * @return quantidadeVolumesLote **/ @JsonProperty("quantidadeVolumesLote") + @NotNull public Integer getQuantidadeVolumesLote() { return quantidadeVolumesLote; } @@ -402,6 +403,7 @@ public DadosArmazenamentoLote localizacao(DadosLocalizaoArmazenamentoLote locali * @return areaArmazenamento **/ @JsonProperty("areaArmazenamento") + @NotNull public String getAreaArmazenamento() { return areaArmazenamento; } diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAtribuioTrocaNavio.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAtribuioTrocaNavio.java index 541c309..de815b8 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAtribuioTrocaNavio.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAtribuioTrocaNavio.java @@ -128,16 +128,16 @@ public static TipoOperacaoEnum fromValue(String v) { private String codigoRecinto = null; @XmlElement(name = "numeroConteiner") - @ApiModelProperty(value = "Identificação do número do contêiner.
    É obrigatório que o atributo 'numeroConteiner' seja informado quando o atributo 'numeroLote' não for informado.
    Tamanho: 200") + @ApiModelProperty(value = "Identificação do número do contêiner.
    (!)
    É obrigatório que o atributo 'numeroConteiner' seja informado quando o atributo 'numeroLote' não for informado.
    Tamanho: 200") /** - * Identificação do número do contêiner.
    É obrigatório que o atributo 'numeroConteiner' seja informado quando o atributo 'numeroLote' não for informado.
    Tamanho: 200 + * Identificação do número do contêiner.
    (!)
    É obrigatório que o atributo 'numeroConteiner' seja informado quando o atributo 'numeroLote' não for informado.
    Tamanho: 200 **/ private String numeroConteiner = null; @XmlElement(name = "numeroLote") - @ApiModelProperty(value = "Número de Lote. Usar o mesmo número gerado no evento Controle de Carga Solta-Geração de Lotes.
    É obrigatório que o atributo 'numeroLote' seja informado quando o atributo 'numeroConteiner' não for informado.
    Tamanho: 100") + @ApiModelProperty(value = "Número de Lote. Usar o mesmo número gerado no evento Controle de Carga Solta-Geração de Lotes.
    (!)
    É obrigatório que o atributo 'numeroLote' seja informado quando o atributo 'numeroConteiner' não for informado.
    Tamanho: 100") /** - * Número de Lote. Usar o mesmo número gerado no evento Controle de Carga Solta-Geração de Lotes.
    É obrigatório que o atributo 'numeroLote' seja informado quando o atributo 'numeroConteiner' não for informado.
    Tamanho: 100 + * Número de Lote. Usar o mesmo número gerado no evento Controle de Carga Solta-Geração de Lotes.
    (!)
    É obrigatório que o atributo 'numeroLote' seja informado quando o atributo 'numeroConteiner' não for informado.
    Tamanho: 100 **/ private String numeroLote = null; @@ -354,7 +354,7 @@ public DadosAtribuioTrocaNavio codigoRecinto(String codigoRecinto) { } /** - * Identificação do número do contêiner.<br/>É obrigatório que o atributo 'numeroConteiner' seja informado quando o atributo 'numeroLote' não for informado.<br/>Tamanho: 200 + * Identificação do número do contêiner.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que o atributo 'numeroConteiner' seja informado quando o atributo 'numeroLote' não for informado.<br/>Tamanho: 200 * @return numeroConteiner **/ @JsonProperty("numeroConteiner") @@ -372,7 +372,7 @@ public DadosAtribuioTrocaNavio numeroConteiner(String numeroConteiner) { } /** - * Número de Lote. Usar o mesmo número gerado no evento Controle de Carga Solta-Geração de Lotes.<br/>É obrigatório que o atributo 'numeroLote' seja informado quando o atributo 'numeroConteiner' não for informado.<br/>Tamanho: 100 + * Número de Lote. Usar o mesmo número gerado no evento Controle de Carga Solta-Geração de Lotes.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que o atributo 'numeroLote' seja informado quando o atributo 'numeroConteiner' não for informado.<br/>Tamanho: 100 * @return numeroLote **/ @JsonProperty("numeroLote") diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAvariaExtravioLote.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAvariaExtravioLote.java index 99bb9ad..a1e0e05 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAvariaExtravioLote.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosAvariaExtravioLote.java @@ -128,8 +128,8 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String codigoRecinto = null; - @XmlElement(name = "numeroLote") - @ApiModelProperty(value = "Lote interno gerado pelo recinto. Usar o mesmo número gerado no evento Geração de Lote.
    Tamanho: 100") + @XmlElement(name = "numeroLote", required = true) + @ApiModelProperty(required = true, value = "Lote interno gerado pelo recinto. Usar o mesmo número gerado no evento Geração de Lote.
    Tamanho: 100") /** * Lote interno gerado pelo recinto. Usar o mesmo número gerado no evento Geração de Lote.
    Tamanho: 100 **/ @@ -153,11 +153,7 @@ public enum TipoEnum { @XmlEnumValue("'E'") @JsonProperty("'E'") - E_("'E'"), - - @XmlEnumValue("'F'") - @JsonProperty("'F'") - F_("'F'"); + E_("'E'"); private final String value; @@ -185,10 +181,10 @@ public static TipoEnum fromValue(String v) { } } - @XmlElement(name = "tipo") - @ApiModelProperty(example = "E", value = "Tipo de evento (Avaria/Extravio/Furto)
    Domínio:
    A - Avaria
    E - Extravio
    F - Furto") + @XmlElement(name = "tipo", required = true) + @ApiModelProperty(example = "E", required = true, value = "Tipo de evento (Avaria/Extravio)
    Domínio:
    A - Avaria
    E - Extravio") /** - * Tipo de evento (Avaria/Extravio/Furto)
    Domínio:
    A - Avaria
    E - Extravio
    F - Furto + * Tipo de evento (Avaria/Extravio)
    Domínio:
    A - Avaria
    E - Extravio **/ private TipoEnum tipo = null; @@ -198,10 +194,10 @@ public static TipoEnum fromValue(String v) { /** * Lista dos Tipos de Avarias. **/ - private List listaTipoAvaria = null; + private List listaTipoAvaria = null; - @XmlElement(name = "quantidadeVolumes") - @ApiModelProperty(value = "Quantidade de volumes avariados, extraviados ou furtados.") + @XmlElement(name = "quantidadeVolumes", required = true) + @ApiModelProperty(required = true, value = "Quantidade de volumes avariados, extraviados ou furtados.") /** * Quantidade de volumes avariados, extraviados ou furtados. **/ @@ -398,6 +394,7 @@ public DadosAvariaExtravioLote codigoRecinto(String codigoRecinto) { * @return numeroLote **/ @JsonProperty("numeroLote") + @NotNull public String getNumeroLote() { return numeroLote; } @@ -431,11 +428,12 @@ public DadosAvariaExtravioLote numeroTermoFiscalAvaria(String numeroTermoFiscalA } /** - * Tipo de evento (Avaria/Extravio/Furto)<br/>Domínio:<br/>A - Avaria<br/>E - Extravio<br/>F - Furto + * Tipo de evento (Avaria/Extravio)<br/>Domínio:<br/>A - Avaria<br/>E - Extravio * * @return tipo **/ @JsonProperty("tipo") + @NotNull public String getTipo() { if (tipo == null) { return null; @@ -457,20 +455,20 @@ public DadosAvariaExtravioLote tipo(TipoEnum tipo) { * @return listaTipoAvaria **/ @JsonProperty("listaTipoAvaria") - public List getListaTipoAvaria() { + public List getListaTipoAvaria() { return listaTipoAvaria; } - public void setListaTipoAvaria(List listaTipoAvaria) { + public void setListaTipoAvaria(List listaTipoAvaria) { this.listaTipoAvaria = listaTipoAvaria; } - public DadosAvariaExtravioLote listaTipoAvaria(List listaTipoAvaria) { + public DadosAvariaExtravioLote listaTipoAvaria(List listaTipoAvaria) { this.listaTipoAvaria = listaTipoAvaria; return this; } - public DadosAvariaExtravioLote addListaTipoAvariaItem(DadosDoTipoDeAvaria listaTipoAvariaItem) { + public DadosAvariaExtravioLote addListaTipoAvariaItem(DadosDoTipoDeAvariaExtravio listaTipoAvariaItem) { this.listaTipoAvaria.add(listaTipoAvariaItem); return this; } @@ -480,6 +478,7 @@ public DadosAvariaExtravioLote addListaTipoAvariaItem(DadosDoTipoDeAvaria listaT * @return quantidadeVolumes **/ @JsonProperty("quantidadeVolumes") + @NotNull public Integer getQuantidadeVolumes() { return quantidadeVolumes; } diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCargaContiner.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCargaContiner.java index 47ccd51..2e71621 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCargaContiner.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCargaContiner.java @@ -14,19 +14,12 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosCargaContiner", propOrder = - {"cnpjCliente", "cnpjTransportador", "codigoRecintoDestino", "idElemento", "listaLacres", "listaManifestos", "numeroConteiner" + {"cnpjTransportador", "codigoRecintoDestino", "idElemento", "listaCnpjCliente", "listaLacres", "listaManifestos", "numeroConteiner" }) @XmlRootElement(name = "DadosCargaContiner") public class DadosCargaContiner { - @XmlElement(name = "cnpjCliente") - @ApiModelProperty(example = "44444444444444", value = "CNPJ do importador ou do exportador
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'") - /** - * CNPJ do importador ou do exportador
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN' - **/ - private String cnpjCliente = null; - @XmlElement(name = "cnpjTransportador") @ApiModelProperty(example = "44444444444444", value = "CNPJ do transportador
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'") /** @@ -48,6 +41,14 @@ public class DadosCargaContiner { **/ private String idElemento = null; + @XmlElement(name = "listaCnpjCliente") + @ApiModelProperty(value = "Lista CNPJ Cliente") + @Valid + /** + * Lista CNPJ Cliente + **/ + private List listaCnpjCliente = null; + @XmlElement(name = "listaLacres") @ApiModelProperty(value = "Lista de lacres") @Valid @@ -62,7 +63,7 @@ public class DadosCargaContiner { /** * Lista de manifestos. **/ - private List listaManifestos = null; + private List listaManifestos = null; @XmlElement(name = "numeroConteiner") @ApiModelProperty(value = "Número do contêiner a ser removido
    Tamanho: 200") @@ -71,25 +72,6 @@ public class DadosCargaContiner { **/ private String numeroConteiner = null; - /** - * CNPJ do importador ou do exportador<br/>Tamanho: 14<br/>Formato: 'NNNNNNNNNNNNNN' - * - * @return cnpjCliente - **/ - @JsonProperty("cnpjCliente") - public String getCnpjCliente() { - return cnpjCliente; - } - - public void setCnpjCliente(String cnpjCliente) { - this.cnpjCliente = cnpjCliente; - } - - public DadosCargaContiner cnpjCliente(String cnpjCliente) { - this.cnpjCliente = cnpjCliente; - return this; - } - /** * CNPJ do transportador<br/>Tamanho: 14<br/>Formato: 'NNNNNNNNNNNNNN' * @@ -148,6 +130,30 @@ public DadosCargaContiner idElemento(String idElemento) { return this; } + /** + * Lista CNPJ Cliente + * + * @return listaCnpjCliente + **/ + @JsonProperty("listaCnpjCliente") + public List getListaCnpjCliente() { + return listaCnpjCliente; + } + + public void setListaCnpjCliente(List listaCnpjCliente) { + this.listaCnpjCliente = listaCnpjCliente; + } + + public DadosCargaContiner listaCnpjCliente(List listaCnpjCliente) { + this.listaCnpjCliente = listaCnpjCliente; + return this; + } + + public DadosCargaContiner addListaCnpjClienteItem(DadosDoCnpjDoCliente listaCnpjClienteItem) { + this.listaCnpjCliente.add(listaCnpjClienteItem); + return this; + } + /** * Lista de lacres * @@ -178,20 +184,20 @@ public DadosCargaContiner addListaLacresItem(DadosDoLacre listaLacresItem) { * @return listaManifestos **/ @JsonProperty("listaManifestos") - public List getListaManifestos() { + public List getListaManifestos() { return listaManifestos; } - public void setListaManifestos(List listaManifestos) { + public void setListaManifestos(List listaManifestos) { this.listaManifestos = listaManifestos; } - public DadosCargaContiner listaManifestos(List listaManifestos) { + public DadosCargaContiner listaManifestos(List listaManifestos) { this.listaManifestos = listaManifestos; return this; } - public DadosCargaContiner addListaManifestosItem(DadosDoManisfestoDaCargaSimplificado listaManifestosItem) { + public DadosCargaContiner addListaManifestosItem(DadosDoManifestoDaCargaSimplificado listaManifestosItem) { this.listaManifestos.add(listaManifestosItem); return this; } @@ -220,10 +226,10 @@ public DadosCargaContiner numeroConteiner(String numeroConteiner) { public String toString() { String sb = "class DadosCargaContiner {\n" + - " cnpjCliente: " + toIndentedString(cnpjCliente) + "\n" + " cnpjTransportador: " + toIndentedString(cnpjTransportador) + "\n" + " codigoRecintoDestino: " + toIndentedString(codigoRecintoDestino) + "\n" + " idElemento: " + toIndentedString(idElemento) + "\n" + + " listaCnpjCliente: " + toIndentedString(listaCnpjCliente) + "\n" + " listaLacres: " + toIndentedString(listaLacres) + "\n" + " listaManifestos: " + toIndentedString(listaManifestos) + "\n" + " numeroConteiner: " + toIndentedString(numeroConteiner) + "\n" + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCarregamentoEntregaLotes.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCarregamentoEntregaLotes.java index 33b0bfd..79fc776 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCarregamentoEntregaLotes.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCarregamentoEntregaLotes.java @@ -18,7 +18,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosCarregamentoEntregaLotes", propOrder = - {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "numeroManifesto", "tipoManifesto", "numeroConhecimentoMAWB", "numeroConhecimento", "tipoConhecimento", "declaracaoAduaneira", "listaNfe", "listaNumeroLote", "indicadorPerdimento", "identificacaoDocumentoPerdimento", "quantidadeVolumesLote", "placaSemirreboque", "numeroConteiner", "identificacaoUld", "entregaParaCompanhiaAerea", "cnpjCompanhiaAerea", "nomeCompanhiaAerea", "iataAeronave", "prefixoAeronave", "viagem", "voo", "escala", "entregaParaPessoaFisica", "cpfRecepcao", "documentoEstrangeiro", "listaCameras" + {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "numeroManifesto", "tipoManifesto", "numeroConhecimentoMAWB", "numeroConhecimento", "tipoConhecimento", "declaracaoAduaneira", "listaNfe", "areaCargaSolta", "listaNumeroLote", "indicadorPerdimento", "identificacaoDocumentoPerdimento", "quantidadeVolumesLote", "placaSemirreboque", "numeroConteiner", "identificacaoUld", "entregaParaCompanhiaAerea", "cnpjCompanhiaAerea", "nomeCompanhiaAerea", "iataAeronave", "prefixoAeronave", "viagem", "voo", "escala", "entregaParaPessoaFisica", "cpfRecepcao", "documentoEstrangeiro", "listaCameras" }) @XmlRootElement(name = "DadosCarregamentoEntregaLotes") @@ -225,6 +225,13 @@ public static TipoManifestoEnum fromValue(String v) { **/ private List listaNfe = null; + @XmlElement(name = "areaCargaSolta", required = true) + @ApiModelProperty(required = true, value = "Identificação da área de controle de carga solta. Usar o protocolo do evento de georreferenciamento.
    Tamanho: 36") + /** + * Identificação da área de controle de carga solta. Usar o protocolo do evento de georreferenciamento.
    Tamanho: 36 + **/ + private String areaCargaSolta = null; + @XmlElement(name = "listaNumeroLote", required = true) @ApiModelProperty(required = true, value = "Lista com os números dos lotes carregados e/ou entregues. Usar o mesmo número gerado no evento GERAÇÃO DE LOTES. Pode ser nulo quando o evento for de exclusão.") @Valid @@ -247,8 +254,8 @@ public static TipoManifestoEnum fromValue(String v) { **/ private String identificacaoDocumentoPerdimento = null; - @XmlElement(name = "quantidadeVolumesLote") - @ApiModelProperty(example = "15.5", value = "Quantidade de volumes carregados em unidade de carga ou entregues") + @XmlElement(name = "quantidadeVolumesLote", required = true) + @ApiModelProperty(example = "15.5", required = true, value = "Quantidade de volumes carregados em unidade de carga ou entregues") @Valid /** * Quantidade de volumes carregados em unidade de carga ou entregues @@ -675,8 +682,27 @@ public DadosCarregamentoEntregaLotes addListaNfeItem(DadosDaNotaFiscalEmbarqueDe } /** - * Lista com os números dos lotes carregados e/ou entregues. Usar o mesmo número gerado no evento GERAÇÃO DE LOTES. Pode ser nulo quando o evento for de exclusão. + * Identificação da área de controle de carga solta. Usar o protocolo do evento de georreferenciamento. <br/>Tamanho: 36 * + * @return areaCargaSolta + **/ + @JsonProperty("areaCargaSolta") + @NotNull + public String getAreaCargaSolta() { + return areaCargaSolta; + } + + public void setAreaCargaSolta(String areaCargaSolta) { + this.areaCargaSolta = areaCargaSolta; + } + + public DadosCarregamentoEntregaLotes areaCargaSolta(String areaCargaSolta) { + this.areaCargaSolta = areaCargaSolta; + return this; + } + + /** + * Lista com os números dos lotes carregados e/ou entregues. Usar o mesmo número gerado no evento GERAÇÃO DE LOTES. Pode ser nulo quando o evento for de exclusão. * @return listaNumeroLote **/ @JsonProperty("listaNumeroLote") @@ -741,6 +767,7 @@ public DadosCarregamentoEntregaLotes identificacaoDocumentoPerdimento(String ide * @return quantidadeVolumesLote **/ @JsonProperty("quantidadeVolumesLote") + @NotNull public BigDecimal getQuantidadeVolumesLote() { return quantidadeVolumesLote; } @@ -1050,6 +1077,7 @@ public String toString() { " tipoConhecimento: " + toIndentedString(tipoConhecimento) + "\n" + " declaracaoAduaneira: " + toIndentedString(declaracaoAduaneira) + "\n" + " listaNfe: " + toIndentedString(listaNfe) + "\n" + + " areaCargaSolta: " + toIndentedString(areaCargaSolta) + "\n" + " listaNumeroLote: " + toIndentedString(listaNumeroLote) + "\n" + " indicadorPerdimento: " + toIndentedString(indicadorPerdimento) + "\n" + " identificacaoDocumentoPerdimento: " + toIndentedString(identificacaoDocumentoPerdimento) + "\n" + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCliente.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCliente.java index da69617..688ec5c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCliente.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCliente.java @@ -12,19 +12,26 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosCliente", propOrder = - {"cnpjCliente", "idElemento", "nomeCliente" + {"cnpjCliente", "cpfCliente", "idElemento", "nomeCliente" }) @XmlRootElement(name = "DadosCliente") public class DadosCliente { @XmlElement(name = "cnpjCliente") - @ApiModelProperty(example = "44444444444444", value = "CNPJ do cliente do armazenamento.
    Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'") + @ApiModelProperty(example = "44444444444444", value = "CNPJ do cliente da estadia. Cliente que contratou o serviço de estadia do recinto para o qual será emitida a fatura.
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'") /** - * CNPJ do cliente do armazenamento.
    Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN' + * CNPJ do cliente da estadia. Cliente que contratou o serviço de estadia do recinto para o qual será emitida a fatura.
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN' **/ private String cnpjCliente = null; + @XmlElement(name = "cpfCliente") + @ApiModelProperty(example = "55555555555", value = "CPF do Cliente da estadia.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + /** + * CPF do Cliente da estadia.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + **/ + private String cpfCliente = null; + @XmlElement(name = "idElemento", required = true) @ApiModelProperty(required = true, value = "Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40") /** @@ -33,14 +40,14 @@ public class DadosCliente { private String idElemento = null; @XmlElement(name = "nomeCliente") - @ApiModelProperty(value = "Nome do cliente do armazenamento.
    Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.
    Tamanho: 100") + @ApiModelProperty(value = "Nome do cliente da estadia. Cliente que contratou o serviço de estadia do recinto para o qual será emitida a fatura.
    Tamanho: 100") /** - * Nome do cliente do armazenamento.
    Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.
    Tamanho: 100 + * Nome do cliente da estadia. Cliente que contratou o serviço de estadia do recinto para o qual será emitida a fatura.
    Tamanho: 100 **/ private String nomeCliente = null; /** - * CNPJ do cliente do armazenamento.<br/>Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.<br/>Tamanho: 14<br/>Formato: 'NNNNNNNNNNNNNN' + * CNPJ do cliente da estadia. Cliente que contratou o serviço de estadia do recinto para o qual será emitida a fatura.<br/>Tamanho: 14<br/>Formato: 'NNNNNNNNNNNNNN' * * @return cnpjCliente **/ @@ -58,6 +65,25 @@ public DadosCliente cnpjCliente(String cnpjCliente) { return this; } + /** + * CPF do Cliente da estadia.<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' + * + * @return cpfCliente + **/ + @JsonProperty("cpfCliente") + public String getCpfCliente() { + return cpfCliente; + } + + public void setCpfCliente(String cpfCliente) { + this.cpfCliente = cpfCliente; + } + + public DadosCliente cpfCliente(String cpfCliente) { + this.cpfCliente = cpfCliente; + return this; + } + /** * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.<br/>Tamanho: 40 * @@ -79,7 +105,7 @@ public DadosCliente idElemento(String idElemento) { } /** - * Nome do cliente do armazenamento. <br/>Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.<br/>Tamanho: 100 + * Nome do cliente da estadia. Cliente que contratou o serviço de estadia do recinto para o qual será emitida a fatura.<br/>Tamanho: 100 * * @return nomeCliente **/ @@ -103,6 +129,7 @@ public String toString() { String sb = "class DadosCliente {\n" + " cnpjCliente: " + toIndentedString(cnpjCliente) + "\n" + + " cpfCliente: " + toIndentedString(cpfCliente) + "\n" + " idElemento: " + toIndentedString(idElemento) + "\n" + " nomeCliente: " + toIndentedString(nomeCliente) + "\n" + "}"; diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosClienteConteinerOuULD.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosClienteConteinerOuULD.java new file mode 100644 index 0000000..edba186 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosClienteConteinerOuULD.java @@ -0,0 +1,146 @@ +package br.gov.siscomex.portalunico.rcnt.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosClienteConteinerOuULD", propOrder = + { "cnpjCliente", "cpfCliente", "idElemento", "nomeCliente" +}) + +@XmlRootElement(name="DadosClienteConteinerOuULD") +public class DadosClienteConteinerOuULD { + + @XmlElement(name="cnpjCliente") + @ApiModelProperty(example = "44444444444444", value = "CNPJ do cliente do armazenamento.
    Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'") + /** + * CNPJ do cliente do armazenamento.
    Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN' + **/ + private String cnpjCliente = null; + + @XmlElement(name="cpfCliente") + @ApiModelProperty(example = "55555555555", value = "CPF do cliente do armazenamento. Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + /** + * CPF do cliente do armazenamento. Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + **/ + private String cpfCliente = null; + + @XmlElement(name="idElemento", required = true) + @ApiModelProperty(required = true, value = "Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40") + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40 + **/ + private String idElemento = null; + + @XmlElement(name="nomeCliente") + @ApiModelProperty(value = "Nome do cliente do armazenamento.
    Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.
    Tamanho: 100") + /** + * Nome do cliente do armazenamento.
    Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.
    Tamanho: 100 + **/ + private String nomeCliente = null; + /** + * CNPJ do cliente do armazenamento.<br/>Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.<br/>Tamanho: 14<br/>Formato: 'NNNNNNNNNNNNNN' + * @return cnpjCliente + **/ + @JsonProperty("cnpjCliente") + public String getCnpjCliente() { + return cnpjCliente; + } + + public void setCnpjCliente(String cnpjCliente) { + this.cnpjCliente = cnpjCliente; + } + + public DadosClienteConteinerOuULD cnpjCliente(String cnpjCliente) { + this.cnpjCliente = cnpjCliente; + return this; + } + + /** + * CPF do cliente do armazenamento. Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' + * @return cpfCliente + **/ + @JsonProperty("cpfCliente") + public String getCpfCliente() { + return cpfCliente; + } + + public void setCpfCliente(String cpfCliente) { + this.cpfCliente = cpfCliente; + } + + public DadosClienteConteinerOuULD cpfCliente(String cpfCliente) { + this.cpfCliente = cpfCliente; + return this; + } + + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.<br/>Tamanho: 40 + * @return idElemento + **/ + @JsonProperty("idElemento") + @NotNull + public String getIdElemento() { + return idElemento; + } + + public void setIdElemento(String idElemento) { + this.idElemento = idElemento; + } + + public DadosClienteConteinerOuULD idElemento(String idElemento) { + this.idElemento = idElemento; + return this; + } + + /** + * Nome do cliente do armazenamento. <br/>Cliente que contratou o serviço de armazenagem do recinto para o qual será emitida a fatura.<br/>Tamanho: 100 + * @return nomeCliente + **/ + @JsonProperty("nomeCliente") + public String getNomeCliente() { + return nomeCliente; + } + + public void setNomeCliente(String nomeCliente) { + this.nomeCliente = nomeCliente; + } + + public DadosClienteConteinerOuULD nomeCliente(String nomeCliente) { + this.nomeCliente = nomeCliente; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosClienteConteinerOuULD {\n"); + + sb.append(" cnpjCliente: ").append(toIndentedString(cnpjCliente)).append("\n"); + sb.append(" cpfCliente: ").append(toIndentedString(cpfCliente)).append("\n"); + sb.append(" idElemento: ").append(toIndentedString(idElemento)).append("\n"); + sb.append(" nomeCliente: ").append(toIndentedString(nomeCliente)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosContinerUldAcessoVeculo.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosContinerUldAcessoVeculo.java index c6ea053..fa46130 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosContinerUldAcessoVeculo.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosContinerUldAcessoVeculo.java @@ -42,23 +42,23 @@ public class DadosContinerUldAcessoVeculo { private String identificacaoUld = null; @XmlElement(name = "tipo") - @ApiModelProperty(example = "12U0", value = " Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado.") + @ApiModelProperty(example = "12U0", value = " Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    (!)
    É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado.") /** - * Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado. + * Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    (!)
    É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado. **/ private String tipo = null; @XmlElement(name = "ocrNumero") - @ApiModelProperty(example = "false", value = "Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).
    Domínio:
    true - Sim
    false - Não
    É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado.") + @ApiModelProperty(example = "false", value = "Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).
    Domínio:
    true - Sim
    false - Não
    (!)
    É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado.") /** - * Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).
    Domínio:
    true - Sim
    false - Não
    É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado. + * Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).
    Domínio:
    true - Sim
    false - Não
    (!)
    É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado. **/ private Boolean ocrNumero = null; @XmlElement(name = "vazio") - @ApiModelProperty(example = "false", value = "Contêiner vazio.
    Domínio:
    true - Sim
    false - Não
    É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado.") + @ApiModelProperty(example = "false", value = "Contêiner vazio.
    Domínio:
    true - Sim
    false - Não
    (!)
    É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado.") /** - * Contêiner vazio.
    Domínio:
    true - Sim
    false - Não
    É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado. + * Contêiner vazio.
    Domínio:
    true - Sim
    false - Não
    (!)
    É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado. **/ private Boolean vazio = null; @@ -114,7 +114,7 @@ public class DadosContinerUldAcessoVeculo { /** * Lista de clientes. **/ - private List listaCliente = null; + private List listaCliente = null; @XmlElement(name = "cnpjEstabelecimentoEstufagem") @ApiModelProperty(example = "44444444444444", value = "CNPJ do estabelecimento onde a carga foi estufada.
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'") @@ -189,7 +189,7 @@ public DadosContinerUldAcessoVeculo identificacaoUld(String identificacaoUld) { } /** - * Conforme tabela de domínio Tipo de Conteiner disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a><br/> É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado. + * Conforme tabela de domínio Tipo de Conteiner disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a><font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado. * * @return tipo **/ @@ -208,7 +208,7 @@ public DadosContinerUldAcessoVeculo tipo(String tipo) { } /** - * Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).<br/>Domínio:<br/>true - Sim<br/>false - Não<br/> É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado. + * Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).<br/>Domínio:<br/>true - Sim<br/>false - Não<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado. * * @return ocrNumero **/ @@ -227,7 +227,7 @@ public DadosContinerUldAcessoVeculo ocrNumero(Boolean ocrNumero) { } /** - * Contêiner vazio.<br/>Domínio:<br/>true - Sim<br/>false - Não<br/> É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado. + * Contêiner vazio.<br/>Domínio:<br/>true - Sim<br/>false - Não<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'tipo', 'ocrNumero' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'numeroConteiner' for informado. * * @return vazio **/ @@ -382,20 +382,20 @@ public DadosContinerUldAcessoVeculo addListaNavioItem(DadosListaNavio listaNavio * @return listaCliente **/ @JsonProperty("listaCliente") - public List getListaCliente() { + public List getListaCliente() { return listaCliente; } - public void setListaCliente(List listaCliente) { + public void setListaCliente(List listaCliente) { this.listaCliente = listaCliente; } - public DadosContinerUldAcessoVeculo listaCliente(List listaCliente) { + public DadosContinerUldAcessoVeculo listaCliente(List listaCliente) { this.listaCliente = listaCliente; return this; } - public DadosContinerUldAcessoVeculo addListaClienteItem(DadosCliente listaClienteItem) { + public DadosContinerUldAcessoVeculo addListaClienteItem(DadosClienteConteinerOuULD listaClienteItem) { this.listaCliente.add(listaClienteItem); return this; } diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosContinerUldInspeoNoInvasiva.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosContinerUldInspeoNoInvasiva.java index 0d167ca..962d498 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosContinerUldInspeoNoInvasiva.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosContinerUldInspeoNoInvasiva.java @@ -40,16 +40,16 @@ public class DadosContinerUldInspeoNoInvasiva { private String identificacaoUld = null; @XmlElement(name = "tipo") - @ApiModelProperty(example = "12U0", value = " Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    É obrigatório que os atributos 'ocrNumero' e 'tipo' sejam informados quando o atributo 'numeroConteiner' for informado.") + @ApiModelProperty(example = "12U0", value = " Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    (!)
    É obrigatório que os atributos 'ocrNumero' e 'tipo' sejam informados quando o atributo 'numeroConteiner' for informado.") /** - * Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    É obrigatório que os atributos 'ocrNumero' e 'tipo' sejam informados quando o atributo 'numeroConteiner' for informado. + * Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    (!)
    É obrigatório que os atributos 'ocrNumero' e 'tipo' sejam informados quando o atributo 'numeroConteiner' for informado. **/ private String tipo = null; @XmlElement(name = "ocrNumero") - @ApiModelProperty(example = "false", value = "Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).
    Domínio:
    true - Sim
    false - Não
    É obrigatório que os atributos 'ocrNumero' e 'tipo' sejam informados quando o atributo 'numeroConteiner' for informado.") + @ApiModelProperty(example = "false", value = "Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).
    Domínio:
    true - Sim
    false - Não
    (!)
    É obrigatório que os atributos 'ocrNumero' e 'tipo' sejam informados quando o atributo 'numeroConteiner' for informado.") /** - * Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).
    Domínio:
    true - Sim
    false - Não
    É obrigatório que os atributos 'ocrNumero' e 'tipo' sejam informados quando o atributo 'numeroConteiner' for informado. + * Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).
    Domínio:
    true - Sim
    false - Não
    (!)
    É obrigatório que os atributos 'ocrNumero' e 'tipo' sejam informados quando o atributo 'numeroConteiner' for informado. **/ private Boolean ocrNumero = null; @@ -112,7 +112,7 @@ public DadosContinerUldInspeoNoInvasiva identificacaoUld(String identificacaoUld } /** - * Conforme tabela de domínio Tipo de Conteiner disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a><br/>É obrigatório que os atributos 'ocrNumero' e 'tipo' sejam informados quando o atributo 'numeroConteiner' for informado. + * Conforme tabela de domínio Tipo de Conteiner disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a><font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que os atributos 'ocrNumero' e 'tipo' sejam informados quando o atributo 'numeroConteiner' for informado. * * @return tipo **/ @@ -131,7 +131,7 @@ public DadosContinerUldInspeoNoInvasiva tipo(String tipo) { } /** - * Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).<br/>Domínio:<br/>true - Sim<br/>false - Não<br/>É obrigatório que os atributos 'ocrNumero' e 'tipo' sejam informados quando o atributo 'numeroConteiner' for informado. + * Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).<br/>Domínio:<br/>true - Sim<br/>false - Não<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que os atributos 'ocrNumero' e 'tipo' sejam informados quando o atributo 'numeroConteiner' for informado. * * @return ocrNumero **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosContinerUldPesagemVeculo.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosContinerUldPesagemVeculo.java index 08c9773..63012b1 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosContinerUldPesagemVeculo.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosContinerUldPesagemVeculo.java @@ -14,7 +14,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosContinerUldPesagemVeculo", propOrder = - {"idElemento", "numeroConteiner", "identificacaoUld", "tipo", "tara" + {"idElemento", "numeroConteiner", "identificacaoUld", "tipo", "ocrNumero", "tara" }) @XmlRootElement(name = "DadosContinerUldPesagemVeculo") @@ -42,17 +42,24 @@ public class DadosContinerUldPesagemVeculo { private String identificacaoUld = null; @XmlElement(name = "tipo") - @ApiModelProperty(example = "12U0", value = " Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    É obrigatório informar o atributo 'tipoConteiner' quando o atributo 'numeroConteiner' for informado.") + @ApiModelProperty(example = "12U0", value = " Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    (!)
    É obrigatório informar o atributo 'tipoConteiner' quando o atributo 'numeroConteiner' for informado.") /** - * Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    É obrigatório informar o atributo 'tipoConteiner' quando o atributo 'numeroConteiner' for informado. + * Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    (!)
    É obrigatório informar o atributo 'tipoConteiner' quando o atributo 'numeroConteiner' for informado. **/ private String tipo = null; + @XmlElement(name = "ocrNumero") + @ApiModelProperty(example = "false", value = "Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).
    (!)
    É obrigatório informar o atributo 'listaConteineresUld.ocrNumero' quando pelo menos um dos seguintes atributos estiver informado: 'listaConteineresUld.identificacaoUld', 'listaConteineresUld.numeroConteiner'.
    Domínio:
    true - Sim
    false - Não") + /** + * Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).
    (!)
    É obrigatório informar o atributo 'listaConteineresUld.ocrNumero' quando pelo menos um dos seguintes atributos estiver informado: 'listaConteineresUld.identificacaoUld', 'listaConteineresUld.numeroConteiner'.
    Domínio:
    true - Sim
    false - Não + **/ + private Boolean ocrNumero = null; + @XmlElement(name = "tara") - @ApiModelProperty(example = "15.5", value = "Tara do contêiner ou ULD
    É obrigatório informar o atributo 'tara' quando pelo menos um dos seguintes atributos estiver informado: 'numeroConteiner', 'identificacaoULD'.
    tara, até 4 casas decimais.") + @ApiModelProperty(example = "15.5", value = "Tara do contêiner ou ULD
    (!)
    É obrigatório informar o atributo 'tara' quando pelo menos um dos seguintes atributos estiver informado: 'numeroConteiner', 'identificacaoULD'.
    tara, até 4 casas decimais.") @Valid /** - * Tara do contêiner ou ULD
    É obrigatório informar o atributo 'tara' quando pelo menos um dos seguintes atributos estiver informado: 'numeroConteiner', 'identificacaoULD'.
    tara, até 4 casas decimais. + * Tara do contêiner ou ULD
    (!)
    É obrigatório informar o atributo 'tara' quando pelo menos um dos seguintes atributos estiver informado: 'numeroConteiner', 'identificacaoULD'.
    tara, até 4 casas decimais. **/ private BigDecimal tara = null; @@ -115,7 +122,7 @@ public DadosContinerUldPesagemVeculo identificacaoUld(String identificacaoUld) { } /** - * Conforme tabela de domínio Tipo de Conteiner disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a><br/>É obrigatório informar o atributo 'tipoConteiner' quando o atributo 'numeroConteiner' for informado. + * Conforme tabela de domínio Tipo de Conteiner disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a><font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'tipoConteiner' quando o atributo 'numeroConteiner' for informado. * * @return tipo **/ @@ -134,7 +141,26 @@ public DadosContinerUldPesagemVeculo tipo(String tipo) { } /** - * Tara do contêiner ou ULD<br/>É obrigatório informar o atributo 'tara' quando pelo menos um dos seguintes atributos estiver informado: 'numeroConteiner', 'identificacaoULD'.<br/>tara, até 4 casas decimais. + * Captura automática do número do contêiner ou ULD via OCR (Optical Character Recognition).<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'listaConteineresUld.ocrNumero' quando pelo menos um dos seguintes atributos estiver informado: 'listaConteineresUld.identificacaoUld', 'listaConteineresUld.numeroConteiner'.<br/>Domínio:<br/>true - Sim<br/>false - Não + * + * @return ocrNumero + **/ + @JsonProperty("ocrNumero") + public Boolean isOcrNumero() { + return ocrNumero; + } + + public void setOcrNumero(Boolean ocrNumero) { + this.ocrNumero = ocrNumero; + } + + public DadosContinerUldPesagemVeculo ocrNumero(Boolean ocrNumero) { + this.ocrNumero = ocrNumero; + return this; + } + + /** + * Tara do contêiner ou ULD<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'tara' quando pelo menos um dos seguintes atributos estiver informado: 'numeroConteiner', 'identificacaoULD'.<br/>tara, até 4 casas decimais. * * @return tara **/ @@ -161,6 +187,7 @@ public String toString() { " numeroConteiner: " + toIndentedString(numeroConteiner) + "\n" + " identificacaoUld: " + toIndentedString(identificacaoUld) + "\n" + " tipo: " + toIndentedString(tipo) + "\n" + + " ocrNumero: " + toIndentedString(ocrNumero) + "\n" + " tara: " + toIndentedString(tara) + "\n" + "}"; return sb; diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCredenciamentoPessoa.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCredenciamentoPessoa.java index 21b2c85..5c223ff 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCredenciamentoPessoa.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCredenciamentoPessoa.java @@ -15,7 +15,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosCredenciamentoPessoa", propOrder = - {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "cpf", "documentoEstrangeiro", "paisNacionalidade", "genero", "cnh", "nome", "dataNascimento", "fone", "cnpjRepresentado", "cpfRepresentado", "nomeRepresentado", "qualificacao", "funcao", "dataInicioValidade", "dataFimValidade", "horaPrevistaEntrada", "horaPrevistaSaida", "areas", "materiaisFerramentas", "credenciamentoAtivo", "motivacao" + {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "cpf", "documentoEstrangeiro", "paisNacionalidade", "sexo", "cnh", "nome", "dataNascimento", "fone", "cnpjRepresentado", "cpfRepresentado", "operadorEstrangeiroRepresentado", "documentoEstrangeiroRepresentado", "nomeRepresentado", "qualificacao", "funcao", "dataInicioValidade", "dataFimValidade", "horaPrevistaEntrada", "horaPrevistaSaida", "areas", "materiaisFerramentas", "credenciamentoAtivo", "motivacao" }) @XmlRootElement(name = "DadosCredenciamentoPessoa") @@ -128,9 +128,9 @@ public static TipoOperacaoEnum fromValue(String v) { private String codigoRecinto = null; @XmlElement(name = "cpf") - @ApiModelProperty(example = "55555555555", value = "CPF
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + @ApiModelProperty(example = "55555555555", value = "CPF de pessoa credenciada.
    (!)
    É obrigatório que o atributo 'cpf' seja informado quando os atributos 'documentoEstrangeiro.numero', documentoEstrangeiro.tipo' e 'documentoEstrangeiro.paisEmissor' não forem informados.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") /** - * CPF
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + * CPF de pessoa credenciada.
    (!)
    É obrigatório que o atributo 'cpf' seja informado quando os atributos 'documentoEstrangeiro.numero', documentoEstrangeiro.tipo' e 'documentoEstrangeiro.paisEmissor' não forem informados.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' **/ private String cpf = null; @@ -147,9 +147,9 @@ public static TipoOperacaoEnum fromValue(String v) { private String paisNacionalidade = null; - @XmlType(name = "GeneroEnum") + @XmlType(name = "SexoEnum") @XmlEnum(String.class) - public enum GeneroEnum { + public enum SexoEnum { @XmlEnumValue("'F'") @JsonProperty("'F'") @@ -162,7 +162,7 @@ public enum GeneroEnum { private final String value; - GeneroEnum(String v) { + SexoEnum(String v) { value = v; } @@ -175,22 +175,22 @@ public String toString() { return String.valueOf(value); } - public static GeneroEnum fromValue(String v) { - for (GeneroEnum b : GeneroEnum.values()) { + public static SexoEnum fromValue(String v) { + for (SexoEnum b : SexoEnum.values()) { if (String.valueOf(b.value).equals(v)) { return b; } } - throw new IllegalArgumentException("Unexpected value '" + v + "' to GeneroEnum"); + throw new IllegalArgumentException("Unexpected value '" + v + "' to SexoEnum"); } } - @XmlElement(name = "genero") - @ApiModelProperty(example = "F", value = "Gênero conforme tabela de domínio
    Domínio:
    F - Feminino
    M - Masculino
    Tamanho: 1") + @XmlElement(name = "sexo") + @ApiModelProperty(example = "F", value = "Sexo conforme tabela de domínio
    Domínio:
    F - Feminino
    M - Masculino
    Tamanho: 1") /** - * Gênero conforme tabela de domínio
    Domínio:
    F - Feminino
    M - Masculino
    Tamanho: 1 + * Sexo conforme tabela de domínio
    Domínio:
    F - Feminino
    M - Masculino
    Tamanho: 1 **/ - private GeneroEnum genero = null; + private SexoEnum sexo = null; @XmlElement(name = "cnh") @ApiModelProperty(value = "CNH de motoristas. Obrigatório informar no caso de credenciamento de motoristas que acessam o recinto com veículos.
    Tamanho: 50") @@ -234,6 +234,18 @@ public static GeneroEnum fromValue(String v) { **/ private String cpfRepresentado = null; + @XmlElement(name = "operadorEstrangeiroRepresentado") + @ApiModelProperty(example = "TIN - Trade Identification Number (Número de Identificação do Operador)", value = "Identificação fiscal de empresa estrangeira representada
    Tamanho: 50") + /** + * Identificação fiscal de empresa estrangeira representada
    Tamanho: 50 + **/ + private String operadorEstrangeiroRepresentado = null; + + @XmlElement(name = "documentoEstrangeiroRepresentado") + @ApiModelProperty(value = "") + @Valid + private DadosDocumentoEstrangeiroRepresentado documentoEstrangeiroRepresentado = null; + @XmlElement(name = "nomeRepresentado") @ApiModelProperty(value = "Nome do representado
    Tamanho: 100") /** @@ -284,9 +296,9 @@ public static GeneroEnum fromValue(String v) { private String horaPrevistaSaida = null; @XmlElement(name = "areas") - @ApiModelProperty(value = "Áreas permitidas de acesso. Somente para os casos em que o usuário foi credenciado para acessar apenas algumas áreas.
    Tamanho: 50") + @ApiModelProperty(value = "Áreas permitidas de acesso. Somente para os casos em que o usuário foi credenciado para acessar apenas algumas áreas.
    Tamanho: 200") /** - * Áreas permitidas de acesso. Somente para os casos em que o usuário foi credenciado para acessar apenas algumas áreas.
    Tamanho: 50 + * Áreas permitidas de acesso. Somente para os casos em que o usuário foi credenciado para acessar apenas algumas áreas.
    Tamanho: 200 **/ private String areas = null; @@ -297,8 +309,8 @@ public static GeneroEnum fromValue(String v) { **/ private String materiaisFerramentas = null; - @XmlElement(name = "credenciamentoAtivo") - @ApiModelProperty(example = "false", value = "Credenciamento Ativo
    Domínio:
    true - Sim
    false - Não") + @XmlElement(name = "credenciamentoAtivo", required = true) + @ApiModelProperty(example = "false", required = true, value = "Credenciamento Ativo
    Domínio:
    true - Sim
    false - Não") /** * Credenciamento Ativo
    Domínio:
    true - Sim
    false - Não **/ @@ -491,7 +503,7 @@ public DadosCredenciamentoPessoa codigoRecinto(String codigoRecinto) { } /** - * CPF<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' + * CPF de pessoa credenciada.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que o atributo 'cpf' seja informado quando os atributos 'documentoEstrangeiro.numero', documentoEstrangeiro.tipo' e 'documentoEstrangeiro.paisEmissor' não forem informados.<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' * @return cpf **/ @JsonProperty("cpf") @@ -546,24 +558,24 @@ public DadosCredenciamentoPessoa paisNacionalidade(String paisNacionalidade) { } /** - * Gênero conforme tabela de domínio<br/>Domínio:<br/>F - Feminino<br/>M - Masculino<br/>Tamanho: 1 + * Sexo conforme tabela de domínio<br/>Domínio:<br/>F - Feminino<br/>M - Masculino<br/>Tamanho: 1 * - * @return genero + * @return sexo **/ - @JsonProperty("genero") - public String getGenero() { - if (genero == null) { + @JsonProperty("sexo") + public String getSexo() { + if (sexo == null) { return null; } - return genero.value(); + return sexo.value(); } - public void setGenero(GeneroEnum genero) { - this.genero = genero; + public void setSexo(SexoEnum sexo) { + this.sexo = sexo; } - public DadosCredenciamentoPessoa genero(GeneroEnum genero) { - this.genero = genero; + public DadosCredenciamentoPessoa sexo(SexoEnum sexo) { + this.sexo = sexo; return this; } @@ -676,6 +688,44 @@ public DadosCredenciamentoPessoa cpfRepresentado(String cpfRepresentado) { return this; } + /** + * Identificação fiscal de empresa estrangeira representada<br/>Tamanho: 50 + * + * @return operadorEstrangeiroRepresentado + **/ + @JsonProperty("operadorEstrangeiroRepresentado") + public String getOperadorEstrangeiroRepresentado() { + return operadorEstrangeiroRepresentado; + } + + public void setOperadorEstrangeiroRepresentado(String operadorEstrangeiroRepresentado) { + this.operadorEstrangeiroRepresentado = operadorEstrangeiroRepresentado; + } + + public DadosCredenciamentoPessoa operadorEstrangeiroRepresentado(String operadorEstrangeiroRepresentado) { + this.operadorEstrangeiroRepresentado = operadorEstrangeiroRepresentado; + return this; + } + + /** + * Get documentoEstrangeiroRepresentado + * + * @return documentoEstrangeiroRepresentado + **/ + @JsonProperty("documentoEstrangeiroRepresentado") + public DadosDocumentoEstrangeiroRepresentado getDocumentoEstrangeiroRepresentado() { + return documentoEstrangeiroRepresentado; + } + + public void setDocumentoEstrangeiroRepresentado(DadosDocumentoEstrangeiroRepresentado documentoEstrangeiroRepresentado) { + this.documentoEstrangeiroRepresentado = documentoEstrangeiroRepresentado; + } + + public DadosCredenciamentoPessoa documentoEstrangeiroRepresentado(DadosDocumentoEstrangeiroRepresentado documentoEstrangeiroRepresentado) { + this.documentoEstrangeiroRepresentado = documentoEstrangeiroRepresentado; + return this; + } + /** * Nome do representado<br/>Tamanho: 100 * @return nomeRepresentado @@ -803,7 +853,7 @@ public DadosCredenciamentoPessoa horaPrevistaSaida(String horaPrevistaSaida) { } /** - * Áreas permitidas de acesso. Somente para os casos em que o usuário foi credenciado para acessar apenas algumas áreas.<br/>Tamanho: 50 + * Áreas permitidas de acesso. Somente para os casos em que o usuário foi credenciado para acessar apenas algumas áreas.<br/>Tamanho: 200 * @return areas **/ @JsonProperty("areas") @@ -843,6 +893,7 @@ public DadosCredenciamentoPessoa materiaisFerramentas(String materiaisFerramenta * @return credenciamentoAtivo **/ @JsonProperty("credenciamentoAtivo") + @NotNull public Boolean isCredenciamentoAtivo() { return credenciamentoAtivo; } @@ -891,13 +942,15 @@ public String toString() { " cpf: " + toIndentedString(cpf) + "\n" + " documentoEstrangeiro: " + toIndentedString(documentoEstrangeiro) + "\n" + " paisNacionalidade: " + toIndentedString(paisNacionalidade) + "\n" + - " genero: " + toIndentedString(genero) + "\n" + + " sexo: " + toIndentedString(sexo) + "\n" + " cnh: " + toIndentedString(cnh) + "\n" + " nome: " + toIndentedString(nome) + "\n" + " dataNascimento: " + toIndentedString(dataNascimento) + "\n" + " fone: " + toIndentedString(fone) + "\n" + " cnpjRepresentado: " + toIndentedString(cnpjRepresentado) + "\n" + " cpfRepresentado: " + toIndentedString(cpfRepresentado) + "\n" + + " operadorEstrangeiroRepresentado: " + toIndentedString(operadorEstrangeiroRepresentado) + "\n" + + " documentoEstrangeiroRepresentado: " + toIndentedString(documentoEstrangeiroRepresentado) + "\n" + " nomeRepresentado: " + toIndentedString(nomeRepresentado) + "\n" + " qualificacao: " + toIndentedString(qualificacao) + "\n" + " funcao: " + toIndentedString(funcao) + "\n" + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCredenciamentoVeculo.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCredenciamentoVeculo.java index aec3334..d78211e 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCredenciamentoVeculo.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCredenciamentoVeculo.java @@ -3,6 +3,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModelProperty; +import javax.validation.Valid; import javax.validation.constraints.NotNull; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; @@ -14,7 +15,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosCredenciamentoVeculo", propOrder = - {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "placa", "marca", "modelo", "ano", "capacidadeTanqueCombustivel", "satelite", "cnpjResponsavel", "cpfResponsavel", "dataInicioValidade", "dataFimValidade", "horaPrevistaEntrada", "horaPrevistaSaida", "areas", "credenciamentoAtivo", "motivacao" + {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "placa", "marca", "modelo", "ano", "capacidadeTanqueCombustivel", "satelite", "cnpjResponsavel", "cpfResponsavel", "operadorEstrangeiroResponsavel", "documentoEstrangeiroResponsavel", "dataInicioValidade", "dataFimValidade", "horaPrevistaEntrada", "horaPrevistaSaida", "areas", "credenciamentoAtivo", "motivacao" }) @XmlRootElement(name = "DadosCredenciamentoVeculo") @@ -161,8 +162,8 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private Integer capacidadeTanqueCombustivel = null; - @XmlElement(name = "satelite") - @ApiModelProperty(example = "false", value = "Monitoramento via satélite.
    Domínio:
    true - Sim
    false - Não") + @XmlElement(name = "satelite", required = true) + @ApiModelProperty(example = "false", required = true, value = "Monitoramento via satélite.
    Domínio:
    true - Sim
    false - Não") /** * Monitoramento via satélite.
    Domínio:
    true - Sim
    false - Não **/ @@ -182,6 +183,18 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String cpfResponsavel = null; + @XmlElement(name = "operadorEstrangeiroResponsavel") + @ApiModelProperty(example = "TIN - Trade Identification Number (Número de Identificação do Operador)", value = "Identificação fiscal de empresa estrangeira responsável pelo veículo credenciado.") + /** + * Identificação fiscal de empresa estrangeira responsável pelo veículo credenciado. + **/ + private String operadorEstrangeiroResponsavel = null; + + @XmlElement(name = "documentoEstrangeiroResponsavel") + @ApiModelProperty(value = "") + @Valid + private DadosDocumentoEstrangeiroResponsvel documentoEstrangeiroResponsavel = null; + @XmlElement(name = "dataInicioValidade") @ApiModelProperty(example = "2020-04-01", value = "Data do início da validade do credenciamento
    Formato: 'yyyy-MM-dd'") /** @@ -217,8 +230,8 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String areas = null; - @XmlElement(name = "credenciamentoAtivo") - @ApiModelProperty(example = "false", value = "Credenciamento ativo?
    Domínio:
    true - Sim
    false - Não") + @XmlElement(name = "credenciamentoAtivo", required = true) + @ApiModelProperty(example = "false", required = true, value = "Credenciamento ativo?
    Domínio:
    true - Sim
    false - Não") /** * Credenciamento ativo?
    Domínio:
    true - Sim
    false - Não **/ @@ -508,6 +521,7 @@ public DadosCredenciamentoVeculo capacidadeTanqueCombustivel(Integer capacidadeT * @return satelite **/ @JsonProperty("satelite") + @NotNull public Boolean isSatelite() { return satelite; } @@ -557,6 +571,44 @@ public DadosCredenciamentoVeculo cpfResponsavel(String cpfResponsavel) { return this; } + /** + * Identificação fiscal de empresa estrangeira responsável pelo veículo credenciado. + * + * @return operadorEstrangeiroResponsavel + **/ + @JsonProperty("operadorEstrangeiroResponsavel") + public String getOperadorEstrangeiroResponsavel() { + return operadorEstrangeiroResponsavel; + } + + public void setOperadorEstrangeiroResponsavel(String operadorEstrangeiroResponsavel) { + this.operadorEstrangeiroResponsavel = operadorEstrangeiroResponsavel; + } + + public DadosCredenciamentoVeculo operadorEstrangeiroResponsavel(String operadorEstrangeiroResponsavel) { + this.operadorEstrangeiroResponsavel = operadorEstrangeiroResponsavel; + return this; + } + + /** + * Get documentoEstrangeiroResponsavel + * + * @return documentoEstrangeiroResponsavel + **/ + @JsonProperty("documentoEstrangeiroResponsavel") + public DadosDocumentoEstrangeiroResponsvel getDocumentoEstrangeiroResponsavel() { + return documentoEstrangeiroResponsavel; + } + + public void setDocumentoEstrangeiroResponsavel(DadosDocumentoEstrangeiroResponsvel documentoEstrangeiroResponsavel) { + this.documentoEstrangeiroResponsavel = documentoEstrangeiroResponsavel; + } + + public DadosCredenciamentoVeculo documentoEstrangeiroResponsavel(DadosDocumentoEstrangeiroResponsvel documentoEstrangeiroResponsavel) { + this.documentoEstrangeiroResponsavel = documentoEstrangeiroResponsavel; + return this; + } + /** * Data do início da validade do credenciamento<br/>Formato: 'yyyy-MM-dd' * @return dataInicioValidade @@ -652,6 +704,7 @@ public DadosCredenciamentoVeculo areas(String areas) { * @return credenciamentoAtivo **/ @JsonProperty("credenciamentoAtivo") + @NotNull public Boolean isCredenciamentoAtivo() { return credenciamentoAtivo; } @@ -705,6 +758,8 @@ public String toString() { " satelite: " + toIndentedString(satelite) + "\n" + " cnpjResponsavel: " + toIndentedString(cnpjResponsavel) + "\n" + " cpfResponsavel: " + toIndentedString(cpfResponsavel) + "\n" + + " operadorEstrangeiroResponsavel: " + toIndentedString(operadorEstrangeiroResponsavel) + "\n" + + " documentoEstrangeiroResponsavel: " + toIndentedString(documentoEstrangeiroResponsavel) + "\n" + " dataInicioValidade: " + toIndentedString(dataInicioValidade) + "\n" + " dataFimValidade: " + toIndentedString(dataFimValidade) + "\n" + " horaPrevistaEntrada: " + toIndentedString(horaPrevistaEntrada) + "\n" + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaChegadaAoPontoZero.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaChegadaAoPontoZero.java index d05291c..c16d652 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaChegadaAoPontoZero.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaChegadaAoPontoZero.java @@ -126,15 +126,15 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String codigoRecinto = null; - @XmlElement(name = "identificacaoUld") - @ApiModelProperty(example = "AZEB123_AA, AKE21001NZ", value = "Identificação da ULD no formato (TTTNNNNNPP) composta pelos seguintes atributos: Tipo de ULD (3 caracteres - TTT), Número da ULD (5 caracteres - NNNNN - Caso o número tenha menos que 5 caracteres, preencher à direita com o caracter especial \"_\") e Código do proprietário da ULD (2 caracteres - PP).
    Tamanho: 10") + @XmlElement(name = "identificacaoUld", required = true) + @ApiModelProperty(example = "AZEB123_AA, AKE21001NZ", required = true, value = "Identificação da ULD no formato (TTTNNNNNPP) composta pelos seguintes atributos: Tipo de ULD (3 caracteres - TTT), Número da ULD (5 caracteres - NNNNN - Caso o número tenha menos que 5 caracteres, preencher à direita com o caracter especial \"_\") e Código do proprietário da ULD (2 caracteres - PP).
    Tamanho: 10") /** * Identificação da ULD no formato (TTTNNNNNPP) composta pelos seguintes atributos: Tipo de ULD (3 caracteres - TTT), Número da ULD (5 caracteres - NNNNN - Caso o número tenha menos que 5 caracteres, preencher à direita com o caracter especial \"_\") e Código do proprietário da ULD (2 caracteres - PP).
    Tamanho: 10 **/ private String identificacaoUld = null; - @XmlElement(name = "viagem") - @ApiModelProperty(example = "AA090520191209MIA', onde vôo = 'AA0905', data de partida prevista = '20191209' e aeroporto da partida = 'MIA", value = "
    No aéreo a composição da viagem é: vôo + data da partida prevista + aeroporto da partida.
    Tamanho: 20") + @XmlElement(name = "viagem", required = true) + @ApiModelProperty(example = "AA090520191209MIA', onde vôo = 'AA0905', data de partida prevista = '20191209' e aeroporto da partida = 'MIA", required = true, value = "
    No aéreo a composição da viagem é: vôo + data da partida prevista + aeroporto da partida.
    Tamanho: 20") /** *
    No aéreo a composição da viagem é: vôo + data da partida prevista + aeroporto da partida.
    Tamanho: 20 **/ @@ -321,9 +321,11 @@ public DadosDaChegadaAoPontoZero codigoRecinto(String codigoRecinto) { /** * Identificação da ULD no formato (TTTNNNNNPP) composta pelos seguintes atributos: Tipo de ULD (3 caracteres - TTT), Número da ULD (5 caracteres - NNNNN - Caso o número tenha menos que 5 caracteres, preencher à direita com o caracter especial \"_\") e Código do proprietário da ULD (2 caracteres - PP).<br/>Tamanho: 10 + * * @return identificacaoUld **/ @JsonProperty("identificacaoUld") + @NotNull public String getIdentificacaoUld() { return identificacaoUld; } @@ -342,6 +344,7 @@ public DadosDaChegadaAoPontoZero identificacaoUld(String identificacaoUld) { * @return viagem **/ @JsonProperty("viagem") + @NotNull public String getViagem() { return viagem; } diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaConfernciaFsica.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaConfernciaFsica.java index 1b6a346..1afa1b2 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaConfernciaFsica.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaConfernciaFsica.java @@ -16,7 +16,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosDaConfernciaFsica", propOrder = - {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "tipo", "dataHoraAgenda", "conferenciaRemota", "listaTelefones", "solicitante", "setorSolicitante", "numeroManifesto", "tipoManifesto", "numeroConhecimentoMAWB", "numeroConhecimento", "tipoConhecimento", "declaracaoAduaneira", "listaPlacaSemirreboque", "listaNumeroConteiner", "listaIdentificacaoUld", "listaNumeroLote", "areaConferenciaFisica", "listaCameras", "dataHoraOperacao", "listaOperadoresPosicionamento", "listaPessoasAcompanhamento", "listaLacres", "retiradaAmostras", "listaTipoAvaria", "quantidadeVolumesAvariados", "observacaoAvaria", "divergenciaQuantidade", "divergenciaQualificacao", "quantidadeVolumesDivergentes", "observacaoDivergencia" + {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "tipo", "dataHoraAgenda", "conferenciaRemota", "listaTelefones", "solicitante", "setorSolicitante", "numeroManifesto", "tipoManifesto", "numeroConhecimentoMAWB", "numeroConhecimento", "tipoConhecimento", "declaracaoAduaneira", "listaPlacaSemirreboque", "listaNumeroConteiner", "listaIdentificacaoUld", "listaNumeroLote", "areaConferenciaFisica", "listaCameras", "dataHoraOperacao", "listaOperadoresPosicionamento", "listaPessoasAcompanhamento", "listaLacres", "retiradaAmostras", "listaTipoAvaria", "quantidadeVolumesAvariados", "observacaoAvaria", "divergenciaQuantidade", "divergenciaQualificacao", "quantidadeVolumesDivergentes", "observacaoDivergencia", "listaTratamentoAdministrativo" }) @XmlRootElement(name = "DadosDaConfernciaFsica") @@ -167,22 +167,22 @@ public static TipoEnum fromValue(String v) { } } - @XmlElement(name = "tipo") - @ApiModelProperty(example = "AGE", value = "Informar o tipo de evento a ser enviado.
    Domínio:
    AGE - Agendamento
    CCF - Conclusão de Conferência Física") + @XmlElement(name = "tipo", required = true) + @ApiModelProperty(example = "AGE", required = true, value = "Informar o tipo de evento a ser enviado.
    Domínio:
    AGE - Agendamento
    CCF - Conclusão de Conferência Física") /** * Informar o tipo de evento a ser enviado.
    Domínio:
    AGE - Agendamento
    CCF - Conclusão de Conferência Física **/ private TipoEnum tipo = null; @XmlElement(name = "dataHoraAgenda") - @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Data e hora agendada. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") + @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Nota: Data e hora agendada. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    (!)
    É obrigatório informar o atributo 'dataHoraAgenda' quando o atributo 'tipo' for informado com valor 'AGE'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") /** - * Data e hora agendada. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' + * Nota: Data e hora agendada. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    (!)
    É obrigatório informar o atributo 'dataHoraAgenda' quando o atributo 'tipo' for informado com valor 'AGE'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' **/ private String dataHoraAgenda = null; - @XmlElement(name = "conferenciaRemota") - @ApiModelProperty(example = "false", value = "Informar se a conferência física será remota. Por exemplo, utilizando a estrutura do CONFERE ou semelhante.
    Domínio:
    true - Sim
    false - Não") + @XmlElement(name = "conferenciaRemota", required = true) + @ApiModelProperty(example = "false", required = true, value = "Informar se a conferência física será remota. Por exemplo, utilizando a estrutura do CONFERE ou semelhante.
    Domínio:
    true - Sim
    false - Não") /** * Informar se a conferência física será remota. Por exemplo, utilizando a estrutura do CONFERE ou semelhante.
    Domínio:
    true - Sim
    false - Não **/ @@ -196,8 +196,8 @@ public static TipoEnum fromValue(String v) { **/ private List listaTelefones = null; - @XmlElement(name = "solicitante") - @ApiModelProperty(example = "ANCINE", value = "Indicar qual o interveniente que solicitou a conferência física. Conforme tabelas de domínio Órgão ou Solicitante disponíveis no Portal Único Siscomex.") + @XmlElement(name = "solicitante", required = true) + @ApiModelProperty(example = "ANCINE", required = true, value = "Indicar qual o interveniente que solicitou a conferência física. Conforme tabelas de domínio Órgão ou Solicitante disponíveis no Portal Único Siscomex.") /** * Indicar qual o interveniente que solicitou a conferência física. Conforme tabelas de domínio Órgão ou Solicitante disponíveis no Portal Único Siscomex. **/ @@ -330,9 +330,9 @@ public static TipoManifestoEnum fromValue(String v) { private List listaNumeroLote = null; @XmlElement(name = "areaConferenciaFisica") - @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", value = "Identificação da área de conferência (georreferenciamento). Usar o protocolo do evento de georreferenciamento.
    Tamanho: 36") + @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", value = "Identificação da área de conferência (georreferenciamento). Usar o protocolo do evento de georreferenciamento.
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Tamanho: 36") /** - * Identificação da área de conferência (georreferenciamento). Usar o protocolo do evento de georreferenciamento.
    Tamanho: 36 + * Identificação da área de conferência (georreferenciamento). Usar o protocolo do evento de georreferenciamento.
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Tamanho: 36 **/ private String areaConferenciaFisica = null; @@ -374,9 +374,9 @@ public static TipoManifestoEnum fromValue(String v) { private List listaLacres = null; @XmlElement(name = "retiradaAmostras") - @ApiModelProperty(example = "false", value = "Informar se houve retirada de amostras durante a conferência física
    Domínio:
    true - Sim
    false - Não") + @ApiModelProperty(example = "false", value = "Informar se houve retirada de amostras durante a conferência física
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Domínio:
    true - Sim
    false - Não") /** - * Informar se houve retirada de amostras durante a conferência física
    Domínio:
    true - Sim
    false - Não + * Informar se houve retirada de amostras durante a conferência física
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Domínio:
    true - Sim
    false - Não **/ private Boolean retiradaAmostras = null; @@ -389,9 +389,9 @@ public static TipoManifestoEnum fromValue(String v) { private List listaTipoAvaria = null; @XmlElement(name = "quantidadeVolumesAvariados") - @ApiModelProperty(example = "28", value = "Informar o quantidade de volumes avariados") + @ApiModelProperty(example = "28", value = "Informar o quantidade de volumes avariados
    (!)
    É obrigatório informar o atributo 'quantidadeVolumesAvariados' quando o atributo 'tipo' for informado com valor 'CCF' e 'listaTipoAvaria' for informado.") /** - * Informar o quantidade de volumes avariados + * Informar o quantidade de volumes avariados
    (!)
    É obrigatório informar o atributo 'quantidadeVolumesAvariados' quando o atributo 'tipo' for informado com valor 'CCF' e 'listaTipoAvaria' for informado. **/ private Integer quantidadeVolumesAvariados = null; @@ -403,23 +403,23 @@ public static TipoManifestoEnum fromValue(String v) { private String observacaoAvaria = null; @XmlElement(name = "divergenciaQuantidade") - @ApiModelProperty(example = "false", value = "Caso constatado, informar se há divergências de quantidade de mercadorias/volumes
    Domínio:
    true - Sim
    false - Não") + @ApiModelProperty(example = "false", value = "Caso constatado, informar se há divergências de quantidade de mercadorias/volumes
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Domínio:
    true - Sim
    false - Não") /** - * Caso constatado, informar se há divergências de quantidade de mercadorias/volumes
    Domínio:
    true - Sim
    false - Não + * Caso constatado, informar se há divergências de quantidade de mercadorias/volumes
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Domínio:
    true - Sim
    false - Não **/ private Boolean divergenciaQuantidade = null; @XmlElement(name = "divergenciaQualificacao") - @ApiModelProperty(example = "false", value = "Caso constatado, informar se há divergências de qualificação de mercadorias/volumes
    Domínio:
    true - Sim
    false - Não") + @ApiModelProperty(example = "false", value = "Caso constatado, informar se há divergências de qualificação de mercadorias/volumes
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Domínio:
    true - Sim
    false - Não") /** - * Caso constatado, informar se há divergências de qualificação de mercadorias/volumes
    Domínio:
    true - Sim
    false - Não + * Caso constatado, informar se há divergências de qualificação de mercadorias/volumes
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Domínio:
    true - Sim
    false - Não **/ private Boolean divergenciaQualificacao = null; @XmlElement(name = "quantidadeVolumesDivergentes") - @ApiModelProperty(example = "17", value = "Caso constatado, informar a quantidade de volumes divergentes") + @ApiModelProperty(example = "17", value = "Caso constatado, informar a quantidade de volumes divergentes
    (!)
    É obrigatório informar o atributo 'quantidadeVolumesDivergentes' quando o atributo 'tipo' for informado com valor 'CCF' e 'divergenciaQuantidade' for informado com valor 'True'") /** - * Caso constatado, informar a quantidade de volumes divergentes + * Caso constatado, informar a quantidade de volumes divergentes
    (!)
    É obrigatório informar o atributo 'quantidadeVolumesDivergentes' quando o atributo 'tipo' for informado com valor 'CCF' e 'divergenciaQuantidade' for informado com valor 'True' **/ private Integer quantidadeVolumesDivergentes = null; @@ -430,6 +430,14 @@ public static TipoManifestoEnum fromValue(String v) { **/ private String observacaoDivergencia = null; + @XmlElement(name = "listaTratamentoAdministrativo") + @ApiModelProperty(value = "Lista de Tratamento Administrativo") + @Valid + /** + * Lista de Tratamento Administrativo + **/ + private List listaTratamentoAdministrativo = null; + /** * Indica se o evento transmitido é novo (incluir) ou retifica/exclui evento anterior.<br/>Domínio:<br/>I - Incluir<br/>R - Retificar<br/>E - Excluir * @@ -615,6 +623,7 @@ public DadosDaConfernciaFsica codigoRecinto(String codigoRecinto) { * @return tipo **/ @JsonProperty("tipo") + @NotNull public String getTipo() { if (tipo == null) { return null; @@ -632,7 +641,7 @@ public DadosDaConfernciaFsica tipo(TipoEnum tipo) { } /** - * Data e hora agendada. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.<br/>Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' + * <b>Nota:</b> Data e hora agendada. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'dataHoraAgenda' quando o atributo 'tipo' for informado com valor 'AGE'.<br/>Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' * @return dataHoraAgenda **/ @JsonProperty("dataHoraAgenda") @@ -654,6 +663,7 @@ public DadosDaConfernciaFsica dataHoraAgenda(String dataHoraAgenda) { * @return conferenciaRemota **/ @JsonProperty("conferenciaRemota") + @NotNull public Boolean isConferenciaRemota() { return conferenciaRemota; } @@ -695,6 +705,7 @@ public DadosDaConfernciaFsica addListaTelefonesItem(DadosDoTelefone listaTelefon * @return solicitante **/ @JsonProperty("solicitante") + @NotNull public String getSolicitante() { return solicitante; } @@ -932,7 +943,7 @@ public DadosDaConfernciaFsica addListaNumeroLoteItem(DadosDaIdentificaoDoLote li } /** - * Identificação da área de conferência (georreferenciamento). Usar o protocolo do evento de georreferenciamento.<br/>Tamanho: 36 + * Identificação da área de conferência (georreferenciamento). Usar o protocolo do evento de georreferenciamento.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.<br/>Tamanho: 36 * @return areaConferenciaFisica **/ @JsonProperty("areaConferenciaFisica") @@ -1063,7 +1074,7 @@ public DadosDaConfernciaFsica addListaLacresItem(DadosDoLacre listaLacresItem) { } /** - * Informar se houve retirada de amostras durante a conferência física<br/>Domínio:<br/>true - Sim<br/>false - Não + * Informar se houve retirada de amostras durante a conferência física<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.<br/>Domínio:<br/>true - Sim<br/>false - Não * @return retiradaAmostras **/ @JsonProperty("retiradaAmostras") @@ -1104,7 +1115,7 @@ public DadosDaConfernciaFsica addListaTipoAvariaItem(DadosDoTipoDeAvaria listaTi } /** - * Informar o quantidade de volumes avariados + * Informar o quantidade de volumes avariados<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'quantidadeVolumesAvariados' quando o atributo 'tipo' for informado com valor 'CCF' e 'listaTipoAvaria' for informado. * @return quantidadeVolumesAvariados **/ @JsonProperty("quantidadeVolumesAvariados") @@ -1140,7 +1151,7 @@ public DadosDaConfernciaFsica observacaoAvaria(String observacaoAvaria) { } /** - * Caso constatado, informar se há divergências de quantidade de mercadorias/volumes<br/>Domínio:<br/>true - Sim<br/>false - Não + * Caso constatado, informar se há divergências de quantidade de mercadorias/volumes<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.<br/>Domínio:<br/>true - Sim<br/>false - Não * @return divergenciaQuantidade **/ @JsonProperty("divergenciaQuantidade") @@ -1158,7 +1169,7 @@ public DadosDaConfernciaFsica divergenciaQuantidade(Boolean divergenciaQuantidad } /** - * Caso constatado, informar se há divergências de qualificação de mercadorias/volumes<br/>Domínio:<br/>true - Sim<br/>false - Não + * Caso constatado, informar se há divergências de qualificação de mercadorias/volumes<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.<br/>Domínio:<br/>true - Sim<br/>false - Não * @return divergenciaQualificacao **/ @JsonProperty("divergenciaQualificacao") @@ -1176,7 +1187,7 @@ public DadosDaConfernciaFsica divergenciaQualificacao(Boolean divergenciaQualifi } /** - * Caso constatado, informar a quantidade de volumes divergentes + * Caso constatado, informar a quantidade de volumes divergentes<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'quantidadeVolumesDivergentes' quando o atributo 'tipo' for informado com valor 'CCF' e 'divergenciaQuantidade' for informado com valor 'True' * @return quantidadeVolumesDivergentes **/ @JsonProperty("quantidadeVolumesDivergentes") @@ -1211,6 +1222,30 @@ public DadosDaConfernciaFsica observacaoDivergencia(String observacaoDivergencia return this; } + /** + * Lista de Tratamento Administrativo + * + * @return listaTratamentoAdministrativo + **/ + @JsonProperty("listaTratamentoAdministrativo") + public List getListaTratamentoAdministrativo() { + return listaTratamentoAdministrativo; + } + + public void setListaTratamentoAdministrativo(List listaTratamentoAdministrativo) { + this.listaTratamentoAdministrativo = listaTratamentoAdministrativo; + } + + public DadosDaConfernciaFsica listaTratamentoAdministrativo(List listaTratamentoAdministrativo) { + this.listaTratamentoAdministrativo = listaTratamentoAdministrativo; + return this; + } + + public DadosDaConfernciaFsica addListaTratamentoAdministrativoItem(DadosDoTratamentoAdministrativo listaTratamentoAdministrativoItem) { + this.listaTratamentoAdministrativo.add(listaTratamentoAdministrativoItem); + return this; + } + @Override public String toString() { @@ -1255,6 +1290,7 @@ public String toString() { " divergenciaQualificacao: " + toIndentedString(divergenciaQualificacao) + "\n" + " quantidadeVolumesDivergentes: " + toIndentedString(quantidadeVolumesDivergentes) + "\n" + " observacaoDivergencia: " + toIndentedString(observacaoDivergencia) + "\n" + + " listaTratamentoAdministrativo: " + toIndentedString(listaTratamentoAdministrativo) + "\n" + "}"; return sb; } diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaCoordenadaDeAlerta.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaCoordenadaDeAlerta.java index 91c6f8a..7b4f171 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaCoordenadaDeAlerta.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaCoordenadaDeAlerta.java @@ -26,30 +26,30 @@ public class DadosDaCoordenadaDeAlerta { private String idElemento = null; @XmlElement(name = "x") - @ApiModelProperty(example = "12", value = "Coordenada para marcar o alerta na posição X") + @ApiModelProperty(example = "12", value = "Coordenada para marcar o alerta na posição X (largura)") /** - * Coordenada para marcar o alerta na posição X + * Coordenada para marcar o alerta na posição X (largura) **/ private Integer x = null; @XmlElement(name = "y") - @ApiModelProperty(example = "7", value = "Coordenada para marcar o alerta na posição Y") + @ApiModelProperty(example = "7", value = "Coordenada para marcar o alerta na posição Y (altura)") /** - * Coordenada para marcar o alerta na posição Y + * Coordenada para marcar o alerta na posição Y (altura) **/ private Integer y = null; @XmlElement(name = "x2") - @ApiModelProperty(example = "0", value = "Coordenada para marcar o alerta na posição X2") + @ApiModelProperty(example = "0", value = "Coordenada para marcar o alerta na posição X2 (largura)") /** - * Coordenada para marcar o alerta na posição X2 + * Coordenada para marcar o alerta na posição X2 (largura) **/ private Integer x2 = null; @XmlElement(name = "y2") - @ApiModelProperty(example = "8", value = "Coordenada para marcar o alerta na posição Y2") + @ApiModelProperty(example = "8", value = "Coordenada para marcar o alerta na posição Y2 (altura)") /** - * Coordenada para marcar o alerta na posição Y2 + * Coordenada para marcar o alerta na posição Y2 (altura) **/ private Integer y2 = null; @@ -74,7 +74,7 @@ public DadosDaCoordenadaDeAlerta idElemento(String idElemento) { } /** - * Coordenada para marcar o alerta na posição X + * Coordenada para marcar o alerta na posição X (largura) * * @return x **/ @@ -93,7 +93,7 @@ public DadosDaCoordenadaDeAlerta x(Integer x) { } /** - * Coordenada para marcar o alerta na posição Y + * Coordenada para marcar o alerta na posição Y (altura) * * @return y **/ @@ -112,7 +112,7 @@ public DadosDaCoordenadaDeAlerta y(Integer y) { } /** - * Coordenada para marcar o alerta na posição X2 + * Coordenada para marcar o alerta na posição X2 (largura) * * @return x2 **/ @@ -131,7 +131,7 @@ public DadosDaCoordenadaDeAlerta x2(Integer x2) { } /** - * Coordenada para marcar o alerta na posição Y2 + * Coordenada para marcar o alerta na posição Y2 (altura) * * @return y2 **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaInspeoNoInvasiva.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaInspeoNoInvasiva.java index 0c9da79..4627ed8 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaInspeoNoInvasiva.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaInspeoNoInvasiva.java @@ -16,7 +16,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosDaInspeoNoInvasiva", propOrder = - {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "listaManifestos", "listaNfe", "listaCarga", "listaSemirreboque", "listaConteineresUld", "vazio", "imagemScanner", "arquivoMetadados", "scanner", "listaCameras" + {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "listaManifestos", "listaChassis", "listaNfe", "listaCarga", "listaSemirreboque", "listaConteineresUld", "placa", "ocrPlaca", "vazio", "imagemScanner", "arquivoMetadados", "scanner", "listaCameras" }) @XmlRootElement(name = "DadosDaInspeoNoInvasiva") @@ -134,7 +134,15 @@ public static TipoOperacaoEnum fromValue(String v) { /** * Lista de manifestos. **/ - private List listaManifestos = null; + private List listaManifestos = null; + + @XmlElement(name = "listaChassis") + @ApiModelProperty(value = "Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).") + @Valid + /** + * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...). + **/ + private List listaChassis = null; @XmlElement(name = "listaNfe") @ApiModelProperty(value = "Lista de chaves das NFE que amparam o transporte.") @@ -153,10 +161,10 @@ public static TipoOperacaoEnum fromValue(String v) { private List listaCarga = null; @XmlElement(name = "listaSemirreboque") - @ApiModelProperty(value = "Lista de semirreboques ou vagões. No caso de caminhão truck informar a placa nessa estrutura.") + @ApiModelProperty(value = "Lista de semirreboques ou vagões.") @Valid /** - * Lista de semirreboques ou vagões. No caso de caminhão truck informar a placa nessa estrutura. + * Lista de semirreboques ou vagões. **/ private List listaSemirreboque = null; @@ -168,6 +176,20 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private List listaConteineresUld = null; + @XmlElement(name = "placa") + @ApiModelProperty(value = "Placa do veículo (Cavalo-trator/truck/locomotiva).
    Tamanho: 50") + /** + * Placa do veículo (Cavalo-trator/truck/locomotiva).
    Tamanho: 50 + **/ + private String placa = null; + + @XmlElement(name = "ocrPlaca") + @ApiModelProperty(example = "false", value = "Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)
    Domínio:
    true - Sim
    false - Não
    (!)
    É obrigatório que o atributo 'ocrPlaca' seja informado quando o atributo 'placa' for informado.") + /** + * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)
    Domínio:
    true - Sim
    false - Não
    (!)
    É obrigatório que o atributo 'ocrPlaca' seja informado quando o atributo 'placa' for informado. + **/ + private Boolean ocrPlaca = null; + @XmlElement(name = "vazio", required = true) @ApiModelProperty(example = "false", required = true, value = "Vazio.
    Domínio:
    true - Sim
    false - Não Pode ser nulo quando o evento for de exclusão.") /** @@ -181,9 +203,9 @@ public static TipoOperacaoEnum fromValue(String v) { private DadosImagemScanner imagemScanner = null; @XmlElement(name = "arquivoMetadados") - @ApiModelProperty(example = "xml", value = "Arquivo gerado que acompanha a imagem do scanner, geralmente um xml
    Tamanho: 7160") + @ApiModelProperty(example = "xml", value = "Arquivo gerado que acompanha a imagem do scanner, geralmente um xml
    Tamanho: 14000") /** - * Arquivo gerado que acompanha a imagem do scanner, geralmente um xml
    Tamanho: 7160 + * Arquivo gerado que acompanha a imagem do scanner, geralmente um xml
    Tamanho: 14000 **/ private String arquivoMetadados = null; @@ -387,24 +409,48 @@ public DadosDaInspeoNoInvasiva codigoRecinto(String codigoRecinto) { * @return listaManifestos **/ @JsonProperty("listaManifestos") - public List getListaManifestos() { + public List getListaManifestos() { return listaManifestos; } - public void setListaManifestos(List listaManifestos) { + public void setListaManifestos(List listaManifestos) { this.listaManifestos = listaManifestos; } - public DadosDaInspeoNoInvasiva listaManifestos(List listaManifestos) { + public DadosDaInspeoNoInvasiva listaManifestos(List listaManifestos) { this.listaManifestos = listaManifestos; return this; } - public DadosDaInspeoNoInvasiva addListaManifestosItem(DadosDoManisfestoDaCarga listaManifestosItem) { + public DadosDaInspeoNoInvasiva addListaManifestosItem(DadosDoManifestoDaCarga listaManifestosItem) { this.listaManifestos.add(listaManifestosItem); return this; } + /** + * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...). + * + * @return listaChassis + **/ + @JsonProperty("listaChassis") + public List getListaChassis() { + return listaChassis; + } + + public void setListaChassis(List listaChassis) { + this.listaChassis = listaChassis; + } + + public DadosDaInspeoNoInvasiva listaChassis(List listaChassis) { + this.listaChassis = listaChassis; + return this; + } + + public DadosDaInspeoNoInvasiva addListaChassisItem(DadosDoChassiEmbarque listaChassisItem) { + this.listaChassis.add(listaChassisItem); + return this; + } + /** * Lista de chaves das NFE que amparam o transporte. * @return listaNfe @@ -452,7 +498,7 @@ public DadosDaInspeoNoInvasiva addListaCargaItem(DadosDaCarga listaCargaItem) { } /** - * Lista de semirreboques ou vagões. No caso de caminhão truck informar a placa nessa estrutura. + * Lista de semirreboques ou vagões. * * @return listaSemirreboque **/ @@ -477,7 +523,6 @@ public DadosDaInspeoNoInvasiva addListaSemirreboqueItem(DadosSemirreboqueDaInspe /** * Lista de contêineres ou ULD (Unit Load Device – Aéreo). - * * @return listaConteineresUld **/ @JsonProperty("listaConteineresUld") @@ -499,6 +544,44 @@ public DadosDaInspeoNoInvasiva addListaConteineresUldItem(DadosContinerUldInspeo return this; } + /** + * Placa do veículo (Cavalo-trator/truck/locomotiva).<br/>Tamanho: 50 + * + * @return placa + **/ + @JsonProperty("placa") + public String getPlaca() { + return placa; + } + + public void setPlaca(String placa) { + this.placa = placa; + } + + public DadosDaInspeoNoInvasiva placa(String placa) { + this.placa = placa; + return this; + } + + /** + * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)<br/>Domínio:<br/>true - Sim<br/>false - Não<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que o atributo 'ocrPlaca' seja informado quando o atributo 'placa' for informado. + * + * @return ocrPlaca + **/ + @JsonProperty("ocrPlaca") + public Boolean isOcrPlaca() { + return ocrPlaca; + } + + public void setOcrPlaca(Boolean ocrPlaca) { + this.ocrPlaca = ocrPlaca; + } + + public DadosDaInspeoNoInvasiva ocrPlaca(Boolean ocrPlaca) { + this.ocrPlaca = ocrPlaca; + return this; + } + /** * Vazio.<br/>Domínio:<br/>true - Sim<br/>false - Não Pode ser nulo quando o evento for de exclusão. * @return vazio @@ -538,7 +621,7 @@ public DadosDaInspeoNoInvasiva imagemScanner(DadosImagemScanner imagemScanner) { } /** - * Arquivo gerado que acompanha a imagem do scanner, geralmente um xml<br/>Tamanho: 7160 + * Arquivo gerado que acompanha a imagem do scanner, geralmente um xml<br/>Tamanho: 14000 * @return arquivoMetadados **/ @JsonProperty("arquivoMetadados") @@ -612,10 +695,13 @@ public String toString() { " contingencia: " + toIndentedString(contingencia) + "\n" + " codigoRecinto: " + toIndentedString(codigoRecinto) + "\n" + " listaManifestos: " + toIndentedString(listaManifestos) + "\n" + + " listaChassis: " + toIndentedString(listaChassis) + "\n" + " listaNfe: " + toIndentedString(listaNfe) + "\n" + " listaCarga: " + toIndentedString(listaCarga) + "\n" + " listaSemirreboque: " + toIndentedString(listaSemirreboque) + "\n" + " listaConteineresUld: " + toIndentedString(listaConteineresUld) + "\n" + + " placa: " + toIndentedString(placa) + "\n" + + " ocrPlaca: " + toIndentedString(ocrPlaca) + "\n" + " vazio: " + toIndentedString(vazio) + "\n" + " imagemScanner: " + toIndentedString(imagemScanner) + "\n" + " arquivoMetadados: " + toIndentedString(arquivoMetadados) + "\n" + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaNotaFiscal.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaNotaFiscal.java index c821fe2..09c894d 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaNotaFiscal.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDaNotaFiscal.java @@ -19,9 +19,9 @@ public class DadosDaNotaFiscal { @XmlElement(name = "chaveNfe") - @ApiModelProperty(example = "35200200000000002720550900024285641000000001", value = "Chave da NF-e que ampara a carga.
    Tamanho: 100") + @ApiModelProperty(example = "35200200000000002720550900024285641000000001", value = "Chave da NF-e que ampara o transporte.
    Tamanho: 100") /** - * Chave da NF-e que ampara a carga.
    Tamanho: 100 + * Chave da NF-e que ampara o transporte.
    Tamanho: 100 **/ private String chaveNfe = null; @@ -33,7 +33,7 @@ public class DadosDaNotaFiscal { private String idElemento = null; /** - * Chave da NF-e que ampara a carga.<br/>Tamanho: 100 + * Chave da NF-e que ampara o transporte.<br/>Tamanho: 100 * * @return chaveNfe **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoChassi.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoChassi.java index 268cad1..126d7d2 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoChassi.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoChassi.java @@ -19,9 +19,9 @@ public class DadosDoChassi { @XmlElement(name = "chassi") - @ApiModelProperty(example = "chassi1...", value = "Número do chassi.
    Tamanho: 50") + @ApiModelProperty(example = "chassi1...", value = "Número do chassi.
    (!)
    É obrigatório que o atributo 'placa' seja informado quando o atributo 'listaChassi.chassi' não for informado.
    Tamanho: 50") /** - * Número do chassi.
    Tamanho: 50 + * Número do chassi.
    (!)
    É obrigatório que o atributo 'placa' seja informado quando o atributo 'listaChassi.chassi' não for informado.
    Tamanho: 50 **/ private String chassi = null; @@ -33,7 +33,7 @@ public class DadosDoChassi { private String idElemento = null; /** - * Número do chassi.<br/>Tamanho: 50 + * Número do chassi.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que o atributo 'placa' seja informado quando o atributo 'listaChassi.chassi' não for informado.<br/>Tamanho: 50 * * @return chassi **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoChassiEmbarque.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoChassiEmbarque.java new file mode 100644 index 0000000..fd31a4f --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoChassiEmbarque.java @@ -0,0 +1,94 @@ +package br.gov.siscomex.portalunico.rcnt.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosDoChassiEmbarque", propOrder = + { "chassi", "idElemento" +}) + +@XmlRootElement(name="DadosDoChassiEmbarque") +public class DadosDoChassiEmbarque { + + @XmlElement(name="chassi") + @ApiModelProperty(example = "chassi1...", value = "Número do chassi.
    Tamanho: 50") + /** + * Número do chassi.
    Tamanho: 50 + **/ + private String chassi = null; + + @XmlElement(name="idElemento", required = true) + @ApiModelProperty(required = true, value = "Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40") + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40 + **/ + private String idElemento = null; + /** + * Número do chassi.<br/>Tamanho: 50 + * @return chassi + **/ + @JsonProperty("chassi") + public String getChassi() { + return chassi; + } + + public void setChassi(String chassi) { + this.chassi = chassi; + } + + public DadosDoChassiEmbarque chassi(String chassi) { + this.chassi = chassi; + return this; + } + + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.<br/>Tamanho: 40 + * @return idElemento + **/ + @JsonProperty("idElemento") + @NotNull + public String getIdElemento() { + return idElemento; + } + + public void setIdElemento(String idElemento) { + this.idElemento = idElemento; + } + + public DadosDoChassiEmbarque idElemento(String idElemento) { + this.idElemento = idElemento; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosDoChassiEmbarque {\n"); + + sb.append(" chassi: ").append(toIndentedString(chassi)).append("\n"); + sb.append(" idElemento: ").append(toIndentedString(idElemento)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoCnpjDoCliente.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoCnpjDoCliente.java new file mode 100644 index 0000000..172c4de --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoCnpjDoCliente.java @@ -0,0 +1,94 @@ +package br.gov.siscomex.portalunico.rcnt.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosDoCnpjDoCliente", propOrder = + { "idElemento", "cnpjCliente" +}) + +@XmlRootElement(name="DadosDoCnpjDoCliente") +public class DadosDoCnpjDoCliente { + + @XmlElement(name="idElemento", required = true) + @ApiModelProperty(required = true, value = "Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40") + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40 + **/ + private String idElemento = null; + + @XmlElement(name="cnpjCliente") + @ApiModelProperty(example = "44444444444444", value = "CNPJ do importador ou do exportador
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'") + /** + * CNPJ do importador ou do exportador
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN' + **/ + private String cnpjCliente = null; + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.<br/>Tamanho: 40 + * @return idElemento + **/ + @JsonProperty("idElemento") + @NotNull + public String getIdElemento() { + return idElemento; + } + + public void setIdElemento(String idElemento) { + this.idElemento = idElemento; + } + + public DadosDoCnpjDoCliente idElemento(String idElemento) { + this.idElemento = idElemento; + return this; + } + + /** + * CNPJ do importador ou do exportador<br/>Tamanho: 14<br/>Formato: 'NNNNNNNNNNNNNN' + * @return cnpjCliente + **/ + @JsonProperty("cnpjCliente") + public String getCnpjCliente() { + return cnpjCliente; + } + + public void setCnpjCliente(String cnpjCliente) { + this.cnpjCliente = cnpjCliente; + } + + public DadosDoCnpjDoCliente cnpjCliente(String cnpjCliente) { + this.cnpjCliente = cnpjCliente; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosDoCnpjDoCliente {\n"); + + sb.append(" idElemento: ").append(toIndentedString(idElemento)).append("\n"); + sb.append(" cnpjCliente: ").append(toIndentedString(cnpjCliente)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManifestoDaCarga.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManifestoDaCarga.java new file mode 100644 index 0000000..ba2ed03 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManifestoDaCarga.java @@ -0,0 +1,206 @@ +package br.gov.siscomex.portalunico.rcnt.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosDoManifestoDaCarga", propOrder = + { "idElemento", "listaConhecimentos", "numero", "tipo" +}) + +@XmlRootElement(name="DadosDoManifestoDaCarga") +public class DadosDoManifestoDaCarga { + + @XmlElement(name="idElemento", required = true) + @ApiModelProperty(required = true, value = "Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40") + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40 + **/ + private String idElemento = null; + + @XmlElement(name="listaConhecimentos") + @ApiModelProperty(value = "Lista de conhecimentos de carga.") + @Valid + /** + * Lista de conhecimentos de carga. + **/ + private List listaConhecimentos = null; + + @XmlElement(name="numero") + @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto. No caso de MDF-e informar a chave de acesso.
    Tamanho: 100") + /** + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.
    Tamanho: 100 + **/ + private String numero = null; + + +@XmlType(name="TipoEnum") +@XmlEnum(String.class) +public enum TipoEnum { + + @XmlEnumValue("'MICDTA'") + @JsonProperty("'MICDTA'") + MICDTA_(String.valueOf("'MICDTA'")), + + @XmlEnumValue("'TIFDTA'") + @JsonProperty("'TIFDTA'") + TIFDTA_(String.valueOf("'TIFDTA'")), + + @XmlEnumValue("'MDFE'") + @JsonProperty("'MDFE'") + MDFE_(String.valueOf("'MDFE'")), + + @XmlEnumValue("'MELET'") + @JsonProperty("'MELET'") + MELET_(String.valueOf("'MELET'")); + + + private String value; + + TipoEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } +} + + @XmlElement(name="tipo") + @ApiModelProperty(example = "MICDTA", value = "Tipo do manifesto conforme tabela de domínio.
    Domínio:
    MICDTA - MicDTA
    TIFDTA - TifDTA
    MDFE - MDF-e
    MELET - Manifesto Eletrônico") + /** + * Tipo do manifesto conforme tabela de domínio.
    Domínio:
    MICDTA - MicDTA
    TIFDTA - TifDTA
    MDFE - MDF-e
    MELET - Manifesto Eletrônico + **/ + private TipoEnum tipo = null; + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.<br/>Tamanho: 40 + * @return idElemento + **/ + @JsonProperty("idElemento") + @NotNull + public String getIdElemento() { + return idElemento; + } + + public void setIdElemento(String idElemento) { + this.idElemento = idElemento; + } + + public DadosDoManifestoDaCarga idElemento(String idElemento) { + this.idElemento = idElemento; + return this; + } + + /** + * Lista de conhecimentos de carga. + * @return listaConhecimentos + **/ + @JsonProperty("listaConhecimentos") + public List getListaConhecimentos() { + return listaConhecimentos; + } + + public void setListaConhecimentos(List listaConhecimentos) { + this.listaConhecimentos = listaConhecimentos; + } + + public DadosDoManifestoDaCarga listaConhecimentos(List listaConhecimentos) { + this.listaConhecimentos = listaConhecimentos; + return this; + } + + public DadosDoManifestoDaCarga addListaConhecimentosItem(DadosDoConhecimentoDaCarga listaConhecimentosItem) { + this.listaConhecimentos.add(listaConhecimentosItem); + return this; + } + + /** + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.<br/>Tamanho: 100 + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public DadosDoManifestoDaCarga numero(String numero) { + this.numero = numero; + return this; + } + + /** + * Tipo do manifesto conforme tabela de domínio.<br/>Domínio:<br/>MICDTA - MicDTA<br/>TIFDTA - TifDTA<br/>MDFE - MDF-e<br/>MELET - Manifesto Eletrônico + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public DadosDoManifestoDaCarga tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosDoManifestoDaCarga {\n"); + + sb.append(" idElemento: ").append(toIndentedString(idElemento)).append("\n"); + sb.append(" listaConhecimentos: ").append(toIndentedString(listaConhecimentos)).append("\n"); + sb.append(" numero: ").append(toIndentedString(numero)).append("\n"); + sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManifestoDaCargaSimplificado.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManifestoDaCargaSimplificado.java new file mode 100644 index 0000000..db982c9 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManifestoDaCargaSimplificado.java @@ -0,0 +1,206 @@ +package br.gov.siscomex.portalunico.rcnt.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosDoManifestoDaCargaSimplificado", propOrder = + { "idElemento", "listaConhecimentos", "numero", "tipo" +}) + +@XmlRootElement(name="DadosDoManifestoDaCargaSimplificado") +public class DadosDoManifestoDaCargaSimplificado { + + @XmlElement(name="idElemento", required = true) + @ApiModelProperty(required = true, value = "Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40") + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40 + **/ + private String idElemento = null; + + @XmlElement(name="listaConhecimentos") + @ApiModelProperty(value = "Lista de conhecimentos de carga.") + @Valid + /** + * Lista de conhecimentos de carga. + **/ + private List listaConhecimentos = null; + + @XmlElement(name="numero") + @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto. No caso de MDF-e informar a chave de acesso.
    Tamanho: 100") + /** + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.
    Tamanho: 100 + **/ + private String numero = null; + + +@XmlType(name="TipoEnum") +@XmlEnum(String.class) +public enum TipoEnum { + + @XmlEnumValue("'MICDTA'") + @JsonProperty("'MICDTA'") + MICDTA_(String.valueOf("'MICDTA'")), + + @XmlEnumValue("'TIFDTA'") + @JsonProperty("'TIFDTA'") + TIFDTA_(String.valueOf("'TIFDTA'")), + + @XmlEnumValue("'MDFE'") + @JsonProperty("'MDFE'") + MDFE_(String.valueOf("'MDFE'")), + + @XmlEnumValue("'MELET'") + @JsonProperty("'MELET'") + MELET_(String.valueOf("'MELET'")); + + + private String value; + + TipoEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } +} + + @XmlElement(name="tipo") + @ApiModelProperty(example = "MICDTA", value = "Tipo do manifesto conforme tabela de domínio.
    Domínio:
    MICDTA - MicDTA
    TIFDTA - TifDTA
    MDFE - MDF-e
    MELET - Manifesto Eletrônico") + /** + * Tipo do manifesto conforme tabela de domínio.
    Domínio:
    MICDTA - MicDTA
    TIFDTA - TifDTA
    MDFE - MDF-e
    MELET - Manifesto Eletrônico + **/ + private TipoEnum tipo = null; + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.<br/>Tamanho: 40 + * @return idElemento + **/ + @JsonProperty("idElemento") + @NotNull + public String getIdElemento() { + return idElemento; + } + + public void setIdElemento(String idElemento) { + this.idElemento = idElemento; + } + + public DadosDoManifestoDaCargaSimplificado idElemento(String idElemento) { + this.idElemento = idElemento; + return this; + } + + /** + * Lista de conhecimentos de carga. + * @return listaConhecimentos + **/ + @JsonProperty("listaConhecimentos") + public List getListaConhecimentos() { + return listaConhecimentos; + } + + public void setListaConhecimentos(List listaConhecimentos) { + this.listaConhecimentos = listaConhecimentos; + } + + public DadosDoManifestoDaCargaSimplificado listaConhecimentos(List listaConhecimentos) { + this.listaConhecimentos = listaConhecimentos; + return this; + } + + public DadosDoManifestoDaCargaSimplificado addListaConhecimentosItem(DadosDoConhecimentoDaCargaSimplificado listaConhecimentosItem) { + this.listaConhecimentos.add(listaConhecimentosItem); + return this; + } + + /** + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.<br/>Tamanho: 100 + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public DadosDoManifestoDaCargaSimplificado numero(String numero) { + this.numero = numero; + return this; + } + + /** + * Tipo do manifesto conforme tabela de domínio.<br/>Domínio:<br/>MICDTA - MicDTA<br/>TIFDTA - TifDTA<br/>MDFE - MDF-e<br/>MELET - Manifesto Eletrônico + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public DadosDoManifestoDaCargaSimplificado tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosDoManifestoDaCargaSimplificado {\n"); + + sb.append(" idElemento: ").append(toIndentedString(idElemento)).append("\n"); + sb.append(" listaConhecimentos: ").append(toIndentedString(listaConhecimentos)).append("\n"); + sb.append(" numero: ").append(toIndentedString(numero)).append("\n"); + sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManisfestoDaCarga.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManisfestoDaCarga.java deleted file mode 100644 index cdd5a9b..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManisfestoDaCarga.java +++ /dev/null @@ -1,210 +0,0 @@ -package br.gov.siscomex.portalunico.rcnt.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlEnumValue; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import java.util.List; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "DadosDoManisfestoDaCarga", propOrder = - {"idElemento", "listaConhecimentos", "numero", "tipo" - }) - -@XmlRootElement(name = "DadosDoManisfestoDaCarga") -public class DadosDoManisfestoDaCarga { - - @XmlElement(name = "idElemento", required = true) - @ApiModelProperty(required = true, value = "Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40") - /** - * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40 - **/ - private String idElemento = null; - - @XmlElement(name = "listaConhecimentos") - @ApiModelProperty(value = "Lista de conhecimentos de carga.") - @Valid - /** - * Lista de conhecimentos de carga. - **/ - private List listaConhecimentos = null; - - @XmlElement(name = "numero") - @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto. No caso de MDF-e informar a chave de acesso.
    Tamanho: 100") - /** - * Número do Manifesto. No caso de MDF-e informar a chave de acesso.
    Tamanho: 100 - **/ - private String numero = null; - - - @XmlType(name = "TipoEnum") - @XmlEnum(String.class) - public enum TipoEnum { - - @XmlEnumValue("'MICDTA'") - @JsonProperty("'MICDTA'") - MICDTA_("'MICDTA'"), - - @XmlEnumValue("'TIFDTA'") - @JsonProperty("'TIFDTA'") - TIFDTA_("'TIFDTA'"), - - @XmlEnumValue("'MDFE'") - @JsonProperty("'MDFE'") - MDFE_("'MDFE'"), - - @XmlEnumValue("'MELET'") - @JsonProperty("'MELET'") - MELET_("'MELET'"); - - - private final String value; - - TipoEnum(String v) { - value = v; - } - - public String value() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - public static TipoEnum fromValue(String v) { - for (TipoEnum b : TipoEnum.values()) { - if (String.valueOf(b.value).equals(v)) { - return b; - } - } - throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); - } - } - - @XmlElement(name = "tipo") - @ApiModelProperty(example = "MICDTA", value = "Tipo do manifesto conforme tabela de domínio.
    Domínio:
    MICDTA - MicDTA
    TIFDTA - TifDTA
    MDFE - MDF-e
    MELET - Manifesto Eletrônico") - /** - * Tipo do manifesto conforme tabela de domínio.
    Domínio:
    MICDTA - MicDTA
    TIFDTA - TifDTA
    MDFE - MDF-e
    MELET - Manifesto Eletrônico - **/ - private TipoEnum tipo = null; - - /** - * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.<br/>Tamanho: 40 - * - * @return idElemento - **/ - @JsonProperty("idElemento") - @NotNull - public String getIdElemento() { - return idElemento; - } - - public void setIdElemento(String idElemento) { - this.idElemento = idElemento; - } - - public DadosDoManisfestoDaCarga idElemento(String idElemento) { - this.idElemento = idElemento; - return this; - } - - /** - * Lista de conhecimentos de carga. - * - * @return listaConhecimentos - **/ - @JsonProperty("listaConhecimentos") - public List getListaConhecimentos() { - return listaConhecimentos; - } - - public void setListaConhecimentos(List listaConhecimentos) { - this.listaConhecimentos = listaConhecimentos; - } - - public DadosDoManisfestoDaCarga listaConhecimentos(List listaConhecimentos) { - this.listaConhecimentos = listaConhecimentos; - return this; - } - - public DadosDoManisfestoDaCarga addListaConhecimentosItem(DadosDoConhecimentoDaCarga listaConhecimentosItem) { - this.listaConhecimentos.add(listaConhecimentosItem); - return this; - } - - /** - * Número do Manifesto. No caso de MDF-e informar a chave de acesso.<br/>Tamanho: 100 - * - * @return numero - **/ - @JsonProperty("numero") - public String getNumero() { - return numero; - } - - public void setNumero(String numero) { - this.numero = numero; - } - - public DadosDoManisfestoDaCarga numero(String numero) { - this.numero = numero; - return this; - } - - /** - * Tipo do manifesto conforme tabela de domínio.<br/>Domínio:<br/>MICDTA - MicDTA<br/>TIFDTA - TifDTA<br/>MDFE - MDF-e<br/>MELET - Manifesto Eletrônico - * - * @return tipo - **/ - @JsonProperty("tipo") - public String getTipo() { - if (tipo == null) { - return null; - } - return tipo.value(); - } - - public void setTipo(TipoEnum tipo) { - this.tipo = tipo; - } - - public DadosDoManisfestoDaCarga tipo(TipoEnum tipo) { - this.tipo = tipo; - return this; - } - - - @Override - public String toString() { - - String sb = "class DadosDoManisfestoDaCarga {\n" + - " idElemento: " + toIndentedString(idElemento) + "\n" + - " listaConhecimentos: " + toIndentedString(listaConhecimentos) + "\n" + - " numero: " + toIndentedString(numero) + "\n" + - " tipo: " + toIndentedString(tipo) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManisfestoDaCargaSimplificado.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManisfestoDaCargaSimplificado.java deleted file mode 100644 index e1efc54..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManisfestoDaCargaSimplificado.java +++ /dev/null @@ -1,210 +0,0 @@ -package br.gov.siscomex.portalunico.rcnt.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModelProperty; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlEnumValue; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import java.util.List; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "DadosDoManisfestoDaCargaSimplificado", propOrder = - {"idElemento", "listaConhecimentos", "numero", "tipo" - }) - -@XmlRootElement(name = "DadosDoManisfestoDaCargaSimplificado") -public class DadosDoManisfestoDaCargaSimplificado { - - @XmlElement(name = "idElemento", required = true) - @ApiModelProperty(required = true, value = "Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40") - /** - * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40 - **/ - private String idElemento = null; - - @XmlElement(name = "listaConhecimentos") - @ApiModelProperty(value = "Lista de conhecimentos de carga.") - @Valid - /** - * Lista de conhecimentos de carga. - **/ - private List listaConhecimentos = null; - - @XmlElement(name = "numero") - @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto. No caso de MDF-e informar a chave de acesso.
    Tamanho: 100") - /** - * Número do Manifesto. No caso de MDF-e informar a chave de acesso.
    Tamanho: 100 - **/ - private String numero = null; - - - @XmlType(name = "TipoEnum") - @XmlEnum(String.class) - public enum TipoEnum { - - @XmlEnumValue("'MICDTA'") - @JsonProperty("'MICDTA'") - MICDTA_("'MICDTA'"), - - @XmlEnumValue("'TIFDTA'") - @JsonProperty("'TIFDTA'") - TIFDTA_("'TIFDTA'"), - - @XmlEnumValue("'MDFE'") - @JsonProperty("'MDFE'") - MDFE_("'MDFE'"), - - @XmlEnumValue("'MELET'") - @JsonProperty("'MELET'") - MELET_("'MELET'"); - - - private final String value; - - TipoEnum(String v) { - value = v; - } - - public String value() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - public static TipoEnum fromValue(String v) { - for (TipoEnum b : TipoEnum.values()) { - if (String.valueOf(b.value).equals(v)) { - return b; - } - } - throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); - } - } - - @XmlElement(name = "tipo") - @ApiModelProperty(example = "MICDTA", value = "Tipo do manifesto conforme tabela de domínio.
    Domínio:
    MICDTA - MicDTA
    TIFDTA - TifDTA
    MDFE - MDF-e
    MELET - Manifesto Eletrônico") - /** - * Tipo do manifesto conforme tabela de domínio.
    Domínio:
    MICDTA - MicDTA
    TIFDTA - TifDTA
    MDFE - MDF-e
    MELET - Manifesto Eletrônico - **/ - private TipoEnum tipo = null; - - /** - * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.<br/>Tamanho: 40 - * - * @return idElemento - **/ - @JsonProperty("idElemento") - @NotNull - public String getIdElemento() { - return idElemento; - } - - public void setIdElemento(String idElemento) { - this.idElemento = idElemento; - } - - public DadosDoManisfestoDaCargaSimplificado idElemento(String idElemento) { - this.idElemento = idElemento; - return this; - } - - /** - * Lista de conhecimentos de carga. - * - * @return listaConhecimentos - **/ - @JsonProperty("listaConhecimentos") - public List getListaConhecimentos() { - return listaConhecimentos; - } - - public void setListaConhecimentos(List listaConhecimentos) { - this.listaConhecimentos = listaConhecimentos; - } - - public DadosDoManisfestoDaCargaSimplificado listaConhecimentos(List listaConhecimentos) { - this.listaConhecimentos = listaConhecimentos; - return this; - } - - public DadosDoManisfestoDaCargaSimplificado addListaConhecimentosItem(DadosDoConhecimentoDaCargaSimplificado listaConhecimentosItem) { - this.listaConhecimentos.add(listaConhecimentosItem); - return this; - } - - /** - * Número do Manifesto. No caso de MDF-e informar a chave de acesso.<br/>Tamanho: 100 - * - * @return numero - **/ - @JsonProperty("numero") - public String getNumero() { - return numero; - } - - public void setNumero(String numero) { - this.numero = numero; - } - - public DadosDoManisfestoDaCargaSimplificado numero(String numero) { - this.numero = numero; - return this; - } - - /** - * Tipo do manifesto conforme tabela de domínio.<br/>Domínio:<br/>MICDTA - MicDTA<br/>TIFDTA - TifDTA<br/>MDFE - MDF-e<br/>MELET - Manifesto Eletrônico - * - * @return tipo - **/ - @JsonProperty("tipo") - public String getTipo() { - if (tipo == null) { - return null; - } - return tipo.value(); - } - - public void setTipo(TipoEnum tipo) { - this.tipo = tipo; - } - - public DadosDoManisfestoDaCargaSimplificado tipo(TipoEnum tipo) { - this.tipo = tipo; - return this; - } - - - @Override - public String toString() { - - String sb = "class DadosDoManisfestoDaCargaSimplificado {\n" + - " idElemento: " + toIndentedString(idElemento) + "\n" + - " listaConhecimentos: " + toIndentedString(listaConhecimentos) + "\n" + - " numero: " + toIndentedString(numero) + "\n" + - " tipo: " + toIndentedString(tipo) + "\n" + - "}"; - return sb; - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoTipoDeAvariaExtravio.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoTipoDeAvariaExtravio.java new file mode 100644 index 0000000..0dbb1d0 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoTipoDeAvariaExtravio.java @@ -0,0 +1,206 @@ +package br.gov.siscomex.portalunico.rcnt.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosDoTipoDeAvariaExtravio", propOrder = + { "idElemento", "tipoAvaria" +}) + +@XmlRootElement(name="DadosDoTipoDeAvariaExtravio") +public class DadosDoTipoDeAvariaExtravio { + + @XmlElement(name="idElemento", required = true) + @ApiModelProperty(required = true, value = "Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40") + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40 + **/ + private String idElemento = null; + + +@XmlType(name="TipoAvariaEnum") +@XmlEnum(String.class) +public enum TipoAvariaEnum { + + @XmlEnumValue("'A'") + @JsonProperty("'A'") + A_(String.valueOf("'A'")), + + @XmlEnumValue("'B'") + @JsonProperty("'B'") + B_(String.valueOf("'B'")), + + @XmlEnumValue("'C'") + @JsonProperty("'C'") + C_(String.valueOf("'C'")), + + @XmlEnumValue("'D'") + @JsonProperty("'D'") + D_(String.valueOf("'D'")), + + @XmlEnumValue("'E'") + @JsonProperty("'E'") + E_(String.valueOf("'E'")), + + @XmlEnumValue("'F'") + @JsonProperty("'F'") + F_(String.valueOf("'F'")), + + @XmlEnumValue("'G'") + @JsonProperty("'G'") + G_(String.valueOf("'G'")), + + @XmlEnumValue("'H'") + @JsonProperty("'H'") + H_(String.valueOf("'H'")), + + @XmlEnumValue("'I'") + @JsonProperty("'I'") + I_(String.valueOf("'I'")), + + @XmlEnumValue("'J'") + @JsonProperty("'J'") + J_(String.valueOf("'J'")), + + @XmlEnumValue("'K'") + @JsonProperty("'K'") + K_(String.valueOf("'K'")), + + @XmlEnumValue("'L'") + @JsonProperty("'L'") + L_(String.valueOf("'L'")), + + @XmlEnumValue("'M'") + @JsonProperty("'M'") + M_(String.valueOf("'M'")), + + @XmlEnumValue("'N'") + @JsonProperty("'N'") + N_(String.valueOf("'N'")), + + @XmlEnumValue("'O'") + @JsonProperty("'O'") + O_(String.valueOf("'O'")), + + @XmlEnumValue("'P'") + @JsonProperty("'P'") + P_(String.valueOf("'P'")), + + @XmlEnumValue("'Q'") + @JsonProperty("'Q'") + Q_(String.valueOf("'Q'")), + + @XmlEnumValue("'R'") + @JsonProperty("'R'") + R_(String.valueOf("'R'")), + + @XmlEnumValue("'S'") + @JsonProperty("'S'") + S_(String.valueOf("'S'")); + + + private String value; + + TipoAvariaEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoAvariaEnum fromValue(String v) { + for (TipoAvariaEnum b : TipoAvariaEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoAvariaEnum"); + } +} + + @XmlElement(name="tipoAvaria") + @ApiModelProperty(example = "E", value = "Tipo de Avaria.
    Domínio:
    A - Diferença de peso
    B - Lacre violado
    C - Amassado
    D - Vazamento
    E - Quebrado
    F - Rasgado
    G - Refitado
    H - Furado
    I - Aberto
    J - Molhado
    K - Despregado
    L - Repregado
    M - Indícios de violação
    N - Riscado
    O - Sensor de Impacto Ativado
    P - Sensor de Inclinação Ativado
    Q - Carga Recebida com Alteração de Informação
    R - Indícios de Deterioração
    S - Carga Lacrada Pelo Fiel Depositário
    (!)
    É obrigatório que o atributo 'listaTipoAvaria.tipoAvaria' seja informado quando o atributo 'tipo' for informado com 'A'.") + /** + * Tipo de Avaria.
    Domínio:
    A - Diferença de peso
    B - Lacre violado
    C - Amassado
    D - Vazamento
    E - Quebrado
    F - Rasgado
    G - Refitado
    H - Furado
    I - Aberto
    J - Molhado
    K - Despregado
    L - Repregado
    M - Indícios de violação
    N - Riscado
    O - Sensor de Impacto Ativado
    P - Sensor de Inclinação Ativado
    Q - Carga Recebida com Alteração de Informação
    R - Indícios de Deterioração
    S - Carga Lacrada Pelo Fiel Depositário
    (!)
    É obrigatório que o atributo 'listaTipoAvaria.tipoAvaria' seja informado quando o atributo 'tipo' for informado com 'A'. + **/ + private TipoAvariaEnum tipoAvaria = null; + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.<br/>Tamanho: 40 + * @return idElemento + **/ + @JsonProperty("idElemento") + @NotNull + public String getIdElemento() { + return idElemento; + } + + public void setIdElemento(String idElemento) { + this.idElemento = idElemento; + } + + public DadosDoTipoDeAvariaExtravio idElemento(String idElemento) { + this.idElemento = idElemento; + return this; + } + + /** + * Tipo de Avaria.<br/>Domínio:<br/>A - Diferença de peso<br/>B - Lacre violado<br/>C - Amassado<br/>D - Vazamento<br/>E - Quebrado<br/>F - Rasgado<br/>G - Refitado<br/>H - Furado<br/>I - Aberto<br/>J - Molhado<br/>K - Despregado<br/>L - Repregado<br/>M - Indícios de violação<br/>N - Riscado<br/>O - Sensor de Impacto Ativado<br/>P - Sensor de Inclinação Ativado<br/>Q - Carga Recebida com Alteração de Informação<br/>R - Indícios de Deterioração<br/>S - Carga Lacrada Pelo Fiel Depositário<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que o atributo 'listaTipoAvaria.tipoAvaria' seja informado quando o atributo 'tipo' for informado com 'A'. + * @return tipoAvaria + **/ + @JsonProperty("tipoAvaria") + public String getTipoAvaria() { + if (tipoAvaria == null) { + return null; + } + return tipoAvaria.value(); + } + + public void setTipoAvaria(TipoAvariaEnum tipoAvaria) { + this.tipoAvaria = tipoAvaria; + } + + public DadosDoTipoDeAvariaExtravio tipoAvaria(TipoAvariaEnum tipoAvaria) { + this.tipoAvaria = tipoAvaria; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosDoTipoDeAvariaExtravio {\n"); + + sb.append(" idElemento: ").append(toIndentedString(idElemento)).append("\n"); + sb.append(" tipoAvaria: ").append(toIndentedString(tipoAvaria)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoTratamentoAdministrativo.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoTratamentoAdministrativo.java new file mode 100644 index 0000000..60f363a --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoTratamentoAdministrativo.java @@ -0,0 +1,169 @@ +package br.gov.siscomex.portalunico.rcnt.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosDoTratamentoAdministrativo", propOrder = + { "idElemento", "numero", "tipo" +}) + +@XmlRootElement(name="DadosDoTratamentoAdministrativo") +/** + * Informar os tratamentos administrativos vinculados (LI - Licença de Importação) ou LPCO (Licenças, Permissões, Certificados, Outros) + **/ +@ApiModel(description="Informar os tratamentos administrativos vinculados (LI - Licença de Importação) ou LPCO (Licenças, Permissões, Certificados, Outros)") +public class DadosDoTratamentoAdministrativo { + + @XmlElement(name="idElemento", required = true) + @ApiModelProperty(required = true, value = "Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40") + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.
    Tamanho: 40 + **/ + private String idElemento = null; + + @XmlElement(name="numero") + @ApiModelProperty(value = "Número de identificação do tratamento administrativo.

    Tamanho: 100") + /** + * Número de identificação do tratamento administrativo.

    Tamanho: 100 + **/ + private String numero = null; + + +@XmlType(name="TipoEnum") +@XmlEnum(String.class) +public enum TipoEnum { + + @XmlEnumValue("'LI'") + @JsonProperty("'LI'") + LI_(String.valueOf("'LI'")), + + @XmlEnumValue("'LPCO'") + @JsonProperty("'LPCO'") + LPCO_(String.valueOf("'LPCO'")); + + + private String value; + + TipoEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } +} + + @XmlElement(name="tipo") + @ApiModelProperty(example = "LI", value = "Tipo de tratamento administrativo conforme tabela de domínio.
    Domínio:
    LI - Licença de Importação
    LPCO - Licenças, Permissões, Certificados, Outros ") + /** + * Tipo de tratamento administrativo conforme tabela de domínio.
    Domínio:
    LI - Licença de Importação
    LPCO - Licenças, Permissões, Certificados, Outros + **/ + private TipoEnum tipo = null; + /** + * Identificação de cada elemento da lista. Este atributo é obrigatório e deve ser único dentro da lista correspondente.<br/>Tamanho: 40 + * @return idElemento + **/ + @JsonProperty("idElemento") + @NotNull + public String getIdElemento() { + return idElemento; + } + + public void setIdElemento(String idElemento) { + this.idElemento = idElemento; + } + + public DadosDoTratamentoAdministrativo idElemento(String idElemento) { + this.idElemento = idElemento; + return this; + } + + /** + * Número de identificação do tratamento administrativo. <br/><br/>Tamanho: 100 + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public DadosDoTratamentoAdministrativo numero(String numero) { + this.numero = numero; + return this; + } + + /** + * Tipo de tratamento administrativo conforme tabela de domínio.<br/>Domínio:<br/>LI - Licença de Importação<br/>LPCO - Licenças, Permissões, Certificados, Outros + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public DadosDoTratamentoAdministrativo tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosDoTratamentoAdministrativo {\n"); + + sb.append(" idElemento: ").append(toIndentedString(idElemento)).append("\n"); + sb.append(" numero: ").append(toIndentedString(numero)).append("\n"); + sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoDeEstrangeiroRepresentado.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoDeEstrangeiroRepresentado.java new file mode 100644 index 0000000..fc2acaa --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoDeEstrangeiroRepresentado.java @@ -0,0 +1,193 @@ +package br.gov.siscomex.portalunico.rcnt.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosDocumentoDeEstrangeiroRepresentado", propOrder = + { "numero", "paisEmissor", "tipo", "validade" +}) + +@XmlRootElement(name="DadosDocumentoDeEstrangeiroRepresentado") +/** + * Documento de estrangeiro. Informar apenas no caso de estrangeiro sem CPF.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentado OU cnpjRepresentado OU documentoEstrangeiroRepresentado (número, tipo, país) OU operadorEstrangeiroRepresentado'. + **/ +@ApiModel(description="Documento de estrangeiro. Informar apenas no caso de estrangeiro sem CPF.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentado OU cnpjRepresentado OU documentoEstrangeiroRepresentado (número, tipo, país) OU operadorEstrangeiroRepresentado'.") +public class DadosDocumentoDeEstrangeiroRepresentado { + + @XmlElement(name="numero") + @ApiModelProperty(value = "Número do documento
    Tamanho: 50") + /** + * Número do documento
    Tamanho: 50 + **/ + private String numero = null; + + @XmlElement(name="paisEmissor") + @ApiModelProperty(example = "DE", value = "País emissor do documento. Conforme tabela de domínio País disponível no Portal Único Siscomex.") + /** + * País emissor do documento. Conforme tabela de domínio País disponível no Portal Único Siscomex. + **/ + private String paisEmissor = null; + + +@XmlType(name="TipoEnum") +@XmlEnum(String.class) +public enum TipoEnum { + + @XmlEnumValue("'I'") + @JsonProperty("'I'") + I_(String.valueOf("'I'")), + + @XmlEnumValue("'P'") + @JsonProperty("'P'") + P_(String.valueOf("'P'")); + + + private String value; + + TipoEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } +} + + @XmlElement(name="tipo") + @ApiModelProperty(example = "I", value = "Tipo de documento
    Domínio:
    I - Identidade
    P - Passaporte") + /** + * Tipo de documento
    Domínio:
    I - Identidade
    P - Passaporte + **/ + private TipoEnum tipo = null; + + @XmlElement(name="validade") + @ApiModelProperty(example = "2020-04-01", value = "Validade do documento
    Formato: 'yyyy-MM-dd'") + /** + * Validade do documento
    Formato: 'yyyy-MM-dd' + **/ + private String validade = null; + /** + * Número do documento<br/>Tamanho: 50 + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public DadosDocumentoDeEstrangeiroRepresentado numero(String numero) { + this.numero = numero; + return this; + } + + /** + * País emissor do documento. Conforme tabela de domínio País disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a> + * @return paisEmissor + **/ + @JsonProperty("paisEmissor") + public String getPaisEmissor() { + return paisEmissor; + } + + public void setPaisEmissor(String paisEmissor) { + this.paisEmissor = paisEmissor; + } + + public DadosDocumentoDeEstrangeiroRepresentado paisEmissor(String paisEmissor) { + this.paisEmissor = paisEmissor; + return this; + } + + /** + * Tipo de documento<br/>Domínio:<br/>I - Identidade<br/>P - Passaporte + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public DadosDocumentoDeEstrangeiroRepresentado tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Validade do documento<br/>Formato: 'yyyy-MM-dd' + * @return validade + **/ + @JsonProperty("validade") + public String getValidade() { + return validade; + } + + public void setValidade(String validade) { + this.validade = validade; + } + + public DadosDocumentoDeEstrangeiroRepresentado validade(String validade) { + this.validade = validade; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosDocumentoDeEstrangeiroRepresentado {\n"); + + sb.append(" numero: ").append(toIndentedString(numero)).append("\n"); + sb.append(" paisEmissor: ").append(toIndentedString(paisEmissor)).append("\n"); + sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); + sb.append(" validade: ").append(toIndentedString(validade)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoDeEstrangeiroRepresentante.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoDeEstrangeiroRepresentante.java new file mode 100644 index 0000000..fc66c86 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoDeEstrangeiroRepresentante.java @@ -0,0 +1,193 @@ +package br.gov.siscomex.portalunico.rcnt.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosDocumentoDeEstrangeiroRepresentante", propOrder = + { "numero", "paisEmissor", "tipo", "validade" +}) + +@XmlRootElement(name="DadosDocumentoDeEstrangeiroRepresentante") +/** + * Documento de estrangeiro. Informar apenas no caso de estrangeiro sem CPF.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentante OU cnpjRepresentante OU documentoEstrangeiroRepresentante (número, tipo, país) OU operadorEstrangeiroRepresentante'. + **/ +@ApiModel(description="Documento de estrangeiro. Informar apenas no caso de estrangeiro sem CPF.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentante OU cnpjRepresentante OU documentoEstrangeiroRepresentante (número, tipo, país) OU operadorEstrangeiroRepresentante'.") +public class DadosDocumentoDeEstrangeiroRepresentante { + + @XmlElement(name="numero") + @ApiModelProperty(value = "Número do documento
    Tamanho: 50") + /** + * Número do documento
    Tamanho: 50 + **/ + private String numero = null; + + @XmlElement(name="paisEmissor") + @ApiModelProperty(example = "DE", value = "País emissor do documento. Conforme tabela de domínio País disponível no Portal Único Siscomex.") + /** + * País emissor do documento. Conforme tabela de domínio País disponível no Portal Único Siscomex. + **/ + private String paisEmissor = null; + + +@XmlType(name="TipoEnum") +@XmlEnum(String.class) +public enum TipoEnum { + + @XmlEnumValue("'I'") + @JsonProperty("'I'") + I_(String.valueOf("'I'")), + + @XmlEnumValue("'P'") + @JsonProperty("'P'") + P_(String.valueOf("'P'")); + + + private String value; + + TipoEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } +} + + @XmlElement(name="tipo") + @ApiModelProperty(example = "I", value = "Tipo de documento
    Domínio:
    I - Identidade
    P - Passaporte") + /** + * Tipo de documento
    Domínio:
    I - Identidade
    P - Passaporte + **/ + private TipoEnum tipo = null; + + @XmlElement(name="validade") + @ApiModelProperty(example = "2020-04-01", value = "Validade do documento
    Formato: 'yyyy-MM-dd'") + /** + * Validade do documento
    Formato: 'yyyy-MM-dd' + **/ + private String validade = null; + /** + * Número do documento<br/>Tamanho: 50 + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public DadosDocumentoDeEstrangeiroRepresentante numero(String numero) { + this.numero = numero; + return this; + } + + /** + * País emissor do documento. Conforme tabela de domínio País disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a> + * @return paisEmissor + **/ + @JsonProperty("paisEmissor") + public String getPaisEmissor() { + return paisEmissor; + } + + public void setPaisEmissor(String paisEmissor) { + this.paisEmissor = paisEmissor; + } + + public DadosDocumentoDeEstrangeiroRepresentante paisEmissor(String paisEmissor) { + this.paisEmissor = paisEmissor; + return this; + } + + /** + * Tipo de documento<br/>Domínio:<br/>I - Identidade<br/>P - Passaporte + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public DadosDocumentoDeEstrangeiroRepresentante tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Validade do documento<br/>Formato: 'yyyy-MM-dd' + * @return validade + **/ + @JsonProperty("validade") + public String getValidade() { + return validade; + } + + public void setValidade(String validade) { + this.validade = validade; + } + + public DadosDocumentoDeEstrangeiroRepresentante validade(String validade) { + this.validade = validade; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosDocumentoDeEstrangeiroRepresentante {\n"); + + sb.append(" numero: ").append(toIndentedString(numero)).append("\n"); + sb.append(" paisEmissor: ").append(toIndentedString(paisEmissor)).append("\n"); + sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); + sb.append(" validade: ").append(toIndentedString(validade)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoEstrangeiro.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoEstrangeiro.java index c156922..8846d9c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoEstrangeiro.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoEstrangeiro.java @@ -25,16 +25,16 @@ public class DadosDocumentoEstrangeiro { @XmlElement(name = "numero") - @ApiModelProperty(value = "Número do documento
    Tamanho: 50") + @ApiModelProperty(value = "Número do documento
    (!)
    É obrigatório que os atributos 'documentoEstrangeiro.numero', 'documentoEstrangeiro.tipo' e 'documentoEstrangeiro.paisEmissor' sejam informados quando o atributo 'cpf' não for informado.
    Tamanho: 50") /** - * Número do documento
    Tamanho: 50 + * Número do documento
    (!)
    É obrigatório que os atributos 'documentoEstrangeiro.numero', 'documentoEstrangeiro.tipo' e 'documentoEstrangeiro.paisEmissor' sejam informados quando o atributo 'cpf' não for informado.
    Tamanho: 50 **/ private String numero = null; @XmlElement(name = "paisEmissor") - @ApiModelProperty(example = "DE", value = "País emissor do documento. Conforme tabela de domínio País disponível no Portal Único Siscomex.") + @ApiModelProperty(example = "DE", value = "País emissor do documento. Conforme tabela de domínio País disponível no Portal Único Siscomex.
    (!)
    É obrigatório que os atributos 'documentoEstrangeiro.numero', 'documentoEstrangeiro.tipo' e 'documentoEstrangeiro.paisEmissor' sejam informados quando o atributo 'cpf' não for informado.") /** - * País emissor do documento. Conforme tabela de domínio País disponível no Portal Único Siscomex. + * País emissor do documento. Conforme tabela de domínio País disponível no Portal Único Siscomex.
    (!)
    É obrigatório que os atributos 'documentoEstrangeiro.numero', 'documentoEstrangeiro.tipo' e 'documentoEstrangeiro.paisEmissor' sejam informados quando o atributo 'cpf' não for informado. **/ private String paisEmissor = null; @@ -78,9 +78,9 @@ public static TipoEnum fromValue(String v) { } @XmlElement(name = "tipo") - @ApiModelProperty(example = "I", value = "Tipo de documento
    Domínio:
    I - Identidade
    P - Passaporte") + @ApiModelProperty(example = "I", value = "Tipo de documento
    Domínio:
    I - Identidade
    P - Passaporte
    (!)
    É obrigatório que os atributos 'documentoEstrangeiro.numero', 'documentoEstrangeiro.tipo' e 'documentoEstrangeiro.paisEmissor' sejam informados quando o atributo 'cpf' não for informado.") /** - * Tipo de documento
    Domínio:
    I - Identidade
    P - Passaporte + * Tipo de documento
    Domínio:
    I - Identidade
    P - Passaporte
    (!)
    É obrigatório que os atributos 'documentoEstrangeiro.numero', 'documentoEstrangeiro.tipo' e 'documentoEstrangeiro.paisEmissor' sejam informados quando o atributo 'cpf' não for informado. **/ private TipoEnum tipo = null; @@ -92,7 +92,7 @@ public static TipoEnum fromValue(String v) { private String validade = null; /** - * Número do documento<br/>Tamanho: 50 + * Número do documento<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que os atributos 'documentoEstrangeiro.numero', 'documentoEstrangeiro.tipo' e 'documentoEstrangeiro.paisEmissor' sejam informados quando o atributo 'cpf' não for informado.<br/>Tamanho: 50 * * @return numero **/ @@ -111,7 +111,7 @@ public DadosDocumentoEstrangeiro numero(String numero) { } /** - * País emissor do documento. Conforme tabela de domínio País disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a> + * País emissor do documento. Conforme tabela de domínio País disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a><font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que os atributos 'documentoEstrangeiro.numero', 'documentoEstrangeiro.tipo' e 'documentoEstrangeiro.paisEmissor' sejam informados quando o atributo 'cpf' não for informado. * * @return paisEmissor **/ @@ -130,7 +130,7 @@ public DadosDocumentoEstrangeiro paisEmissor(String paisEmissor) { } /** - * Tipo de documento<br/>Domínio:<br/>I - Identidade<br/>P - Passaporte + * Tipo de documento<br/>Domínio:<br/>I - Identidade<br/>P - Passaporte<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que os atributos 'documentoEstrangeiro.numero', 'documentoEstrangeiro.tipo' e 'documentoEstrangeiro.paisEmissor' sejam informados quando o atributo 'cpf' não for informado. * * @return tipo **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoEstrangeiroRepresentado.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoEstrangeiroRepresentado.java new file mode 100644 index 0000000..7e4a90d --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoEstrangeiroRepresentado.java @@ -0,0 +1,193 @@ +package br.gov.siscomex.portalunico.rcnt.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosDocumentoEstrangeiroRepresentado", propOrder = + { "numero", "paisEmissor", "tipo", "validade" +}) + +@XmlRootElement(name="DadosDocumentoEstrangeiroRepresentado") +/** + * Documento de estrangeiro do representado pessoa física. + **/ +@ApiModel(description="Documento de estrangeiro do representado pessoa física.") +public class DadosDocumentoEstrangeiroRepresentado { + + @XmlElement(name="numero") + @ApiModelProperty(value = "Número do documento
    Tamanho: 50") + /** + * Número do documento
    Tamanho: 50 + **/ + private String numero = null; + + @XmlElement(name="paisEmissor") + @ApiModelProperty(example = "DE", value = "País emissor do documento. Conforme tabela de domínio País disponível no Portal Único Siscomex.") + /** + * País emissor do documento. Conforme tabela de domínio País disponível no Portal Único Siscomex. + **/ + private String paisEmissor = null; + + +@XmlType(name="TipoEnum") +@XmlEnum(String.class) +public enum TipoEnum { + + @XmlEnumValue("'I'") + @JsonProperty("'I'") + I_(String.valueOf("'I'")), + + @XmlEnumValue("'P'") + @JsonProperty("'P'") + P_(String.valueOf("'P'")); + + + private String value; + + TipoEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } +} + + @XmlElement(name="tipo") + @ApiModelProperty(example = "I", value = "Tipo de documento
    Domínio:
    I - Identidade
    P - Passaporte") + /** + * Tipo de documento
    Domínio:
    I - Identidade
    P - Passaporte + **/ + private TipoEnum tipo = null; + + @XmlElement(name="validade") + @ApiModelProperty(example = "2020-04-01", value = "Validade do documento
    Formato: 'yyyy-MM-dd'") + /** + * Validade do documento
    Formato: 'yyyy-MM-dd' + **/ + private String validade = null; + /** + * Número do documento<br/>Tamanho: 50 + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public DadosDocumentoEstrangeiroRepresentado numero(String numero) { + this.numero = numero; + return this; + } + + /** + * País emissor do documento. Conforme tabela de domínio País disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a> + * @return paisEmissor + **/ + @JsonProperty("paisEmissor") + public String getPaisEmissor() { + return paisEmissor; + } + + public void setPaisEmissor(String paisEmissor) { + this.paisEmissor = paisEmissor; + } + + public DadosDocumentoEstrangeiroRepresentado paisEmissor(String paisEmissor) { + this.paisEmissor = paisEmissor; + return this; + } + + /** + * Tipo de documento<br/>Domínio:<br/>I - Identidade<br/>P - Passaporte + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public DadosDocumentoEstrangeiroRepresentado tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Validade do documento<br/>Formato: 'yyyy-MM-dd' + * @return validade + **/ + @JsonProperty("validade") + public String getValidade() { + return validade; + } + + public void setValidade(String validade) { + this.validade = validade; + } + + public DadosDocumentoEstrangeiroRepresentado validade(String validade) { + this.validade = validade; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosDocumentoEstrangeiroRepresentado {\n"); + + sb.append(" numero: ").append(toIndentedString(numero)).append("\n"); + sb.append(" paisEmissor: ").append(toIndentedString(paisEmissor)).append("\n"); + sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); + sb.append(" validade: ").append(toIndentedString(validade)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoEstrangeiroResponsvel.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoEstrangeiroResponsvel.java new file mode 100644 index 0000000..dfe28ba --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDocumentoEstrangeiroResponsvel.java @@ -0,0 +1,193 @@ +package br.gov.siscomex.portalunico.rcnt.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosDocumentoEstrangeiroResponsvel", propOrder = + { "numero", "paisEmissor", "tipo", "validade" +}) + +@XmlRootElement(name="DadosDocumentoEstrangeiroResponsvel") +/** + * Documento de estrangeiro responsável pelo veículo credenciado quando pessoa física + **/ +@ApiModel(description="Documento de estrangeiro responsável pelo veículo credenciado quando pessoa física") +public class DadosDocumentoEstrangeiroResponsvel { + + @XmlElement(name="numero") + @ApiModelProperty(value = "Número do documento
    Tamanho: 50") + /** + * Número do documento
    Tamanho: 50 + **/ + private String numero = null; + + @XmlElement(name="paisEmissor") + @ApiModelProperty(example = "DE", value = "País emissor do documento. Conforme tabela de domínio País disponível no Portal Único Siscomex.") + /** + * País emissor do documento. Conforme tabela de domínio País disponível no Portal Único Siscomex. + **/ + private String paisEmissor = null; + + +@XmlType(name="TipoEnum") +@XmlEnum(String.class) +public enum TipoEnum { + + @XmlEnumValue("'I'") + @JsonProperty("'I'") + I_(String.valueOf("'I'")), + + @XmlEnumValue("'P'") + @JsonProperty("'P'") + P_(String.valueOf("'P'")); + + + private String value; + + TipoEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoEnum fromValue(String v) { + for (TipoEnum b : TipoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum"); + } +} + + @XmlElement(name="tipo") + @ApiModelProperty(example = "I", value = "Tipo de documento
    Domínio:
    I - Identidade
    P - Passaporte") + /** + * Tipo de documento
    Domínio:
    I - Identidade
    P - Passaporte + **/ + private TipoEnum tipo = null; + + @XmlElement(name="validade") + @ApiModelProperty(example = "2020-04-01", value = "Validade do documento
    Formato: 'yyyy-MM-dd'") + /** + * Validade do documento
    Formato: 'yyyy-MM-dd' + **/ + private String validade = null; + /** + * Número do documento<br/>Tamanho: 50 + * @return numero + **/ + @JsonProperty("numero") + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public DadosDocumentoEstrangeiroResponsvel numero(String numero) { + this.numero = numero; + return this; + } + + /** + * País emissor do documento. Conforme tabela de domínio País disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a> + * @return paisEmissor + **/ + @JsonProperty("paisEmissor") + public String getPaisEmissor() { + return paisEmissor; + } + + public void setPaisEmissor(String paisEmissor) { + this.paisEmissor = paisEmissor; + } + + public DadosDocumentoEstrangeiroResponsvel paisEmissor(String paisEmissor) { + this.paisEmissor = paisEmissor; + return this; + } + + /** + * Tipo de documento<br/>Domínio:<br/>I - Identidade<br/>P - Passaporte + * @return tipo + **/ + @JsonProperty("tipo") + public String getTipo() { + if (tipo == null) { + return null; + } + return tipo.value(); + } + + public void setTipo(TipoEnum tipo) { + this.tipo = tipo; + } + + public DadosDocumentoEstrangeiroResponsvel tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Validade do documento<br/>Formato: 'yyyy-MM-dd' + * @return validade + **/ + @JsonProperty("validade") + public String getValidade() { + return validade; + } + + public void setValidade(String validade) { + this.validade = validade; + } + + public DadosDocumentoEstrangeiroResponsvel validade(String validade) { + this.validade = validade; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosDocumentoEstrangeiroResponsvel {\n"); + + sb.append(" numero: ").append(toIndentedString(numero)).append("\n"); + sb.append(" paisEmissor: ").append(toIndentedString(paisEmissor)).append("\n"); + sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); + sb.append(" validade: ").append(toIndentedString(validade)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosEmbarqueDesembarqueNavio.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosEmbarqueDesembarqueNavio.java index 98ef5d9..42333f0 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosEmbarqueDesembarqueNavio.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosEmbarqueDesembarqueNavio.java @@ -17,7 +17,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosEmbarqueDesembarqueNavio", propOrder = - {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "listaManifestos", "listaDeclaracaoAduaneira", "listaNfe", "embarqueDesembarque", "numeroConteiner", "tipoConteiner", "taraConteiner", "pesoBrutoManifesto", "pesoBrutoBalanca", "pesoArqueacao", "tipoGranel", "volume", "cargaSolta", "numeroLote", "listaVolumes", "listaChassi", "navio", "viagem", "escala", "listaPortoCarregamento", "listaPortoDescarregamento", "listaPaisDestinoFinalCarga", "posicaoNavio", "proximoNavio", "portainer", "listaCameras" + {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "listaManifestos", "listaDeclaracaoAduaneira", "listaNfe", "embarqueDesembarque", "numeroConteiner", "tipoConteiner", "taraConteiner", "pesoBrutoManifesto", "pesoBrutoBalanca", "pesoArqueacao", "tipoGranel", "volume", "ncm", "cargaSolta", "numeroLote", "listaVolumes", "listaChassi", "navio", "viagem", "escala", "listaPortoCarregamento", "listaPortoDescarregamento", "listaPaisDestinoFinalCarga", "posicaoNavio", "proximoNavio", "portainer", "listaCameras" }) @XmlRootElement(name = "DadosEmbarqueDesembarqueNavio") @@ -135,7 +135,7 @@ public static TipoOperacaoEnum fromValue(String v) { /** * Lista de manifestos. **/ - private List listaManifestos = null; + private List listaManifestos = null; @XmlElement(name = "listaDeclaracaoAduaneira") @ApiModelProperty(value = "Lista de declarações aduaneiras associadas à carga.") @@ -200,16 +200,16 @@ public static EmbarqueDesembarqueEnum fromValue(String v) { private EmbarqueDesembarqueEnum embarqueDesembarque = null; @XmlElement(name = "numeroConteiner") - @ApiModelProperty(value = "Identificação do número do contêiner.
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'.
    Tamanho: 200") + @ApiModelProperty(value = "Identificação do número do contêiner.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'.
    Tamanho: 200") /** - * Identificação do número do contêiner.
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'.
    Tamanho: 200 + * Identificação do número do contêiner.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'.
    Tamanho: 200 **/ private String numeroConteiner = null; @XmlElement(name = "tipoConteiner") - @ApiModelProperty(example = "12U0", value = " Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    É obrigatório informar o atributo 'tipoConteiner' quando o atributo 'numeroConteiner' for informado.") + @ApiModelProperty(example = "12U0", value = " Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    (!)
    É obrigatório informar o atributo 'tipoConteiner' quando o atributo 'numeroConteiner' for informado.") /** - * Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    É obrigatório informar o atributo 'tipoConteiner' quando o atributo 'numeroConteiner' for informado. + * Conforme tabela de domínio Tipo de Conteiner disponível no Portal Único Siscomex.
    (!)
    É obrigatório informar o atributo 'tipoConteiner' quando o atributo 'numeroConteiner' for informado. **/ private String tipoConteiner = null; @@ -230,18 +230,18 @@ public static EmbarqueDesembarqueEnum fromValue(String v) { private BigDecimal pesoBrutoManifesto = null; @XmlElement(name = "pesoBrutoBalanca") - @ApiModelProperty(example = "15.5", value = "Peso da carga na balança (kg). Informar esse atributo nos casos em que a pesagem for efetuada em equipamentos de movimentação de Contêineres (Portainer, etc) no embarque/desembarque.No caso de granel informar um único evento de carregamento/descarregamento do navio com a soma das bateladas da balança de fluxo que compõe o peso total do granel embarcado ou desembarcado.

    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.
    pesoBrutoBalanca, até 4 casas decimais.") + @ApiModelProperty(example = "15.5", value = "Peso da carga na balança (kg). Informar esse atributo nos casos em que a pesagem for efetuada em equipamentos de movimentação de Contêineres (Portainer, etc) no embarque/desembarque.No caso de granel informar um único evento de carregamento/descarregamento do navio com a soma das bateladas da balança de fluxo que compõe o peso total do granel embarcado ou desembarcado.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.
    pesoBrutoBalanca, até 4 casas decimais.") @Valid /** - * Peso da carga na balança (kg). Informar esse atributo nos casos em que a pesagem for efetuada em equipamentos de movimentação de Contêineres (Portainer, etc) no embarque/desembarque.No caso de granel informar um único evento de carregamento/descarregamento do navio com a soma das bateladas da balança de fluxo que compõe o peso total do granel embarcado ou desembarcado.

    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.
    pesoBrutoBalanca, até 4 casas decimais. + * Peso da carga na balança (kg). Informar esse atributo nos casos em que a pesagem for efetuada em equipamentos de movimentação de Contêineres (Portainer, etc) no embarque/desembarque.No caso de granel informar um único evento de carregamento/descarregamento do navio com a soma das bateladas da balança de fluxo que compõe o peso total do granel embarcado ou desembarcado.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.
    pesoBrutoBalanca, até 4 casas decimais. **/ private BigDecimal pesoBrutoBalanca = null; @XmlElement(name = "pesoArqueacao") - @ApiModelProperty(example = "15.5", value = "Peso Arqueação (kg). Informar peso apurado em quantificação por arqueação de granéis. Observar que no caso de granel há um único evento de carregamento/descarregamento do navio.

    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.
    pesoArqueacao, até 4 casas decimais.") + @ApiModelProperty(example = "15.5", value = "Peso Arqueação (kg). Informar peso apurado em quantificação por arqueação de granéis. Observar que no caso de granel há um único evento de carregamento/descarregamento do navio.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.
    pesoArqueacao, até 4 casas decimais.") @Valid /** - * Peso Arqueação (kg). Informar peso apurado em quantificação por arqueação de granéis. Observar que no caso de granel há um único evento de carregamento/descarregamento do navio.

    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.
    pesoArqueacao, até 4 casas decimais. + * Peso Arqueação (kg). Informar peso apurado em quantificação por arqueação de granéis. Observar que no caso de granel há um único evento de carregamento/descarregamento do navio.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.
    pesoArqueacao, até 4 casas decimais. **/ private BigDecimal pesoArqueacao = null; @@ -309,20 +309,27 @@ public static TipoGranelEnum fromValue(String v) { } @XmlElement(name = "tipoGranel") - @ApiModelProperty(example = "01", value = "Tipo de granel conforme tabela de domínio.
    Domínio:
    01 - SÓLIDOS - MINÉRIOS
    02 - SÓLIDOS - GRÃOS
    03 - SÓLIDOS - FARELOS
    04 - SÓLIDOS - OUTROS
    05 - LÍQUIDOS - COMBUSTÍVEIS
    06 - LÍQUIDOS - OUTROS
    07 - GASOSOS
    99 - OUTROS

    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'.") + @ApiModelProperty(example = "01", value = "Tipo de granel conforme tabela de domínio.
    Domínio:
    01 - SÓLIDOS - MINÉRIOS
    02 - SÓLIDOS - GRÃOS
    03 - SÓLIDOS - FARELOS
    04 - SÓLIDOS - OUTROS
    05 - LÍQUIDOS - COMBUSTÍVEIS
    06 - LÍQUIDOS - OUTROS
    07 - GASOSOS
    99 - OUTROS
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'.") /** - * Tipo de granel conforme tabela de domínio.
    Domínio:
    01 - SÓLIDOS - MINÉRIOS
    02 - SÓLIDOS - GRÃOS
    03 - SÓLIDOS - FARELOS
    04 - SÓLIDOS - OUTROS
    05 - LÍQUIDOS - COMBUSTÍVEIS
    06 - LÍQUIDOS - OUTROS
    07 - GASOSOS
    99 - OUTROS

    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'. + * Tipo de granel conforme tabela de domínio.
    Domínio:
    01 - SÓLIDOS - MINÉRIOS
    02 - SÓLIDOS - GRÃOS
    03 - SÓLIDOS - FARELOS
    04 - SÓLIDOS - OUTROS
    05 - LÍQUIDOS - COMBUSTÍVEIS
    06 - LÍQUIDOS - OUTROS
    07 - GASOSOS
    99 - OUTROS
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'. **/ private TipoGranelEnum tipoGranel = null; @XmlElement(name = "volume") - @ApiModelProperty(example = "15.5", value = "Volume (metros cúbicos). Especificamente no caso de granel líquido ou gasoso.

    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.
    volume, até 4 casas decimais.") + @ApiModelProperty(example = "15.5", value = "Volume (metros cúbicos). Especificamente no caso de granel líquido ou gasoso.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.
    volume, até 4 casas decimais.") @Valid /** - * Volume (metros cúbicos). Especificamente no caso de granel líquido ou gasoso.

    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.
    volume, até 4 casas decimais. + * Volume (metros cúbicos). Especificamente no caso de granel líquido ou gasoso.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.
    volume, até 4 casas decimais. **/ private BigDecimal volume = null; + @XmlElement(name = "ncm") + @ApiModelProperty(value = "Informar a NCM apenas no caso de embarque ou desembarque de granel.
    (!)
    É obrigatório informar o atributo 'NCM' quando o atributo 'tipoGranel' for informado.
    Tamanho: 8") + /** + * Informar a NCM apenas no caso de embarque ou desembarque de granel.
    (!)
    É obrigatório informar o atributo 'NCM' quando o atributo 'tipoGranel' for informado.
    Tamanho: 8 + **/ + private String ncm = null; + @XmlElement(name = "cargaSolta", required = true) @ApiModelProperty(example = "false", required = true, value = "Indicador de carga solta.
    Domínio:
    true - Sim
    false - Não") /** @@ -338,20 +345,20 @@ public static TipoGranelEnum fromValue(String v) { private String numeroLote = null; @XmlElement(name = "listaVolumes") - @ApiModelProperty(value = "Informar no caso de carregamento ou descarregamento de carga solta.
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'.") + @ApiModelProperty(value = "Informar no caso de carregamento ou descarregamento de carga solta.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'.") @Valid /** - * Informar no caso de carregamento ou descarregamento de carga solta.
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'. + * Informar no caso de carregamento ou descarregamento de carga solta.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'. **/ private List listaVolumes = null; @XmlElement(name = "listaChassi") - @ApiModelProperty(value = "Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).

    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'.") + @ApiModelProperty(value = "Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'.") @Valid /** - * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).

    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'. + * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'. **/ - private List listaChassi = null; + private List listaChassi = null; @XmlElement(name = "navio", required = true) @ApiModelProperty(required = true, value = "") @@ -608,20 +615,20 @@ public DadosEmbarqueDesembarqueNavio codigoRecinto(String codigoRecinto) { * @return listaManifestos **/ @JsonProperty("listaManifestos") - public List getListaManifestos() { + public List getListaManifestos() { return listaManifestos; } - public void setListaManifestos(List listaManifestos) { + public void setListaManifestos(List listaManifestos) { this.listaManifestos = listaManifestos; } - public DadosEmbarqueDesembarqueNavio listaManifestos(List listaManifestos) { + public DadosEmbarqueDesembarqueNavio listaManifestos(List listaManifestos) { this.listaManifestos = listaManifestos; return this; } - public DadosEmbarqueDesembarqueNavio addListaManifestosItem(DadosDoManisfestoDaCargaSimplificado listaManifestosItem) { + public DadosEmbarqueDesembarqueNavio addListaManifestosItem(DadosDoManifestoDaCargaSimplificado listaManifestosItem) { this.listaManifestos.add(listaManifestosItem); return this; } @@ -697,7 +704,7 @@ public DadosEmbarqueDesembarqueNavio embarqueDesembarque(EmbarqueDesembarqueEnum } /** - * Identificação do número do contêiner.<br/>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'.<br/>Tamanho: 200 + * Identificação do número do contêiner.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'.<br/>Tamanho: 200 * @return numeroConteiner **/ @JsonProperty("numeroConteiner") @@ -715,7 +722,7 @@ public DadosEmbarqueDesembarqueNavio numeroConteiner(String numeroConteiner) { } /** - * Conforme tabela de domínio Tipo de Conteiner disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a><br/>É obrigatório informar o atributo 'tipoConteiner' quando o atributo 'numeroConteiner' for informado. + * Conforme tabela de domínio Tipo de Conteiner disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a><font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'tipoConteiner' quando o atributo 'numeroConteiner' for informado. * @return tipoConteiner **/ @JsonProperty("tipoConteiner") @@ -769,7 +776,7 @@ public DadosEmbarqueDesembarqueNavio pesoBrutoManifesto(BigDecimal pesoBrutoMani } /** - * Peso da carga na balança (kg). Informar esse atributo nos casos em que a pesagem for efetuada em equipamentos de movimentação de Contêineres (Portainer, etc) no embarque/desembarque.No caso de granel informar um único evento de carregamento/descarregamento do navio com a soma das bateladas da balança de fluxo que compõe o peso total do granel embarcado ou desembarcado.<br/><br/>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.<br/>pesoBrutoBalanca, até 4 casas decimais. + * Peso da carga na balança (kg). Informar esse atributo nos casos em que a pesagem for efetuada em equipamentos de movimentação de Contêineres (Portainer, etc) no embarque/desembarque.No caso de granel informar um único evento de carregamento/descarregamento do navio com a soma das bateladas da balança de fluxo que compõe o peso total do granel embarcado ou desembarcado.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.<br/>pesoBrutoBalanca, até 4 casas decimais. * @return pesoBrutoBalanca **/ @JsonProperty("pesoBrutoBalanca") @@ -787,7 +794,7 @@ public DadosEmbarqueDesembarqueNavio pesoBrutoBalanca(BigDecimal pesoBrutoBalanc } /** - * Peso Arqueação (kg). Informar peso apurado em quantificação por arqueação de granéis. Observar que no caso de granel há um único evento de carregamento/descarregamento do navio.<br/><br/>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.<br/>pesoArqueacao, até 4 casas decimais. + * Peso Arqueação (kg). Informar peso apurado em quantificação por arqueação de granéis. Observar que no caso de granel há um único evento de carregamento/descarregamento do navio.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.<br/>pesoArqueacao, até 4 casas decimais. * @return pesoArqueacao **/ @JsonProperty("pesoArqueacao") @@ -805,7 +812,7 @@ public DadosEmbarqueDesembarqueNavio pesoArqueacao(BigDecimal pesoArqueacao) { } /** - * Tipo de granel conforme tabela de domínio.<br/>Domínio:<br/>01 - SÓLIDOS - MINÉRIOS<br/>02 - SÓLIDOS - GRÃOS<br/>03 - SÓLIDOS - FARELOS<br/>04 - SÓLIDOS - OUTROS<br/>05 - LÍQUIDOS - COMBUSTÍVEIS<br/>06 - LÍQUIDOS - OUTROS<br/>07 - GASOSOS<br/>99 - OUTROS<br/><br/>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'. + * Tipo de granel conforme tabela de domínio.<br/>Domínio:<br/>01 - SÓLIDOS - MINÉRIOS<br/>02 - SÓLIDOS - GRÃOS<br/>03 - SÓLIDOS - FARELOS<br/>04 - SÓLIDOS - OUTROS<br/>05 - LÍQUIDOS - COMBUSTÍVEIS<br/>06 - LÍQUIDOS - OUTROS<br/>07 - GASOSOS<br/>99 - OUTROS<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'. * * @return tipoGranel **/ @@ -827,7 +834,7 @@ public DadosEmbarqueDesembarqueNavio tipoGranel(TipoGranelEnum tipoGranel) { } /** - * Volume (metros cúbicos). Especificamente no caso de granel líquido ou gasoso.<br/><br/>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.<br/>volume, até 4 casas decimais. + * Volume (metros cúbicos). Especificamente no caso de granel líquido ou gasoso.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'pesoBrutoBalanca', 'pesoArqueacao', 'volume', quando o atributo 'tipoGranel' for informado.<br/>volume, até 4 casas decimais. * @return volume **/ @JsonProperty("volume") @@ -844,6 +851,25 @@ public DadosEmbarqueDesembarqueNavio volume(BigDecimal volume) { return this; } + /** + * Informar a NCM apenas no caso de embarque ou desembarque de granel.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'NCM' quando o atributo 'tipoGranel' for informado.<br/>Tamanho: 8 + * + * @return ncm + **/ + @JsonProperty("ncm") + public String getNcm() { + return ncm; + } + + public void setNcm(String ncm) { + this.ncm = ncm; + } + + public DadosEmbarqueDesembarqueNavio ncm(String ncm) { + this.ncm = ncm; + return this; + } + /** * Indicador de carga solta.<br/>Domínio:<br/>true - Sim<br/>false - Não * @return cargaSolta @@ -882,7 +908,7 @@ public DadosEmbarqueDesembarqueNavio numeroLote(String numeroLote) { } /** - * Informar no caso de carregamento ou descarregamento de carga solta.<br/>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'. + * Informar no caso de carregamento ou descarregamento de carga solta.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'. * @return listaVolumes **/ @JsonProperty("listaVolumes") @@ -905,24 +931,24 @@ public DadosEmbarqueDesembarqueNavio addListaVolumesItem(DadosVolumeVerificado l } /** - * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...). <br/><br/>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'. + * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'tipoGranel', 'numeroConteiner', 'listaVolumes (quantidade/tipo)', 'listaChassi.chassi'. * @return listaChassi **/ @JsonProperty("listaChassi") - public List getListaChassi() { + public List getListaChassi() { return listaChassi; } - public void setListaChassi(List listaChassi) { + public void setListaChassi(List listaChassi) { this.listaChassi = listaChassi; } - public DadosEmbarqueDesembarqueNavio listaChassi(List listaChassi) { + public DadosEmbarqueDesembarqueNavio listaChassi(List listaChassi) { this.listaChassi = listaChassi; return this; } - public DadosEmbarqueDesembarqueNavio addListaChassiItem(DadosDoChassi listaChassiItem) { + public DadosEmbarqueDesembarqueNavio addListaChassiItem(DadosDoChassiEmbarque listaChassiItem) { this.listaChassi.add(listaChassiItem); return this; } @@ -1158,6 +1184,7 @@ public String toString() { " pesoArqueacao: " + toIndentedString(pesoArqueacao) + "\n" + " tipoGranel: " + toIndentedString(tipoGranel) + "\n" + " volume: " + toIndentedString(volume) + "\n" + + " ncm: " + toIndentedString(ncm) + "\n" + " cargaSolta: " + toIndentedString(cargaSolta) + "\n" + " numeroLote: " + toIndentedString(numeroLote) + "\n" + " listaVolumes: " + toIndentedString(listaVolumes) + "\n" + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosGeraoLote.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosGeraoLote.java index dae196e..4d59839 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosGeraoLote.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosGeraoLote.java @@ -17,7 +17,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosGeraoLote", propOrder = - {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "numeroManifesto", "tipoManifesto", "numeroConhecimentoMAWB", "numeroConhecimento", "tipoConhecimento", "numeroRUC", "declaracaoAduaneira", "listaNfe", "listaMalas", "cnpjResponsavelAnterior", "codigoRecintoOrigem", "pesoManifesto", "listaVolumesManifesto", "numeroConteiner", "identificacaoUld", "listaChassi", "navio", "iataAeronave", "prefixoAeronave", "viagem", "escala", "aeroportoOrigem", "placaSemirreboque", "listaMercadoriaPerigosa", "perecivel", "cargaSolta", "indicadorDeRemessaInternacional", "listaCameras", "observacaoRecepcao", "lotes" + {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "placa", "listaNfe", "declaracaoAduaneira", "listaDeclaracaoAduaneira", "numeroManifesto", "tipoManifesto", "numeroConhecimentoMAWB", "numeroConhecimento", "tipoConhecimento", "numeroRUC", "listaMalas", "cnpjResponsavelAnterior", "codigoRecintoOrigem", "pesoManifesto", "listaVolumesManifesto", "numeroConteiner", "identificacaoUld", "listaChassi", "navio", "iataAeronave", "prefixoAeronave", "viagem", "escala", "aeroportoOrigem", "placaSemirreboque", "listaMercadoriaPerigosa", "perecivel", "cargaSolta", "areaCargaSolta", "indicadorDeRemessaInternacional", "listaCameras", "observacaoRecepcao", "lotes" }) @XmlRootElement(name = "DadosGeraoLote") @@ -129,6 +129,34 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String codigoRecinto = null; + @XmlElement(name = "placa") + @ApiModelProperty(value = "Placa do Veículo (Cavalo-trator/truck/automóvel/locomotiva). Pode ser nulo quando o evento for de exclusão.
    Tamanho: 50") + /** + * Placa do Veículo (Cavalo-trator/truck/automóvel/locomotiva). Pode ser nulo quando o evento for de exclusão.
    Tamanho: 50 + **/ + private String placa = null; + + @XmlElement(name = "listaNfe") + @ApiModelProperty(value = "Lista de chaves das NFE que amparam o transporte.") + @Valid + /** + * Lista de chaves das NFE que amparam o transporte. + **/ + private List listaNfe = null; + + @XmlElement(name = "declaracaoAduaneira") + @ApiModelProperty(value = "") + @Valid + private DeclaraoAduaneira declaracaoAduaneira = null; + + @XmlElement(name = "listaDeclaracaoAduaneira") + @ApiModelProperty(value = "Lista de declarações aduaneiras associadas à carga (art. 17A, IN rfb 1702)") + @Valid + /** + * Lista de declarações aduaneiras associadas à carga (art. 17A, IN rfb 1702) + **/ + private List listaDeclaracaoAduaneira = null; + @XmlElement(name = "numeroManifesto") @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto. No caso de MDF-e informar a chave de acesso.
    Tamanho: 100") /** @@ -218,19 +246,6 @@ public static TipoManifestoEnum fromValue(String v) { **/ private String numeroRUC = null; - @XmlElement(name = "declaracaoAduaneira") - @ApiModelProperty(value = "") - @Valid - private DeclaraoAduaneira declaracaoAduaneira = null; - - @XmlElement(name = "listaNfe") - @ApiModelProperty(value = "Lista de chaves das NFE que amparam o transporte.") - @Valid - /** - * Lista de chaves das NFE que amparam o transporte. - **/ - private List listaNfe = null; - @XmlElement(name = "listaMalas") @ApiModelProperty(value = "Lista com as malas postais. Utilizar apenas para remessa postal internacional.") @Valid @@ -289,7 +304,7 @@ public static TipoManifestoEnum fromValue(String v) { /** * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).

    Tamanho: 50 **/ - private List listaChassi = null; + private List listaChassi = null; @XmlElement(name = "navio") @ApiModelProperty(value = "") @@ -332,9 +347,9 @@ public static TipoManifestoEnum fromValue(String v) { private String aeroportoOrigem = null; @XmlElement(name = "placaSemirreboque") - @ApiModelProperty(value = "Placa semirreboque/vagão
    Tamanho: 50Placa semirreboque/vagão.") + @ApiModelProperty(value = "Placa semirreboque/vagão.
    Tamanho: 50") /** - * Placa semirreboque/vagão
    Tamanho: 50Placa semirreboque/vagão. + * Placa semirreboque/vagão.
    Tamanho: 50 **/ private String placaSemirreboque = null; @@ -360,6 +375,13 @@ public static TipoManifestoEnum fromValue(String v) { **/ private Boolean cargaSolta = null; + @XmlElement(name = "areaCargaSolta", required = true) + @ApiModelProperty(required = true, value = "Identificação da área de controle de carga solta. Usar o protocolo do evento de georreferenciamento.
    Tamanho: 36") + /** + * Identificação da área de controle de carga solta. Usar o protocolo do evento de georreferenciamento.
    Tamanho: 36 + **/ + private String areaCargaSolta = null; + @XmlType(name = "IndicadorDeRemessaInternacionalEnum") @XmlEnum(String.class) @@ -608,6 +630,92 @@ public DadosGeraoLote codigoRecinto(String codigoRecinto) { return this; } + /** + * Placa do Veículo (Cavalo-trator/truck/automóvel/locomotiva). Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 50 + * + * @return placa + **/ + @JsonProperty("placa") + public String getPlaca() { + return placa; + } + + public void setPlaca(String placa) { + this.placa = placa; + } + + public DadosGeraoLote placa(String placa) { + this.placa = placa; + return this; + } + + /** + * Lista de chaves das NFE que amparam o transporte. + * + * @return listaNfe + **/ + @JsonProperty("listaNfe") + public List getListaNfe() { + return listaNfe; + } + + public void setListaNfe(List listaNfe) { + this.listaNfe = listaNfe; + } + + public DadosGeraoLote listaNfe(List listaNfe) { + this.listaNfe = listaNfe; + return this; + } + + public DadosGeraoLote addListaNfeItem(DadosDaNotaFiscalEmbarqueDesembarque listaNfeItem) { + this.listaNfe.add(listaNfeItem); + return this; + } + + /** + * Get declaracaoAduaneira + * + * @return declaracaoAduaneira + **/ + @JsonProperty("declaracaoAduaneira") + public DeclaraoAduaneira getDeclaracaoAduaneira() { + return declaracaoAduaneira; + } + + public void setDeclaracaoAduaneira(DeclaraoAduaneira declaracaoAduaneira) { + this.declaracaoAduaneira = declaracaoAduaneira; + } + + public DadosGeraoLote declaracaoAduaneira(DeclaraoAduaneira declaracaoAduaneira) { + this.declaracaoAduaneira = declaracaoAduaneira; + return this; + } + + /** + * Lista de declarações aduaneiras associadas à carga (art. 17A, IN rfb 1702) + * + * @return listaDeclaracaoAduaneira + **/ + @JsonProperty("listaDeclaracaoAduaneira") + public List getListaDeclaracaoAduaneira() { + return listaDeclaracaoAduaneira; + } + + public void setListaDeclaracaoAduaneira(List listaDeclaracaoAduaneira) { + this.listaDeclaracaoAduaneira = listaDeclaracaoAduaneira; + } + + public DadosGeraoLote listaDeclaracaoAduaneira(List listaDeclaracaoAduaneira) { + this.listaDeclaracaoAduaneira = listaDeclaracaoAduaneira; + return this; + } + + public DadosGeraoLote addListaDeclaracaoAduaneiraItem(DocumentoAduaneiro listaDeclaracaoAduaneiraItem) { + this.listaDeclaracaoAduaneira.add(listaDeclaracaoAduaneiraItem); + return this; + } + /** * Número do Manifesto. No caso de MDF-e informar a chave de acesso.<br/>Tamanho: 100 * @return numeroManifesto @@ -628,7 +736,6 @@ public DadosGeraoLote numeroManifesto(String numeroManifesto) { /** * Tipo do manifesto conforme tabela de domínio.<br/>Domínio:<br/>MICDTA - MicDTA<br/>TIFDTA - TifDTA<br/>MDFE - MDF-e<br/>MELET - Manifesto Eletrônico - * * @return tipoManifesto **/ @JsonProperty("tipoManifesto") @@ -650,7 +757,6 @@ public DadosGeraoLote tipoManifesto(TipoManifestoEnum tipoManifesto) { /** * Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo. <br/>Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio. <br/>Quando se tratar de um HAWB, este campo deve ser preenchido com o MASTER (inclusive nos casos de remessa) e o campo 'Conhecimento de carga' <br/> deve ser preenchido com o HOUSE.<br/>Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".<br/>Tamanho: 100 - * * @return numeroConhecimentoMAWB **/ @JsonProperty("numeroConhecimentoMAWB") @@ -721,47 +827,6 @@ public DadosGeraoLote numeroRUC(String numeroRUC) { return this; } - /** - * Get declaracaoAduaneira - * @return declaracaoAduaneira - **/ - @JsonProperty("declaracaoAduaneira") - public DeclaraoAduaneira getDeclaracaoAduaneira() { - return declaracaoAduaneira; - } - - public void setDeclaracaoAduaneira(DeclaraoAduaneira declaracaoAduaneira) { - this.declaracaoAduaneira = declaracaoAduaneira; - } - - public DadosGeraoLote declaracaoAduaneira(DeclaraoAduaneira declaracaoAduaneira) { - this.declaracaoAduaneira = declaracaoAduaneira; - return this; - } - - /** - * Lista de chaves das NFE que amparam o transporte. - * @return listaNfe - **/ - @JsonProperty("listaNfe") - public List getListaNfe() { - return listaNfe; - } - - public void setListaNfe(List listaNfe) { - this.listaNfe = listaNfe; - } - - public DadosGeraoLote listaNfe(List listaNfe) { - this.listaNfe = listaNfe; - return this; - } - - public DadosGeraoLote addListaNfeItem(DadosDaNotaFiscalEmbarqueDesembarque listaNfeItem) { - this.listaNfe.add(listaNfeItem); - return this; - } - /** * Lista com as malas postais. Utilizar apenas para remessa postal internacional. * @return listaMalas @@ -841,7 +906,6 @@ public DadosGeraoLote pesoManifesto(BigDecimal pesoManifesto) { /** * Lista de Volumes Manifestados - * * @return listaVolumesManifesto **/ @JsonProperty("listaVolumesManifesto") @@ -904,20 +968,20 @@ public DadosGeraoLote identificacaoUld(String identificacaoUld) { * @return listaChassi **/ @JsonProperty("listaChassi") - public List getListaChassi() { + public List getListaChassi() { return listaChassi; } - public void setListaChassi(List listaChassi) { + public void setListaChassi(List listaChassi) { this.listaChassi = listaChassi; } - public DadosGeraoLote listaChassi(List listaChassi) { + public DadosGeraoLote listaChassi(List listaChassi) { this.listaChassi = listaChassi; return this; } - public DadosGeraoLote addListaChassiItem(DadosDoChassi listaChassiItem) { + public DadosGeraoLote addListaChassiItem(DadosDoChassiEmbarque listaChassiItem) { this.listaChassi.add(listaChassiItem); return this; } @@ -1031,7 +1095,7 @@ public DadosGeraoLote aeroportoOrigem(String aeroportoOrigem) { } /** - * Placa semirreboque/vagão<br/>Tamanho: 50Placa semirreboque/vagão. + * Placa semirreboque/vagão.<br/>Tamanho: 50 * @return placaSemirreboque **/ @JsonProperty("placaSemirreboque") @@ -1050,7 +1114,6 @@ public DadosGeraoLote placaSemirreboque(String placaSemirreboque) { /** * Lista de códigos da mercadoria perigosa. - * * @return listaMercadoriaPerigosa **/ @JsonProperty("listaMercadoriaPerigosa") @@ -1108,6 +1171,26 @@ public DadosGeraoLote cargaSolta(Boolean cargaSolta) { return this; } + /** + * Identificação da área de controle de carga solta. Usar o protocolo do evento de georreferenciamento.<br/>Tamanho: 36 + * + * @return areaCargaSolta + **/ + @JsonProperty("areaCargaSolta") + @NotNull + public String getAreaCargaSolta() { + return areaCargaSolta; + } + + public void setAreaCargaSolta(String areaCargaSolta) { + this.areaCargaSolta = areaCargaSolta; + } + + public DadosGeraoLote areaCargaSolta(String areaCargaSolta) { + this.areaCargaSolta = areaCargaSolta; + return this; + } + /** * Indicador de remessa internacional expressa ou postal.<br/>Domínio:<br/>E - EXPRESSA<br/>P - POSTAL * @@ -1208,14 +1291,16 @@ public String toString() { " protocoloEventoRetificadoOuExcluido: " + toIndentedString(protocoloEventoRetificadoOuExcluido) + "\n" + " contingencia: " + toIndentedString(contingencia) + "\n" + " codigoRecinto: " + toIndentedString(codigoRecinto) + "\n" + + " placa: " + toIndentedString(placa) + "\n" + + " listaNfe: " + toIndentedString(listaNfe) + "\n" + + " declaracaoAduaneira: " + toIndentedString(declaracaoAduaneira) + "\n" + + " listaDeclaracaoAduaneira: " + toIndentedString(listaDeclaracaoAduaneira) + "\n" + " numeroManifesto: " + toIndentedString(numeroManifesto) + "\n" + " tipoManifesto: " + toIndentedString(tipoManifesto) + "\n" + " numeroConhecimentoMAWB: " + toIndentedString(numeroConhecimentoMAWB) + "\n" + " numeroConhecimento: " + toIndentedString(numeroConhecimento) + "\n" + " tipoConhecimento: " + toIndentedString(tipoConhecimento) + "\n" + " numeroRUC: " + toIndentedString(numeroRUC) + "\n" + - " declaracaoAduaneira: " + toIndentedString(declaracaoAduaneira) + "\n" + - " listaNfe: " + toIndentedString(listaNfe) + "\n" + " listaMalas: " + toIndentedString(listaMalas) + "\n" + " cnpjResponsavelAnterior: " + toIndentedString(cnpjResponsavelAnterior) + "\n" + " codigoRecintoOrigem: " + toIndentedString(codigoRecintoOrigem) + "\n" + @@ -1234,6 +1319,7 @@ public String toString() { " listaMercadoriaPerigosa: " + toIndentedString(listaMercadoriaPerigosa) + "\n" + " perecivel: " + toIndentedString(perecivel) + "\n" + " cargaSolta: " + toIndentedString(cargaSolta) + "\n" + + " areaCargaSolta: " + toIndentedString(areaCargaSolta) + "\n" + " indicadorDeRemessaInternacional: " + toIndentedString(indicadorDeRemessaInternacional) + "\n" + " listaCameras: " + toIndentedString(listaCameras) + "\n" + " observacaoRecepcao: " + toIndentedString(observacaoRecepcao) + "\n" + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosImagemScanner.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosImagemScanner.java index 09376b0..242fed4 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosImagemScanner.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosImagemScanner.java @@ -53,10 +53,10 @@ public class DadosImagemScanner { private String tipoArquivo = null; @XmlElement(name = "listaCoordenadasAlerta") - @ApiModelProperty(value = "Lista de coordenadas de alerta no formato (x, y, x2, y2) para marcar o alerta. Trata-se dos alertas desenhados pelo operador de scanner na imagem.") + @ApiModelProperty(value = "Lista de coordenadas de alerta no formato (x, y, x2, y2) para marcar o alerta. Trata-se dos alertas desenhados pelo operador de scanner na imagem.Os pontos (x, y, x2, y2) devem ser proporcionais ao tamanho (dimensões), em pixels, do arquivo de imagem enviado. Considerar o “x” (largura) e “y” (altura) do plano cartesiano.") @Valid /** - * Lista de coordenadas de alerta no formato (x, y, x2, y2) para marcar o alerta. Trata-se dos alertas desenhados pelo operador de scanner na imagem. + * Lista de coordenadas de alerta no formato (x, y, x2, y2) para marcar o alerta. Trata-se dos alertas desenhados pelo operador de scanner na imagem.Os pontos (x, y, x2, y2) devem ser proporcionais ao tamanho (dimensões), em pixels, do arquivo de imagem enviado. Considerar o “x” (largura) e “y” (altura) do plano cartesiano. **/ private List listaCoordenadasAlerta = null; @@ -151,7 +151,7 @@ public DadosImagemScanner tipoArquivo(String tipoArquivo) { } /** - * Lista de coordenadas de alerta no formato (x, y, x2, y2) para marcar o alerta. Trata-se dos alertas desenhados pelo operador de scanner na imagem. + * Lista de coordenadas de alerta no formato (x, y, x2, y2) para marcar o alerta. Trata-se dos alertas desenhados pelo operador de scanner na imagem.Os pontos (x, y, x2, y2) devem ser proporcionais ao tamanho (dimensões), em pixels, do arquivo de imagem enviado. Considerar o “x” (largura) e “y” (altura) do plano cartesiano. * * @return listaCoordenadasAlerta **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosIndisponibilidadeEquipamento.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosIndisponibilidadeEquipamento.java index ae5c238..27b4c31 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosIndisponibilidadeEquipamento.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosIndisponibilidadeEquipamento.java @@ -147,8 +147,8 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String dataHoraPrevisaoDisponibilidade = null; - @XmlElement(name = "motivoIndisponibilidade") - @ApiModelProperty(value = "Motivo da indisponibilidade
    Tamanho: 100") + @XmlElement(name = "motivoIndisponibilidade", required = true) + @ApiModelProperty(required = true, value = "Motivo da indisponibilidade
    Tamanho: 100") /** * Motivo da indisponibilidade
    Tamanho: 100 **/ @@ -396,6 +396,7 @@ public DadosIndisponibilidadeEquipamento dataHoraPrevisaoDisponibilidade(String * @return motivoIndisponibilidade **/ @JsonProperty("motivoIndisponibilidade") + @NotNull public String getMotivoIndisponibilidade() { return motivoIndisponibilidade; } diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosInformaoBloqueioDesbloqueioVeculoCarga.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosInformaoBloqueioDesbloqueioVeculoCarga.java index 0641fef..372ccb3 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosInformaoBloqueioDesbloqueioVeculoCarga.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosInformaoBloqueioDesbloqueioVeculoCarga.java @@ -167,8 +167,8 @@ public static StatusEnum fromValue(String v) { } } - @XmlElement(name = "status") - @ApiModelProperty(example = "B", value = "Informar bloqueio ou desbloqueio.
    Domínio:
    B - Bloqueio
    D - Desbloqueio") + @XmlElement(name = "status", required = true) + @ApiModelProperty(example = "B", required = true, value = "Informar bloqueio ou desbloqueio.
    Domínio:
    B - Bloqueio
    D - Desbloqueio") /** * Informar bloqueio ou desbloqueio.
    Domínio:
    B - Bloqueio
    D - Desbloqueio **/ @@ -299,8 +299,8 @@ public static TipoManifestoEnum fromValue(String v) { **/ private List listaLotes = null; - @XmlElement(name = "solicitante") - @ApiModelProperty(example = "ANCINE", value = "Indicar qual o interveniente que solicitou o bloqueio ou desbloqueio. Conforme tabelas de domínio Órgão ou Solicitante disponíveis no Portal Único Siscomex.") + @XmlElement(name = "solicitante", required = true) + @ApiModelProperty(example = "ANCINE", required = true, value = "Indicar qual o interveniente que solicitou o bloqueio ou desbloqueio. Conforme tabelas de domínio Órgão ou Solicitante disponíveis no Portal Único Siscomex.") /** * Indicar qual o interveniente que solicitou o bloqueio ou desbloqueio. Conforme tabelas de domínio Órgão ou Solicitante disponíveis no Portal Único Siscomex. **/ @@ -313,8 +313,8 @@ public static TipoManifestoEnum fromValue(String v) { **/ private String setorSolicitante = null; - @XmlElement(name = "motivo") - @ApiModelProperty(value = "Motivação do bloqueio ou desbloqueio.
    Tamanho: 100") + @XmlElement(name = "motivo", required = true) + @ApiModelProperty(required = true, value = "Motivação do bloqueio ou desbloqueio.
    Tamanho: 100") /** * Motivação do bloqueio ou desbloqueio.
    Tamanho: 100 **/ @@ -505,6 +505,7 @@ public DadosInformaoBloqueioDesbloqueioVeculoCarga codigoRecinto(String codigoRe * @return status **/ @JsonProperty("status") + @NotNull public String getStatus() { if (status == null) { return null; @@ -733,6 +734,7 @@ public DadosInformaoBloqueioDesbloqueioVeculoCarga addListaLotesItem(DadosDaIden * @return solicitante **/ @JsonProperty("solicitante") + @NotNull public String getSolicitante() { return solicitante; } @@ -769,6 +771,7 @@ public DadosInformaoBloqueioDesbloqueioVeculoCarga setorSolicitante(String setor * @return motivo **/ @JsonProperty("motivo") + @NotNull public String getMotivo() { return motivo; } diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosLocalizaoArmazenamentoLote.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosLocalizaoArmazenamentoLote.java index 457caea..661a126 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosLocalizaoArmazenamentoLote.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosLocalizaoArmazenamentoLote.java @@ -18,42 +18,42 @@ public class DadosLocalizaoArmazenamentoLote { @XmlElement(name = "box") - @ApiModelProperty(value = "Box
    Tamanho: 100") + @ApiModelProperty(value = "Box
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.
    Tamanho: 100") /** - * Box
    Tamanho: 100 + * Box
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.
    Tamanho: 100 **/ private String box = null; @XmlElement(name = "estante") - @ApiModelProperty(value = "Estante
    Tamanho: 20") + @ApiModelProperty(value = "Estante
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.
    Tamanho: 20") /** - * Estante
    Tamanho: 20 + * Estante
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.
    Tamanho: 20 **/ private String estante = null; @XmlElement(name = "prateleira") - @ApiModelProperty(value = "Prateleira
    Tamanho: 20") + @ApiModelProperty(value = "Prateleira
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.
    Tamanho: 20") /** - * Prateleira
    Tamanho: 20 + * Prateleira
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.
    Tamanho: 20 **/ private String prateleira = null; @XmlElement(name = "rua") - @ApiModelProperty(value = "Rua
    Tamanho: 100") + @ApiModelProperty(value = "Rua
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.
    Tamanho: 100") /** - * Rua
    Tamanho: 100 + * Rua
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.
    Tamanho: 100 **/ private String rua = null; @XmlElement(name = "setor") - @ApiModelProperty(value = "Setor
    Tamanho: 100") + @ApiModelProperty(value = "Setor
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.
    Tamanho: 100") /** - * Setor
    Tamanho: 100 + * Setor
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.
    Tamanho: 100 **/ private String setor = null; /** - * Box<br/>Tamanho: 100 + * Box<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.<br/>Tamanho: 100 * * @return box **/ @@ -72,7 +72,7 @@ public DadosLocalizaoArmazenamentoLote box(String box) { } /** - * Estante<br/>Tamanho: 20 + * Estante<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.<br/>Tamanho: 20 * * @return estante **/ @@ -91,7 +91,7 @@ public DadosLocalizaoArmazenamentoLote estante(String estante) { } /** - * Prateleira<br/>Tamanho: 20 + * Prateleira<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.<br/>Tamanho: 20 * * @return prateleira **/ @@ -110,7 +110,7 @@ public DadosLocalizaoArmazenamentoLote prateleira(String prateleira) { } /** - * Rua<br/>Tamanho: 100 + * Rua<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.<br/>Tamanho: 100 * * @return rua **/ @@ -129,7 +129,7 @@ public DadosLocalizaoArmazenamentoLote rua(String rua) { } /** - * Setor<br/>Tamanho: 100 + * Setor<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'setor', 'rua', 'estante', 'prateleira', 'box'.<br/>Tamanho: 100 * * @return setor **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosLocalizaoLote.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosLocalizaoLote.java index f58c382..25371a5 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosLocalizaoLote.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosLocalizaoLote.java @@ -18,35 +18,35 @@ public class DadosLocalizaoLote { @XmlElement(name = "altura") - @ApiModelProperty(value = "Altura
    Tamanho: 20") + @ApiModelProperty(value = "Altura
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'quadra', 'pilha', 'altura', 'fila'.
    Tamanho: 20") /** - * Altura
    Tamanho: 20 + * Altura
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'quadra', 'pilha', 'altura', 'fila'.
    Tamanho: 20 **/ private String altura = null; @XmlElement(name = "fila") - @ApiModelProperty(value = "Fila
    Tamanho: 20") + @ApiModelProperty(value = "Fila
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'quadra', 'pilha', 'altura', 'fila'.
    Tamanho: 20") /** - * Fila
    Tamanho: 20 + * Fila
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'quadra', 'pilha', 'altura', 'fila'.
    Tamanho: 20 **/ private String fila = null; @XmlElement(name = "pilha") - @ApiModelProperty(value = "Pilha
    Tamanho: 20") + @ApiModelProperty(value = "Pilha
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'quadra', 'pilha', 'altura', 'fila'.
    Tamanho: 20") /** - * Pilha
    Tamanho: 20 + * Pilha
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'quadra', 'pilha', 'altura', 'fila'.
    Tamanho: 20 **/ private String pilha = null; @XmlElement(name = "quadra") - @ApiModelProperty(value = "Quadra
    Tamanho: 20") + @ApiModelProperty(value = "Quadra
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'quadra', 'pilha', 'altura', 'fila'.
    Tamanho: 20") /** - * Quadra
    Tamanho: 20 + * Quadra
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'quadra', 'pilha', 'altura', 'fila'.
    Tamanho: 20 **/ private String quadra = null; /** - * Altura<br/>Tamanho: 20 + * Altura<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'quadra', 'pilha', 'altura', 'fila'.<br/>Tamanho: 20 * * @return altura **/ @@ -65,7 +65,7 @@ public DadosLocalizaoLote altura(String altura) { } /** - * Fila<br/>Tamanho: 20 + * Fila<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'quadra', 'pilha', 'altura', 'fila'.<br/>Tamanho: 20 * * @return fila **/ @@ -84,7 +84,7 @@ public DadosLocalizaoLote fila(String fila) { } /** - * Pilha<br/>Tamanho: 20 + * Pilha<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'quadra', 'pilha', 'altura', 'fila'.<br/>Tamanho: 20 * * @return pilha **/ @@ -103,7 +103,7 @@ public DadosLocalizaoLote pilha(String pilha) { } /** - * Quadra<br/>Tamanho: 20 + * Quadra<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'quadra', 'pilha', 'altura', 'fila'.<br/>Tamanho: 20 * * @return quadra **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosLote.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosLote.java index a1cef48..15f1047 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosLote.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosLote.java @@ -110,16 +110,16 @@ public class DadosLote { private BigDecimal pesoLoteBalanca = null; @XmlElement(name = "quantidadeVolumesAvariados") - @ApiModelProperty(example = "3", value = "Informar a quantidade de volumes avariados.
    É obrigatório que o atributo 'quantidadeVolumesAvariados' seja informado quando o atributo 'tipoAvaria' for informado.") + @ApiModelProperty(example = "3", value = "Informar a quantidade de volumes avariados.
    (!)
    É obrigatório que o atributo 'quantidadeVolumesAvariados' seja informado quando o atributo 'tipoAvaria' for informado.") /** - * Informar a quantidade de volumes avariados.
    É obrigatório que o atributo 'quantidadeVolumesAvariados' seja informado quando o atributo 'tipoAvaria' for informado. + * Informar a quantidade de volumes avariados.
    (!)
    É obrigatório que o atributo 'quantidadeVolumesAvariados' seja informado quando o atributo 'tipoAvaria' for informado. **/ private Integer quantidadeVolumesAvariados = null; @XmlElement(name = "quantidadeVolumesDivergentes") - @ApiModelProperty(example = "10", value = "Informar a quantidade de volumes divergentes.
    É obrigatório que o atributo 'quantidadeVolumesDivergentes' seja informado quando o atributo 'divergenciaQuantidade' for informado com 'true'.") + @ApiModelProperty(example = "10", value = "Informar a quantidade de volumes divergentes.
    (!)
    É obrigatório que o atributo 'quantidadeVolumesDivergentes' seja informado quando o atributo 'divergenciaQuantidade' for informado com 'true'.") /** - * Informar a quantidade de volumes divergentes.
    É obrigatório que o atributo 'quantidadeVolumesDivergentes' seja informado quando o atributo 'divergenciaQuantidade' for informado com 'true'. + * Informar a quantidade de volumes divergentes.
    (!)
    É obrigatório que o atributo 'quantidadeVolumesDivergentes' seja informado quando o atributo 'divergenciaQuantidade' for informado com 'true'. **/ private Integer quantidadeVolumesDivergentes = null; @@ -364,7 +364,7 @@ public DadosLote pesoLoteBalanca(BigDecimal pesoLoteBalanca) { } /** - * Informar a quantidade de volumes avariados. <br/>É obrigatório que o atributo 'quantidadeVolumesAvariados' seja informado quando o atributo 'tipoAvaria' for informado. + * Informar a quantidade de volumes avariados.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que o atributo 'quantidadeVolumesAvariados' seja informado quando o atributo 'tipoAvaria' for informado. * * @return quantidadeVolumesAvariados **/ @@ -383,7 +383,7 @@ public DadosLote quantidadeVolumesAvariados(Integer quantidadeVolumesAvariados) } /** - * Informar a quantidade de volumes divergentes. <br/>É obrigatório que o atributo 'quantidadeVolumesDivergentes' seja informado quando o atributo 'divergenciaQuantidade' for informado com 'true'. + * Informar a quantidade de volumes divergentes.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que o atributo 'quantidadeVolumesDivergentes' seja informado quando o atributo 'divergenciaQuantidade' for informado com 'true'. * * @return quantidadeVolumesDivergentes **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosMotorista.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosMotorista.java index 14d917c..b59c2e5 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosMotorista.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosMotorista.java @@ -12,23 +12,30 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosMotorista", propOrder = - {"cpf", "nome", "protocoloCredenciamento" + {"cpf", "identidadeEstrangeiro", "nome", "protocoloCredenciamento" }) @XmlRootElement(name = "DadosMotorista") public class DadosMotorista { @XmlElement(name = "cpf") - @ApiModelProperty(example = "55555555555", value = "CPF do motorista.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + @ApiModelProperty(example = "55555555555", value = "CPF do motorista.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'motorista.cpf', 'motorista.identidadeEstrangeiro', quando o atributo 'operacao' for informado com valor 'C'.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") /** - * CPF do motorista.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + * CPF do motorista.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'motorista.cpf', 'motorista.identidadeEstrangeiro', quando o atributo 'operacao' for informado com valor 'C'.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' **/ private String cpf = null; + @XmlElement(name = "identidadeEstrangeiro") + @ApiModelProperty(value = "Número do documento de estrangeiro. Informar apenas no caso de estrangeiro sem CPF. Usar o passaporte sempre que possível.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'motorista.cpf', 'motorista.identidadeEstrangeiro', quando o atributo 'operacao' for informado com valor 'C'.
    Tamanho: 50") + /** + * Número do documento de estrangeiro. Informar apenas no caso de estrangeiro sem CPF. Usar o passaporte sempre que possível.
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: 'motorista.cpf', 'motorista.identidadeEstrangeiro', quando o atributo 'operacao' for informado com valor 'C'.
    Tamanho: 50 + **/ + private String identidadeEstrangeiro = null; + @XmlElement(name = "nome", required = true) - @ApiModelProperty(required = true, value = "Nome do motorista. Obrigatório em eventos \"operacao=C (Acesso)\". Pode ser nulo quando o evento for de exclusão.
    Tamanho: 100") + @ApiModelProperty(required = true, value = "Nome do motorista.
    (!)
    Obrigatório em eventos \"operacao=C (Acesso)\". Pode ser nulo quando o evento for de exclusão.
    Tamanho: 100") /** - * Nome do motorista. Obrigatório em eventos \"operacao=C (Acesso)\". Pode ser nulo quando o evento for de exclusão.
    Tamanho: 100 + * Nome do motorista.
    (!)
    Obrigatório em eventos \"operacao=C (Acesso)\". Pode ser nulo quando o evento for de exclusão.
    Tamanho: 100 **/ private String nome = null; @@ -40,7 +47,7 @@ public class DadosMotorista { private String protocoloCredenciamento = null; /** - * CPF do motorista.<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' + * CPF do motorista.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'motorista.cpf', 'motorista.identidadeEstrangeiro', quando o atributo 'operacao' for informado com valor 'C'.<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' * * @return cpf **/ @@ -59,7 +66,26 @@ public DadosMotorista cpf(String cpf) { } /** - * Nome do motorista. Obrigatório em eventos \"operacao=C (Acesso)\". Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 100 + * Número do documento de estrangeiro. Informar apenas no caso de estrangeiro sem CPF. Usar o passaporte sempre que possível.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: 'motorista.cpf', 'motorista.identidadeEstrangeiro', quando o atributo 'operacao' for informado com valor 'C'.<br/>Tamanho: 50 + * + * @return identidadeEstrangeiro + **/ + @JsonProperty("identidadeEstrangeiro") + public String getIdentidadeEstrangeiro() { + return identidadeEstrangeiro; + } + + public void setIdentidadeEstrangeiro(String identidadeEstrangeiro) { + this.identidadeEstrangeiro = identidadeEstrangeiro; + } + + public DadosMotorista identidadeEstrangeiro(String identidadeEstrangeiro) { + this.identidadeEstrangeiro = identidadeEstrangeiro; + return this; + } + + /** + * Nome do motorista.<font color=\"red\"><strong><br/>(!)</strong></font>Obrigatório em eventos \"operacao=C (Acesso)\". Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 100 * * @return nome **/ @@ -103,6 +129,7 @@ public String toString() { String sb = "class DadosMotorista {\n" + " cpf: " + toIndentedString(cpf) + "\n" + + " identidadeEstrangeiro: " + toIndentedString(identidadeEstrangeiro) + "\n" + " nome: " + toIndentedString(nome) + "\n" + " protocoloCredenciamento: " + toIndentedString(protocoloCredenciamento) + "\n" + "}"; diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavioAgenda.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavioAgenda.java new file mode 100644 index 0000000..2472e12 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavioAgenda.java @@ -0,0 +1,92 @@ +package br.gov.siscomex.portalunico.rcnt.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosNavioAgenda", propOrder = + { "imo", "nome" +}) + +@XmlRootElement(name="DadosNavioAgenda") +public class DadosNavioAgenda { + + @XmlElement(name="imo") + @ApiModelProperty(value = "Código IMO do navio de embarque ou desembarque da carga conforme tabela de domínio EMBARCAÇÃO disponível no acesso público do sistema Mercante Pode ser nulo quando o evento for de exclusão.
    (!)
    É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')
    Tamanho: 10") + /** + * Código IMO do navio de embarque ou desembarque da carga conforme tabela de domínio EMBARCAÇÃO disponível no acesso público do sistema Mercante Pode ser nulo quando o evento for de exclusão.
    (!)
    É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')
    Tamanho: 10 + **/ + private String imo = null; + + @XmlElement(name="nome") + @ApiModelProperty(value = "Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.
    (!)
    É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')
    Tamanho: 100") + /** + * Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.
    (!)
    É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')
    Tamanho: 100 + **/ + private String nome = null; + /** + * Código IMO do navio de embarque ou desembarque da carga conforme tabela de domínio EMBARCAÇÃO disponível no acesso público do sistema <a href=https://www.mercante.transportes.gov.br/g36127/servlet/serpro.siscomex.mercante.servlet.MercanteController rel=\"noopener noreferrer\" target=\"_blank\">Mercante</a> Pode ser nulo quando o evento for de exclusão.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')<br/>Tamanho: 10 + * @return imo + **/ + @JsonProperty("imo") + public String getImo() { + return imo; + } + + public void setImo(String imo) { + this.imo = imo; + } + + public DadosNavioAgenda imo(String imo) { + this.imo = imo; + return this; + } + + /** + * Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o valor para pelo menos um dos seguintes grupos de atributos: ('navio.imo', 'navio.nome' e 'escala') ou ('iataAeronave', 'prefixoAeronave' e 'voo')<br/>Tamanho: 100 + * @return nome + **/ + @JsonProperty("nome") + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public DadosNavioAgenda nome(String nome) { + this.nome = nome; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosNavioAgenda {\n"); + + sb.append(" imo: ").append(toIndentedString(imo)).append("\n"); + sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private static String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPesagemVeculo.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPesagemVeculo.java index 2865bf5..e9be7c0 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPesagemVeculo.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPesagemVeculo.java @@ -17,7 +17,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosPesagemVeculo", propOrder = - {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "listaManifestos", "listaNfe", "pesoBrutoManifesto", "placa", "tara", "listaSemirreboque", "taraConjunto", "listaConteineresUld", "pesoBrutoBalanca", "vazio", "capturaAutoPeso", "dutos", "correiasTransportadoras", "ncm", "volume", "balanca", "listaCameras" + {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "listaManifestos", "listaNfe", "pesoBrutoManifesto", "placa", "ocrPlaca", "tara", "listaSemirreboque", "taraConjunto", "listaConteineresUld", "pesoBrutoBalanca", "capturaAutoPeso", "vazio", "dutos", "correiasTransportadoras", "ncm", "volume", "balanca", "listaCameras" }) @XmlRootElement(name = "DadosPesagemVeculo") @@ -135,7 +135,7 @@ public static TipoOperacaoEnum fromValue(String v) { /** * Lista de manifestos. **/ - private List listaManifestos = null; + private List listaManifestos = null; @XmlElement(name = "listaNfe") @ApiModelProperty(value = "Lista de chaves das NFE que amparam o transporte.") @@ -146,25 +146,32 @@ public static TipoOperacaoEnum fromValue(String v) { private List listaNfe = null; @XmlElement(name = "pesoBrutoManifesto") - @ApiModelProperty(example = "15.5", value = "Peso bruto no manifesto (Kg). Informar o peso bruto manifestado para a carga ou unidade de carga pesada

    pesoBrutoManifesto, até 4 casas decimais.") + @ApiModelProperty(example = "15.5", value = "Peso bruto no manifesto (Kg). Informar o peso bruto manifestado para a carga ou unidade de carga pesada
    pesoBrutoManifesto, até 4 casas decimais.") @Valid /** - * Peso bruto no manifesto (Kg). Informar o peso bruto manifestado para a carga ou unidade de carga pesada

    pesoBrutoManifesto, até 4 casas decimais. + * Peso bruto no manifesto (Kg). Informar o peso bruto manifestado para a carga ou unidade de carga pesada
    pesoBrutoManifesto, até 4 casas decimais. **/ private BigDecimal pesoBrutoManifesto = null; @XmlElement(name = "placa") - @ApiModelProperty(value = "Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).

    Tamanho: 50") + @ApiModelProperty(value = "Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).
    Tamanho: 50") /** - * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).

    Tamanho: 50 + * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).
    Tamanho: 50 **/ private String placa = null; + @XmlElement(name = "ocrPlaca") + @ApiModelProperty(example = "false", value = "Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition).
    (!)
    É obrigatório informar o atributo 'ocrPlaca' quando o atributo 'placa' for informado.
    Domínio:
    true - Sim
    false - Não") + /** + * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition).
    (!)
    É obrigatório informar o atributo 'ocrPlaca' quando o atributo 'placa' for informado.
    Domínio:
    true - Sim
    false - Não + **/ + private Boolean ocrPlaca = null; + @XmlElement(name = "tara") - @ApiModelProperty(example = "15.5", value = "Tara do veículo. Para os casos em que a tara é aferida separadamente (cavalo/semireboque). Cadastro de taras comum no modal rodoviário.
    É obrigatório informar pelo menos um dos seguintes atributos: 'tara', 'taraConjunto' quando o atributo 'placa' estiver informado.

    tara, até 4 casas decimais.") + @ApiModelProperty(example = "15.5", value = "Tara do veículo. Para os casos em que a tara é aferida separadamente (cavalo/semireboque). Cadastro de taras comum no modal rodoviário.
    (!)
    É obrigatório informar pelo menos um dos seguintes atributos: 'tara', 'taraConjunto' quando o atributo 'placa' estiver informado.
    tara, até 4 casas decimais.") @Valid /** - * Tara do veículo. Para os casos em que a tara é aferida separadamente (cavalo/semireboque). Cadastro de taras comum no modal rodoviário.
    É obrigatório informar pelo menos um dos seguintes atributos: 'tara', 'taraConjunto' quando o atributo 'placa' estiver informado.

    tara, até 4 casas decimais. + * Tara do veículo. Para os casos em que a tara é aferida separadamente (cavalo/semireboque). Cadastro de taras comum no modal rodoviário.
    (!)
    É obrigatório informar pelo menos um dos seguintes atributos: 'tara', 'taraConjunto' quando o atributo 'placa' estiver informado.
    tara, até 4 casas decimais. **/ private BigDecimal tara = null; @@ -177,10 +184,10 @@ public static TipoOperacaoEnum fromValue(String v) { private List listaSemirreboque = null; @XmlElement(name = "taraConjunto") - @ApiModelProperty(example = "15.5", value = "Tara do conjunto. Para os casos em que a tara NÃO é aferida separadamente (cavalo/semirreboque). Comum no modal aquaviário e aéreo.
    É obrigatório informar pelo menos um dos seguintes atributos: 'tara', 'taraConjunto' quando o atributo 'placa' estiver informado.
    É obrigatório informar pelo menos um dos seguintes atributos: 'taraConjunto', 'listaSemirreboque.tara', quando o atributo 'listaSemirreboque.placa' estiver informado.

    taraConjunto, até 4 casas decimais.") + @ApiModelProperty(example = "15.5", value = "Tara do conjunto. Para os casos em que a tara NÃO é aferida separadamente (cavalo/semirreboque). Comum no modal aquaviário e aéreo.
    (!)
    É obrigatório informar pelo menos um dos seguintes atributos: 'tara', 'taraConjunto' quando o atributo 'placa' estiver informado.
    (!)
    É obrigatório informar pelo menos um dos seguintes atributos: 'taraConjunto', 'listaSemirreboque.tara', quando o atributo 'listaSemirreboque.placa' estiver informado.
    taraConjunto, até 4 casas decimais.") @Valid /** - * Tara do conjunto. Para os casos em que a tara NÃO é aferida separadamente (cavalo/semirreboque). Comum no modal aquaviário e aéreo.
    É obrigatório informar pelo menos um dos seguintes atributos: 'tara', 'taraConjunto' quando o atributo 'placa' estiver informado.
    É obrigatório informar pelo menos um dos seguintes atributos: 'taraConjunto', 'listaSemirreboque.tara', quando o atributo 'listaSemirreboque.placa' estiver informado.

    taraConjunto, até 4 casas decimais. + * Tara do conjunto. Para os casos em que a tara NÃO é aferida separadamente (cavalo/semirreboque). Comum no modal aquaviário e aéreo.
    (!)
    É obrigatório informar pelo menos um dos seguintes atributos: 'tara', 'taraConjunto' quando o atributo 'placa' estiver informado.
    (!)
    É obrigatório informar pelo menos um dos seguintes atributos: 'taraConjunto', 'listaSemirreboque.tara', quando o atributo 'listaSemirreboque.placa' estiver informado.
    taraConjunto, até 4 casas decimais. **/ private BigDecimal taraConjunto = null; @@ -193,20 +200,13 @@ public static TipoOperacaoEnum fromValue(String v) { private List listaConteineresUld = null; @XmlElement(name = "pesoBrutoBalanca") - @ApiModelProperty(example = "15.5", value = "Peso bruto da pesagem na balança (Kg).
    Especificamente no caso de dutos, transmitir o atributo com a soma das bateladas da balança de fluxo ao final da operação.
    É obrigatório informar o atributo 'pesoBrutoBalanca' quando o atributo 'volume' não for informado.

    pesoBrutoBalanca, até 4 casas decimais.") + @ApiModelProperty(example = "15.5", value = "Peso bruto da pesagem na balança (Kg).
    Especificamente no caso de dutos, transmitir o atributo com a soma das bateladas da balança de fluxo ao final da operação.
    (!)
    É obrigatório informar o atributo 'pesoBrutoBalanca' quando o atributo 'volume' não for informado.
    pesoBrutoBalanca, até 4 casas decimais.") @Valid /** - * Peso bruto da pesagem na balança (Kg).
    Especificamente no caso de dutos, transmitir o atributo com a soma das bateladas da balança de fluxo ao final da operação.
    É obrigatório informar o atributo 'pesoBrutoBalanca' quando o atributo 'volume' não for informado.

    pesoBrutoBalanca, até 4 casas decimais. + * Peso bruto da pesagem na balança (Kg).
    Especificamente no caso de dutos, transmitir o atributo com a soma das bateladas da balança de fluxo ao final da operação.
    (!)
    É obrigatório informar o atributo 'pesoBrutoBalanca' quando o atributo 'volume' não for informado.
    pesoBrutoBalanca, até 4 casas decimais. **/ private BigDecimal pesoBrutoBalanca = null; - @XmlElement(name = "vazio", required = true) - @ApiModelProperty(example = "false", required = true, value = "Indicar se é uma pesagem de veículo vazio. Pode ser nulo quando o evento for de exclusão.
    Domínio:
    true - Sim
    false - Não") - /** - * Indicar se é uma pesagem de veículo vazio. Pode ser nulo quando o evento for de exclusão.
    Domínio:
    true - Sim
    false - Não - **/ - private Boolean vazio = null; - @XmlElement(name = "capturaAutoPeso", required = true) @ApiModelProperty(example = "false", required = true, value = "Captura automática de peso. Indica se o peso foi obtido automaticamente, sem intervenção humana. Pode ser nulo quando o evento for de exclusão.
    Domínio:
    true - Sim
    false - Não") /** @@ -214,6 +214,13 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private Boolean capturaAutoPeso = null; + @XmlElement(name = "vazio", required = true) + @ApiModelProperty(example = "false", required = true, value = "Indicar se é uma pesagem de veículo vazio. Pode ser nulo quando o evento for de exclusão.
    Domínio:
    true - Sim
    false - Não") + /** + * Indicar se é uma pesagem de veículo vazio. Pode ser nulo quando o evento for de exclusão.
    Domínio:
    true - Sim
    false - Não + **/ + private Boolean vazio = null; + @XmlType(name = "DutosEnum") @XmlEnum(String.class) @@ -307,24 +314,24 @@ public static CorreiasTransportadorasEnum fromValue(String v) { private CorreiasTransportadorasEnum correiasTransportadoras = null; @XmlElement(name = "ncm") - @ApiModelProperty(value = "Informar a NCM da mercadoria que chegou ou saiu via dutos ou correia transportadora.
    Esta informação será prestada no caso de dutos ou correia transportadora pois há situações em que inexiste NFe ou conhecimento de carga ao final da operação de pesagem.
    É obrigatório informar o atributo 'ncm' quando pelo menos um dos seguintes atributos for informado: 'dutos', 'correiasTransportadoras'.
    Tamanho: 8") + @ApiModelProperty(value = "Informar a NCM da mercadoria que chegou ou saiu via dutos ou correia transportadora.
    Esta informação será prestada no caso de dutos ou correia transportadora pois há situações em que inexiste NFe ou conhecimento de carga ao final da operação de pesagem.
    (!)
    É obrigatório informar o atributo 'ncm' quando pelo menos um dos seguintes atributos for informado: 'dutos', 'correiasTransportadoras'.
    Tamanho: 8") /** - * Informar a NCM da mercadoria que chegou ou saiu via dutos ou correia transportadora.
    Esta informação será prestada no caso de dutos ou correia transportadora pois há situações em que inexiste NFe ou conhecimento de carga ao final da operação de pesagem.
    É obrigatório informar o atributo 'ncm' quando pelo menos um dos seguintes atributos for informado: 'dutos', 'correiasTransportadoras'.
    Tamanho: 8 + * Informar a NCM da mercadoria que chegou ou saiu via dutos ou correia transportadora.
    Esta informação será prestada no caso de dutos ou correia transportadora pois há situações em que inexiste NFe ou conhecimento de carga ao final da operação de pesagem.
    (!)
    É obrigatório informar o atributo 'ncm' quando pelo menos um dos seguintes atributos for informado: 'dutos', 'correiasTransportadoras'.
    Tamanho: 8 **/ private String ncm = null; @XmlElement(name = "volume") - @ApiModelProperty(example = "15.5", value = "Volume (metros cúbicos). Informar nos casos de granel líquido ou gasoso em que haja essa medição. Especificamente no caso de dutos transmitir o atributo com volume do fluxo ao final da operação.
    É obrigatório informar o atributo ‘volume’ quando o atributo ‘pesoBrutoBalanca’ não for informado.até 4 casas decimais.") + @ApiModelProperty(example = "15.5", value = "Volume (metros cúbicos). Informar nos casos de granel líquido ou gasoso em que haja essa medição. Especificamente no caso de dutos transmitir o atributo com volume do fluxo ao final da operação.
    (!)
    É obrigatório informar o atributo ‘volume’ quando o atributo ‘pesoBrutoBalanca’ não for informado.até 4 casas decimais.") @Valid /** - * Volume (metros cúbicos). Informar nos casos de granel líquido ou gasoso em que haja essa medição. Especificamente no caso de dutos transmitir o atributo com volume do fluxo ao final da operação.
    É obrigatório informar o atributo ‘volume’ quando o atributo ‘pesoBrutoBalanca’ não for informado.até 4 casas decimais. + * Volume (metros cúbicos). Informar nos casos de granel líquido ou gasoso em que haja essa medição. Especificamente no caso de dutos transmitir o atributo com volume do fluxo ao final da operação.
    (!)
    É obrigatório informar o atributo ‘volume’ quando o atributo ‘pesoBrutoBalanca’ não for informado.até 4 casas decimais. **/ private BigDecimal volume = null; @XmlElement(name = "balanca", required = true) - @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", required = true, value = "Identificação balança. Usar o protocolo do evento de georreferenciamento relativo à localização da balança. Pode ser nulo quando o evento for de exclusão.
    Tamanho: 36") + @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", required = true, value = "Identificação balança, medidor ou outro equipamento utilizado para quantificação. Usar o protocolo do evento de georreferenciamento relativo à localização do equipamento. Pode ser nulo quando o evento for de exclusão.
    Tamanho: 36") /** - * Identificação balança. Usar o protocolo do evento de georreferenciamento relativo à localização da balança. Pode ser nulo quando o evento for de exclusão.
    Tamanho: 36 + * Identificação balança, medidor ou outro equipamento utilizado para quantificação. Usar o protocolo do evento de georreferenciamento relativo à localização do equipamento. Pode ser nulo quando o evento for de exclusão.
    Tamanho: 36 **/ private String balanca = null; @@ -521,20 +528,20 @@ public DadosPesagemVeculo codigoRecinto(String codigoRecinto) { * @return listaManifestos **/ @JsonProperty("listaManifestos") - public List getListaManifestos() { + public List getListaManifestos() { return listaManifestos; } - public void setListaManifestos(List listaManifestos) { + public void setListaManifestos(List listaManifestos) { this.listaManifestos = listaManifestos; } - public DadosPesagemVeculo listaManifestos(List listaManifestos) { + public DadosPesagemVeculo listaManifestos(List listaManifestos) { this.listaManifestos = listaManifestos; return this; } - public DadosPesagemVeculo addListaManifestosItem(DadosDoManisfestoDaCarga listaManifestosItem) { + public DadosPesagemVeculo addListaManifestosItem(DadosDoManifestoDaCarga listaManifestosItem) { this.listaManifestos.add(listaManifestosItem); return this; } @@ -563,7 +570,7 @@ public DadosPesagemVeculo addListaNfeItem(DadosDaNotaFiscalEmbarqueDesembarque l } /** - * Peso bruto no manifesto (Kg). Informar o peso bruto manifestado para a carga ou unidade de carga pesada<br/><br/>pesoBrutoManifesto, até 4 casas decimais. + * Peso bruto no manifesto (Kg). Informar o peso bruto manifestado para a carga ou unidade de carga pesada<br/>pesoBrutoManifesto, até 4 casas decimais. * @return pesoBrutoManifesto **/ @JsonProperty("pesoBrutoManifesto") @@ -581,7 +588,7 @@ public DadosPesagemVeculo pesoBrutoManifesto(BigDecimal pesoBrutoManifesto) { } /** - * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva). <br/><br/>Tamanho: 50 + * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).<br/>Tamanho: 50 * @return placa **/ @JsonProperty("placa") @@ -599,7 +606,26 @@ public DadosPesagemVeculo placa(String placa) { } /** - * Tara do veículo. Para os casos em que a tara é aferida separadamente (cavalo/semireboque). Cadastro de taras comum no modal rodoviário.<br/>É obrigatório informar pelo menos um dos seguintes atributos: 'tara', 'taraConjunto' quando o atributo 'placa' estiver informado.<br/><br/>tara, até 4 casas decimais. + * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition).<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'ocrPlaca' quando o atributo 'placa' for informado.<br/>Domínio:<br/>true - Sim<br/>false - Não + * + * @return ocrPlaca + **/ + @JsonProperty("ocrPlaca") + public Boolean isOcrPlaca() { + return ocrPlaca; + } + + public void setOcrPlaca(Boolean ocrPlaca) { + this.ocrPlaca = ocrPlaca; + } + + public DadosPesagemVeculo ocrPlaca(Boolean ocrPlaca) { + this.ocrPlaca = ocrPlaca; + return this; + } + + /** + * Tara do veículo. Para os casos em que a tara é aferida separadamente (cavalo/semireboque). Cadastro de taras comum no modal rodoviário.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar pelo menos um dos seguintes atributos: 'tara', 'taraConjunto' quando o atributo 'placa' estiver informado.<br/>tara, até 4 casas decimais. * @return tara **/ @JsonProperty("tara") @@ -618,7 +644,6 @@ public DadosPesagemVeculo tara(BigDecimal tara) { /** * Lista de semirreboques ou vagões. Caso a pesagem seja por semirreboque ou por vagão, enviar um evento por pesagem. - * * @return listaSemirreboque **/ @JsonProperty("listaSemirreboque") @@ -641,7 +666,7 @@ public DadosPesagemVeculo addListaSemirreboqueItem(DadosSemirreboquePesagem list } /** - * Tara do conjunto. Para os casos em que a tara NÃO é aferida separadamente (cavalo/semirreboque). Comum no modal aquaviário e aéreo.<br/>É obrigatório informar pelo menos um dos seguintes atributos: 'tara', 'taraConjunto' quando o atributo 'placa' estiver informado.<br/>É obrigatório informar pelo menos um dos seguintes atributos: 'taraConjunto', 'listaSemirreboque.tara', quando o atributo 'listaSemirreboque.placa' estiver informado.<br/><br/>taraConjunto, até 4 casas decimais. + * Tara do conjunto. Para os casos em que a tara NÃO é aferida separadamente (cavalo/semirreboque). Comum no modal aquaviário e aéreo.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar pelo menos um dos seguintes atributos: 'tara', 'taraConjunto' quando o atributo 'placa' estiver informado.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar pelo menos um dos seguintes atributos: 'taraConjunto', 'listaSemirreboque.tara', quando o atributo 'listaSemirreboque.placa' estiver informado.<br/>taraConjunto, até 4 casas decimais. * @return taraConjunto **/ @JsonProperty("taraConjunto") @@ -683,7 +708,7 @@ public DadosPesagemVeculo addListaConteineresUldItem(DadosContinerUldPesagemVecu } /** - * Peso bruto da pesagem na balança (Kg).<br/>Especificamente no caso de dutos, transmitir o atributo com a soma das bateladas da balança de fluxo ao final da operação.<br/>É obrigatório informar o atributo 'pesoBrutoBalanca' quando o atributo 'volume' não for informado.<br/><br/>pesoBrutoBalanca, até 4 casas decimais. + * Peso bruto da pesagem na balança (Kg).<br/>Especificamente no caso de dutos, transmitir o atributo com a soma das bateladas da balança de fluxo ao final da operação.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'pesoBrutoBalanca' quando o atributo 'volume' não for informado.<br/>pesoBrutoBalanca, até 4 casas decimais. * @return pesoBrutoBalanca **/ @JsonProperty("pesoBrutoBalanca") @@ -701,40 +726,42 @@ public DadosPesagemVeculo pesoBrutoBalanca(BigDecimal pesoBrutoBalanca) { } /** - * Indicar se é uma pesagem de veículo vazio. Pode ser nulo quando o evento for de exclusão.<br/>Domínio:<br/>true - Sim<br/>false - Não - * @return vazio + * Captura automática de peso. Indica se o peso foi obtido automaticamente, sem intervenção humana. Pode ser nulo quando o evento for de exclusão.<br/>Domínio:<br/>true - Sim<br/>false - Não + * + * @return capturaAutoPeso **/ - @JsonProperty("vazio") + @JsonProperty("capturaAutoPeso") @NotNull - public Boolean isVazio() { - return vazio; + public Boolean isCapturaAutoPeso() { + return capturaAutoPeso; } - public void setVazio(Boolean vazio) { - this.vazio = vazio; + public void setCapturaAutoPeso(Boolean capturaAutoPeso) { + this.capturaAutoPeso = capturaAutoPeso; } - public DadosPesagemVeculo vazio(Boolean vazio) { - this.vazio = vazio; + public DadosPesagemVeculo capturaAutoPeso(Boolean capturaAutoPeso) { + this.capturaAutoPeso = capturaAutoPeso; return this; } /** - * Captura automática de peso. Indica se o peso foi obtido automaticamente, sem intervenção humana. Pode ser nulo quando o evento for de exclusão.<br/>Domínio:<br/>true - Sim<br/>false - Não - * @return capturaAutoPeso + * Indicar se é uma pesagem de veículo vazio. Pode ser nulo quando o evento for de exclusão.<br/>Domínio:<br/>true - Sim<br/>false - Não + * + * @return vazio **/ - @JsonProperty("capturaAutoPeso") + @JsonProperty("vazio") @NotNull - public Boolean isCapturaAutoPeso() { - return capturaAutoPeso; + public Boolean isVazio() { + return vazio; } - public void setCapturaAutoPeso(Boolean capturaAutoPeso) { - this.capturaAutoPeso = capturaAutoPeso; + public void setVazio(Boolean vazio) { + this.vazio = vazio; } - public DadosPesagemVeculo capturaAutoPeso(Boolean capturaAutoPeso) { - this.capturaAutoPeso = capturaAutoPeso; + public DadosPesagemVeculo vazio(Boolean vazio) { + this.vazio = vazio; return this; } @@ -782,7 +809,7 @@ public DadosPesagemVeculo correiasTransportadoras(CorreiasTransportadorasEnum co } /** - * Informar a NCM da mercadoria que chegou ou saiu via dutos ou correia transportadora.<br/>Esta informação será prestada no caso de dutos ou correia transportadora pois há situações em que inexiste NFe ou conhecimento de carga ao final da operação de pesagem.<br/>É obrigatório informar o atributo 'ncm' quando pelo menos um dos seguintes atributos for informado: 'dutos', 'correiasTransportadoras'.<br/>Tamanho: 8 + * Informar a NCM da mercadoria que chegou ou saiu via dutos ou correia transportadora.<br/>Esta informação será prestada no caso de dutos ou correia transportadora pois há situações em que inexiste NFe ou conhecimento de carga ao final da operação de pesagem.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'ncm' quando pelo menos um dos seguintes atributos for informado: 'dutos', 'correiasTransportadoras'.<br/>Tamanho: 8 * @return ncm **/ @JsonProperty("ncm") @@ -800,7 +827,7 @@ public DadosPesagemVeculo ncm(String ncm) { } /** - * Volume (metros cúbicos). Informar nos casos de granel líquido ou gasoso em que haja essa medição. Especificamente no caso de dutos transmitir o atributo com volume do fluxo ao final da operação.<br/> É obrigatório informar o atributo ‘volume’ quando o atributo ‘pesoBrutoBalanca’ não for informado.até 4 casas decimais. + * Volume (metros cúbicos). Informar nos casos de granel líquido ou gasoso em que haja essa medição. Especificamente no caso de dutos transmitir o atributo com volume do fluxo ao final da operação.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo ‘volume’ quando o atributo ‘pesoBrutoBalanca’ não for informado.até 4 casas decimais. * @return volume **/ @JsonProperty("volume") @@ -818,7 +845,7 @@ public DadosPesagemVeculo volume(BigDecimal volume) { } /** - * Identificação balança. Usar o protocolo do evento de georreferenciamento relativo à localização da balança. Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 36 + * Identificação balança, medidor ou outro equipamento utilizado para quantificação. Usar o protocolo do evento de georreferenciamento relativo à localização do equipamento. Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 36 * @return balanca **/ @JsonProperty("balanca") @@ -877,13 +904,14 @@ public String toString() { " listaNfe: " + toIndentedString(listaNfe) + "\n" + " pesoBrutoManifesto: " + toIndentedString(pesoBrutoManifesto) + "\n" + " placa: " + toIndentedString(placa) + "\n" + + " ocrPlaca: " + toIndentedString(ocrPlaca) + "\n" + " tara: " + toIndentedString(tara) + "\n" + " listaSemirreboque: " + toIndentedString(listaSemirreboque) + "\n" + " taraConjunto: " + toIndentedString(taraConjunto) + "\n" + " listaConteineresUld: " + toIndentedString(listaConteineresUld) + "\n" + " pesoBrutoBalanca: " + toIndentedString(pesoBrutoBalanca) + "\n" + - " vazio: " + toIndentedString(vazio) + "\n" + " capturaAutoPeso: " + toIndentedString(capturaAutoPeso) + "\n" + + " vazio: " + toIndentedString(vazio) + "\n" + " dutos: " + toIndentedString(dutos) + "\n" + " correiasTransportadoras: " + toIndentedString(correiasTransportadoras) + "\n" + " ncm: " + toIndentedString(ncm) + "\n" + @@ -903,6 +931,6 @@ private static String toIndentedString(java.lang.Object o) { return "null"; } return o.toString().replace("\n", "\n "); - } + } } diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPosioContiner.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPosioContiner.java index 9fae01a..7162ef3 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPosioContiner.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPosioContiner.java @@ -16,7 +16,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosPosioContiner", propOrder = - {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "numeroConteiner", "placaSemirreboque", "localizacao", "posicaoNavio", "conferenciaFisica", "solicitanteFisica", "avaria", "vazio", "areaConteiner", "listaCameras" + {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "numeroConteiner", "placa", "placaSemirreboque", "vazio", "listaNfe", "listaDeclaracaoAduaneira", "listaManifestos", "localizacao", "posicaoNavio", "conferenciaFisica", "solicitanteFisica", "avaria", "areaConteiner", "listaCameras" }) @XmlRootElement(name = "DadosPosioContiner") @@ -135,6 +135,13 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String numeroConteiner = null; + @XmlElement(name = "placa") + @ApiModelProperty(value = "Placa (Cavalo-trator/truck/locomotiva). Informar em caso de descarregamento.
    Tamanho: 50") + /** + * Placa (Cavalo-trator/truck/locomotiva). Informar em caso de descarregamento.
    Tamanho: 50 + **/ + private String placa = null; + @XmlElement(name = "placaSemirreboque") @ApiModelProperty(value = "Placa semirreboque/vagão. Informar em caso de descarregamento.
    Tamanho: 50") /** @@ -142,6 +149,37 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String placaSemirreboque = null; + @XmlElement(name = "vazio", required = true) + @ApiModelProperty(example = "false", required = true, value = "Vazio.
    Domínio:
    true - Sim
    false - Não") + /** + * Vazio.
    Domínio:
    true - Sim
    false - Não + **/ + private Boolean vazio = null; + + @XmlElement(name = "listaNfe") + @ApiModelProperty(value = "Lista de chaves das NFE que amparam o transporte.") + @Valid + /** + * Lista de chaves das NFE que amparam o transporte. + **/ + private List listaNfe = null; + + @XmlElement(name = "listaDeclaracaoAduaneira") + @ApiModelProperty(value = "Lista de declarações aduaneiras associadas à carga.") + @Valid + /** + * Lista de declarações aduaneiras associadas à carga. + **/ + private List listaDeclaracaoAduaneira = null; + + @XmlElement(name = "listaManifestos") + @ApiModelProperty(value = "Lista de manifestos.") + @Valid + /** + * Lista de manifestos. + **/ + private List listaManifestos = null; + @XmlElement(name = "localizacao") @ApiModelProperty(value = "") @Valid @@ -175,15 +213,8 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private Boolean avaria = null; - @XmlElement(name = "vazio") - @ApiModelProperty(example = "false", value = "Vazio.
    Domínio:
    true - Sim
    false - Não") - /** - * Vazio.
    Domínio:
    true - Sim
    false - Não - **/ - private Boolean vazio = null; - - @XmlElement(name = "areaConteiner") - @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", value = "Identificação da área de posicionamento do contêiner. Usar o protocolo do evento de georreferenciamento.
    Tamanho: 36") + @XmlElement(name = "areaConteiner", required = true) + @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", required = true, value = "Identificação da área de posicionamento do contêiner. Usar o protocolo do evento de georreferenciamento.
    Tamanho: 36") /** * Identificação da área de posicionamento do contêiner. Usar o protocolo do evento de georreferenciamento.
    Tamanho: 36 **/ @@ -396,6 +427,25 @@ public DadosPosioContiner numeroConteiner(String numeroConteiner) { return this; } + /** + * Placa (Cavalo-trator/truck/locomotiva). Informar em caso de descarregamento.<br/>Tamanho: 50 + * + * @return placa + **/ + @JsonProperty("placa") + public String getPlaca() { + return placa; + } + + public void setPlaca(String placa) { + this.placa = placa; + } + + public DadosPosioContiner placa(String placa) { + this.placa = placa; + return this; + } + /** * Placa semirreboque/vagão. Informar em caso de descarregamento. <br/>Tamanho: 50 * @return placaSemirreboque @@ -414,8 +464,101 @@ public DadosPosioContiner placaSemirreboque(String placaSemirreboque) { return this; } + /** + * Vazio.<br/>Domínio:<br/>true - Sim<br/>false - Não + * + * @return vazio + **/ + @JsonProperty("vazio") + @NotNull + public Boolean isVazio() { + return vazio; + } + + public void setVazio(Boolean vazio) { + this.vazio = vazio; + } + + public DadosPosioContiner vazio(Boolean vazio) { + this.vazio = vazio; + return this; + } + + /** + * Lista de chaves das NFE que amparam o transporte. + * + * @return listaNfe + **/ + @JsonProperty("listaNfe") + public List getListaNfe() { + return listaNfe; + } + + public void setListaNfe(List listaNfe) { + this.listaNfe = listaNfe; + } + + public DadosPosioContiner listaNfe(List listaNfe) { + this.listaNfe = listaNfe; + return this; + } + + public DadosPosioContiner addListaNfeItem(DadosDaNotaFiscal listaNfeItem) { + this.listaNfe.add(listaNfeItem); + return this; + } + + /** + * Lista de declarações aduaneiras associadas à carga. + * + * @return listaDeclaracaoAduaneira + **/ + @JsonProperty("listaDeclaracaoAduaneira") + public List getListaDeclaracaoAduaneira() { + return listaDeclaracaoAduaneira; + } + + public void setListaDeclaracaoAduaneira(List listaDeclaracaoAduaneira) { + this.listaDeclaracaoAduaneira = listaDeclaracaoAduaneira; + } + + public DadosPosioContiner listaDeclaracaoAduaneira(List listaDeclaracaoAduaneira) { + this.listaDeclaracaoAduaneira = listaDeclaracaoAduaneira; + return this; + } + + public DadosPosioContiner addListaDeclaracaoAduaneiraItem(DocumentoAduaneiro listaDeclaracaoAduaneiraItem) { + this.listaDeclaracaoAduaneira.add(listaDeclaracaoAduaneiraItem); + return this; + } + + /** + * Lista de manifestos. + * + * @return listaManifestos + **/ + @JsonProperty("listaManifestos") + public List getListaManifestos() { + return listaManifestos; + } + + public void setListaManifestos(List listaManifestos) { + this.listaManifestos = listaManifestos; + } + + public DadosPosioContiner listaManifestos(List listaManifestos) { + this.listaManifestos = listaManifestos; + return this; + } + + public DadosPosioContiner addListaManifestosItem(DadosDoManifestoDaCargaSimplificado listaManifestosItem) { + this.listaManifestos.add(listaManifestosItem); + return this; + } + /** * Get localizacao + * * @return localizacao **/ @JsonProperty("localizacao") @@ -504,29 +647,12 @@ public DadosPosioContiner avaria(Boolean avaria) { return this; } - /** - * Vazio.<br/>Domínio:<br/>true - Sim<br/>false - Não - * @return vazio - **/ - @JsonProperty("vazio") - public Boolean isVazio() { - return vazio; - } - - public void setVazio(Boolean vazio) { - this.vazio = vazio; - } - - public DadosPosioContiner vazio(Boolean vazio) { - this.vazio = vazio; - return this; - } - /** * Identificação da área de posicionamento do contêiner. Usar o protocolo do evento de georreferenciamento.<br/>Tamanho: 36 * @return areaConteiner **/ @JsonProperty("areaConteiner") + @NotNull public String getAreaConteiner() { return areaConteiner; } @@ -578,13 +704,17 @@ public String toString() { " contingencia: " + toIndentedString(contingencia) + "\n" + " codigoRecinto: " + toIndentedString(codigoRecinto) + "\n" + " numeroConteiner: " + toIndentedString(numeroConteiner) + "\n" + + " placa: " + toIndentedString(placa) + "\n" + " placaSemirreboque: " + toIndentedString(placaSemirreboque) + "\n" + + " vazio: " + toIndentedString(vazio) + "\n" + + " listaNfe: " + toIndentedString(listaNfe) + "\n" + + " listaDeclaracaoAduaneira: " + toIndentedString(listaDeclaracaoAduaneira) + "\n" + + " listaManifestos: " + toIndentedString(listaManifestos) + "\n" + " localizacao: " + toIndentedString(localizacao) + "\n" + " posicaoNavio: " + toIndentedString(posicaoNavio) + "\n" + " conferenciaFisica: " + toIndentedString(conferenciaFisica) + "\n" + " solicitanteFisica: " + toIndentedString(solicitanteFisica) + "\n" + " avaria: " + toIndentedString(avaria) + "\n" + - " vazio: " + toIndentedString(vazio) + "\n" + " areaConteiner: " + toIndentedString(areaConteiner) + "\n" + " listaCameras: " + toIndentedString(listaCameras) + "\n" + "}"; diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPosioVeculoPtio.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPosioVeculoPtio.java index 3626a1c..a6078a8 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPosioVeculoPtio.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPosioVeculoPtio.java @@ -16,7 +16,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosPosioVeculoPtio", propOrder = - {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "listaManifestos", "placa", "listaChassi", "listaSemirreboque", "listaConteineresUld", "box", "conferenciaFisica", "orgaoSolicitante", "avaria", "areaVeiculos", "listaCameras" + {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "listaManifestos", "placa", "vazio", "listaChassi", "listaSemirreboque", "listaConteineresUld", "box", "conferenciaFisica", "orgaoSolicitante", "avaria", "areaVeiculos", "listaCameras" }) @XmlRootElement(name = "DadosPosioVeculoPtio") @@ -134,20 +134,27 @@ public static TipoOperacaoEnum fromValue(String v) { /** * Lista de manifestos. **/ - private List listaManifestos = null; + private List listaManifestos = null; - @XmlElement(name = "placa", required = true) - @ApiModelProperty(required = true, value = "Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).
    Pode ser nulo quando o evento for de exclusão.
    Tamanho: 50") + @XmlElement(name = "placa") + @ApiModelProperty(value = "Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).
    (!)
    É obrigatório que o atributo 'placa' seja informado quando o atributo 'listaChassi.chassi' não for informado.") /** - * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).
    Pode ser nulo quando o evento for de exclusão.
    Tamanho: 50 + * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).
    (!)
    É obrigatório que o atributo 'placa' seja informado quando o atributo 'listaChassi.chassi' não for informado. **/ private String placa = null; + @XmlElement(name = "vazio") + @ApiModelProperty(example = "false", value = "Indicador de veículo vazio.
    Domínio:
    true - Sim
    false - Não
    (!)
    É obrigatório que o atributo 'vazio' seja informado quando o atributo 'placa' for informado.") + /** + * Indicador de veículo vazio.
    Domínio:
    true - Sim
    false - Não
    (!)
    É obrigatório que o atributo 'vazio' seja informado quando o atributo 'placa' for informado. + **/ + private Boolean vazio = null; + @XmlElement(name = "listaChassi") - @ApiModelProperty(value = "Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).

    Tamanho: 50") + @ApiModelProperty(value = "Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).
    Tamanho: 50") @Valid /** - * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).

    Tamanho: 50 + * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).
    Tamanho: 50 **/ private List listaChassi = null; @@ -195,8 +202,8 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private Boolean avaria = null; - @XmlElement(name = "areaVeiculos") - @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", value = "Identificação da área de posicionamento dos veículos. Usar o protocolo do Evento de Georreferenciamento relativo ao ponto de acesso utilizado.
    Tamanho: 36") + @XmlElement(name = "areaVeiculos", required = true) + @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", required = true, value = "Identificação da área de posicionamento dos veículos. Usar o protocolo do Evento de Georreferenciamento relativo ao ponto de acesso utilizado.
    Tamanho: 36") /** * Identificação da área de posicionamento dos veículos. Usar o protocolo do Evento de Georreferenciamento relativo ao ponto de acesso utilizado.
    Tamanho: 36 **/ @@ -395,30 +402,29 @@ public DadosPosioVeculoPtio codigoRecinto(String codigoRecinto) { * @return listaManifestos **/ @JsonProperty("listaManifestos") - public List getListaManifestos() { + public List getListaManifestos() { return listaManifestos; } - public void setListaManifestos(List listaManifestos) { + public void setListaManifestos(List listaManifestos) { this.listaManifestos = listaManifestos; } - public DadosPosioVeculoPtio listaManifestos(List listaManifestos) { + public DadosPosioVeculoPtio listaManifestos(List listaManifestos) { this.listaManifestos = listaManifestos; return this; } - public DadosPosioVeculoPtio addListaManifestosItem(DadosDoManisfestoDaCarga listaManifestosItem) { + public DadosPosioVeculoPtio addListaManifestosItem(DadosDoManifestoDaCarga listaManifestosItem) { this.listaManifestos.add(listaManifestosItem); return this; } /** - * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva). <br/> Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 50 + * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que o atributo 'placa' seja informado quando o atributo 'listaChassi.chassi' não for informado. * @return placa **/ @JsonProperty("placa") - @NotNull public String getPlaca() { return placa; } @@ -433,7 +439,26 @@ public DadosPosioVeculoPtio placa(String placa) { } /** - * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...). <br/><br/>Tamanho: 50 + * Indicador de veículo vazio.<br/>Domínio:<br/>true - Sim<br/>false - Não<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que o atributo 'vazio' seja informado quando o atributo 'placa' for informado. + * + * @return vazio + **/ + @JsonProperty("vazio") + public Boolean isVazio() { + return vazio; + } + + public void setVazio(Boolean vazio) { + this.vazio = vazio; + } + + public DadosPosioVeculoPtio vazio(Boolean vazio) { + this.vazio = vazio; + return this; + } + + /** + * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...).<br/>Tamanho: 50 * @return listaChassi **/ @JsonProperty("listaChassi") @@ -481,7 +506,6 @@ public DadosPosioVeculoPtio addListaSemirreboqueItem(DadosSemirreboquePosioVecul /** * Lista de contêineres ou ULD (Unit Load Device – Aéreo). - * * @return listaConteineresUld **/ @JsonProperty("listaConteineresUld") @@ -581,6 +605,7 @@ public DadosPosioVeculoPtio avaria(Boolean avaria) { * @return areaVeiculos **/ @JsonProperty("areaVeiculos") + @NotNull public String getAreaVeiculos() { return areaVeiculos; } @@ -633,6 +658,7 @@ public String toString() { " codigoRecinto: " + toIndentedString(codigoRecinto) + "\n" + " listaManifestos: " + toIndentedString(listaManifestos) + "\n" + " placa: " + toIndentedString(placa) + "\n" + + " vazio: " + toIndentedString(vazio) + "\n" + " listaChassi: " + toIndentedString(listaChassi) + "\n" + " listaSemirreboque: " + toIndentedString(listaSemirreboque) + "\n" + " listaConteineresUld: " + toIndentedString(listaConteineresUld) + "\n" + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosRepresentante.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosRepresentante.java index d225d4d..19417f9 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosRepresentante.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosRepresentante.java @@ -15,7 +15,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosRepresentante", propOrder = - {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "cpfRepresentante", "cnpjRepresentante", "documentoEstrangeiroRepresentante", "nomeRepresentante", "cpfRepresentado", "cnpjRepresentado", "nomeRepresentado", "documentoEstrangeiroRepresentado", "dataHoraInicioValidade", "dataHoraFimValidade", "motivo" + {"tipoOperacao", "idEvento", "dataHoraOcorrencia", "dataHoraRegistro", "cpfOperadorOcorrencia", "cpfOperadorRegistro", "protocoloEventoRetificadoOuExcluido", "contingencia", "codigoRecinto", "cpfRepresentante", "cnpjRepresentante", "documentoEstrangeiroRepresentante", "operadorEstrangeiroRepresentante", "nomeRepresentante", "cpfRepresentado", "cnpjRepresentado", "documentoEstrangeiroRepresentado", "operadorEstrangeiroRepresentado", "nomeRepresentado", "dataHoraInicioValidade", "dataHoraFimValidade", "motivo" }) @XmlRootElement(name = "DadosRepresentante") @@ -128,23 +128,30 @@ public static TipoOperacaoEnum fromValue(String v) { private String codigoRecinto = null; @XmlElement(name = "cpfRepresentante") - @ApiModelProperty(example = "55555555555", value = "CPF representante
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + @ApiModelProperty(example = "55555555555", value = "CPF representante
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentante OU cnpjRepresentante OU documentoEstrangeiroRepresentante (número, tipo, país) OU operadorEstrangeiroRepresentante'.") /** - * CPF representante
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + * CPF representante
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentante OU cnpjRepresentante OU documentoEstrangeiroRepresentante (número, tipo, país) OU operadorEstrangeiroRepresentante'. **/ private String cpfRepresentante = null; @XmlElement(name = "cnpjRepresentante") - @ApiModelProperty(example = "44444444444444", value = "CNPJ representante
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'") + @ApiModelProperty(example = "44444444444444", value = "CNPJ representante
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentante OU cnpjRepresentante OU documentoEstrangeiroRepresentante (número, tipo, país) OU operadorEstrangeiroRepresentante'.") /** - * CNPJ representante
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN' + * CNPJ representante
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentante OU cnpjRepresentante OU documentoEstrangeiroRepresentante (número, tipo, país) OU operadorEstrangeiroRepresentante'. **/ private String cnpjRepresentante = null; @XmlElement(name = "documentoEstrangeiroRepresentante") @ApiModelProperty(value = "") @Valid - private DadosDocumentoEstrangeiro documentoEstrangeiroRepresentante = null; + private DadosDocumentoDeEstrangeiroRepresentante documentoEstrangeiroRepresentante = null; + + @XmlElement(name = "operadorEstrangeiroRepresentante") + @ApiModelProperty(example = "TIN - Trade Identification Number (Número de Identificação do Operador)", value = "Identificação fiscal de empresa estrangeira representante
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentante OU cnpjRepresentante OU documentoEstrangeiroRepresentante (número, tipo, país) OU operadorEstrangeiroRepresentante'.
    Tamanho: 50") + /** + * Identificação fiscal de empresa estrangeira representante
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentante OU cnpjRepresentante OU documentoEstrangeiroRepresentante (número, tipo, país) OU operadorEstrangeiroRepresentante'.
    Tamanho: 50 + **/ + private String operadorEstrangeiroRepresentante = null; @XmlElement(name = "nomeRepresentante") @ApiModelProperty(value = "Nome representante
    Tamanho: 100") @@ -154,19 +161,31 @@ public static TipoOperacaoEnum fromValue(String v) { private String nomeRepresentante = null; @XmlElement(name = "cpfRepresentado") - @ApiModelProperty(example = "55555555555", value = "CPF representado
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + @ApiModelProperty(example = "55555555555", value = "CPF representado
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentado OU cnpjRepresentado OU documentoEstrangeiroRepresentado (número, tipo, país) OU operadorEstrangeiroRepresentado'.") /** - * CPF representado
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + * CPF representado
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentado OU cnpjRepresentado OU documentoEstrangeiroRepresentado (número, tipo, país) OU operadorEstrangeiroRepresentado'. **/ private String cpfRepresentado = null; @XmlElement(name = "cnpjRepresentado") - @ApiModelProperty(example = "44444444444444", value = "CNPJ representado
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'") + @ApiModelProperty(example = "44444444444444", value = "CNPJ representado
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentado OU cnpjRepresentado OU documentoEstrangeiroRepresentado (número, tipo, país) OU operadorEstrangeiroRepresentado'.") /** - * CNPJ representado
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN' + * CNPJ representado
    Tamanho: 14
    Formato: 'NNNNNNNNNNNNNN'
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentado OU cnpjRepresentado OU documentoEstrangeiroRepresentado (número, tipo, país) OU operadorEstrangeiroRepresentado'. **/ private String cnpjRepresentado = null; + @XmlElement(name = "documentoEstrangeiroRepresentado") + @ApiModelProperty(value = "") + @Valid + private DadosDocumentoDeEstrangeiroRepresentado documentoEstrangeiroRepresentado = null; + + @XmlElement(name = "operadorEstrangeiroRepresentado") + @ApiModelProperty(example = "TIN - Trade Identification Number (Número de Identificação do Operador)", value = "Identificação fiscal de empresa estrangeira representada
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentado OU cnpjRepresentado OU documentoEstrangeiroRepresentado (número, tipo, país) OU operadorEstrangeiroRepresentado'.
    Tamanho: 50") + /** + * Identificação fiscal de empresa estrangeira representada
    (!)
    É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentado OU cnpjRepresentado OU documentoEstrangeiroRepresentado (número, tipo, país) OU operadorEstrangeiroRepresentado'.
    Tamanho: 50 + **/ + private String operadorEstrangeiroRepresentado = null; + @XmlElement(name = "nomeRepresentado") @ApiModelProperty(value = "Nome do representado
    Tamanho: 100") /** @@ -174,11 +193,6 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String nomeRepresentado = null; - @XmlElement(name = "documentoEstrangeiroRepresentado") - @ApiModelProperty(value = "") - @Valid - private DadosDocumentoEstrangeiro documentoEstrangeiroRepresentado = null; - @XmlElement(name = "dataHoraInicioValidade") @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Data Início representação
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") /** @@ -193,8 +207,8 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String dataHoraFimValidade = null; - @XmlElement(name = "motivo") - @ApiModelProperty(example = "representação para trâmite de documentos, representação para fechar faturamento com recinto, representação para monitoramento de cargas no portal do recinto...", value = "Motivo da representação
    Tamanho: 100") + @XmlElement(name = "motivo", required = true) + @ApiModelProperty(example = "representação para trâmite de documentos, representação para fechar faturamento com recinto, representação para monitoramento de cargas no portal do recinto...", required = true, value = "Motivo da representação
    Tamanho: 100") /** * Motivo da representação
    Tamanho: 100 **/ @@ -380,7 +394,7 @@ public DadosRepresentante codigoRecinto(String codigoRecinto) { } /** - * CPF representante<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' + * CPF representante<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN'<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentante OU cnpjRepresentante OU documentoEstrangeiroRepresentante (número, tipo, país) OU operadorEstrangeiroRepresentante'. * @return cpfRepresentante **/ @JsonProperty("cpfRepresentante") @@ -398,7 +412,7 @@ public DadosRepresentante cpfRepresentante(String cpfRepresentante) { } /** - * CNPJ representante<br/>Tamanho: 14<br/>Formato: 'NNNNNNNNNNNNNN' + * CNPJ representante<br/>Tamanho: 14<br/>Formato: 'NNNNNNNNNNNNNN'<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentante OU cnpjRepresentante OU documentoEstrangeiroRepresentante (número, tipo, país) OU operadorEstrangeiroRepresentante'. * * @return cnpjRepresentante **/ @@ -422,19 +436,38 @@ public DadosRepresentante cnpjRepresentante(String cnpjRepresentante) { * @return documentoEstrangeiroRepresentante **/ @JsonProperty("documentoEstrangeiroRepresentante") - public DadosDocumentoEstrangeiro getDocumentoEstrangeiroRepresentante() { + public DadosDocumentoDeEstrangeiroRepresentante getDocumentoEstrangeiroRepresentante() { return documentoEstrangeiroRepresentante; } - public void setDocumentoEstrangeiroRepresentante(DadosDocumentoEstrangeiro documentoEstrangeiroRepresentante) { + public void setDocumentoEstrangeiroRepresentante(DadosDocumentoDeEstrangeiroRepresentante documentoEstrangeiroRepresentante) { this.documentoEstrangeiroRepresentante = documentoEstrangeiroRepresentante; } - public DadosRepresentante documentoEstrangeiroRepresentante(DadosDocumentoEstrangeiro documentoEstrangeiroRepresentante) { + public DadosRepresentante documentoEstrangeiroRepresentante(DadosDocumentoDeEstrangeiroRepresentante documentoEstrangeiroRepresentante) { this.documentoEstrangeiroRepresentante = documentoEstrangeiroRepresentante; return this; } + /** + * Identificação fiscal de empresa estrangeira representante<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentante OU cnpjRepresentante OU documentoEstrangeiroRepresentante (número, tipo, país) OU operadorEstrangeiroRepresentante'.<br/>Tamanho: 50 + * + * @return operadorEstrangeiroRepresentante + **/ + @JsonProperty("operadorEstrangeiroRepresentante") + public String getOperadorEstrangeiroRepresentante() { + return operadorEstrangeiroRepresentante; + } + + public void setOperadorEstrangeiroRepresentante(String operadorEstrangeiroRepresentante) { + this.operadorEstrangeiroRepresentante = operadorEstrangeiroRepresentante; + } + + public DadosRepresentante operadorEstrangeiroRepresentante(String operadorEstrangeiroRepresentante) { + this.operadorEstrangeiroRepresentante = operadorEstrangeiroRepresentante; + return this; + } + /** * Nome representante<br/>Tamanho: 100 * @return nomeRepresentante @@ -454,7 +487,7 @@ public DadosRepresentante nomeRepresentante(String nomeRepresentante) { } /** - * CPF representado<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' + * CPF representado<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN'<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentado OU cnpjRepresentado OU documentoEstrangeiroRepresentado (número, tipo, país) OU operadorEstrangeiroRepresentado'. * @return cpfRepresentado **/ @JsonProperty("cpfRepresentado") @@ -472,7 +505,7 @@ public DadosRepresentante cpfRepresentado(String cpfRepresentado) { } /** - * CNPJ representado<br/>Tamanho: 14<br/>Formato: 'NNNNNNNNNNNNNN' + * CNPJ representado<br/>Tamanho: 14<br/>Formato: 'NNNNNNNNNNNNNN'<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentado OU cnpjRepresentado OU documentoEstrangeiroRepresentado (número, tipo, país) OU operadorEstrangeiroRepresentado'. * @return cnpjRepresentado **/ @JsonProperty("cnpjRepresentado") @@ -490,39 +523,58 @@ public DadosRepresentante cnpjRepresentado(String cnpjRepresentado) { } /** - * Nome do representado<br/>Tamanho: 100 - * @return nomeRepresentado + * Get documentoEstrangeiroRepresentado + * + * @return documentoEstrangeiroRepresentado **/ - @JsonProperty("nomeRepresentado") - public String getNomeRepresentado() { - return nomeRepresentado; + @JsonProperty("documentoEstrangeiroRepresentado") + public DadosDocumentoDeEstrangeiroRepresentado getDocumentoEstrangeiroRepresentado() { + return documentoEstrangeiroRepresentado; } - public void setNomeRepresentado(String nomeRepresentado) { - this.nomeRepresentado = nomeRepresentado; + public void setDocumentoEstrangeiroRepresentado(DadosDocumentoDeEstrangeiroRepresentado documentoEstrangeiroRepresentado) { + this.documentoEstrangeiroRepresentado = documentoEstrangeiroRepresentado; } - public DadosRepresentante nomeRepresentado(String nomeRepresentado) { - this.nomeRepresentado = nomeRepresentado; + public DadosRepresentante documentoEstrangeiroRepresentado(DadosDocumentoDeEstrangeiroRepresentado documentoEstrangeiroRepresentado) { + this.documentoEstrangeiroRepresentado = documentoEstrangeiroRepresentado; return this; } /** - * Get documentoEstrangeiroRepresentado + * Identificação fiscal de empresa estrangeira representada<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que pelo menos um dos seguintes atributos seja informado: cpfRepresentado OU cnpjRepresentado OU documentoEstrangeiroRepresentado (número, tipo, país) OU operadorEstrangeiroRepresentado'.<br/>Tamanho: 50 * - * @return documentoEstrangeiroRepresentado + * @return operadorEstrangeiroRepresentado **/ - @JsonProperty("documentoEstrangeiroRepresentado") - public DadosDocumentoEstrangeiro getDocumentoEstrangeiroRepresentado() { - return documentoEstrangeiroRepresentado; + @JsonProperty("operadorEstrangeiroRepresentado") + public String getOperadorEstrangeiroRepresentado() { + return operadorEstrangeiroRepresentado; } - public void setDocumentoEstrangeiroRepresentado(DadosDocumentoEstrangeiro documentoEstrangeiroRepresentado) { - this.documentoEstrangeiroRepresentado = documentoEstrangeiroRepresentado; + public void setOperadorEstrangeiroRepresentado(String operadorEstrangeiroRepresentado) { + this.operadorEstrangeiroRepresentado = operadorEstrangeiroRepresentado; } - public DadosRepresentante documentoEstrangeiroRepresentado(DadosDocumentoEstrangeiro documentoEstrangeiroRepresentado) { - this.documentoEstrangeiroRepresentado = documentoEstrangeiroRepresentado; + public DadosRepresentante operadorEstrangeiroRepresentado(String operadorEstrangeiroRepresentado) { + this.operadorEstrangeiroRepresentado = operadorEstrangeiroRepresentado; + return this; + } + + /** + * Nome do representado<br/>Tamanho: 100 + * @return nomeRepresentado + **/ + @JsonProperty("nomeRepresentado") + public String getNomeRepresentado() { + return nomeRepresentado; + } + + public void setNomeRepresentado(String nomeRepresentado) { + this.nomeRepresentado = nomeRepresentado; + } + + public DadosRepresentante nomeRepresentado(String nomeRepresentado) { + this.nomeRepresentado = nomeRepresentado; return this; } @@ -567,6 +619,7 @@ public DadosRepresentante dataHoraFimValidade(String dataHoraFimValidade) { * @return motivo **/ @JsonProperty("motivo") + @NotNull public String getMotivo() { return motivo; } @@ -597,11 +650,13 @@ public String toString() { " cpfRepresentante: " + toIndentedString(cpfRepresentante) + "\n" + " cnpjRepresentante: " + toIndentedString(cnpjRepresentante) + "\n" + " documentoEstrangeiroRepresentante: " + toIndentedString(documentoEstrangeiroRepresentante) + "\n" + + " operadorEstrangeiroRepresentante: " + toIndentedString(operadorEstrangeiroRepresentante) + "\n" + " nomeRepresentante: " + toIndentedString(nomeRepresentante) + "\n" + " cpfRepresentado: " + toIndentedString(cpfRepresentado) + "\n" + " cnpjRepresentado: " + toIndentedString(cnpjRepresentado) + "\n" + - " nomeRepresentado: " + toIndentedString(nomeRepresentado) + "\n" + " documentoEstrangeiroRepresentado: " + toIndentedString(documentoEstrangeiroRepresentado) + "\n" + + " operadorEstrangeiroRepresentado: " + toIndentedString(operadorEstrangeiroRepresentado) + "\n" + + " nomeRepresentado: " + toIndentedString(nomeRepresentado) + "\n" + " dataHoraInicioValidade: " + toIndentedString(dataHoraInicioValidade) + "\n" + " dataHoraFimValidade: " + toIndentedString(dataHoraFimValidade) + "\n" + " motivo: " + toIndentedString(motivo) + "\n" + diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosSemirreboque.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosSemirreboque.java index 6173f24..2a92b57 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosSemirreboque.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosSemirreboque.java @@ -43,16 +43,16 @@ public class DadosSemirreboque { private String idElemento = null; @XmlElement(name = "ocrPlaca") - @ApiModelProperty(example = "false", value = "Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition).
    É obrigatório informar os atributos 'ocrPlaca' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'placa' for informado.
    Domínio:
    true - Sim
    false - Não") + @ApiModelProperty(example = "false", value = "Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)
    (!)
    É obrigatório informar os atributos 'ocrPlaca' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'placa' for informado.
    Domínio:
    true - Sim
    false - Não") /** - * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition).
    É obrigatório informar os atributos 'ocrPlaca' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'placa' for informado.
    Domínio:
    true - Sim
    false - Não + * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)
    (!)
    É obrigatório informar os atributos 'ocrPlaca' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'placa' for informado.
    Domínio:
    true - Sim
    false - Não **/ private Boolean ocrPlaca = null; @XmlElement(name = "vazio") - @ApiModelProperty(example = "false", value = "Veículo vazio.
    É obrigatório informar os atributos 'ocrPlaca' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'placa' for informado.
    Domínio:
    true - Sim
    false - Não") + @ApiModelProperty(example = "false", value = "Veículo vazio.
    (!)
    É obrigatório informar os atributos 'ocrPlaca' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'placa' for informado.
    Domínio:
    true - Sim
    false - Não") /** - * Veículo vazio.
    É obrigatório informar os atributos 'ocrPlaca' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'placa' for informado.
    Domínio:
    true - Sim
    false - Não + * Veículo vazio.
    (!)
    É obrigatório informar os atributos 'ocrPlaca' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'placa' for informado.
    Domínio:
    true - Sim
    false - Não **/ private Boolean vazio = null; @@ -173,7 +173,7 @@ public DadosSemirreboque idElemento(String idElemento) { } /** - * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition). <br/>É obrigatório informar os atributos 'ocrPlaca' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'placa' for informado.<br/>Domínio:<br/>true - Sim<br/>false - Não + * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'ocrPlaca' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'placa' for informado.<br/>Domínio:<br/>true - Sim<br/>false - Não * * @return ocrPlaca **/ @@ -192,7 +192,7 @@ public DadosSemirreboque ocrPlaca(Boolean ocrPlaca) { } /** - * Veículo vazio. <br/>É obrigatório informar os atributos 'ocrPlaca' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'placa' for informado.<br/>Domínio:<br/>true - Sim<br/>false - Não + * Veículo vazio.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'ocrPlaca' e 'vazio' quando o atributo 'operacao' for informado com valor 'C' e o atributo 'placa' for informado.<br/>Domínio:<br/>true - Sim<br/>false - Não * * @return vazio **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosSemirreboqueDaInspeoNoInvasiva.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosSemirreboqueDaInspeoNoInvasiva.java index 22471a4..af71a08 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosSemirreboqueDaInspeoNoInvasiva.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosSemirreboqueDaInspeoNoInvasiva.java @@ -26,9 +26,9 @@ public class DadosSemirreboqueDaInspeoNoInvasiva { private String idElemento = null; @XmlElement(name = "ocrPlaca") - @ApiModelProperty(example = "false", value = "Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)
    Domínio:
    true - Sim
    false - Não
    É obrigatório que o atributo 'ocrPlaca' seja informado quando o atributo 'placa' for informado.") + @ApiModelProperty(example = "false", value = "Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)
    Domínio:
    true - Sim
    false - Não
    (!)
    É obrigatório que o atributo 'ocrPlaca' seja informado quando o atributo 'placa' for informado.") /** - * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)
    Domínio:
    true - Sim
    false - Não
    É obrigatório que o atributo 'ocrPlaca' seja informado quando o atributo 'placa' for informado. + * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)
    Domínio:
    true - Sim
    false - Não
    (!)
    É obrigatório que o atributo 'ocrPlaca' seja informado quando o atributo 'placa' for informado. **/ private Boolean ocrPlaca = null; @@ -60,7 +60,7 @@ public DadosSemirreboqueDaInspeoNoInvasiva idElemento(String idElemento) { } /** - * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)<br/>Domínio:<br/>true - Sim<br/>false - Não<br/>É obrigatório que o atributo 'ocrPlaca' seja informado quando o atributo 'placa' for informado. + * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition)<br/>Domínio:<br/>true - Sim<br/>false - Não<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório que o atributo 'ocrPlaca' seja informado quando o atributo 'placa' for informado. * * @return ocrPlaca **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosSemirreboquePesagem.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosSemirreboquePesagem.java index 25a424d..f3e9c82 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosSemirreboquePesagem.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosSemirreboquePesagem.java @@ -14,7 +14,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DadosSemirreboquePesagem", propOrder = - {"idElemento", "placa", "tara" + {"idElemento", "ocrPlaca", "placa", "tara" }) @XmlRootElement(name = "DadosSemirreboquePesagem") @@ -27,6 +27,13 @@ public class DadosSemirreboquePesagem { **/ private String idElemento = null; + @XmlElement(name = "ocrPlaca") + @ApiModelProperty(example = "false", value = "Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition).
    (!)
    É obrigatório informar o atributo 'listaSemirreboque.ocrPlaca' quando o atributo 'listaSemirreboque.placa' for informado.
    Domínio:
    true - Sim
    false - Não") + /** + * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition).
    (!)
    É obrigatório informar o atributo 'listaSemirreboque.ocrPlaca' quando o atributo 'listaSemirreboque.placa' for informado.
    Domínio:
    true - Sim
    false - Não + **/ + private Boolean ocrPlaca = null; + @XmlElement(name = "placa") @ApiModelProperty(value = "Placa
    Tamanho: 50") /** @@ -35,10 +42,10 @@ public class DadosSemirreboquePesagem { private String placa = null; @XmlElement(name = "tara") - @ApiModelProperty(example = "15.5", value = "Tara do veículo. Para os casos em que a tara é aferida separadamente (cavalo/semireboque). Cadastro de taras comum no modal rodoviário.
    É obrigatório informar pelo menos um dos seguintes atributos: 'taraConjunto', 'listaSemirreboque.tara', quando o atributo 'listaSemirreboque.placa' estiver informado.

    tara, até 4 casas decimais.") + @ApiModelProperty(example = "15.5", value = "Tara do veículo. Para os casos em que a tara é aferida separadamente (cavalo/semireboque). Cadastro de taras comum no modal rodoviário.
    (!)
    É obrigatório informar pelo menos um dos seguintes atributos: 'taraConjunto', 'listaSemirreboque.tara', quando o atributo 'listaSemirreboque.placa' estiver informado.
    tara, até 4 casas decimais.") @Valid /** - * Tara do veículo. Para os casos em que a tara é aferida separadamente (cavalo/semireboque). Cadastro de taras comum no modal rodoviário.
    É obrigatório informar pelo menos um dos seguintes atributos: 'taraConjunto', 'listaSemirreboque.tara', quando o atributo 'listaSemirreboque.placa' estiver informado.

    tara, até 4 casas decimais. + * Tara do veículo. Para os casos em que a tara é aferida separadamente (cavalo/semireboque). Cadastro de taras comum no modal rodoviário.
    (!)
    É obrigatório informar pelo menos um dos seguintes atributos: 'taraConjunto', 'listaSemirreboque.tara', quando o atributo 'listaSemirreboque.placa' estiver informado.
    tara, até 4 casas decimais. **/ private BigDecimal tara = null; @@ -62,6 +69,25 @@ public DadosSemirreboquePesagem idElemento(String idElemento) { return this; } + /** + * Captura automática da placa. Indica se a placa foi obtida via OCR (Optical Character Recognition).<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar o atributo 'listaSemirreboque.ocrPlaca' quando o atributo 'listaSemirreboque.placa' for informado.<br/>Domínio:<br/>true - Sim<br/>false - Não + * + * @return ocrPlaca + **/ + @JsonProperty("ocrPlaca") + public Boolean isOcrPlaca() { + return ocrPlaca; + } + + public void setOcrPlaca(Boolean ocrPlaca) { + this.ocrPlaca = ocrPlaca; + } + + public DadosSemirreboquePesagem ocrPlaca(Boolean ocrPlaca) { + this.ocrPlaca = ocrPlaca; + return this; + } + /** * Placa<br/>Tamanho: 50 * @@ -82,7 +108,7 @@ public DadosSemirreboquePesagem placa(String placa) { } /** - * Tara do veículo. Para os casos em que a tara é aferida separadamente (cavalo/semireboque). Cadastro de taras comum no modal rodoviário.<br/>É obrigatório informar pelo menos um dos seguintes atributos: 'taraConjunto', 'listaSemirreboque.tara', quando o atributo 'listaSemirreboque.placa' estiver informado.<br/><br/>tara, até 4 casas decimais. + * Tara do veículo. Para os casos em que a tara é aferida separadamente (cavalo/semireboque). Cadastro de taras comum no modal rodoviário.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar pelo menos um dos seguintes atributos: 'taraConjunto', 'listaSemirreboque.tara', quando o atributo 'listaSemirreboque.placa' estiver informado.<br/>tara, até 4 casas decimais. * * @return tara **/ @@ -106,6 +132,7 @@ public String toString() { String sb = "class DadosSemirreboquePesagem {\n" + " idElemento: " + toIndentedString(idElemento) + "\n" + + " ocrPlaca: " + toIndentedString(ocrPlaca) + "\n" + " placa: " + toIndentedString(placa) + "\n" + " tara: " + toIndentedString(tara) + "\n" + "}"; diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DatasDeOperao.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DatasDeOperao.java index a881455..360c97f 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DatasDeOperao.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DatasDeOperao.java @@ -22,30 +22,30 @@ public class DatasDeOperao { private String dtHrInicioConferenciaFisica = null; @XmlElement(name = "dataHoraInicioPosicionamento") - @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Informar data e hora do início do posicionamento da carga para fins de conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") + @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Informar data e hora do início do posicionamento da carga para fins de conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") /** - * Informar data e hora do início do posicionamento da carga para fins de conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' + * Informar data e hora do início do posicionamento da carga para fins de conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' **/ private String dataHoraInicioPosicionamento = null; @XmlElement(name = "dataHoraFimPosicionamento") - @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Informar data e hora do final do posicionamento da carga. Após esse momento é possível efetivar a conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") + @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Informar data e hora do final do posicionamento da carga. Após esse momento é possível efetivar a conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") /** - * Informar data e hora do final do posicionamento da carga. Após esse momento é possível efetivar a conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' + * Informar data e hora do final do posicionamento da carga. Após esse momento é possível efetivar a conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' **/ private String dataHoraFimPosicionamento = null; @XmlElement(name = "dataHoraInicioConferenciaFisica") - @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Informar data e hora do início da conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") + @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Informar data e hora do início da conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") /** - * Informar data e hora do início da conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' + * Informar data e hora do início da conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' **/ private String dataHoraInicioConferenciaFisica = null; @XmlElement(name = "dataHoraFimConferenciaFisica") - @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Informar data e hora do final da conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") + @ApiModelProperty(example = "2020-04-01T10:50:30.150-0300", value = "Informar data e hora do final da conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ'") /** - * Informar data e hora do final da conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' + * Informar data e hora do final da conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' **/ private String dataHoraFimConferenciaFisica = null; @@ -69,7 +69,7 @@ public DatasDeOperao dtHrInicioConferenciaFisica(String dtHrInicioConferenciaFis } /** - * Informar data e hora do início do posicionamento da carga para fins de conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.<br/>Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' + * Informar data e hora do início do posicionamento da carga para fins de conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.<br/>Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' * * @return dataHoraInicioPosicionamento **/ @@ -88,7 +88,7 @@ public DatasDeOperao dataHoraInicioPosicionamento(String dataHoraInicioPosiciona } /** - * Informar data e hora do final do posicionamento da carga. Após esse momento é possível efetivar a conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.<br/>Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' + * Informar data e hora do final do posicionamento da carga. Após esse momento é possível efetivar a conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.<br/>Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' * * @return dataHoraFimPosicionamento **/ @@ -107,7 +107,7 @@ public DatasDeOperao dataHoraFimPosicionamento(String dataHoraFimPosicionamento) } /** - * Informar data e hora do início da conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.<br/>Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' + * Informar data e hora do início da conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.<br/>Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' * * @return dataHoraInicioConferenciaFisica **/ @@ -126,7 +126,7 @@ public DatasDeOperao dataHoraInicioConferenciaFisica(String dataHoraInicioConfer } /** - * Informar data e hora do final da conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.<br/>Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' + * Informar data e hora do final da conferência física. Deve-se enviar, junto da data, o fuso horário no qual tal data e hora foi gerada.<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.<br/>Formato: 'yyyy-MM-ddTHH:mm:ss.SSSZ' * * @return dataHoraFimConferenciaFisica **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DeclaraoAduaneira.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DeclaraoAduaneira.java index 0c58b49..1bae19e 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DeclaraoAduaneira.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DeclaraoAduaneira.java @@ -1,6 +1,7 @@ package br.gov.siscomex.portalunico.rcnt.model; import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import javax.xml.bind.annotation.XmlAccessType; @@ -15,24 +16,28 @@ }) @XmlRootElement(name = "DeclaraoAduaneira") +/** + * (campo será descontinuado em próxima release) + **/ +@ApiModel(description = "(campo será descontinuado em próxima release)") public class DeclaraoAduaneira { @XmlElement(name = "numeroDeclaracao") - @ApiModelProperty(value = "Número da declaração aduaneira.
    O tamanho permitido para 'numeroDeclaracao' será conforme o valor de 'tipo' da declaração: 'DI': 10 (somente números) 'DTA': 10 'DUE': 14 'DAT': 11 'DUIMP': 15 Outros: até 100") + @ApiModelProperty(value = "(campo será descontinuado em próxima release)
    Número da declaração aduaneira.
    O tamanho permitido para 'numeroDeclaracao' será conforme o valor de 'tipo' da declaração: 'DI': 10 (somente números) 'DTA': 10 'DUE': 14 'DAT': 11 'DUIMP': 15 Outros: até 100") /** - * Número da declaração aduaneira.
    O tamanho permitido para 'numeroDeclaracao' será conforme o valor de 'tipo' da declaração: 'DI': 10 (somente números) 'DTA': 10 'DUE': 14 'DAT': 11 'DUIMP': 15 Outros: até 100 + * (campo será descontinuado em próxima release)
    Número da declaração aduaneira.
    O tamanho permitido para 'numeroDeclaracao' será conforme o valor de 'tipo' da declaração: 'DI': 10 (somente números) 'DTA': 10 'DUE': 14 'DAT': 11 'DUIMP': 15 Outros: até 100 **/ private String numeroDeclaracao = null; @XmlElement(name = "tipo") - @ApiModelProperty(example = "DUIMP", value = "Tipo da Declaração aduaneira. Conforme tabela de domínio Tipo de Declaração Aduaneira disponível no Portal Único Siscomex.") + @ApiModelProperty(example = "DUIMP", value = "(campo será descontinuado em próxima release)
    Tipo da Declaração aduaneira. Conforme tabela de domínio Tipo de Declaração Aduaneira disponível no Portal Único Siscomex.") /** - * Tipo da Declaração aduaneira. Conforme tabela de domínio Tipo de Declaração Aduaneira disponível no Portal Único Siscomex. + * (campo será descontinuado em próxima release)
    Tipo da Declaração aduaneira. Conforme tabela de domínio Tipo de Declaração Aduaneira disponível no Portal Único Siscomex. **/ private String tipo = null; /** - * Número da declaração aduaneira.<br/> O tamanho permitido para 'numeroDeclaracao' será conforme o valor de 'tipo' da declaração: 'DI': 10 (somente números) 'DTA': 10 'DUE': 14 'DAT': 11 'DUIMP': 15 Outros: até 100 + * (campo será descontinuado em próxima release)<br/>Número da declaração aduaneira.<br/> O tamanho permitido para 'numeroDeclaracao' será conforme o valor de 'tipo' da declaração: 'DI': 10 (somente números) 'DTA': 10 'DUE': 14 'DAT': 11 'DUIMP': 15 Outros: até 100 * * @return numeroDeclaracao **/ @@ -51,7 +56,7 @@ public DeclaraoAduaneira numeroDeclaracao(String numeroDeclaracao) { } /** - * Tipo da Declaração aduaneira. Conforme tabela de domínio Tipo de Declaração Aduaneira disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a> + * (campo será descontinuado em próxima release)<br/>Tipo da Declaração aduaneira. Conforme tabela de domínio Tipo de Declaração Aduaneira disponível no <a href=https://portalunico.siscomex.gov.br/tabx/#/tabelas rel=\"noopener noreferrer\" target=\"_blank\">Portal Único Siscomex.</a> * * @return tipo **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/OperadorQueParticipouDoManuseioDaCarga.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/OperadorQueParticipouDoManuseioDaCarga.java index 2991a06..b99b437 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/OperadorQueParticipouDoManuseioDaCarga.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/OperadorQueParticipouDoManuseioDaCarga.java @@ -26,16 +26,16 @@ public class OperadorQueParticipouDoManuseioDaCarga { private String idElemento = null; @XmlElement(name = "cpf") - @ApiModelProperty(example = "55555555555", value = "Informar o CPF do operador que manuseou a carga
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") + @ApiModelProperty(example = "55555555555", value = "Informar o CPF do operador que manuseou a carga
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN'") /** - * Informar o CPF do operador que manuseou a carga
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' + * Informar o CPF do operador que manuseou a carga
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Tamanho: 11
    Formato: 'NNNNNNNNNNN' **/ private String cpf = null; @XmlElement(name = "nome") - @ApiModelProperty(value = "Informar o nome do operador que manuseou a carga
    Tamanho: 100") + @ApiModelProperty(value = "Informar o nome do operador que manuseou a carga
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Tamanho: 100") /** - * Informar o nome do operador que manuseou a carga
    Tamanho: 100 + * Informar o nome do operador que manuseou a carga
    (!)
    É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.
    Tamanho: 100 **/ private String nome = null; @@ -60,7 +60,7 @@ public OperadorQueParticipouDoManuseioDaCarga idElemento(String idElemento) { } /** - * Informar o CPF do operador que manuseou a carga<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' + * Informar o CPF do operador que manuseou a carga<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' * * @return cpf **/ @@ -79,7 +79,7 @@ public OperadorQueParticipouDoManuseioDaCarga cpf(String cpf) { } /** - * Informar o nome do operador que manuseou a carga<br/>Tamanho: 100 + * Informar o nome do operador que manuseou a carga<font color=\"red\"><strong><br/>(!)</strong></font>É obrigatório informar os atributos 'dataHoraInicioPosicionamento', 'dataHoraFimPosicionamento', 'dataHoraInicioConferenciaFisica', 'dataHoraFimConferenciaFisica', 'listaOperadoresPosicionamento (cpf, nome'), 'retiradaAmostras', 'divergenciaQualificacao', 'divergenciaQuantidade', 'areaConferenciaFisica', quando o atributo 'tipo' for informado com valor 'CCF'.<br/>Tamanho: 100 * * @return nome **/ diff --git a/src/main/java/br/gov/siscomex/portalunico/tabx/api/DadosDaTabelaRegistrosApi.java b/src/main/java/br/gov/siscomex/portalunico/tabx/api/DadosDaTabelaRegistrosApi.java index 3151711..ac9fb12 100644 --- a/src/main/java/br/gov/siscomex/portalunico/tabx/api/DadosDaTabelaRegistrosApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/api/DadosDaTabelaRegistrosApi.java @@ -3,21 +3,25 @@ import br.gov.siscomex.portalunico.tabx.model.CampoInclusaoAlteracaoApiRepresentation; import br.gov.siscomex.portalunico.tabx.model.DadosTabelaApiRepresentation; import br.gov.siscomex.portalunico.tabx.model.Error; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.List; -import java.util.Map; -import javax.ws.rs.*; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.MediaType; - -import org.apache.cxf.jaxrs.ext.multipart.*; -import io.swagger.annotations.*; - - -import javax.validation.constraints.*; import javax.validation.Valid; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Response; +import java.util.List; /** * Tabelas Comex