From f93dc529ebf0baf8cfe3b3e0203da8d251d271ce Mon Sep 17 00:00:00 2001 From: Samuel Facchinello Date: Wed, 31 Jan 2024 15:43:45 +0100 Subject: [PATCH] r55-apa-RELEASE https://docs.portalunico.siscomex.gov.br/rn/r55-apa/ --- pom.xml | 6 +- .../cadatributos/api/AtributoApi.java | 44 -- .../cadatributos/api/AtributoNcmApi.java | 44 -- .../cadatributos/api/RelaoDeAtributosApi.java | 91 +++ ...RelaoDeAtributosPorFundamentoLegalApi.java | 62 ++ .../api/RelaoDeAtributosPorNcmApi.java | 62 ++ .../model/ArquivoDiarioAtributoDTO.java | 727 ++++++++++++++++++ .../model/ArquivoDiarioCondicionadoDTO.java | 225 ++++++ .../AtributoConsultaFiltroCodigoDTO.java | 103 +++ .../model/AtributoConsultaFiltroNomeDTO.java | 103 +++ .../ExpressaoCondicionanteConsultaDTO.java | 134 ++++ .../model/ItemAtributoListaConsultaDTO.java | 86 +++ .../model/ObjetivoAtributoConsultaDTO.java | 86 +++ .../catp/api/OperadorEstrangeiroApi.java | 36 +- .../portalunico/catp/api/ProdutoApi.java | 36 +- ...nculosDeFabricanteProdutorAProdutoApi.java | 18 +- .../portalunico/cct_ext/api/AnuentesApi.java | 8 +- .../portalunico/cct_ext/api/CargaApi.java | 104 +-- .../cct_ext/api/DocumentoDeTransporteApi.java | 40 +- ...rviosDeConsultaDeArquivosRecebidosApi.java | 6 +- ...iosDeConsultaDeConhecimentoDeCargaApi.java | 4 +- .../ccta/api/ServiosDeConsultaDeDsicApi.java | 2 +- .../api/ServiosDeConsultaDeProtocoloApi.java | 2 +- .../api/ServiosDeConsultaDeViagemApi.java | 4 +- .../ccta/api/ServiosDeEntregaDaCargaApi.java | 8 +- ...erviosDeEntregaIntermediriaDaCargaApi.java | 2 +- .../ccta/model/CondicaoEntregaImportador.java | 149 ++++ .../model/ConhecimentoConsultaDetalhada.java | 40 +- .../ccta/model/DsicConsultaDetalhada.java | 34 +- .../ccta/model/EntregaIntermediaria.java | 6 +- ...Resposta.java => RespostaRecebimento.java} | 14 +- ...ConsultaImpedimentosEntregaImportador.java | 38 +- .../api/ServiosDeEnvioDeArquivosApi.java | 8 +- .../api/ServioPblicoNomenclaturaApi.java | 2 +- .../siscomex/portalunico/due/api/DueApi.java | 6 +- .../due/model/AdditionalInformation.java | 4 + .../portalunico/due/model/AtoConcessorio.java | 83 +- .../portalunico/due/model/AtributoDto.java | 14 +- .../siscomex/portalunico/due/model/CNPJ.java | 4 +- .../due/model/CalculoTributarioDto.java | 22 +- .../due/model/CoordenadaGeograficaDto.java | 16 +- .../siscomex/portalunico/due/model/DUE.java | 66 +- .../due/model/DeclaracaoTributaria.java | 2 +- .../due/model/ExportacaoTemporaria.java | 2 +- .../due/model/FundamentoLegalDTO.java | 63 ++ .../due/model/ItemDUERemoteDTO.java | 36 +- .../due/model/ItemDaNotaFiscalRemoteDTO.java | 10 +- .../due/model/MemoriaDeCalculoDTO.java | 301 ++++++++ .../portalunico/due/model/MoedaDto.java | 12 +- .../due/model/MotivoDeNaoVinculacao.java | 93 +++ .../portalunico/due/model/NcmDto.java | 14 +- .../due/model/NotaFiscalRemoteDTO.java | 2 +- .../due/model/NumeroIdentificacaoDTO.java | 4 +- .../portalunico/due/model/PaisDto.java | 14 +- .../portalunico/due/model/PessoaDTO.java | 10 +- .../due/model/QuadroCalculoDto.java | 18 +- .../due/model/QuadroDeCalculoDTO.java | 281 +++++++ .../due/model/RecintoAduaneiroDto.java | 24 +- .../due/model/RegimeTributarioDto.java | 12 +- .../portalunico/due/model/Situacao.java | 140 ++++ .../due/model/SituacaoDaCargaDTO.java | 2 +- .../portalunico/due/model/TipoTributoDto.java | 12 +- .../due/model/TratamentoAdministrativo.java | 8 +- .../due/model/TratamentoDoTributoDTO.java | 89 +++ .../due/model/TratamentoTributarioDto.java | 24 +- .../due/model/TratamentoTributoDto.java | 16 +- .../portalunico/due/model/TributoDto.java | 12 +- .../portalunico/due/model/Warnings.java | 2 +- .../duimp/api/ServiosExternosSefazApi.java | 22 +- .../model/CaracterizacaoImportacaoCover.java | 154 ++-- .../duimp/model/ComponenteDeFrete.java | 6 +- .../duimp/model/DeclaracaoVinculada.java | 220 ++++-- ...toCompostoPelosAtributosCdigoEDescrio.java | 6 +- .../duimp_api/api/ChaveDeAcessoApi.java | 4 +- .../duimp_api/api/DadosGeraisDaDuimpApi.java | 2 +- .../duimp_api/api/ItensDaDuimpApi.java | 5 +- .../duimp_api/api/ModelosDaDuimpApi.java | 2 +- .../duimp_api/api/RegistroEDiagnsticoApi.java | 2 +- ...cterizacaoImportacaoConsultaItemCover.java | 12 +- .../model/CaracterizacaoImportacaoCover.java | 12 +- .../duimp_api/model/CargaCover.java | 6 +- .../model/CargaDuimpConsultaCover.java | 6 +- .../DeclaracaoVinculadaCoverConsulta.java | 136 +++- .../FreteItemDeclaracaoVinculadaCover.java | 6 +- .../duimp_api/model/IncotermCover.java | 102 +-- .../IndicadorCompradorVendedorCover.java | 6 +- .../model/ItemDeclaracaoVinculadaCover.java | 36 +- .../SeguroItemDeclaracaoVinculadaCover.java | 6 +- .../ServiosComunsParaTodasAsOperaesApi.java | 2 +- .../ServiosParaOperaesDiLiReDtEDirApi.java | 2 +- ...inadosComunicaoComSistemasDasSefazApi.java | 2 +- ...ComunicaoComSistemasDeRgosAnuentesApi.java | 23 +- .../pcce/model/DadosPagamentoTributosDTO.java | 6 +- .../pcce/model/GuiaPagamentoTributosDTO.java | 18 +- .../model/SolicitacaoPagamentoTaxaDTO.java | 334 ++++++++ ...stinadosRecepoDeEventosAduaneiros_Api.java | 42 +- .../rcnt/model/DadosAcessoPessoa.java | 36 +- .../rcnt/model/DadosAcessoVeculo.java | 63 +- .../DadosAgendaOperaoNaviosAeronaves.java | 6 +- .../rcnt/model/DadosArmazenamentoLote.java | 6 +- .../rcnt/model/DadosAtribuioTrocaNavio.java | 31 +- .../rcnt/model/DadosAvariaExtravioLote.java | 6 +- .../model/DadosCarregamentoEntregaLotes.java | 24 +- .../model/DadosContinerUldAcessoVeculo.java | 18 +- .../DadosContinerUldInspeoNoInvasiva.java | 12 +- .../model/DadosContinerUldPesagemVeculo.java | 12 +- .../DadosCoordenadasGeorreferenciamento.java | 18 +- .../rcnt/model/DadosCredenciamentoPessoa.java | 6 +- .../rcnt/model/DadosCredenciamentoVeculo.java | 6 +- .../rcnt/model/DadosDaChegadaAoPontoZero.java | 6 +- .../rcnt/model/DadosDaConfernciaFsica.java | 24 +- .../rcnt/model/DadosDaInspeoNoInvasiva.java | 24 +- .../model/DadosDoConhecimentoDaCarga.java | 12 +- ...adosDoConhecimentoDaCargaSimplificado.java | 6 +- .../rcnt/model/DadosDoManisfestoDaCarga.java | 6 +- .../DadosDoManisfestoDaCargaSimplificado.java | 6 +- .../model/DadosEmbarqueDesembarqueNavio.java | 96 +-- .../rcnt/model/DadosGeorreferenciamento.java | 18 +- .../rcnt/model/DadosGeraoLote.java | 64 +- .../rcnt/model/DadosImagemScanner.java | 6 +- .../DadosIndisponibilidadeEquipamento.java | 6 +- ...nformaoBloqueioDesbloqueioVeculoCarga.java | 30 +- ...ormaoPrviaTrnsitoSimplificadoContiner.java | 6 +- .../portalunico/rcnt/model/DadosLote.java | 50 +- .../portalunico/rcnt/model/DadosNavio.java | 12 +- .../rcnt/model/DadosNavioNomeObrigatorio.java | 94 +++ .../rcnt/model/DadosNavioObrigatorio.java | 95 +++ .../rcnt/model/DadosPesagemVeculo.java | 75 +- .../rcnt/model/DadosPosioContiner.java | 6 +- .../rcnt/model/DadosPosioVeculoPtio.java | 18 +- .../rcnt/model/DadosPrximoNavio.java | 12 +- .../rcnt/model/DadosRepresentante.java | 6 +- .../rcnt/model/DadosSemirreboque.java | 12 +- .../DadosSemirreboqueDaInspeoNoInvasiva.java | 6 +- .../rcnt/model/DadosSemirreboquePesagem.java | 6 +- .../rcnt/model/DadosVolumeVerificado.java | 24 +- ...dosVolumeVerificadoMadeiraObrigatorio.java | 149 ++++ .../rcnt/model/DeclaraoAduaneira.java | 6 +- .../rcnt/model/DocumentoAduaneiro.java | 6 +- ...iosDestinadosConsultasDeDocumentosApi.java | 44 ++ .../DetalheDoProcessamentoDaRemessa.java | 188 +++++ .../remx_consulta/model/Divergncia.java | 144 ++++ ...cessamentoDeManifestoDePresenaDeCarga.java | 170 ++++ .../remx_consulta/model/Ocorrncia.java | 249 ++++++ ...cessamentoDeManifestoDePresenaDeCarga.java | 269 +++++++ ...erviosDestinadosRecepoDeDocumentosApi.java | 47 ++ .../model/InformaesDaRemessa.java | 253 ++++++ .../model/ManifestoDePresenaDeCarga.java | 129 ++++ .../model/ProtocoloDeEnvioDeDocumento.java | 96 +++ .../tabx/api/DadosDaTabelaRegistrosApi.java | 96 +++ .../tabx/api/MetadadosDaTabelaApi.java | 67 ++ .../tabx/model/CampoApiRepresentation.java | 507 ++++++++++++ .../CampoConsultaApiRepresentantion.java | 119 +++ ...mpoInclusaoAlteracaoApiRepresentation.java | 94 +++ .../CampoOrdenacaoApiRepresentation.java | 165 ++++ .../model/CampoRetornoApiRepresentation.java | 95 +++ .../model/DadoTabelaApiRepresentation.java | 74 ++ .../model/DadosTabelaApiRepresentation.java | 102 +++ .../model/DominioCampoApiRepresentation.java | 95 +++ .../portalunico/tabx/model/Error.java | 124 +++ .../model/FiltroCampoApiRepresentation.java | 129 ++++ .../tabx/model/TabelaApiRepresentation.java | 120 +++ .../model/TabelaCamposApiRepresentation.java | 154 ++++ .../AgrupamentoDeLpcOsComLiVinculadaApi.java | 6 +- .../api/CadastroEdioEConsultasDeLpcOsApi.java | 27 +- .../CompatibilizaoDeProdutosDeLpcOsApi.java | 12 +- .../talpco/api/ExignciasDeLpcOsApi.java | 12 +- .../api/ModelosETemplatesDeLpcOsApi.java | 6 +- .../talpco/api/ProrrogaesDeLpcOsApi.java | 12 +- .../talpco/api/RetificaesDeLpcOsApi.java | 8 +- .../talpco/api/SituaoDeLpcoApi.java | 6 +- .../model/AlterarSituacaoLpcoRequest.java | 6 +- .../talpco/model/CampoFormulario.java | 12 +- .../model/CompatibilizacaoLpcoResponse.java | 26 +- .../talpco/model/ConsultarLpcoResponse.java | 4 +- .../talpco/model/ExigenciaLpcoResponse.java | 26 +- ...icativaAceitarCompatibilizacaoRequest.java | 30 +- ...ificativaNegarCompatibilizacaoRequest.java | 2 +- .../talpco/model/LpcoDetalhado.java | 82 +- .../talpco/model/ModeloLpcoCompleto.java | 4 +- .../NovaTentativaPagamentoExternalDTO.java | 150 ++++ .../model/ProrrogacaoLpcoAceitarRequest.java | 30 +- .../model/ProrrogacaoLpcoNegarRequest.java | 2 +- .../talpco/model/ProrrogacaoLpcoResponse.java | 26 +- ...erenciaExportadorEFabricanteDoProduto.java | 2 +- .../talpco/model/ReferenciaFabricante.java | 2 +- .../model/RetificacaoLpcoAceitarRequest.java | 30 +- .../model/RetificacaoLpcoNegarRequest.java | 2 +- .../talpco/model/RetificacaoLpcoResponse.java | 26 +- .../talpco/model/SituacaoLpco.java | 12 +- .../talpco/model/SituacaoPagamentoTaxa.java | 193 +++++ .../talpco/model/SituacaoRetificacaoLpco.java | 4 +- .../talpco/model/ValidacaoCampoLpco.java | 4 +- .../ttce/api/ServiosParaOImportadorApi.java | 2 +- 194 files changed, 9088 insertions(+), 1271 deletions(-) delete mode 100644 src/main/java/br/gov/siscomex/portalunico/cadatributos/api/AtributoApi.java delete mode 100644 src/main/java/br/gov/siscomex/portalunico/cadatributos/api/AtributoNcmApi.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosApi.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorFundamentoLegalApi.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorNcmApi.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioAtributoDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioCondicionadoDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/cadatributos/model/AtributoConsultaFiltroCodigoDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/cadatributos/model/AtributoConsultaFiltroNomeDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ExpressaoCondicionanteConsultaDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ItemAtributoListaConsultaDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ObjetivoAtributoConsultaDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/ccta/model/CondicaoEntregaImportador.java rename src/main/java/br/gov/siscomex/portalunico/ccta/model/{Resposta.java => RespostaRecebimento.java} (87%) create mode 100644 src/main/java/br/gov/siscomex/portalunico/due/model/FundamentoLegalDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/due/model/MemoriaDeCalculoDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/due/model/MotivoDeNaoVinculacao.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/due/model/QuadroDeCalculoDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/due/model/Situacao.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoDoTributoDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/pcce/model/SolicitacaoPagamentoTaxaDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavioNomeObrigatorio.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavioObrigatorio.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosVolumeVerificadoMadeiraObrigatorio.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/remx_consulta/api/ServiosDestinadosConsultasDeDocumentosApi.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/DetalheDoProcessamentoDaRemessa.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/Divergncia.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/ErroNoProcessamentoDeManifestoDePresenaDeCarga.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/Ocorrncia.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/ProcessamentoDeManifestoDePresenaDeCarga.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/remx_recepcao/api/ServiosDestinadosRecepoDeDocumentosApi.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/remx_recepcao/model/InformaesDaRemessa.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/remx_recepcao/model/ManifestoDePresenaDeCarga.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/remx_recepcao/model/ProtocoloDeEnvioDeDocumento.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/api/DadosDaTabelaRegistrosApi.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/api/MetadadosDaTabelaApi.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoApiRepresentation.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoConsultaApiRepresentantion.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoInclusaoAlteracaoApiRepresentation.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoOrdenacaoApiRepresentation.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoRetornoApiRepresentation.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/model/DadoTabelaApiRepresentation.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/model/DadosTabelaApiRepresentation.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/model/DominioCampoApiRepresentation.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/model/Error.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/model/FiltroCampoApiRepresentation.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/model/TabelaApiRepresentation.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/tabx/model/TabelaCamposApiRepresentation.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/talpco/model/NovaTentativaPagamentoExternalDTO.java create mode 100644 src/main/java/br/gov/siscomex/portalunico/talpco/model/SituacaoPagamentoTaxa.java diff --git a/pom.xml b/pom.xml index 5994a2b..d4b8de4 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 samuelfac portalunico.siscomex.gov.br - r51-reno-RELEASE + r55-apa-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. @@ -29,8 +29,8 @@ ${java.version} UTF-8 - 3.4.5 - 2.13.0 + 3.6.2 + 2.16.1 github diff --git a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/AtributoApi.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/AtributoApi.java deleted file mode 100644 index 865d220..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/AtributoApi.java +++ /dev/null @@ -1,44 +0,0 @@ -package br.gov.siscomex.portalunico.cadatributos.api; - - -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.QueryParam; -import javax.ws.rs.core.Response; - -/** - * Cadastro de Atributos - * - *

CADA - Cadastro de Atributos

Introdução

Bem-vindo à API do sistema Cadastro de Atributos.

O Cadastro de Atributos fornece a relação dos atributos configurados pelos órgãos de governo para os códigos de mercadoria (NCM). A relação é atualizada diariamente, à meia-noite, e pode ser consultada para a data atual ou para outra data de referência.

O serviço disponibilizado nesta API é \"Download do arquivo de Lista de Atributos por NCM\", 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/cadatributos/api/ext/atributo-ncm/download/{tipo}
Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api/ext/atributo-ncm/download/{tipo}

 

- * - */ -@Path("/") -@Api(value = "/", description = "") -public interface AtributoApi { - - /** - * Download do arquivo de Lista de Atributos - * - */ - @GET - @Path("/ext/atributo/download/{tipo}") - @ApiOperation(value = "Download do arquivo de Lista de Atributos", notes = "", tags={ "Atributo" }) - @ApiResponses(value = { - @ApiResponse(code = 200, message = "Operação realizada com sucesso"), - @ApiResponse(code = 400, message = "Requisição inválida"), - @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response download(@ApiParam(value = "Tipo do arquivo a ser gerado.
xml
json",required=true, allowableValues="xml, json") @PathParam("tipo") String tipo, @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 de referência do arquivo, no formato ISO, com precisão de dias.
Formato: yyyy-MM-dd") @QueryParam("data") String data); -} - diff --git a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/AtributoNcmApi.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/AtributoNcmApi.java deleted file mode 100644 index 14af954..0000000 --- a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/AtributoNcmApi.java +++ /dev/null @@ -1,44 +0,0 @@ -package br.gov.siscomex.portalunico.cadatributos.api; - - -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.QueryParam; -import javax.ws.rs.core.Response; - -/** - * Cadastro de Atributos - * - *

CADA - Cadastro de Atributos

Introdução

Bem-vindo à API do sistema Cadastro de Atributos.

O Cadastro de Atributos fornece a relação dos atributos configurados pelos órgãos de governo para os códigos de mercadoria (NCM). A relação é atualizada diariamente, à meia-noite, e pode ser consultada para a data atual ou para outra data de referência.

O serviço disponibilizado nesta API é \"Download do arquivo de Lista de Atributos por NCM\", 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/cadatributos/api/ext/atributo-ncm/download/{tipo}
Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api/ext/atributo-ncm/download/{tipo}

 

- * - */ -@Path("/") -@Api(value = "/", description = "") -public interface AtributoNcmApi { - - /** - * Download do arquivo de Lista de Atributos por NCM - * - */ - @GET - @Path("/ext/atributo-ncm/download/{tipo}") - @ApiOperation(value = "Download do arquivo de Lista de Atributos por NCM", notes = "", tags={ "Atributo NCM" }) - @ApiResponses(value = { - @ApiResponse(code = 200, message = "Operação realizada com sucesso"), - @ApiResponse(code = 400, message = "Requisição inválida"), - @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response download(@ApiParam(value = "Tipo do arquivo a ser gerado.
xml
json",required=true, allowableValues="xml, json") @PathParam("tipo") String tipo, @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 de referência do arquivo, no formato ISO, com precisão de dias.
Formato: yyyy-MM-dd") @QueryParam("data") String data); -} - 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 new file mode 100644 index 0000000..d3ded9a --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosApi.java @@ -0,0 +1,91 @@ +package br.gov.siscomex.portalunico.cadatributos.api; + +import br.gov.siscomex.portalunico.cadatributos.model.ArquivoDiarioAtributoDTO; +import br.gov.siscomex.portalunico.cadatributos.model.AtributoConsultaFiltroCodigoDTO; +import br.gov.siscomex.portalunico.cadatributos.model.AtributoConsultaFiltroNomeDTO; +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.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +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; + +/** + * 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:

+ * + */ +@Path("/") +@Api(value = "/", description = "") +public interface RelaoDeAtributosApi { + + /** + * Consulta de dados de atributos pelo código + * + */ + @POST + @Path("/ext/atributo/consulta-codigo") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Consulta de dados de atributos pelo código", notes = "", tags={ "Relação de Atributos" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ArquivoDiarioAtributoDTO.class), + @ApiResponse(code = 400, message = "Requisição inválida"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso"), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 404, message = "Recurso não encontrado") }) + public Response consultarCodigo(@ApiParam(value = "Filtro da Consulta" ,required=true)@Valid AtributoConsultaFiltroCodigoDTO body, @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 de dados de atributos pelo nome + * + */ + @POST + @Path("/ext/atributo/consulta-nome") + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @ApiOperation(value = "Consulta de dados de atributos pelo nome", notes = "", tags={ "Relação de Atributos" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ArquivoDiarioAtributoDTO.class), + @ApiResponse(code = 400, message = "Requisição inválida"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso"), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 404, message = "Recurso não encontrado") }) + public Response consultarNome(@ApiParam(value = "Filtro da Consulta" ,required=true)@Valid AtributoConsultaFiltroNomeDTO body, @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); + + /** + * Download do arquivo com a relação de atributos, independente dos vínculos + * + */ + @GET + @Path("/ext/atributo/download/{tipo}") + @ApiOperation(value = "Download do arquivo com a relação de atributos, independente dos vínculos", notes = "", tags={ "Relação de Atributos" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso"), + @ApiResponse(code = 400, message = "Requisição inválida"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 404, message = "Recurso não encontrado") }) + public Response download(@ApiParam(value = "Tipo do arquivo a ser gerado.
xml
json",required=true, allowableValues="xml, json") @PathParam("tipo") String tipo, @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 de referência do arquivo, no formato ISO, com precisão de dias.
Formato: yyyy-MM-dd") @QueryParam("data") String data, @ApiParam(value = "", allowableValues="TRATAMENTO_ADMINISTRATIVO, CADASTRO_INTERVENIENTES, DUIMP, LPCO, PRODUTO, TRATAMENTO_TRIBUTARIO, FUNDAMENTO_LEGAL_DUIMP") @QueryParam("objetivos") List objetivos, @ApiParam(value = "") @QueryParam("orgaosDemandantes") List orgaosDemandantes); +} + 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 new file mode 100644 index 0000000..c5205e9 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorFundamentoLegalApi.java @@ -0,0 +1,62 @@ +package br.gov.siscomex.portalunico.cadatributos.api; + + +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.QueryParam; +import javax.ws.rs.core.Response; +import java.util.List; + +/** + * 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:

  • Código NCM (Nomenclatura Comum do Mercosul): São vinculados atributos com objetivo “Produto”, “Tratamento Administrativo” ou “DUIMP”.
  • Fundamento Legal: São vinculados atributos com objetivo “Fundamento Legal da DUIMP”.
  • Modelo de LPCO: São vinculados atributos com objetivo “LPCO”.

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:

  • Versões da relação de atributos: URL_BASE/atributo/historico-versoes.html
  • Versões da relação de atributos por NCM: URL_BASE/atributo-ncm/historico-versoes.html
  • Versões da relação de atributos por Fundamento Legal: URL_BASE/atributo-fundamento-legal/historico-versoes.html

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:

  • Consulta de dados de atributos pelo código ou pelo nome, permitindo consultar até 100 atributos por chamada;
  • Consulta da relação de atributos vinculados a um código NCM;
  • Consulta da relação de atributos vinculados a um Fundamento Legal.
+ * + */ +@Path("/") +@Api(value = "/", description = "") +public interface RelaoDeAtributosPorFundamentoLegalApi { + + /** + * Consulta da relação de atributos por Fundamento Legal + * + */ + @GET + @Path("/ext/atributo-fundamento-legal/{codigo-fundamento-legal}") + @ApiOperation(value = "Consulta da relação de atributos por Fundamento Legal", notes = "", tags={ "Relação de Atributos por Fundamento Legal" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso"), + @ApiResponse(code = 400, message = "Requisição inválida"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 404, message = "Recurso não encontrado") }) + public Response consultar(@ApiParam(value = "Código do Fundamento Legal",required=true) @PathParam("codigo-fundamento-legal") String codigoFundamentoLegal, @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 de referência, no formato ISO, com precisão de dias.
Formato: yyyy-MM-dd") @QueryParam("data") String data, @ApiParam(value = "Orgãos demandantes") @QueryParam("orgaosDemandantes") List orgaosDemandantes); + + /** + * Download do arquivo com a relação de atributos por Fundamento Legal + * + */ + @GET + @Path("/ext/atributo-fundamento-legal/download/{tipo}") + @ApiOperation(value = "Download do arquivo com a relação de atributos por Fundamento Legal", notes = "", tags={ "Relação de Atributos por Fundamento Legal" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso"), + @ApiResponse(code = 400, message = "Requisição inválida"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 404, message = "Recurso não encontrado") }) + public Response download(@ApiParam(value = "Tipo do arquivo a ser gerado.
xml
json",required=true, allowableValues="xml, json") @PathParam("tipo") String tipo, @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 de referência do arquivo, no formato ISO, com precisão de dias.
Formato: yyyy-MM-dd") @QueryParam("data") String data, @ApiParam(value = "Orgãos demandantes") @QueryParam("orgaosDemandantes") List orgaosDemandantes); +} + 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 new file mode 100644 index 0000000..f0d72a0 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorNcmApi.java @@ -0,0 +1,62 @@ +package br.gov.siscomex.portalunico.cadatributos.api; + + +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.QueryParam; +import javax.ws.rs.core.Response; +import java.util.List; + +/** + * 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:

  • Código NCM (Nomenclatura Comum do Mercosul): São vinculados atributos com objetivo “Produto”, “Tratamento Administrativo” ou “DUIMP”.
  • Fundamento Legal: São vinculados atributos com objetivo “Fundamento Legal da DUIMP”.
  • Modelo de LPCO: São vinculados atributos com objetivo “LPCO”.

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:

  • Versões da relação de atributos: URL_BASE/atributo/historico-versoes.html
  • Versões da relação de atributos por NCM: URL_BASE/atributo-ncm/historico-versoes.html
  • Versões da relação de atributos por Fundamento Legal: URL_BASE/atributo-fundamento-legal/historico-versoes.html

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:

  • Consulta de dados de atributos pelo código ou pelo nome, permitindo consultar até 100 atributos por chamada;
  • Consulta da relação de atributos vinculados a um código NCM;
  • Consulta da relação de atributos vinculados a um Fundamento Legal.
+ * + */ +@Path("/") +@Api(value = "/", description = "") +public interface RelaoDeAtributosPorNcmApi { + + /** + * Consulta da relação de atributos de um código NCM + * + */ + @GET + @Path("/ext/atributo-ncm/{codigo-ncm}") + @ApiOperation(value = "Consulta da relação de atributos de um código NCM", notes = "", tags={ "Relação de Atributos por NCM" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso"), + @ApiResponse(code = 400, message = "Requisição inválida"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 404, message = "Recurso não encontrado") }) + public Response consultar(@ApiParam(value = "Código do NCM",required=true) @PathParam("codigo-ncm") String codigoNcm, @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 de referência, no formato ISO, com precisão de dias.
Formato: yyyy-MM-dd") @QueryParam("data") String data, @ApiParam(value = "Modalidade de operação", allowableValues="IMPORTACAO, EXPORTACAO") @QueryParam("modalidade") String modalidade, @ApiParam(value = "Objetivos: Produto, Tratamento Administrativo, Duimp", allowableValues="TRATAMENTO_ADMINISTRATIVO, PRODUTO, DUIMP") @QueryParam("objetivos") List objetivos, @ApiParam(value = "Orgãos demandantes") @QueryParam("orgaosDemandantes") List orgaosDemandantes); + + /** + * Download do arquivo com a relação de atributos por NCM + * + */ + @GET + @Path("/ext/atributo-ncm/download/{tipo}") + @ApiOperation(value = "Download do arquivo com a relação de atributos por NCM", notes = "", tags={ "Relação de Atributos por NCM" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso"), + @ApiResponse(code = 400, message = "Requisição inválida"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), + @ApiResponse(code = 404, message = "Recurso não encontrado") }) + public Response download(@ApiParam(value = "Tipo do arquivo a ser gerado.
xml
json",required=true, allowableValues="xml, json") @PathParam("tipo") String tipo, @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 de referência do arquivo, no formato ISO, com precisão de dias.
Formato: yyyy-MM-dd") @QueryParam("data") String data, @ApiParam(value = "Modalidade de operação", allowableValues="IMPORTACAO, EXPORTACAO") @QueryParam("modalidade") String modalidade, @ApiParam(value = "Objetivos: Produto, Tratamento Administrativo, Duimp", allowableValues="TRATAMENTO_ADMINISTRATIVO, PRODUTO, DUIMP") @QueryParam("objetivos") List objetivos, @ApiParam(value = "Orgãos demandantes") @QueryParam("orgaosDemandantes") List orgaosDemandantes, @ApiParam(value = "Códigos NCM") @QueryParam("codigosNCM") List codigosNCM); +} + 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 new file mode 100644 index 0000000..1147f8a --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioAtributoDTO.java @@ -0,0 +1,727 @@ +package br.gov.siscomex.portalunico.cadatributos.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; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "ArquivoDiarioAtributoDTO", propOrder = + { "codigo", "modalidade", "obrigatorio", "dataInicioVigencia", "dataFimVigencia", "informacaoAdicional", "multivalorado", "listaSubatributos", "nome", "orgaos", "objetivos", "tipoAtributo", "atributoCondicionante", "condicionados", "dominio", "brid", "wcoid", "formaPreenchimento", "orientacaoPreenchimento", "nomeApresentacao", "definicao", "tamanhoMaximo", "mascara", "casasDecimais" +}) + +@XmlRootElement(name="ArquivoDiarioAtributoDTO") +/** + * Informações do arquivo diário com a lista de Atributos e NCM + **/ +@ApiModel(description="Informações do arquivo diário com a lista de Atributos e NCM") +public class ArquivoDiarioAtributoDTO { + + @XmlElement(name="codigo", required = true) + @ApiModelProperty(example = "ATT_1", required = true, value = "Código do atributo
Tamanho mínimo: 1
Tamanho máximo: 25") + /** + * Código do atributo
Tamanho mínimo: 1
Tamanho máximo: 25 + **/ + private String codigo = null; + + @XmlElement(name="modalidade", required = true) + @ApiModelProperty(example = "Exportação", required = true, value = "Modalidade de operação.
Tamanho máximo: 20
Domínio:
Exportação
Importação") + /** + * Modalidade de operação.
Tamanho máximo: 20
Domínio:
Exportação
Importação + **/ + private String modalidade = null; + + @XmlElement(name="obrigatorio", required = true) + @ApiModelProperty(example = "true", required = true, value = "Preenchimento obrigatório.
Domínio:
true
false") + /** + * Preenchimento obrigatório.
Domínio:
true
false + **/ + private Boolean obrigatorio = false; + + @XmlElement(name="dataInicioVigencia", required = true) + @ApiModelProperty(example = "2019-01-01", required = true, value = "Data de início de vigência
Formato: yyyy-MM-dd") + /** + * Data de início de vigência
Formato: yyyy-MM-dd + **/ + private String dataInicioVigencia = null; + + @XmlElement(name="dataFimVigencia") + @ApiModelProperty(example = "2019-08-29", value = "Data de fim de vigência
Formato: yyyy-MM-dd") + /** + * Data de fim de vigência
Formato: yyyy-MM-dd + **/ + private String dataFimVigencia = null; + + @XmlElement(name="informacaoAdicional") + @ApiModelProperty(example = "Texto livre", value = "Informação adicional de preenchimento para o vínculo
Tamanho mínimo: 0
Tamanho máximo: 1000") + /** + * Informação adicional de preenchimento para o vínculo
Tamanho mínimo: 0
Tamanho máximo: 1000 + **/ + private String informacaoAdicional = null; + + @XmlElement(name="multivalorado", required = true) + @ApiModelProperty(example = "true", required = true, value = "Campo multivalorado.
Domínio:
true
false") + /** + * Campo multivalorado.
Domínio:
true
false + **/ + private Boolean multivalorado = false; + + @XmlElement(name="listaSubatributos") + @ApiModelProperty(value = "") + @Valid + private List listaSubatributos = null; + + @XmlElement(name="nome") + @ApiModelProperty(value = "") + private String nome = null; + + @XmlElement(name="orgaos") + @ApiModelProperty(value = "") + private List orgaos = null; + + @XmlElement(name="objetivos") + @ApiModelProperty(value = "") + @Valid + private List objetivos = null; + + @XmlElement(name="tipoAtributo") + @ApiModelProperty(value = "") + private String tipoAtributo = null; + + @XmlElement(name="atributoCondicionante") + @ApiModelProperty(value = "") + private Boolean atributoCondicionante = false; + + @XmlElement(name="condicionados") + @ApiModelProperty(value = "") + @Valid + private List condicionados = null; + + @XmlElement(name="dominio") + @ApiModelProperty(value = "") + @Valid + private List dominio = null; + + @XmlElement(name="brid") + @ApiModelProperty(value = "") + private String brid = null; + + @XmlElement(name="wcoid") + @ApiModelProperty(value = "") + private String wcoid = null; + + +@XmlType(name="FormaPreenchimentoEnum") +@XmlEnum(String.class) +public enum FormaPreenchimentoEnum { + + @XmlEnumValue("LISTA_ESTATICA") + @JsonProperty("LISTA_ESTATICA") + LISTA_ESTATICA(String.valueOf("LISTA_ESTATICA")), + + @XmlEnumValue("BOOLEANO") + @JsonProperty("BOOLEANO") + BOOLEANO(String.valueOf("BOOLEANO")), + + @XmlEnumValue("DATA") + @JsonProperty("DATA") + DATA(String.valueOf("DATA")), + + @XmlEnumValue("DATA_HORA") + @JsonProperty("DATA_HORA") + DATA_HORA(String.valueOf("DATA_HORA")), + + @XmlEnumValue("NUMERO_INTEIRO") + @JsonProperty("NUMERO_INTEIRO") + NUMERO_INTEIRO(String.valueOf("NUMERO_INTEIRO")), + + @XmlEnumValue("NUMERO_REAL") + @JsonProperty("NUMERO_REAL") + NUMERO_REAL(String.valueOf("NUMERO_REAL")), + + @XmlEnumValue("TEXTO") + @JsonProperty("TEXTO") + TEXTO(String.valueOf("TEXTO")), + + @XmlEnumValue("DOMINIO_DINAMICO") + @JsonProperty("DOMINIO_DINAMICO") + DOMINIO_DINAMICO(String.valueOf("DOMINIO_DINAMICO")), + + @XmlEnumValue("COMPOSTO") + @JsonProperty("COMPOSTO") + COMPOSTO(String.valueOf("COMPOSTO")); + + + private String value; + + FormaPreenchimentoEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FormaPreenchimentoEnum fromValue(String v) { + for (FormaPreenchimentoEnum b : FormaPreenchimentoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to FormaPreenchimentoEnum"); + } +} + + @XmlElement(name="formaPreenchimento") + @ApiModelProperty(value = "") + private FormaPreenchimentoEnum formaPreenchimento = null; + + @XmlElement(name="orientacaoPreenchimento") + @ApiModelProperty(value = "") + private String orientacaoPreenchimento = null; + + @XmlElement(name="nomeApresentacao") + @ApiModelProperty(value = "") + private String nomeApresentacao = null; + + @XmlElement(name="definicao") + @ApiModelProperty(value = "") + private String definicao = null; + + @XmlElement(name="tamanhoMaximo") + @ApiModelProperty(value = "") + private Integer tamanhoMaximo = null; + + @XmlElement(name="mascara") + @ApiModelProperty(value = "") + private String mascara = null; + + @XmlElement(name="casasDecimais") + @ApiModelProperty(value = "") + private Integer casasDecimais = null; + /** + * Código do atributo<br>Tamanho mínimo: 1<br>Tamanho máximo: 25 + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public ArquivoDiarioAtributoDTO codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Modalidade de operação.<br>Tamanho máximo: 20<br>Domínio:<br>Exportação<br>Importação + * @return modalidade + **/ + @JsonProperty("modalidade") + @NotNull + public String getModalidade() { + return modalidade; + } + + public void setModalidade(String modalidade) { + this.modalidade = modalidade; + } + + public ArquivoDiarioAtributoDTO modalidade(String modalidade) { + this.modalidade = modalidade; + return this; + } + + /** + * Preenchimento obrigatório.<br>Domínio:<br>true<br>false + * @return obrigatorio + **/ + @JsonProperty("obrigatorio") + @NotNull + public Boolean isObrigatorio() { + return obrigatorio; + } + + public void setObrigatorio(Boolean obrigatorio) { + this.obrigatorio = obrigatorio; + } + + public ArquivoDiarioAtributoDTO obrigatorio(Boolean obrigatorio) { + this.obrigatorio = obrigatorio; + return this; + } + + /** + * Data de início de vigência<br>Formato: yyyy-MM-dd + * @return dataInicioVigencia + **/ + @JsonProperty("dataInicioVigencia") + @NotNull + public String getDataInicioVigencia() { + return dataInicioVigencia; + } + + public void setDataInicioVigencia(String dataInicioVigencia) { + this.dataInicioVigencia = dataInicioVigencia; + } + + public ArquivoDiarioAtributoDTO dataInicioVigencia(String dataInicioVigencia) { + this.dataInicioVigencia = dataInicioVigencia; + return this; + } + + /** + * Data de fim de vigência<br>Formato: yyyy-MM-dd + * @return dataFimVigencia + **/ + @JsonProperty("dataFimVigencia") + public String getDataFimVigencia() { + return dataFimVigencia; + } + + public void setDataFimVigencia(String dataFimVigencia) { + this.dataFimVigencia = dataFimVigencia; + } + + public ArquivoDiarioAtributoDTO dataFimVigencia(String dataFimVigencia) { + this.dataFimVigencia = dataFimVigencia; + return this; + } + + /** + * Informação adicional de preenchimento para o vínculo<br>Tamanho mínimo: 0<br>Tamanho máximo: 1000 + * @return informacaoAdicional + **/ + @JsonProperty("informacaoAdicional") + public String getInformacaoAdicional() { + return informacaoAdicional; + } + + public void setInformacaoAdicional(String informacaoAdicional) { + this.informacaoAdicional = informacaoAdicional; + } + + public ArquivoDiarioAtributoDTO informacaoAdicional(String informacaoAdicional) { + this.informacaoAdicional = informacaoAdicional; + return this; + } + + /** + * Campo multivalorado.<br>Domínio:<br>true<br>false + * @return multivalorado + **/ + @JsonProperty("multivalorado") + @NotNull + public Boolean isMultivalorado() { + return multivalorado; + } + + public void setMultivalorado(Boolean multivalorado) { + this.multivalorado = multivalorado; + } + + public ArquivoDiarioAtributoDTO multivalorado(Boolean multivalorado) { + this.multivalorado = multivalorado; + return this; + } + + /** + * Get listaSubatributos + * @return listaSubatributos + **/ + @JsonProperty("listaSubatributos") + public List getListaSubatributos() { + return listaSubatributos; + } + + public void setListaSubatributos(List listaSubatributos) { + this.listaSubatributos = listaSubatributos; + } + + public ArquivoDiarioAtributoDTO listaSubatributos(List listaSubatributos) { + this.listaSubatributos = listaSubatributos; + return this; + } + + public ArquivoDiarioAtributoDTO addListaSubatributosItem(ArquivoDiarioAtributoDTO listaSubatributosItem) { + this.listaSubatributos.add(listaSubatributosItem); + return this; + } + + /** + * Get nome + * @return nome + **/ + @JsonProperty("nome") + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public ArquivoDiarioAtributoDTO nome(String nome) { + this.nome = nome; + return this; + } + + /** + * Get orgaos + * @return orgaos + **/ + @JsonProperty("orgaos") + public List getOrgaos() { + return orgaos; + } + + public void setOrgaos(List orgaos) { + this.orgaos = orgaos; + } + + public ArquivoDiarioAtributoDTO orgaos(List orgaos) { + this.orgaos = orgaos; + return this; + } + + public ArquivoDiarioAtributoDTO addOrgaosItem(String orgaosItem) { + this.orgaos.add(orgaosItem); + return this; + } + + /** + * Get objetivos + * @return objetivos + **/ + @JsonProperty("objetivos") + public List getObjetivos() { + return objetivos; + } + + public void setObjetivos(List objetivos) { + this.objetivos = objetivos; + } + + public ArquivoDiarioAtributoDTO objetivos(List objetivos) { + this.objetivos = objetivos; + return this; + } + + public ArquivoDiarioAtributoDTO addObjetivosItem(ObjetivoAtributoConsultaDTO objetivosItem) { + this.objetivos.add(objetivosItem); + return this; + } + + /** + * Get tipoAtributo + * @return tipoAtributo + **/ + @JsonProperty("tipoAtributo") + public String getTipoAtributo() { + return tipoAtributo; + } + + public void setTipoAtributo(String tipoAtributo) { + this.tipoAtributo = tipoAtributo; + } + + public ArquivoDiarioAtributoDTO tipoAtributo(String tipoAtributo) { + this.tipoAtributo = tipoAtributo; + return this; + } + + /** + * Get atributoCondicionante + * @return atributoCondicionante + **/ + @JsonProperty("atributoCondicionante") + public Boolean isAtributoCondicionante() { + return atributoCondicionante; + } + + public void setAtributoCondicionante(Boolean atributoCondicionante) { + this.atributoCondicionante = atributoCondicionante; + } + + public ArquivoDiarioAtributoDTO atributoCondicionante(Boolean atributoCondicionante) { + this.atributoCondicionante = atributoCondicionante; + return this; + } + + /** + * Get condicionados + * @return condicionados + **/ + @JsonProperty("condicionados") + public List getCondicionados() { + return condicionados; + } + + public void setCondicionados(List condicionados) { + this.condicionados = condicionados; + } + + public ArquivoDiarioAtributoDTO condicionados(List condicionados) { + this.condicionados = condicionados; + return this; + } + + public ArquivoDiarioAtributoDTO addCondicionadosItem(ArquivoDiarioCondicionadoDTO condicionadosItem) { + this.condicionados.add(condicionadosItem); + return this; + } + + /** + * Get dominio + * @return dominio + **/ + @JsonProperty("dominio") + public List getDominio() { + return dominio; + } + + public void setDominio(List dominio) { + this.dominio = dominio; + } + + public ArquivoDiarioAtributoDTO dominio(List dominio) { + this.dominio = dominio; + return this; + } + + public ArquivoDiarioAtributoDTO addDominioItem(ItemAtributoListaConsultaDTO dominioItem) { + this.dominio.add(dominioItem); + return this; + } + + /** + * Get brid + * @return brid + **/ + @JsonProperty("brid") + public String getBrid() { + return brid; + } + + public void setBrid(String brid) { + this.brid = brid; + } + + public ArquivoDiarioAtributoDTO brid(String brid) { + this.brid = brid; + return this; + } + + /** + * Get wcoid + * @return wcoid + **/ + @JsonProperty("wcoid") + public String getWcoid() { + return wcoid; + } + + public void setWcoid(String wcoid) { + this.wcoid = wcoid; + } + + public ArquivoDiarioAtributoDTO wcoid(String wcoid) { + this.wcoid = wcoid; + return this; + } + + /** + * Get formaPreenchimento + * @return formaPreenchimento + **/ + @JsonProperty("formaPreenchimento") + public String getFormaPreenchimento() { + if (formaPreenchimento == null) { + return null; + } + return formaPreenchimento.value(); + } + + public void setFormaPreenchimento(FormaPreenchimentoEnum formaPreenchimento) { + this.formaPreenchimento = formaPreenchimento; + } + + public ArquivoDiarioAtributoDTO formaPreenchimento(FormaPreenchimentoEnum formaPreenchimento) { + this.formaPreenchimento = formaPreenchimento; + return this; + } + + /** + * Get orientacaoPreenchimento + * @return orientacaoPreenchimento + **/ + @JsonProperty("orientacaoPreenchimento") + public String getOrientacaoPreenchimento() { + return orientacaoPreenchimento; + } + + public void setOrientacaoPreenchimento(String orientacaoPreenchimento) { + this.orientacaoPreenchimento = orientacaoPreenchimento; + } + + public ArquivoDiarioAtributoDTO orientacaoPreenchimento(String orientacaoPreenchimento) { + this.orientacaoPreenchimento = orientacaoPreenchimento; + return this; + } + + /** + * Get nomeApresentacao + * @return nomeApresentacao + **/ + @JsonProperty("nomeApresentacao") + public String getNomeApresentacao() { + return nomeApresentacao; + } + + public void setNomeApresentacao(String nomeApresentacao) { + this.nomeApresentacao = nomeApresentacao; + } + + public ArquivoDiarioAtributoDTO nomeApresentacao(String nomeApresentacao) { + this.nomeApresentacao = nomeApresentacao; + return this; + } + + /** + * Get definicao + * @return definicao + **/ + @JsonProperty("definicao") + public String getDefinicao() { + return definicao; + } + + public void setDefinicao(String definicao) { + this.definicao = definicao; + } + + public ArquivoDiarioAtributoDTO definicao(String definicao) { + this.definicao = definicao; + return this; + } + + /** + * Get tamanhoMaximo + * @return tamanhoMaximo + **/ + @JsonProperty("tamanhoMaximo") + public Integer getTamanhoMaximo() { + return tamanhoMaximo; + } + + public void setTamanhoMaximo(Integer tamanhoMaximo) { + this.tamanhoMaximo = tamanhoMaximo; + } + + public ArquivoDiarioAtributoDTO tamanhoMaximo(Integer tamanhoMaximo) { + this.tamanhoMaximo = tamanhoMaximo; + return this; + } + + /** + * Get mascara + * @return mascara + **/ + @JsonProperty("mascara") + public String getMascara() { + return mascara; + } + + public void setMascara(String mascara) { + this.mascara = mascara; + } + + public ArquivoDiarioAtributoDTO mascara(String mascara) { + this.mascara = mascara; + return this; + } + + /** + * Get casasDecimais + * @return casasDecimais + **/ + @JsonProperty("casasDecimais") + public Integer getCasasDecimais() { + return casasDecimais; + } + + public void setCasasDecimais(Integer casasDecimais) { + this.casasDecimais = casasDecimais; + } + + public ArquivoDiarioAtributoDTO casasDecimais(Integer casasDecimais) { + this.casasDecimais = casasDecimais; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ArquivoDiarioAtributoDTO {\n"); + + sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n"); + sb.append(" modalidade: ").append(toIndentedString(modalidade)).append("\n"); + sb.append(" obrigatorio: ").append(toIndentedString(obrigatorio)).append("\n"); + sb.append(" dataInicioVigencia: ").append(toIndentedString(dataInicioVigencia)).append("\n"); + sb.append(" dataFimVigencia: ").append(toIndentedString(dataFimVigencia)).append("\n"); + sb.append(" informacaoAdicional: ").append(toIndentedString(informacaoAdicional)).append("\n"); + sb.append(" multivalorado: ").append(toIndentedString(multivalorado)).append("\n"); + sb.append(" listaSubatributos: ").append(toIndentedString(listaSubatributos)).append("\n"); + sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); + sb.append(" orgaos: ").append(toIndentedString(orgaos)).append("\n"); + sb.append(" objetivos: ").append(toIndentedString(objetivos)).append("\n"); + sb.append(" tipoAtributo: ").append(toIndentedString(tipoAtributo)).append("\n"); + sb.append(" atributoCondicionante: ").append(toIndentedString(atributoCondicionante)).append("\n"); + sb.append(" condicionados: ").append(toIndentedString(condicionados)).append("\n"); + sb.append(" dominio: ").append(toIndentedString(dominio)).append("\n"); + sb.append(" brid: ").append(toIndentedString(brid)).append("\n"); + sb.append(" wcoid: ").append(toIndentedString(wcoid)).append("\n"); + sb.append(" formaPreenchimento: ").append(toIndentedString(formaPreenchimento)).append("\n"); + sb.append(" orientacaoPreenchimento: ").append(toIndentedString(orientacaoPreenchimento)).append("\n"); + sb.append(" nomeApresentacao: ").append(toIndentedString(nomeApresentacao)).append("\n"); + sb.append(" definicao: ").append(toIndentedString(definicao)).append("\n"); + sb.append(" tamanhoMaximo: ").append(toIndentedString(tamanhoMaximo)).append("\n"); + sb.append(" mascara: ").append(toIndentedString(mascara)).append("\n"); + sb.append(" casasDecimais: ").append(toIndentedString(casasDecimais)).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/cadatributos/model/ArquivoDiarioCondicionadoDTO.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioCondicionadoDTO.java new file mode 100644 index 0000000..20c4f49 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioCondicionadoDTO.java @@ -0,0 +1,225 @@ +package br.gov.siscomex.portalunico.cadatributos.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.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "ArquivoDiarioCondicionadoDTO", propOrder = + { "obrigatorio", "multivalorado", "dataInicioVigencia", "dataFimVigencia", "descricaoCondicao", "condicao", "atributo" +}) + +@XmlRootElement(name="ArquivoDiarioCondicionadoDTO") +public class ArquivoDiarioCondicionadoDTO { + + @XmlElement(name="obrigatorio", required = true) + @ApiModelProperty(example = "true", required = true, value = "Preenchimento obrigatório.
Domínio:
true
false") + /** + * Preenchimento obrigatório.
Domínio:
true
false + **/ + private Boolean obrigatorio = false; + + @XmlElement(name="multivalorado", required = true) + @ApiModelProperty(example = "true", required = true, value = "Preenchimento multivalorado.
Domínio:
true
false") + /** + * Preenchimento multivalorado.
Domínio:
true
false + **/ + private Boolean multivalorado = false; + + @XmlElement(name="dataInicioVigencia", required = true) + @ApiModelProperty(example = "2019-01-01", required = true, value = "Data de início de vigência
Formato: yyyy-MM-dd") + /** + * Data de início de vigência
Formato: yyyy-MM-dd + **/ + private String dataInicioVigencia = null; + + @XmlElement(name="dataFimVigencia") + @ApiModelProperty(example = "2019-12-31", value = "Data de fim de vigência
Formato: yyyy-MM-dd") + /** + * Data de fim de vigência
Formato: yyyy-MM-dd + **/ + private String dataFimVigencia = null; + + @XmlElement(name="descricaoCondicao") + @ApiModelProperty(example = "'ATT_4747' Igual '02' OU 'ATT_4747' Igual '07' OU 'ATT_4747' Igual '09'", value = "Descrição da condição do atributo
Tamanho mínimo: 0
Tamanho máximo: 1000") + /** + * Descrição da condição do atributo
Tamanho mínimo: 0
Tamanho máximo: 1000 + **/ + private String descricaoCondicao = null; + + @XmlElement(name="condicao", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private ExpressaoCondicionanteConsultaDTO condicao = null; + + @XmlElement(name="atributo", required = true) + @ApiModelProperty(required = true, value = "") + @Valid + private ArquivoDiarioAtributoDTO atributo = null; + /** + * Preenchimento obrigatório.<br>Domínio:<br>true<br>false + * @return obrigatorio + **/ + @JsonProperty("obrigatorio") + @NotNull + public Boolean isObrigatorio() { + return obrigatorio; + } + + public void setObrigatorio(Boolean obrigatorio) { + this.obrigatorio = obrigatorio; + } + + public ArquivoDiarioCondicionadoDTO obrigatorio(Boolean obrigatorio) { + this.obrigatorio = obrigatorio; + return this; + } + + /** + * Preenchimento multivalorado.<br>Domínio:<br>true<br>false + * @return multivalorado + **/ + @JsonProperty("multivalorado") + @NotNull + public Boolean isMultivalorado() { + return multivalorado; + } + + public void setMultivalorado(Boolean multivalorado) { + this.multivalorado = multivalorado; + } + + public ArquivoDiarioCondicionadoDTO multivalorado(Boolean multivalorado) { + this.multivalorado = multivalorado; + return this; + } + + /** + * Data de início de vigência<br>Formato: yyyy-MM-dd + * @return dataInicioVigencia + **/ + @JsonProperty("dataInicioVigencia") + @NotNull + public String getDataInicioVigencia() { + return dataInicioVigencia; + } + + public void setDataInicioVigencia(String dataInicioVigencia) { + this.dataInicioVigencia = dataInicioVigencia; + } + + public ArquivoDiarioCondicionadoDTO dataInicioVigencia(String dataInicioVigencia) { + this.dataInicioVigencia = dataInicioVigencia; + return this; + } + + /** + * Data de fim de vigência<br>Formato: yyyy-MM-dd + * @return dataFimVigencia + **/ + @JsonProperty("dataFimVigencia") + public String getDataFimVigencia() { + return dataFimVigencia; + } + + public void setDataFimVigencia(String dataFimVigencia) { + this.dataFimVigencia = dataFimVigencia; + } + + public ArquivoDiarioCondicionadoDTO dataFimVigencia(String dataFimVigencia) { + this.dataFimVigencia = dataFimVigencia; + return this; + } + + /** + * Descrição da condição do atributo<br>Tamanho mínimo: 0<br>Tamanho máximo: 1000 + * @return descricaoCondicao + **/ + @JsonProperty("descricaoCondicao") + public String getDescricaoCondicao() { + return descricaoCondicao; + } + + public void setDescricaoCondicao(String descricaoCondicao) { + this.descricaoCondicao = descricaoCondicao; + } + + public ArquivoDiarioCondicionadoDTO descricaoCondicao(String descricaoCondicao) { + this.descricaoCondicao = descricaoCondicao; + return this; + } + + /** + * Get condicao + * @return condicao + **/ + @JsonProperty("condicao") + @NotNull + public ExpressaoCondicionanteConsultaDTO getCondicao() { + return condicao; + } + + public void setCondicao(ExpressaoCondicionanteConsultaDTO condicao) { + this.condicao = condicao; + } + + public ArquivoDiarioCondicionadoDTO condicao(ExpressaoCondicionanteConsultaDTO condicao) { + this.condicao = condicao; + return this; + } + + /** + * Get atributo + * @return atributo + **/ + @JsonProperty("atributo") + @NotNull + public ArquivoDiarioAtributoDTO getAtributo() { + return atributo; + } + + public void setAtributo(ArquivoDiarioAtributoDTO atributo) { + this.atributo = atributo; + } + + public ArquivoDiarioCondicionadoDTO atributo(ArquivoDiarioAtributoDTO atributo) { + this.atributo = atributo; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ArquivoDiarioCondicionadoDTO {\n"); + + sb.append(" obrigatorio: ").append(toIndentedString(obrigatorio)).append("\n"); + sb.append(" multivalorado: ").append(toIndentedString(multivalorado)).append("\n"); + sb.append(" dataInicioVigencia: ").append(toIndentedString(dataInicioVigencia)).append("\n"); + sb.append(" dataFimVigencia: ").append(toIndentedString(dataFimVigencia)).append("\n"); + sb.append(" descricaoCondicao: ").append(toIndentedString(descricaoCondicao)).append("\n"); + sb.append(" condicao: ").append(toIndentedString(condicao)).append("\n"); + sb.append(" atributo: ").append(toIndentedString(atributo)).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/cadatributos/model/AtributoConsultaFiltroCodigoDTO.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/AtributoConsultaFiltroCodigoDTO.java new file mode 100644 index 0000000..de9b1b5 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/AtributoConsultaFiltroCodigoDTO.java @@ -0,0 +1,103 @@ +package br.gov.siscomex.portalunico.cadatributos.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; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "AtributoConsultaFiltroCodigoDTO", propOrder = + { "codigos", "data" +}) + +@XmlRootElement(name="AtributoConsultaFiltroCodigoDTO") +public class AtributoConsultaFiltroCodigoDTO { + + @XmlElement(name="codigos", required = true) + @ApiModelProperty(required = true, value = "Lista de códigos de Atributos (Máximo 100 códigos.)
Tamanho mínimo: 1
Tamanho máximo: 25") + /** + * Lista de códigos de Atributos (Máximo 100 códigos.)
Tamanho mínimo: 1
Tamanho máximo: 25 + **/ + private List codigos = new ArrayList<>(); + + @XmlElement(name="data", required = true) + @ApiModelProperty(required = true, value = "Data de referência") + /** + * Data de referência + **/ + private OffsetDateTime data = null; + /** + * Lista de códigos de Atributos (Máximo 100 códigos.)<br>Tamanho mínimo: 1<br>Tamanho máximo: 25 + * @return codigos + **/ + @JsonProperty("codigos") + @NotNull + public List getCodigos() { + return codigos; + } + + public void setCodigos(List codigos) { + this.codigos = codigos; + } + + public AtributoConsultaFiltroCodigoDTO codigos(List codigos) { + this.codigos = codigos; + return this; + } + + public AtributoConsultaFiltroCodigoDTO addCodigosItem(String codigosItem) { + this.codigos.add(codigosItem); + return this; + } + + /** + * Data de referência + * @return data + **/ + @JsonProperty("data") + @NotNull + public OffsetDateTime getData() { + return data; + } + + public void setData(OffsetDateTime data) { + this.data = data; + } + + public AtributoConsultaFiltroCodigoDTO data(OffsetDateTime data) { + this.data = data; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AtributoConsultaFiltroCodigoDTO {\n"); + + sb.append(" codigos: ").append(toIndentedString(codigos)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).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/cadatributos/model/AtributoConsultaFiltroNomeDTO.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/AtributoConsultaFiltroNomeDTO.java new file mode 100644 index 0000000..c4eac94 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/AtributoConsultaFiltroNomeDTO.java @@ -0,0 +1,103 @@ +package br.gov.siscomex.portalunico.cadatributos.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; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "AtributoConsultaFiltroNomeDTO", propOrder = + { "nomes", "data" +}) + +@XmlRootElement(name="AtributoConsultaFiltroNomeDTO") +public class AtributoConsultaFiltroNomeDTO { + + @XmlElement(name="nomes", required = true) + @ApiModelProperty(required = true, value = "Lista de nomes de Atributos (Máximo 100 nomes.)
Tamanho mínimo: 0
Tamanho máximo: 200") + /** + * Lista de nomes de Atributos (Máximo 100 nomes.)
Tamanho mínimo: 0
Tamanho máximo: 200 + **/ + private List nomes = new ArrayList<>(); + + @XmlElement(name="data", required = true) + @ApiModelProperty(required = true, value = "Data de referência") + /** + * Data de referência + **/ + private OffsetDateTime data = null; + /** + * Lista de nomes de Atributos (Máximo 100 nomes.)<br>Tamanho mínimo: 0<br>Tamanho máximo: 200 + * @return nomes + **/ + @JsonProperty("nomes") + @NotNull + public List getNomes() { + return nomes; + } + + public void setNomes(List nomes) { + this.nomes = nomes; + } + + public AtributoConsultaFiltroNomeDTO nomes(List nomes) { + this.nomes = nomes; + return this; + } + + public AtributoConsultaFiltroNomeDTO addNomesItem(String nomesItem) { + this.nomes.add(nomesItem); + return this; + } + + /** + * Data de referência + * @return data + **/ + @JsonProperty("data") + @NotNull + public OffsetDateTime getData() { + return data; + } + + public void setData(OffsetDateTime data) { + this.data = data; + } + + public AtributoConsultaFiltroNomeDTO data(OffsetDateTime data) { + this.data = data; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AtributoConsultaFiltroNomeDTO {\n"); + + sb.append(" nomes: ").append(toIndentedString(nomes)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).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/cadatributos/model/ExpressaoCondicionanteConsultaDTO.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ExpressaoCondicionanteConsultaDTO.java new file mode 100644 index 0000000..ed14009 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ExpressaoCondicionanteConsultaDTO.java @@ -0,0 +1,134 @@ +package br.gov.siscomex.portalunico.cadatributos.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; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "ExpressaoCondicionanteConsultaDTO", propOrder = + { "operador", "valor", "composicao", "condicao" +}) + +@XmlRootElement(name="ExpressaoCondicionanteConsultaDTO") +public class ExpressaoCondicionanteConsultaDTO { + + @XmlElement(name="operador") + @ApiModelProperty(value = "") + private String operador = null; + + @XmlElement(name="valor") + @ApiModelProperty(value = "") + private String valor = null; + + @XmlElement(name="composicao") + @ApiModelProperty(value = "") + private String composicao = null; + + @XmlElement(name="condicao") + @ApiModelProperty(value = "") + @Valid + private ExpressaoCondicionanteConsultaDTO condicao = null; + /** + * Get operador + * @return operador + **/ + @JsonProperty("operador") + public String getOperador() { + return operador; + } + + public void setOperador(String operador) { + this.operador = operador; + } + + public ExpressaoCondicionanteConsultaDTO operador(String operador) { + this.operador = operador; + return this; + } + + /** + * Get valor + * @return valor + **/ + @JsonProperty("valor") + public String getValor() { + return valor; + } + + public void setValor(String valor) { + this.valor = valor; + } + + public ExpressaoCondicionanteConsultaDTO valor(String valor) { + this.valor = valor; + return this; + } + + /** + * Get composicao + * @return composicao + **/ + @JsonProperty("composicao") + public String getComposicao() { + return composicao; + } + + public void setComposicao(String composicao) { + this.composicao = composicao; + } + + public ExpressaoCondicionanteConsultaDTO composicao(String composicao) { + this.composicao = composicao; + return this; + } + + /** + * Get condicao + * @return condicao + **/ + @JsonProperty("condicao") + public ExpressaoCondicionanteConsultaDTO getCondicao() { + return condicao; + } + + public void setCondicao(ExpressaoCondicionanteConsultaDTO condicao) { + this.condicao = condicao; + } + + public ExpressaoCondicionanteConsultaDTO condicao(ExpressaoCondicionanteConsultaDTO condicao) { + this.condicao = condicao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExpressaoCondicionanteConsultaDTO {\n"); + + sb.append(" operador: ").append(toIndentedString(operador)).append("\n"); + sb.append(" valor: ").append(toIndentedString(valor)).append("\n"); + sb.append(" composicao: ").append(toIndentedString(composicao)).append("\n"); + sb.append(" condicao: ").append(toIndentedString(condicao)).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/cadatributos/model/ItemAtributoListaConsultaDTO.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ItemAtributoListaConsultaDTO.java new file mode 100644 index 0000000..36cbc77 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ItemAtributoListaConsultaDTO.java @@ -0,0 +1,86 @@ +package br.gov.siscomex.portalunico.cadatributos.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 = "ItemAtributoListaConsultaDTO", propOrder = + { "codigo", "descricao" +}) + +@XmlRootElement(name="ItemAtributoListaConsultaDTO") +public class ItemAtributoListaConsultaDTO { + + @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 ItemAtributoListaConsultaDTO 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 ItemAtributoListaConsultaDTO descricao(String descricao) { + this.descricao = descricao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemAtributoListaConsultaDTO {\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/cadatributos/model/ObjetivoAtributoConsultaDTO.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ObjetivoAtributoConsultaDTO.java new file mode 100644 index 0000000..61bd1bc --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ObjetivoAtributoConsultaDTO.java @@ -0,0 +1,86 @@ +package br.gov.siscomex.portalunico.cadatributos.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 = "ObjetivoAtributoConsultaDTO", propOrder = + { "codigo", "descricao" +}) + +@XmlRootElement(name="ObjetivoAtributoConsultaDTO") +public class ObjetivoAtributoConsultaDTO { + + @XmlElement(name="codigo") + @ApiModelProperty(value = "") + private Long codigo = null; + + @XmlElement(name="descricao") + @ApiModelProperty(value = "") + private String descricao = null; + /** + * Get codigo + * @return codigo + **/ + @JsonProperty("codigo") + public Long getCodigo() { + return codigo; + } + + public void setCodigo(Long codigo) { + this.codigo = codigo; + } + + public ObjetivoAtributoConsultaDTO codigo(Long 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 ObjetivoAtributoConsultaDTO descricao(String descricao) { + this.descricao = descricao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObjetivoAtributoConsultaDTO {\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/catp/api/OperadorEstrangeiroApi.java b/src/main/java/br/gov/siscomex/portalunico/catp/api/OperadorEstrangeiroApi.java index 97ece9d..15b5d55 100644 --- a/src/main/java/br/gov/siscomex/portalunico/catp/api/OperadorEstrangeiroApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/catp/api/OperadorEstrangeiroApi.java @@ -40,16 +40,16 @@ public interface OperadorEstrangeiroApi { @Path("/ext/operador-estrangeiro") @Produces({ "application/json" }) @ApiOperation(value = "Consultar Operador Estrangeiro", notes = "", tags={ "Operador Estrangeiro" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = OperadorEstrangeiroIntegracaoDTO.class, responseContainer = "List"), - @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response consultar( @NotNull @ApiParam(value = "CPF ou CNPJ raiz da empresa responsável. Informar os 8 primeiros dígitos do CNPJ, suprimindo os pontos
Tamanho: 8
Formato: 'NNNNNNNN'
Tamanho: 11
Formato: 'NNNNNNNNNNN'",required=true) @QueryParam("cpfCnpjRaiz") String cpfCnpjRaiz, @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 = "TIN - Trade Identification Number (Número de Identificação do Operador)
Tamanho: 35") @QueryParam("tin") String tin, @ApiParam(value = "Código
Tamanho: 35") @QueryParam("codigo") String codigo, @ApiParam(value = "Códigos internos do Operador Estrangeiro do Exportador/Importador
Tamanho: 35") @QueryParam("codigoInterno") String codigoInterno, @ApiParam(value = "Nome do Operador Estrangeiro
Tamanho: 70") @QueryParam("nome") String nome, @ApiParam(value = "Código do país. Usar tabela ISO 3166
Tamanho: 2
Formato: 'AA'
") @QueryParam("paisOrigem") String paisOrigem, @ApiParam(value = "Exibir desativados", defaultValue="false") @DefaultValue("false") @QueryParam("exibirDesativados") Boolean exibirDesativados); + @ApiResponse(code = 404, message = "Recurso não encontrado") }) + public Response consultar(@NotNull @ApiParam(value = "CPF ou CNPJ raiz da empresa responsável. Informar os 8 primeiros dígitos do CNPJ, suprimindo os pontos
Tamanho: 8
Formato: 'NNNNNNNN'
Tamanho: 11
Formato: 'NNNNNNNNNNN'",required=true) @QueryParam("cpfCnpjRaiz") String cpfCnpjRaiz, @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 = "TIN - Trade Identification Number (Número de Identificação do Operador)
Tamanho: 35") @QueryParam("tin") String tin, @ApiParam(value = "Código
Tamanho: 35") @QueryParam("codigo") String codigo, @ApiParam(value = "Códigos internos do Operador Estrangeiro do Exportador/Importador
Tamanho: 35") @QueryParam("codigoInterno") String codigoInterno, @ApiParam(value = "Nome do Operador Estrangeiro
Tamanho: 70") @QueryParam("nome") String nome, @ApiParam(value = "Código do país. Usar tabela ISO 3166
Tamanho: 2
Formato: 'AA'
") @QueryParam("paisOrigem") String paisOrigem, @ApiParam(value = "Exibir desativados", defaultValue="false") @DefaultValue("false") @QueryParam("exibirDesativados") Boolean exibirDesativados); /** * Detalhar Versão do OperadorExtrangeiro @@ -60,13 +60,13 @@ public interface OperadorEstrangeiroApi { @ApiOperation(value = "Detalhar Versão do OperadorExtrangeiro", notes = "", tags={ "Operador Estrangeiro" }) @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso"), - @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response detalhar(@ApiParam(value = "CPF ou CNPJ raiz da empresa responsável. Informar os 8 primeiros dígitos do CNPJ, suprimindo os pontos
Tamanho: 8
Formato: 'NNNNNNNN'
Tamanho: 11
Formato: 'NNNNNNNNNNN'",required=true) @PathParam("cpfCnpjRaiz") String cpfCnpjRaiz, @ApiParam(value = "Código do país. Usar tabela ISO 3166
Tamanho: 2
Formato: 'AA'
",required=true) @PathParam("codigoPais") String codigoPais, @ApiParam(value = "TIN - Trade Identification Number (Número de Identificação do Operador Estrangeiro)
Tamanho: 35
",required=true) @PathParam("codigo") String codigo, @ApiParam(value = "Informar a versão do Operador Estrangeiro (exemplo: '1') ou uma versão retificada do Operador Estrangeiro (exemplo: '1.1').
Tamanho Máximo: 8
",required=true) @PathParam("versao") String versao, @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); /** @@ -78,13 +78,13 @@ public interface OperadorEstrangeiroApi { @ApiOperation(value = "Exportar Catálogo de Operadores Estrangeiros", notes = "", tags={ "Operador Estrangeiro" }) @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso"), - @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response downloadOperadorEstrangeiro(@ApiParam(value = "CPF ou CNPJ raiz da empresa responsável. Informar os 8 primeiros dígitos do CNPJ, suprimindo os pontos
Tamanho: 8
Formato: 'NNNNNNNN'
Tamanho: 11
Formato: 'NNNNNNNNNNN'",required=true) @PathParam("cpfCnpjRaiz") String cpfCnpjRaiz, @ApiParam(value = "Exibir desativados",required=true) @PathParam("exibirDesativados") Boolean exibirDesativados, @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); /** @@ -98,13 +98,13 @@ public interface OperadorEstrangeiroApi { @ApiOperation(value = "Incluir/Retificar Operador Estrangeiro", notes = "", tags={ "Operador Estrangeiro" }) @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = LoteValidacaoVersaoDTO.class, responseContainer = "List"), - @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response incluir(@ApiParam(value = "Lista de Operadores Estrangeiros" ,required=true)@Valid List body, @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/catp/api/ProdutoApi.java b/src/main/java/br/gov/siscomex/portalunico/catp/api/ProdutoApi.java index e60c491..d248c3a 100644 --- a/src/main/java/br/gov/siscomex/portalunico/catp/api/ProdutoApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/catp/api/ProdutoApi.java @@ -39,16 +39,16 @@ public interface ProdutoApi { @Path("/ext/produto") @Produces({ "application/json" }) @ApiOperation(value = "Consultar Produtos", notes = "", tags={ "Produto" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ProdutoIntegracaoDTO.class, responseContainer = "List"), - @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response consultar( @NotNull @ApiParam(value = "CPF ou CNPJ raiz da empresa responsável. Informar os 8 primeiros dígitos do CNPJ, suprimindo os pontos
Tamanho: 8
Formato: 'NNNNNNNN'
Tamanho: 11
Formato: 'NNNNNNNNNNN'",required=true) @QueryParam("cpfCnpjRaiz") String cpfCnpjRaiz, @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 = "Código do produto
Tamanho: 10
Formato: 'NNNNNNNNNN'") @QueryParam("codigo") String codigo, @ApiParam(value = "Códigos internos do produto do Exportador/Importador
Tamanho: 60") @QueryParam("codigoInterno") String codigoInterno, @ApiParam(value = "Detalhamento complementar do produto
Tamanho: 3700") @QueryParam("descricao") String descricao, @ApiParam(value = "Denominacao do produto
Tamanho: 3700") @QueryParam("denominacao") String denominacao, @ApiParam(value = "NCM do produto
Tamanho: 8
Formato: 'NNNNNNNN'") @QueryParam("ncm") String ncm, @ApiParam(value = "Período do registro - Data inicial
Tamanho: 10
Formato: 'yyyy-MM-dd'") @QueryParam("periodoRegistroInicio") String periodoRegistroInicio, @ApiParam(value = "Período do registro - Data final
Tamanho: 10
Formato: 'yyyy-MM-dd'") @QueryParam("periodoRegistroFim") String periodoRegistroFim, @ApiParam(value = "Situação do produto (0 - Ativado, 1 - Desativado, 2 - Rascunho)
Tamanho: 1
Formato: 'N'") @QueryParam("situacao") Integer situacao, @ApiParam(value = "Período da última alteração - Data inicial
Tamanho: 10
Formato: 'yyyy-MM-dd'") @QueryParam("ultimaAlteracaoInicio") String ultimaAlteracaoInicio, @ApiParam(value = "Período da última alteração - Data final
Tamanho: 10
Formato: 'yyyy-MM-dd'") @QueryParam("ultimaAlteracaoFim") String ultimaAlteracaoFim, @ApiParam(value = "Código do país de origem no formato ISO 3166
Tamanho: 2
Formato: 'AA'") @QueryParam("paisOrigem") String paisOrigem, @ApiParam(value = "CPF/CNPJ do fabricante nacional
Tamanho: 11
Formato: 'NNNNNNNNNNN'
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'") @QueryParam("cpfCnpjFabricante") String cpfCnpjFabricante, @ApiParam(value = "Modalidade de operação
Domínio: IMPORTACAO
EXPORTACAO
AMBOS", allowableValues="AMBOS, EXPORTACAO, IMPORTACAO") @QueryParam("modalidade") String modalidade, @ApiParam(value = "Produtos no estado atual da data de referência
Tamanho: 10
Formato: 'yyyy-MM-dd'") @QueryParam("dataReferencia") String dataReferencia, @ApiParam(value = "TIN - Trade Identification Number (Número de Identificação do Operador)
Tamanho: 35") @QueryParam("operadorEstrangeiroCodigo") String operadorEstrangeiroCodigo); + @ApiResponse(code = 404, message = "Recurso não encontrado") }) + public Response consultar(@NotNull @ApiParam(value = "CPF ou CNPJ raiz da empresa responsável. Informar os 8 primeiros dígitos do CNPJ, suprimindo os pontos
Tamanho: 8
Formato: 'NNNNNNNN'
Tamanho: 11
Formato: 'NNNNNNNNNNN'",required=true) @QueryParam("cpfCnpjRaiz") String cpfCnpjRaiz, @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 = "Código do produto
Tamanho: 10
Formato: 'NNNNNNNNNN'") @QueryParam("codigo") String codigo, @ApiParam(value = "Códigos internos do produto do Exportador/Importador
Tamanho: 60") @QueryParam("codigoInterno") String codigoInterno, @ApiParam(value = "Detalhamento complementar do produto
Tamanho: 3700") @QueryParam("descricao") String descricao, @ApiParam(value = "Denominacao do produto
Tamanho: 3700") @QueryParam("denominacao") String denominacao, @ApiParam(value = "NCM do produto
Tamanho: 8
Formato: 'NNNNNNNN'") @QueryParam("ncm") String ncm, @ApiParam(value = "Período do registro - Data inicial
Tamanho: 10
Formato: 'yyyy-MM-dd'") @QueryParam("periodoRegistroInicio") String periodoRegistroInicio, @ApiParam(value = "Período do registro - Data final
Tamanho: 10
Formato: 'yyyy-MM-dd'") @QueryParam("periodoRegistroFim") String periodoRegistroFim, @ApiParam(value = "Situação do produto (0 - Ativado, 1 - Desativado, 2 - Rascunho)
Tamanho: 1
Formato: 'N'") @QueryParam("situacao") Integer situacao, @ApiParam(value = "Período da última alteração - Data inicial
Tamanho: 10
Formato: 'yyyy-MM-dd'") @QueryParam("ultimaAlteracaoInicio") String ultimaAlteracaoInicio, @ApiParam(value = "Período da última alteração - Data final
Tamanho: 10
Formato: 'yyyy-MM-dd'") @QueryParam("ultimaAlteracaoFim") String ultimaAlteracaoFim, @ApiParam(value = "Código do país de origem no formato ISO 3166
Tamanho: 2
Formato: 'AA'") @QueryParam("paisOrigem") String paisOrigem, @ApiParam(value = "CPF/CNPJ do fabricante nacional
Tamanho: 11
Formato: 'NNNNNNNNNNN'
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'") @QueryParam("cpfCnpjFabricante") String cpfCnpjFabricante, @ApiParam(value = "Modalidade de operação
Domínio: IMPORTACAO
EXPORTACAO
AMBOS", allowableValues="AMBOS, EXPORTACAO, IMPORTACAO") @QueryParam("modalidade") String modalidade, @ApiParam(value = "Produtos no estado atual da data de referência
Tamanho: 10
Formato: 'yyyy-MM-dd'") @QueryParam("dataReferencia") String dataReferencia, @ApiParam(value = "TIN - Trade Identification Number (Número de Identificação do Operador)
Tamanho: 35") @QueryParam("operadorEstrangeiroCodigo") String operadorEstrangeiroCodigo); /** * Exportar Catálogo de Produtos @@ -59,13 +59,13 @@ public interface ProdutoApi { @ApiOperation(value = "Exportar Catálogo de Produtos", notes = "", tags={ "Produto" }) @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso"), - @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response downloadProdutos(@ApiParam(value = "CPF ou CNPJ raiz da empresa responsável. Informar os 8 primeiros dígitos do CNPJ, suprimindo os pontos
Tamanho: 8
Formato: 'NNNNNNNN'
Tamanho: 11
Formato: 'NNNNNNNNNNN'",required=true) @PathParam("cpfCnpjRaiz") String cpfCnpjRaiz, @ApiParam(value = "Exibir desativados",required=true) @PathParam("exibirDesativados") Boolean exibirDesativados, @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); /** @@ -78,13 +78,13 @@ public interface ProdutoApi { @ApiOperation(value = "Detalhar Versão do Produto", notes = "", tags={ "Produto" }) @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ProdutoIntegracaoDTO.class), - @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response recuperar(@ApiParam(value = "CPF ou CNPJ raiz da empresa responsável. Informar os 8 primeiros dígitos do CNPJ, suprimindo os pontos
Tamanho: 8
Formato: 'NNNNNNNN'
Tamanho: 11
Formato: 'NNNNNNNNNNN'",required=true) @PathParam("cpfCnpjRaiz") String cpfCnpjRaiz, @ApiParam(value = "Código do produto
Tamanho: 10
Formato: 'NNNNNNNNNN'",required=true) @PathParam("codigo") String codigo, @ApiParam(value = "Informar a versão do produto (exemplo: '1') ou uma versão retificada do produto (exemplo: '1.1').
Tamanho Máximo: 8
",required=true) @PathParam("versao") String versao, @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); /** @@ -98,13 +98,13 @@ public interface ProdutoApi { @ApiOperation(value = "Incluir/Retificar Produtos", notes = "", tags={ "Produto" }) @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = LoteValidacaoVersaoDTO.class, responseContainer = "List"), - @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response salvarLote(@ApiParam(value = "Lista de Produtos" ,required=true)@Valid List body, @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/catp/api/VnculosDeFabricanteProdutorAProdutoApi.java b/src/main/java/br/gov/siscomex/portalunico/catp/api/VnculosDeFabricanteProdutorAProdutoApi.java index 6504e18..d13a0ce 100644 --- a/src/main/java/br/gov/siscomex/portalunico/catp/api/VnculosDeFabricanteProdutorAProdutoApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/catp/api/VnculosDeFabricanteProdutorAProdutoApi.java @@ -36,15 +36,15 @@ public interface VnculosDeFabricanteProdutorAProdutoApi { @GET @Path("/ext/fabricante/exportar/{cpfCnpjRaiz}") @ApiOperation(value = "Exportar Vínculos de Fabricante-Produtor a Produto", notes = "", tags={ "Vínculos de Fabricante-Produtor a Produto" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso"), - @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response downloadOperadorEstrangeiro(@ApiParam(value = "CPF ou CNPJ raiz da empresa responsável. Informar os 8 primeiros dígitos do CNPJ, suprimindo os pontos
Tamanho: 8
Formato: 'NNNNNNNN'
Tamanho: 11
Formato: 'NNNNNNNNNNN'",required=true) @PathParam("cpfCnpjRaiz") String cpfCnpjRaiz, @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); /** @@ -58,13 +58,13 @@ public interface VnculosDeFabricanteProdutorAProdutoApi { @ApiOperation(value = "Vincular/Desvincular Fabricante-Produtor a Produto", notes = "", tags={ "Vínculos de Fabricante-Produtor a Produto" }) @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = LoteValidacaoDTO.class, responseContainer = "List"), - @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response incluir(@ApiParam(value = "Lista de Fabricantes/Produtores" ,required=true)@Valid List body, @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/cct_ext/api/AnuentesApi.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/AnuentesApi.java index 8d5e095..4d36e09 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/AnuentesApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/AnuentesApi.java @@ -34,14 +34,14 @@ public interface AnuentesApi { @Path("/ext/anuentes/{due}") @Produces({ "application/json" }) @ApiOperation(value = "Obter Dados da Carga e Trânsito a partir do número da DU-E", notes = "

Exemplos de Respostas

", tags={ "Anuentes" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = InfoCargaTransitoDTO.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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response obterDadosCargaTransito(@ApiParam(value = "Número da DU-E
Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - Numeração sequencial
D - DV",required=true) @PathParam("due") String due, @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/cct_ext/api/CargaApi.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/CargaApi.java index 0bd2db8..2c0e9fa 100644 --- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/CargaApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/CargaApi.java @@ -56,14 +56,14 @@ public interface CargaApi { @Path("/ext/carga/consolidar-carga") @Consumes({ "application/xml" }) @ApiOperation(value = "Consolidar Carga", notes = "

Exemplos de Consolidação de Carga

XSD para download

", tags={ "Carga" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response consolidarCarga(@ApiParam(value = "Lista de consolidações" ,required=true)@Valid OperacoesConsolidacao body, @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); /** @@ -79,11 +79,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ConsultaConteiner.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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response consultarConteiner( @NotNull @ApiParam(value = "Número do Contêiner
Tamanho mínimo: 1
Tamanho máximo: 20
Formato: AAAAAAAAAAAAAAAAAAAA",required=true) @QueryParam("nrConteiner") List nrConteiner, @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); /** @@ -99,11 +99,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ResultadoConsulta.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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response consultarDUERUC( @NotNull @ApiParam(value = "Número da DU-E, da RUC ou RUC Master (até 50 ocorrências)

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 RUC ou RUC Master
Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN",required=true) @QueryParam("nrDocumento") List nrDocumento, @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); /** @@ -119,11 +119,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ListaRegistros.class, responseContainer = "List"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response consultarEstoqueAntesACD(@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 = "CPF ou CNPJ Responsável
Tamanho mínimo: 11
Tamanho máximo: 14
Formato: NNNNNNNNNNNNNN") @QueryParam("cpfOuCnpjResponsavel") String cpfOuCnpjResponsavel, @ApiParam(value = "Código URF
Tamanho: 7
Formato: NNNNNNN") @QueryParam("codigoURF") String codigoURF, @ApiParam(value = "Código RA
Tamanho: 7
Formato: NNNNNNN") @QueryParam("codigoRA") String codigoRA, @ApiParam(value = "CPF ou CNPJ Emitente
Tamanho mínimo: 11
Tamanho máximo: 14
Formato: NNNNNNNNNNNNNN") @QueryParam("cpfOuCnpjEmitente") String cpfOuCnpjEmitente, @ApiParam(value = "CPF ou CNPJ Destinatário
Tamanho mínimo: 11
Tamanho máximo: 14
Formato: NNNNNNNNNNNNNN") @QueryParam("cpfOuCnpjDestinatario") String cpfOuCnpjDestinatario, @ApiParam(value = "Data inicial emissão
Formato: AAAA-MM-DD") @QueryParam("dataEmissaoInicial") String dataEmissaoInicial, @ApiParam(value = "Data final emissão
Formato: AAAA-MM-DD") @QueryParam("dataEmissaoFinal") String dataEmissaoFinal, @ApiParam(value = "Data inicial entrada
Formato: AAAA-MM-DD") @QueryParam("dataEntradaInicial") String dataEntradaInicial, @ApiParam(value = "Data final entrada
Formato: AAAA-MM-DD") @QueryParam("dataEntradaFinal") String dataEntradaFinal, @ApiParam(value = "Código NCM
Tamanho: 8
Formato: NNNNNNNN") @QueryParam("codigoNCM") String codigoNCM, @ApiParam(value = "Código Pais Destinatário
Tamanho: 2
Formato: AA") @QueryParam("codigoPaisDestinatario") String codigoPaisDestinatario, @ApiParam(value = "Número NF formulário
Tamanho: 9
Formato: NNNNNNNNN") @QueryParam("numeroNFF") String numeroNFF, @ApiParam(value = "Modelo
Tamanho: 2
Formato: AA") @QueryParam("modelo") String modelo, @ApiParam(value = "Série
Tamanho: 3
Formato: NNN") @QueryParam("serie") String serie, @ApiParam(value = "UF Emissor
Tamanho: 2
Formato: AA") @QueryParam("ufEmissor") String ufEmissor, @ApiParam(value = "Ano/Mês Emissão
Tamanho: 4
Formato: AAMM") @QueryParam("anoMesEmissao") String anoMesEmissao, @ApiParam(value = "Chave de Acesso da Nota Fiscal Eletrônica
Tamanho: 44
Formato: NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN") @QueryParam("numeroNFE") String numeroNFE, @ApiParam(value = "Número Contêiner
Tamanho: 20
Formato: AAAAAAAAAAAAAAAAAAAA") @QueryParam("numeroConteiner") String numeroConteiner, @ApiParam(value = "Tipo documento de transporte
Tamanho: 2
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros") @QueryParam("tipoDocumentoTransporte") Integer tipoDocumentoTransporte, @ApiParam(value = "Número documento transporte
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: AAAAAAAAAAAAAAA") @QueryParam("numeroDocumentoTransporte") String numeroDocumentoTransporte, @ApiParam(value = "Data emissão documento transporte
Formato: AAAA-MM-DDTHH:MM:SSZ") @QueryParam("dataEmissaoDocumentoTransporte") String dataEmissaoDocumentoTransporte); /** @@ -139,11 +139,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ListaRegistros.class, responseContainer = "List"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response consultarEstoquePosACD(@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 = "Números do Documento

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 RUC ou RUC Master
Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN") @QueryParam("nrDocumento") String nrDocumento, @ApiParam(value = "Número Contêiner
Tamanho mínimo: 1
Tamanho máximo: 11
Formato: AAAAAAAAAAA") @QueryParam("numeroConteiner") String numeroConteiner, @ApiParam(value = "Data entrada inicial
Formato: AAAA-MM-DD") @QueryParam("dataEntradaInicial") String dataEntradaInicial, @ApiParam(value = "Data entrada final
Formato: AAAA-MM-DD") @QueryParam("dataEntradaFinal") String dataEntradaFinal, @ApiParam(value = "CPF ou CNPJ Responsável
Tamanho mínimo: 11
Tamanho máximo: 14
Formato: NNNNNNNNNNNNNN") @QueryParam("cpfOuCnpjResponsavel") String cpfOuCnpjResponsavel, @ApiParam(value = "Código URF
Tamanho: 7
Formato: NNNNNNN") @QueryParam("codigoURF") BigDecimal codigoURF, @ApiParam(value = "Código RA
Tamanho: 7
Formato: NNNNNNN") @QueryParam("codigoRA") BigDecimal codigoRA, @ApiParam(value = "Código País do Importador
Tamanho: 2
Formato: AA") @QueryParam("codigoPaisImportador") BigDecimal codigoPaisImportador, @ApiParam(value = "Código País de Destino
Tamanho: 2
Formato: AA") @QueryParam("codigoPaisDestino") BigDecimal codigoPaisDestino, @ApiParam(value = "CPF ou CNPJ Consolidador
Tamanho mínimo: 11
Tamanho máximo: 14
Formato: NNNNNNNNNNNNNN") @QueryParam("cpfOuCnpjConsolidador") String cpfOuCnpjConsolidador, @ApiParam(value = "CPF ou CNPJ Exportador
Tamanho mínimo: 11
Tamanho máximo: 14
Formato: NNNNNNNNNNNNNN") @QueryParam("cpfOuCnpjExportador") String cpfOuCnpjExportador, @ApiParam(value = "Tipo Documento Transporte
Tamanho: 2
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros") @QueryParam("tipoDocumentoTransporte") Integer tipoDocumentoTransporte, @ApiParam(value = "Número Documento Transporte
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: AAAAAAAAAAAAAAA") @QueryParam("numeroDocumentoTransporte") String numeroDocumentoTransporte, @ApiParam(value = "Data emissão documento de transporte
Formato: AAAA-MM-DD") @QueryParam("dataEmissaoDocumentoTransporte") String dataEmissaoDocumentoTransporte); /** @@ -159,11 +159,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ResultadoConsultaMRUC.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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response consultarMRUC( @NotNull @ApiParam(value = "Números de RUC masters
Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN",required=true) @QueryParam("nrDocumento") List nrDocumento, @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); /** @@ -177,11 +177,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = EstoqueNFE.class, responseContainer = "List"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response consultarNFe(@ApiParam(value = "Chave de Acesso da Nota Fiscal Eletrônica
Tamanho: 44
Formato: NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN",required=true) @PathParam("listaNfe") String listaNfe, @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); /** @@ -197,11 +197,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response desunitizarCarga(@ApiParam(value = "Desunitização de Carga" ,required=true)@Valid OperacaoDesunitizacao body, @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); /** @@ -217,11 +217,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response entregarConteiner(@ApiParam(value = "Entregas por Contêineres" ,required=true)@Valid EntregasConteineres body, @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); /** @@ -237,11 +237,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response entregarDocumentoCarga(@ApiParam(value = "Entrega por DU-E/RUC" ,required=true)@Valid EntregasDocumentoCarga body, @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); /** @@ -257,11 +257,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response manifestarCargaExportacao(@ApiParam(value = "Manifestos de Dados de Embarque para Exportação" ,required=true)@Valid ManifestacoesExportacao body, @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); /** @@ -277,11 +277,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response manifestarCargaExportacaoMicPreACD(@ApiParam(value = "Manifestos de Dados de Embarque para Exportação de Carga Pré ACD" ,required=true)@Valid ManifestacoesExportacaoPreACDMicDTO body, @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); /** @@ -297,11 +297,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response recepcionarConteiner(@ApiParam(value = "Recepções por Contêineres" ,required=true)@Valid RecepcoesConteineres body, @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); /** @@ -317,11 +317,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response recepcionarDocumentoCarga(@ApiParam(value = "Recepções Carga por DU-E/RUC" ,required=true)@Valid RecepcoesDocumentoCarga body, @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); /** @@ -337,11 +337,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response recepcionarNFE(@ApiParam(value = "Recepções de Nota Fiscal Eletrônica
Limite de 50 notas fiscais" ,required=true)@Valid RecepcoesNFE body, @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); /** @@ -357,11 +357,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response recepcionarNFF(@ApiParam(value = "Recepções de Nota Fiscal Formulário" ,required=true)@Valid RecepcoesNFF body, @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); /** @@ -377,11 +377,11 @@ public interface CargaApi { @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response unitizar(@ApiParam(value = "Unitização de Carga" ,required=true)@Valid OperacaoUnitizacao body, @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/cct_ext/api/DocumentoDeTransporteApi.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/DocumentoDeTransporteApi.java index 9dd22ef..9460b88 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 @@ -40,15 +40,15 @@ public interface DocumentoDeTransporteApi { @Path("/ext/documento-transporte/dat") @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 = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DocumentosTransporte.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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response consultarDocumentoTransporteDAT( @NotNull @ApiParam(value = "Lista de DAT (número do documento) separados por |
Cada documento de Transporte DAT é formado pelo número do DAT
Tamanho 11
Formato: AABRNNNNNN-D
Descrição Formato
AA - Ano
BR - Brasil
NNNNN - Numeração sequencial
D - DV
ex: 20BR0061234|23BR0064567|...",required=true) @QueryParam("documentos") String documentos, @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); + @ApiResponse(code = 404, message = "Recurso não encontrado") }) + public Response consultarDocumentoTransporteDAT(@NotNull @ApiParam(value = "Lista de DAT (número do documento) separados por |
Cada documento de Transporte DAT é formado pelo número do DAT
Tamanho 11
Formato: AABRNNNNNN-D
Descrição Formato
AA - Ano
BR - Brasil
NNNNN - Numeração sequencial
D - DV
ex: 20BR0061234|23BR0064567|...",required=true) @QueryParam("documentos") String documentos, @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); /** * Consultar uma lista de Documento de Transporte do tipo DTAI @@ -63,11 +63,11 @@ public interface DocumentoDeTransporteApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DocumentosTransporte.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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response consultarDocumentoTransporteDTAI( @NotNull @ApiParam(value = "Lista de DTAI (número do documento,data de emissão) separados por |
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: AAAAAAAAAAAAAAA
ex: DTAI05ABR01,01-02-2023|3E33D3D33,10-08-2020|...",required=true) @QueryParam("documentos") String documentos, @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); /** @@ -83,11 +83,11 @@ public interface DocumentoDeTransporteApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DocumentosTransporte.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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response consultarDocumentoTransporteMIC( @NotNull @ApiParam(value = "Lista de MIC (número do documento,data de emissão) separados por |
Tamanho: 11
Formato: BRNNNNNNNNN
Descrição Formato
BR - Brasil
NNNNNNNNN - sequencial numérico
ex: BR123456788,01-01-2020|BR123456789,11-10-2022|...",required=true) @QueryParam("documentos") String documentos, @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); /** @@ -103,11 +103,11 @@ public interface DocumentoDeTransporteApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DocumentosTransporte.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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response consultarDocumentoTransporteTIF( @NotNull @ApiParam(value = "Lista de TIF (número do documento,data de emissão) separados por |
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: AAAAAAAAAAAAAAA
ex: 2344234324,08-06-2020|TIF22ABR01,14-05-2022|...",required=true) @QueryParam("documentos") String documentos, @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); /** @@ -123,11 +123,11 @@ public interface DocumentoDeTransporteApi { @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response entregarDocumentoTransporte(@ApiParam(value = "Entregas de Documentos de Transporte" ,required=true)@Valid EntregasDocumentoTransporte body, @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); /** @@ -143,11 +143,11 @@ public interface DocumentoDeTransporteApi { @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso"), @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor"), @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"), - @ApiResponse(code = 500, message = "Erro interno no servidor") }) + @ApiResponse(code = 404, message = "Recurso não encontrado") }) public Response recepcionarDocumentoTransporte(@ApiParam(value = "Recepções de Documentos de Transporte" ,required=true)@Valid RecepcoesDocumentoTransporte body, @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/ccta/api/ServiosDeConsultaDeArquivosRecebidosApi.java b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeArquivosRecebidosApi.java index e8b25a5..0ae6727 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeArquivosRecebidosApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeArquivosRecebidosApi.java @@ -1,7 +1,7 @@ package br.gov.siscomex.portalunico.ccta.api; import br.gov.siscomex.portalunico.ccta.model.Recebimento; -import br.gov.siscomex.portalunico.ccta.model.Resposta; +import br.gov.siscomex.portalunico.ccta.model.RespostaRecebimento; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -37,7 +37,7 @@ public interface ServiosDeConsultaDeArquivosRecebidosApi { @Path("/api/ext/check/received-files/{protocolNumber}") @Produces({ "application/json" }) @ApiOperation(value = "Consultar Situação de Arquivos por Número de Protocolo", notes = "

Consulta, para um determinado número de protocolo, a situação atual do processamento do arquivo enviado. O número de protocolo é aquele gerado pelo sistema após o recebimento do arquivo, quando o mesmo passa pela validação do XSD da IATA.

As situações podem ser:

  • Received – Aguardando processamento.
  • Processed – Processamento realizado com sucesso, com gravação dos dados na base de dados.
  • Rejected – Arquivo rejeitado por erro no processamento. Neste caso, a lista de erros encontrados é exibida.
", tags={ "Serviços de Consulta de Arquivos Recebidos" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = Recebimento.class), @ApiResponse(code = 400, message = "Requisição mal formatada"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), @@ -58,7 +58,7 @@ public interface ServiosDeConsultaDeArquivosRecebidosApi { @Produces({ "application/json" }) @ApiOperation(value = "Consultar Situação de Arquivos por Data", notes = "

Consulta, para uma determinada data, a lista de arquivos enviados que passaram pela validação do XSD da IATA, tendo número de protocolo gerado. O retorno traz a situação atual do processamento de cada arquivo.

As situações podem ser:

  • Received – Aguardando processamento.
  • Processed – Processamento realizado com sucesso, com gravação dos dados na base.
  • Rejected – Arquivo rejeitado por erro no processamento. Neste caso, a lista de erros encontrados é exibida.
", tags={ "Serviços de Consulta de Arquivos Recebidos" }) @ApiResponses(value = { - @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = Resposta.class), + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = RespostaRecebimento.class), @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeConhecimentoDeCargaApi.java b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeConhecimentoDeCargaApi.java index 462be4a..2f9dd07 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeConhecimentoDeCargaApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeConhecimentoDeCargaApi.java @@ -36,7 +36,7 @@ public interface ServiosDeConsultaDeConhecimentoDeCargaApi { @Path("/api/ext/conhecimentos") @Produces({ "application/json" }) @ApiOperation(value = "Retorna o detalhamento de um ou mais conhecimentos de carga.", notes = "Retorna o detalhamento de um ou mais conhecimentos de carga.", tags={ "Serviços de Consulta de Conhecimento de Carga" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ConhecimentoConsultaDetalhada.class, responseContainer = "List"), @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), @@ -45,7 +45,7 @@ public interface ServiosDeConsultaDeConhecimentoDeCargaApi { @ApiResponse(code = 404, message = "Recurso não encontrado"), @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response listarViagensCargasDetalhadoIdentificacaoManifestoUsingGET(@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 = "Número do Conhecimento",required=true) @QueryParam("numeroConhecimento") String numeroConhecimento, @ApiParam(value = "CNPJ Responsável Tamanho: 14 Formato: NNNNNNNNNNNNNN") @QueryParam("cnpjResponsavel") String cnpjResponsavel, @ApiParam(value = "Data da emissão do conhecimento Tamanho: 10 Formato YYYY-MM-DD") @QueryParam("dataEmissao") String dataEmissao); + public Response listarViagensCargasDetalhadoIdentificacaoManifestoUsingGET(@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 = "Número do Conhecimento",required=true) @QueryParam("numeroConhecimento") String numeroConhecimento, @ApiParam(value = "CNPJ Responsável Tamanho: 14 Formato: NNNNNNNNNNNNNN") @QueryParam("cnpjResponsavel") String cnpjResponsavel, @ApiParam(value = "Data da emissão do conhecimento Tamanho: 10 Formato YYYY-MM-DD") @QueryParam("dataEmissao") String dataEmissao); /** * Retorna o resumo de um ou mais conhecimentos de carga ativos. diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeDsicApi.java b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeDsicApi.java index 96b0b56..fcaf767 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeDsicApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeDsicApi.java @@ -34,7 +34,7 @@ public interface ServiosDeConsultaDeDsicApi { @Path("/api/ext/dsic/{numeroDsic}") @Produces({ "application/json" }) @ApiOperation(value = "Retorna o detalhamento de um DSIC.", notes = "Retorna o detalhamento de um DSIC.", tags={ "Serviços de Consulta de DSIC" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DsicConsultaDetalhada.class), @ApiResponse(code = 400, message = "Requisição mal formatada"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeProtocoloApi.java b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeProtocoloApi.java index c6edbe9..d0daa4a 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeProtocoloApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeProtocoloApi.java @@ -34,7 +34,7 @@ public interface ServiosDeConsultaDeProtocoloApi { @Path("/api/ext/protocolos/{numeroProtocolo}") @Produces({ "application/json" }) @ApiOperation(value = "Consultar a situação do processamento do protocolo.", notes = "

A identificação da consulta é o número do protocolo gerado pelo sistema.

As situações retornadas podem ser:

  • EM_PROCESSAMENTO – Aguardando processamento.
  • PROCESSADO – Processamento realizado com sucesso.
  • REJEITADO – Processamento rejeitado. Neste caso, a lista de erros encontrados é retornada no resultado.
", tags={ "Serviços de Consulta de Protocolo" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = RetornoConsultaProtocolo.class), @ApiResponse(code = 400, message = "Requisição mal formatada"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeViagemApi.java b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeViagemApi.java index b6cef15..433f1b9 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeViagemApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeConsultaDeViagemApi.java @@ -37,7 +37,7 @@ public interface ServiosDeConsultaDeViagemApi { @Path("/api/ext/viagens/chegadas") @Produces({ "application/json" }) @ApiOperation(value = "Retorna lista de viagens", notes = "Lista de viagens", tags={ "Serviços de Consulta de Viagem" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ChaveViagem.class, responseContainer = "List"), @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), @@ -46,7 +46,7 @@ public interface ServiosDeConsultaDeViagemApi { @ApiResponse(code = 404, message = "Recurso não encontrado"), @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response listarChegadasUsingGET(@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 = "Código IATA do aeroporto
Tamanho: 3",required=true) @QueryParam("codigoAeroportoChegada") String codigoAeroportoChegada, @NotNull @ApiParam(value = "Data final de chegada prevista ou efetiva.",required=true) @QueryParam("dataFinal") String dataFinal, @NotNull @ApiParam(value = "Data inicial de chegada prevista ou efetiva.",required=true) @QueryParam("dataInicial") String dataInicial, @NotNull @ApiParam(value = "Código da situação da partida ou chegada
Tamanho: 1
",required=true, allowableValues="E - Efetiva, P - Prevista") @QueryParam("situacaoChegada") String situacaoChegada, @NotNull @ApiParam(value = "Código da situação da viagem
Tamanho: 1
A - Ativa
C - Cancelada
",required=true, allowableValues="A - Ativo, C - Cancelada") @QueryParam("situacaoViagem") String situacaoViagem, @NotNull @ApiParam(value = "R - Regular",required=true, allowableValues="R - Regular") @QueryParam("tipoVoo") String tipoVoo, @ApiParam(value = "Identificação da compania aérea
Tamanho: 2
") @QueryParam("ciaAerea") String ciaAerea, @ApiParam(value = "Código IATA do aeroporto
Tamanho: 3") @QueryParam("codigoAeroportoPartida") String codigoAeroportoPartida, @ApiParam(value = "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, são exibidos zeros à esquerda.
Formato: AANNNN") @QueryParam("codigoVoo") String codigoVoo, @ApiParam(value = "Prefixo da aeronave
Tamanho máximo: 70") @QueryParam("prefixoAeronave") String prefixoAeronave); + public Response listarChegadasUsingGET(@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 = "Código IATA do aeroporto
Tamanho: 3",required=true) @QueryParam("codigoAeroportoChegada") String codigoAeroportoChegada, @NotNull @ApiParam(value = "Data final de chegada prevista ou efetiva.",required=true) @QueryParam("dataFinal") String dataFinal, @NotNull @ApiParam(value = "Data inicial de chegada prevista ou efetiva.",required=true) @QueryParam("dataInicial") String dataInicial, @NotNull @ApiParam(value = "Código da situação da partida ou chegada
Tamanho: 1
",required=true, allowableValues="E - Efetiva, P - Prevista") @QueryParam("situacaoChegada") String situacaoChegada, @NotNull @ApiParam(value = "Código da situação da viagem
Tamanho: 1
A - Ativa
C - Cancelada
",required=true, allowableValues="A - Ativo, C - Cancelada") @QueryParam("situacaoViagem") String situacaoViagem, @NotNull @ApiParam(value = "R - Regular",required=true, allowableValues="R - Regular") @QueryParam("tipoVoo") String tipoVoo, @ApiParam(value = "Identificação da compania aérea
Tamanho: 2
") @QueryParam("ciaAerea") String ciaAerea, @ApiParam(value = "Código IATA do aeroporto
Tamanho: 3") @QueryParam("codigoAeroportoPartida") String codigoAeroportoPartida, @ApiParam(value = "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, são exibidos zeros à esquerda.
Formato: AANNNN") @QueryParam("codigoVoo") String codigoVoo, @ApiParam(value = "Prefixo da aeronave
Tamanho máximo: 70") @QueryParam("prefixoAeronave") String prefixoAeronave); /** * Retorna lista de viagens diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeEntregaDaCargaApi.java b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeEntregaDaCargaApi.java index a7761f6..67b26a4 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeEntregaDaCargaApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeEntregaDaCargaApi.java @@ -41,7 +41,7 @@ public interface ServiosDeEntregaDaCargaApi { @Consumes({ "application/json" }) @Produces({ "application/json" }) @ApiOperation(value = "Possibilitar a entrega da carga", notes = "

Esse serviço tem por objetivo possibilitar a entrega da carga para o destinatário final, através do conhecimento de carga/DSIC e do documento de saída vinculado ao mesmo. A entrega poderá ser realizada de forma total ou parcial.

O processamento dessa entrega é realizado de forma assíncrona, sendo retornado apenas o número de protocolo para consulta posterior.

", tags={ "Serviços de Entrega da Carga" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = RetornoSolicitacaEntregaImportador.class), @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), @@ -53,15 +53,15 @@ public interface ServiosDeEntregaDaCargaApi { public Response entregaImportadorUsingPOST(@ApiParam(value = "Dados da entrega da carga" ,required=true)@Valid EntregaCarga body, @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); /** - * Consultar a lista de impedimentos para realização da entrega da carga + * Consultar a lista de impedimentos e condições para realização da entrega da carga * - * <p style=\"margin-bottom: 1em; margin-top: 1em;\">Esse serviço tem por objetivo retornar a lista de impedimentos para a realização da entrega da carga.</p> + * <p style=\"margin-bottom: 1em; margin-top: 1em;\">Esse serviço tem por objetivo retornar a lista de impedimentos e condições para a realização da entrega da carga.</p> * */ @GET @Path("/api/ext/entregas-carga/impedimentos") @Produces({ "application/json" }) - @ApiOperation(value = "Consultar a lista de impedimentos para realização da entrega da carga", notes = "

Esse serviço tem por objetivo retornar a lista de impedimentos para a realização da entrega da carga.

", tags={ "Serviços de Entrega da Carga" }) + @ApiOperation(value = "Consultar a lista de impedimentos e condições para realização da entrega da carga", notes = "

Esse serviço tem por objetivo retornar a lista de impedimentos e condições para a realização da entrega da carga.

", tags={ "Serviços de Entrega da Carga" }) @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = RetornoConsultaImpedimentosEntregaImportador.class), @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeEntregaIntermediriaDaCargaApi.java b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeEntregaIntermediriaDaCargaApi.java index 7851674..ecb5544 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeEntregaIntermediriaDaCargaApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/api/ServiosDeEntregaIntermediriaDaCargaApi.java @@ -37,7 +37,7 @@ public interface ServiosDeEntregaIntermediriaDaCargaApi { @Consumes({ "application/json" }) @Produces({ "application/json" }) @ApiOperation(value = "Possibilitar a entrega intermediária da carga", notes = "

Esse serviço tem por objetivo possibilitar a entrega intermediária da carga, através do conhecimento de carga/DSIC e do interveniente destinatário que pode ser:

  • Cia. Aérea
  • Depositário
  • Transportador Terrestre
  • Operador Remessa Postal
", tags={ "Serviços de Entrega Intermediária da Carga" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = EntregaIntermediariaSucesso.class), @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/model/CondicaoEntregaImportador.java b/src/main/java/br/gov/siscomex/portalunico/ccta/model/CondicaoEntregaImportador.java new file mode 100644 index 0000000..c49d3a4 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/model/CondicaoEntregaImportador.java @@ -0,0 +1,149 @@ +package br.gov.siscomex.portalunico.ccta.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 = "CondicaoEntregaImportador", propOrder = + { "codigo", "descricao", "descricaoUnidadeRFB", "unidadeRFB" +}) + +@XmlRootElement(name="CondicaoEntregaImportador") +/** + * Condição para entrega de carga ao importador + **/ +@ApiModel(description="Condição para entrega de carga ao importador") +public class CondicaoEntregaImportador { + + @XmlElement(name="codigo") + @ApiModelProperty(example = "CCTA-IN8035", value = "Código da condição.
Tamanho: 11") + /** + * Código da condição.
Tamanho: 11 + **/ + private String codigo = null; + + @XmlElement(name="descricao") + @ApiModelProperty(example = "Entrega autorizada por decisão administrativa ou mandado judicial com prosseguimento de despacho – entrega condicionada à apresentação de mandado judicial relativo ao ICMS.", value = "Descrição da condição
Tamanho máximo: 300") + /** + * Descrição da condição
Tamanho máximo: 300 + **/ + private String descricao = null; + + @XmlElement(name="descricaoUnidadeRFB") + @ApiModelProperty(example = "AEROPORTO INTERNACIONAL DO RIO DE JANEIRO", value = "Descrição da unidade da RFB da Cia. Aérea ou Depositário responsável pela entrega
Este campo só é retornado para condições originadas no sistema Mantra") + /** + * Descrição da unidade da RFB da Cia. Aérea ou Depositário responsável pela entrega
Este campo só é retornado para condições originadas no sistema Mantra + **/ + private String descricaoUnidadeRFB = null; + + @XmlElement(name="unidadeRFB") + @ApiModelProperty(example = "0717700", value = "Unidade da RFB da Cia. Aérea ou Depositário responsável pela entrega
Este campo só é retornado para condições originadas no sistema Mantra") + /** + * Unidade da RFB da Cia. Aérea ou Depositário responsável pela entrega
Este campo só é retornado para condições originadas no sistema Mantra + **/ + private String unidadeRFB = null; + /** + * Código da condição.<br/>Tamanho: 11 + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public CondicaoEntregaImportador codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Descrição da condição<br/>Tamanho máximo: 300 + * @return descricao + **/ + @JsonProperty("descricao") + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public CondicaoEntregaImportador descricao(String descricao) { + this.descricao = descricao; + return this; + } + + /** + * Descrição da unidade da RFB da Cia. Aérea ou Depositário responsável pela entrega<br/>Este campo só é retornado para condições originadas no sistema Mantra + * @return descricaoUnidadeRFB + **/ + @JsonProperty("descricaoUnidadeRFB") + public String getDescricaoUnidadeRFB() { + return descricaoUnidadeRFB; + } + + public void setDescricaoUnidadeRFB(String descricaoUnidadeRFB) { + this.descricaoUnidadeRFB = descricaoUnidadeRFB; + } + + public CondicaoEntregaImportador descricaoUnidadeRFB(String descricaoUnidadeRFB) { + this.descricaoUnidadeRFB = descricaoUnidadeRFB; + return this; + } + + /** + * Unidade da RFB da Cia. Aérea ou Depositário responsável pela entrega<br/>Este campo só é retornado para condições originadas no sistema Mantra + * @return unidadeRFB + **/ + @JsonProperty("unidadeRFB") + public String getUnidadeRFB() { + return unidadeRFB; + } + + public void setUnidadeRFB(String unidadeRFB) { + this.unidadeRFB = unidadeRFB; + } + + public CondicaoEntregaImportador unidadeRFB(String unidadeRFB) { + this.unidadeRFB = unidadeRFB; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CondicaoEntregaImportador {\n"); + + sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n"); + sb.append(" descricao: ").append(toIndentedString(descricao)).append("\n"); + sb.append(" descricaoUnidadeRFB: ").append(toIndentedString(descricaoUnidadeRFB)).append("\n"); + sb.append(" unidadeRFB: ").append(toIndentedString(unidadeRFB)).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/ccta/model/ConhecimentoConsultaDetalhada.java b/src/main/java/br/gov/siscomex/portalunico/ccta/model/ConhecimentoConsultaDetalhada.java index e58cb6f..ecbb420 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/model/ConhecimentoConsultaDetalhada.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/model/ConhecimentoConsultaDetalhada.java @@ -16,7 +16,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ConhecimentoConsultaDetalhada", propOrder = - { "bloqueiosAtivos", "bloqueiosBaixados", "caixaPostalAgenteDeCargaConsolidadorEstrang", "caixaPostalConsignatarioConhecimento", "caixaPostalEmbarcadorEstrangeiro", "categoriaCarga", "chegadasTerrestres", "cidadeAgenteDeCargaConsolidadorEstrang", "cidadeConsignatarioConhecimento", "cidadeEmbarcadorEstrangeiro", "cnpjResponsavelArquivo", "codigoAeroportoDestinoConhecimento", "codigoAeroportoOrigemConhecimento", "contatosAgenteDeCargaConsolidadorEstrang", "contatosConsignatarioConhecimento", "contatosEmbarcadorEstrangeiro", "dataEmissao", "dataHoraAssinaturaTransportador", "descricaoResumida", "divergencias", "documentosSaida", "dsicsApropriados", "enderecoAgenteDeCargaConsolidadorEstrang", "enderecoConsignatarioConhecimento", "enderecoEmbarcadorEstrangeiro", "frete", "hawbAssociados", "identificacao", "identificacaoDocumentoConsignatario", "indicadorNaoRecepcaoHawbAssociados", "indicadorPartesMadeira", "itensCarga", "localAssinaturaTransportador", "manuseiosEspeciais", "mawbAwbAssociados", "nomeAgenteDeCargaConsolidadorEstrang", "nomeAssinaturaEmbarcadorEstrangeiro", "nomeAssinaturaTransportador", "nomeConsignatarioConhecimento", "nomeDocumentoConsignatario", "nomeEmbarcadorEstrangeiro", "outrasInfosServico", "outrasPartesInteressadas", "paisAgenteDeCargaConsolidadorEstrang", "paisConsignatarioConhecimento", "paisEmbarcadorEstrangeiro", "partesEstoque", "pesoBrutoConhecimento", "quantidadeVolumesConhecimento", "razaoSocialDocumentoConsignatario", "recintoAduaneiroDestino", "ruc", "situacao", "solicitacoesServicosEspeciais", "tipo", "tipoDocumentoConsignatario", "viagensAssociadas" + { "bloqueiosAtivos", "bloqueiosBaixados", "caixaPostalAgenteDeCargaConsolidadorEstrang", "caixaPostalConsignatarioConhecimento", "caixaPostalEmbarcadorEstrangeiro", "categoriaCarga", "chegadasTerrestres", "cidadeAgenteDeCargaConsolidadorEstrang", "cidadeConsignatarioConhecimento", "cidadeEmbarcadorEstrangeiro", "cnpjResponsavelArquivo", "codigoAeroportoDestinoConhecimento", "codigoAeroportoOrigemConhecimento", "contatosAgenteDeCargaConsolidadorEstrang", "contatosConsignatarioConhecimento", "contatosEmbarcadorEstrangeiro", "dataEmissao", "dataHoraAssinaturaTransportador", "descricaoResumida", "divergencias", "documentosSaida", "dsicsApropriados", "enderecoAgenteDeCargaConsolidadorEstrang", "enderecoConsignatarioConhecimento", "enderecoEmbarcadorEstrangeiro", "frete", "hawbAssociados", "identificacao", "identificacaoDocumentoConsignatario", "indicadorNaoRecepcaoHawbAssociados", "indicadorPartesMadeira", "itensCarga", "localAssinaturaTransportador", "manuseiosEspeciais", "mawbAwbAssociados", "nomeAgenteDeCargaConsolidadorEstrang", "nomeAssinaturaEmbarcadorEstrangeiro", "nomeAssinaturaTransportador", "nomeConsignatarioConhecimento", "nomeDocumentoConsignatario", "nomeEmbarcadorEstrangeiro", "outrasInfosServico", "outrasPartesInteressadas", "paisAgenteDeCargaConsolidadorEstrang", "paisConsignatarioConhecimento", "paisEmbarcadorEstrangeiro", "partesEstoque", "pesoBrutoConhecimento", "quantidadeVolumesConhecimento", "razaoSocialDocumentoConsignatario", "recepcoesComAvarias", "recintoAduaneiroDestino", "ruc", "situacao", "solicitacoesServicosEspeciais", "tipo", "tipoDocumentoConsignatario", "viagensAssociadas" }) @XmlRootElement(name="ConhecimentoConsultaDetalhada") @@ -320,9 +320,9 @@ public static IndicadorNaoRecepcaoHawbAssociadosEnum fromValue(String v) { } @XmlElement(name="indicadorNaoRecepcaoHawbAssociados") - @ApiModelProperty(example = "S", value = "Indicador relacionado à recepção de todos os cargas relacionadas
") + @ApiModelProperty(example = "S", value = "Informação prestada pelo transportador responsável pelo conhecimento.
S - Sim
N - Não

Quando for \"S\", 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.

Quando for \"N\", a orientação é de que a recepção no aeroporto de destino do conhecimento seja realizada diretamente pelos HAWB.

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.") /** - * Indicador relacionado à recepção de todos os cargas relacionadas
+ * Informação prestada pelo transportador responsável pelo conhecimento.
S - Sim
N - Não

Quando for \"S\", 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.

Quando for \"N\", a orientação é de que a recepção no aeroporto de destino do conhecimento seja realizada diretamente pelos HAWB.

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. **/ private IndicadorNaoRecepcaoHawbAssociadosEnum indicadorNaoRecepcaoHawbAssociados = null; @@ -512,6 +512,14 @@ public static IndicadorPartesMadeiraEnum fromValue(String v) { **/ private String razaoSocialDocumentoConsignatario = null; + @XmlElement(name="recepcoesComAvarias") + @ApiModelProperty(value = "Lista de recepções com avarias agrupadas por recinto aduaneiro
") + @Valid + /** + * Lista de recepções com avarias agrupadas por recinto aduaneiro
+ **/ + private List recepcoesComAvarias = null; + @XmlElement(name="recintoAduaneiroDestino") @ApiModelProperty(example = "8911101", value = "Código do Recinto Aduaneiro.
Tamanho: 7
Formato: inteiro com até 7 dígitos") /** @@ -1263,7 +1271,7 @@ public ConhecimentoConsultaDetalhada identificacaoDocumentoConsignatario(String } /** - * Indicador relacionado à recepção de todos os cargas relacionadas<br/> + * Informação prestada pelo transportador responsável pelo conhecimento.<br>S - Sim<br>N - Não<br><br>Quando for \"S\", 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><br>Quando for \"N\", a orientação é de que a recepção no aeroporto de destino do conhecimento seja realizada diretamente pelos HAWB.<br><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. * @return indicadorNaoRecepcaoHawbAssociados **/ @JsonProperty("indicadorNaoRecepcaoHawbAssociados") @@ -1676,6 +1684,29 @@ public ConhecimentoConsultaDetalhada razaoSocialDocumentoConsignatario(String ra return this; } + /** + * Lista de recepções com avarias agrupadas por recinto aduaneiro<br/> + * @return recepcoesComAvarias + **/ + @JsonProperty("recepcoesComAvarias") + public List getRecepcoesComAvarias() { + return recepcoesComAvarias; + } + + public void setRecepcoesComAvarias(List recepcoesComAvarias) { + this.recepcoesComAvarias = recepcoesComAvarias; + } + + public ConhecimentoConsultaDetalhada recepcoesComAvarias(List recepcoesComAvarias) { + this.recepcoesComAvarias = recepcoesComAvarias; + return this; + } + + public ConhecimentoConsultaDetalhada addRecepcoesComAvariasItem(RecepcaoComAvaria recepcoesComAvariasItem) { + this.recepcoesComAvarias.add(recepcoesComAvariasItem); + return this; + } + /** * Código do Recinto Aduaneiro.<br/>Tamanho: 7<br/> Formato: inteiro com até 7 dígitos * @return recintoAduaneiroDestino @@ -1877,6 +1908,7 @@ public String toString() { sb.append(" pesoBrutoConhecimento: ").append(toIndentedString(pesoBrutoConhecimento)).append("\n"); sb.append(" quantidadeVolumesConhecimento: ").append(toIndentedString(quantidadeVolumesConhecimento)).append("\n"); sb.append(" razaoSocialDocumentoConsignatario: ").append(toIndentedString(razaoSocialDocumentoConsignatario)).append("\n"); + sb.append(" recepcoesComAvarias: ").append(toIndentedString(recepcoesComAvarias)).append("\n"); sb.append(" recintoAduaneiroDestino: ").append(toIndentedString(recintoAduaneiroDestino)).append("\n"); sb.append(" ruc: ").append(toIndentedString(ruc)).append("\n"); sb.append(" situacao: ").append(toIndentedString(situacao)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/model/DsicConsultaDetalhada.java b/src/main/java/br/gov/siscomex/portalunico/ccta/model/DsicConsultaDetalhada.java index 25ffe78..3b08515 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/model/DsicConsultaDetalhada.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/model/DsicConsultaDetalhada.java @@ -16,7 +16,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DsicConsultaDetalhada", propOrder = - { "bloqueiosAtivos", "bloqueiosBaixados", "chegadasTerrestres", "cnpjResponsavelGeracaoDsicDepositario", "codigoAeroportoDestinoConhecimento", "codigoAeroportoOrigemConhecimento", "conhecimentoApropriado", "dataHoraEmissao", "descricaoMercadoria", "documentosSaida", "identificacaoConhecimento", "identificacaoDSIC", "identificacaoDocumentoConsignatario", "manuseiosEspeciais", "motivo", "nomeConsignatario", "nomeResponsavelGeracaoDsicDepositario", "nomeViajante", "numeroAutorizacaoSobrevooDac", "numeroDocumentoRetencaoApreensao", "numeroDocumentoViajante", "observacoes", "orgaoEmissorDocumentoViajante", "outrasInfosServico", "partesEstoque", "pesoBruto", "quantidadeVolumes", "recintoAduaneiroGeracaoDsic", "ruc", "setorResponsavelGeracaoDsicRfb", "situacao", "solicitacoesServicosEspeciais", "tipoConhecimento", "tipoDocumentoConsignatario", "tipoDocumentoRetencaoApreensao", "tipoDocumentoViajante", "unidadeResponsavelGeracaoDsicRfb", "unidadeRfbGeracaoDsic", "valorArbitrado", "viagemAssociada" + { "bloqueiosAtivos", "bloqueiosBaixados", "chegadasTerrestres", "cnpjResponsavelGeracaoDsicDepositario", "codigoAeroportoDestinoConhecimento", "codigoAeroportoOrigemConhecimento", "conhecimentoApropriado", "dataHoraEmissao", "descricaoMercadoria", "documentosSaida", "identificacaoConhecimento", "identificacaoDSIC", "identificacaoDocumentoConsignatario", "manuseiosEspeciais", "motivo", "nomeConsignatario", "nomeResponsavelGeracaoDsicDepositario", "nomeViajante", "numeroAutorizacaoSobrevooDac", "numeroDocumentoRetencaoApreensao", "numeroDocumentoViajante", "observacoes", "orgaoEmissorDocumentoViajante", "outrasInfosServico", "partesEstoque", "pesoBruto", "quantidadeVolumes", "recepcoesComAvarias", "recintoAduaneiroGeracaoDsic", "ruc", "setorResponsavelGeracaoDsicRfb", "situacao", "solicitacoesServicosEspeciais", "tipoConhecimento", "tipoDocumentoConsignatario", "tipoDocumentoRetencaoApreensao", "tipoDocumentoViajante", "unidadeResponsavelGeracaoDsicRfb", "unidadeRfbGeracaoDsic", "valorArbitrado", "viagemAssociada" }) @XmlRootElement(name="DsicConsultaDetalhada") @@ -268,6 +268,14 @@ public static MotivoEnum fromValue(String v) { **/ private Integer quantidadeVolumes = null; + @XmlElement(name="recepcoesComAvarias") + @ApiModelProperty(value = "Lista de recepções com avarias agrupadas por recinto aduaneiro
") + @Valid + /** + * Lista de recepções com avarias agrupadas por recinto aduaneiro
+ **/ + private List recepcoesComAvarias = null; + @XmlElement(name="recintoAduaneiroGeracaoDsic") @ApiModelProperty(example = "8911101", value = "Código do Recinto Aduaneiro.
Tamanho: 7
Formato: inteiro com até 7 dígitos") /** @@ -1101,6 +1109,29 @@ public DsicConsultaDetalhada quantidadeVolumes(Integer quantidadeVolumes) { return this; } + /** + * Lista de recepções com avarias agrupadas por recinto aduaneiro<br/> + * @return recepcoesComAvarias + **/ + @JsonProperty("recepcoesComAvarias") + public List getRecepcoesComAvarias() { + return recepcoesComAvarias; + } + + public void setRecepcoesComAvarias(List recepcoesComAvarias) { + this.recepcoesComAvarias = recepcoesComAvarias; + } + + public DsicConsultaDetalhada recepcoesComAvarias(List recepcoesComAvarias) { + this.recepcoesComAvarias = recepcoesComAvarias; + return this; + } + + public DsicConsultaDetalhada addRecepcoesComAvariasItem(RecepcaoComAvaria recepcoesComAvariasItem) { + this.recepcoesComAvarias.add(recepcoesComAvariasItem); + return this; + } + /** * Código do Recinto Aduaneiro.<br/>Tamanho: 7<br/> Formato: inteiro com até 7 dígitos * @return recintoAduaneiroGeracaoDsic @@ -1388,6 +1419,7 @@ public String toString() { sb.append(" partesEstoque: ").append(toIndentedString(partesEstoque)).append("\n"); sb.append(" pesoBruto: ").append(toIndentedString(pesoBruto)).append("\n"); sb.append(" quantidadeVolumes: ").append(toIndentedString(quantidadeVolumes)).append("\n"); + sb.append(" recepcoesComAvarias: ").append(toIndentedString(recepcoesComAvarias)).append("\n"); sb.append(" recintoAduaneiroGeracaoDsic: ").append(toIndentedString(recintoAduaneiroGeracaoDsic)).append("\n"); sb.append(" ruc: ").append(toIndentedString(ruc)).append("\n"); sb.append(" setorResponsavelGeracaoDsicRfb: ").append(toIndentedString(setorResponsavelGeracaoDsicRfb)).append("\n"); 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 0ad308e..9ddc28c 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 @@ -342,9 +342,9 @@ public static TipoRecebedorEnum fromValue(String v) { } @XmlElement(name="tipoRecebedor", required = true) - @ApiModelProperty(example = "OPERADOR_REMESSA_POSTAL", required = true, value = "Tipo do recebedor da entrega intermediária que será realizada.
Quando o interveniente de origem for CIA_AEREA apenas intervenientes CIA_AEREA e OPERADOR_REMESSA_POSTAL serão permitidos como recebedores da entrega intermediária.") + @ApiModelProperty(example = "OPERADOR_REMESSA_POSTAL", required = true, value = "Tipo do recebedor da entrega intermediária que será realizada.

Quando o interveniente de origem for CIA_AEREA, apenas os intervenientes CIA_AEREA, OPERADOR_REMESSA_POSTAL e OPERADOR_REMESSA_EXPRESSA serão permitidos como recebedores da entrega intermediária.
Quando o interveniente de origem for DEPOSITÁRIO, os intervenientes CIA_AEREA, DEPOSITARIO, TRANSPORTADOR_TERRESTRE, OPERADOR_REMESSA_POSTAL e OPERADOR_REMESSA_EXPRESSA serão permitidos como recebedores da entrega intermediária.") /** - * Tipo do recebedor da entrega intermediária que será realizada.
Quando o interveniente de origem for CIA_AEREA apenas intervenientes CIA_AEREA e OPERADOR_REMESSA_POSTAL serão permitidos como recebedores da entrega intermediária. + * Tipo do recebedor da entrega intermediária que será realizada.

Quando o interveniente de origem for CIA_AEREA, apenas os intervenientes CIA_AEREA, OPERADOR_REMESSA_POSTAL e OPERADOR_REMESSA_EXPRESSA serão permitidos como recebedores da entrega intermediária.
Quando o interveniente de origem for DEPOSITÁRIO, os intervenientes CIA_AEREA, DEPOSITARIO, TRANSPORTADOR_TERRESTRE, OPERADOR_REMESSA_POSTAL e OPERADOR_REMESSA_EXPRESSA serão permitidos como recebedores da entrega intermediária. **/ private TipoRecebedorEnum tipoRecebedor = null; @@ -631,7 +631,7 @@ public EntregaIntermediaria tipoDTA(TipoDTAEnum tipoDTA) { } /** - * Tipo do recebedor da entrega intermediária que será realizada.<br/>Quando o interveniente de origem for CIA_AEREA apenas intervenientes CIA_AEREA e OPERADOR_REMESSA_POSTAL serão permitidos como recebedores da entrega intermediária. + * Tipo do recebedor da entrega intermediária que será realizada.<br/><br/>Quando o interveniente de origem for CIA_AEREA, apenas os intervenientes CIA_AEREA, OPERADOR_REMESSA_POSTAL e OPERADOR_REMESSA_EXPRESSA serão permitidos como recebedores da entrega intermediária.<br/>Quando o interveniente de origem for DEPOSITÁRIO, os intervenientes CIA_AEREA, DEPOSITARIO, TRANSPORTADOR_TERRESTRE, OPERADOR_REMESSA_POSTAL e OPERADOR_REMESSA_EXPRESSA serão permitidos como recebedores da entrega intermediária. * @return tipoRecebedor **/ @JsonProperty("tipoRecebedor") diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/model/Resposta.java b/src/main/java/br/gov/siscomex/portalunico/ccta/model/RespostaRecebimento.java similarity index 87% rename from src/main/java/br/gov/siscomex/portalunico/ccta/model/Resposta.java rename to src/main/java/br/gov/siscomex/portalunico/ccta/model/RespostaRecebimento.java index 46fde5e..2997dcf 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/model/Resposta.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/model/RespostaRecebimento.java @@ -13,16 +13,16 @@ import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "Resposta", propOrder = + @XmlType(name = "RespostaRecebimento", propOrder = { "message", "list" }) -@XmlRootElement(name="Resposta") +@XmlRootElement(name="RespostaRecebimento") /** * Resposta para a consulta da situação atual do processamento do arquivo enviado **/ @ApiModel(description="Resposta para a consulta da situação atual do processamento do arquivo enviado") -public class Resposta { +public class RespostaRecebimento { @XmlElement(name="message") @ApiModelProperty(example = "A consulta efetuada retornou mais de 500 registros. Refine sua pesquisa.", value = "Mensagem de retorno quando a pesquisa retornar mais registros que o máximo permitido") @@ -51,7 +51,7 @@ public void setMessage(String message) { this.message = message; } - public Resposta message(String message) { + public RespostaRecebimento message(String message) { this.message = message; return this; } @@ -69,12 +69,12 @@ public void setList(List list) { this.list = list; } - public Resposta list(List list) { + public RespostaRecebimento list(List list) { this.list = list; return this; } - public Resposta addListItem(Recebimento listItem) { + public RespostaRecebimento addListItem(Recebimento listItem) { this.list.add(listItem); return this; } @@ -83,7 +83,7 @@ public Resposta addListItem(Recebimento listItem) { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class Resposta {\n"); + sb.append("class RespostaRecebimento {\n"); sb.append(" message: ").append(toIndentedString(message)).append("\n"); sb.append(" list: ").append(toIndentedString(list)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/model/RetornoConsultaImpedimentosEntregaImportador.java b/src/main/java/br/gov/siscomex/portalunico/ccta/model/RetornoConsultaImpedimentosEntregaImportador.java index c77bafa..0b2363c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ccta/model/RetornoConsultaImpedimentosEntregaImportador.java +++ b/src/main/java/br/gov/siscomex/portalunico/ccta/model/RetornoConsultaImpedimentosEntregaImportador.java @@ -16,16 +16,24 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "RetornoConsultaImpedimentosEntregaImportador", propOrder = - { "entregaAutorizada", "identificacaoCarga", "impedimentos", "numeroDocumentoSaida", "tipoCarga", "tipoDocumentoSaida" + { "condicoes", "entregaAutorizada", "identificacaoCarga", "impedimentos", "numeroDocumentoSaida", "tipoCarga", "tipoDocumentoSaida" }) @XmlRootElement(name="RetornoConsultaImpedimentosEntregaImportador") /** - * Retorno da consulta de impedimentos da entrega da carga. + * Retorno da consulta de impedimentos e condições da entrega da carga. **/ -@ApiModel(description="Retorno da consulta de impedimentos da entrega da carga.") +@ApiModel(description="Retorno da consulta de impedimentos e condições da entrega da carga.") public class RetornoConsultaImpedimentosEntregaImportador { + @XmlElement(name="condicoes") + @ApiModelProperty(value = "Lista de condições da entrega de carga ao importador") + @Valid + /** + * Lista de condições da entrega de carga ao importador + **/ + private List condicoes = null; + @XmlElement(name="entregaAutorizada") @ApiModelProperty(example = "false", value = "Indicador informando que a entrega esta autorizada") /** @@ -178,6 +186,29 @@ public static TipoDocumentoSaidaEnum fromValue(String v) { * Tipo de documento de saída **/ private TipoDocumentoSaidaEnum tipoDocumentoSaida = null; + /** + * Lista de condições da entrega de carga ao importador + * @return condicoes + **/ + @JsonProperty("condicoes") + public List getCondicoes() { + return condicoes; + } + + public void setCondicoes(List condicoes) { + this.condicoes = condicoes; + } + + public RetornoConsultaImpedimentosEntregaImportador condicoes(List condicoes) { + this.condicoes = condicoes; + return this; + } + + public RetornoConsultaImpedimentosEntregaImportador addCondicoesItem(CondicaoEntregaImportador condicoesItem) { + this.condicoes.add(condicoesItem); + return this; + } + /** * Indicador informando que a entrega esta autorizada * @return entregaAutorizada @@ -303,6 +334,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class RetornoConsultaImpedimentosEntregaImportador {\n"); + sb.append(" condicoes: ").append(toIndentedString(condicoes)).append("\n"); sb.append(" entregaAutorizada: ").append(toIndentedString(entregaAutorizada)).append("\n"); sb.append(" identificacaoCarga: ").append(toIndentedString(identificacaoCarga)).append("\n"); sb.append(" impedimentos: ").append(toIndentedString(impedimentos)).append("\n"); 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 f1fa9c8..5dbddee 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 @@ -38,7 +38,7 @@ public interface ServiosDeEnvioDeArquivosApi { @Consumes({ "application/xml" }) @Produces({ "application/xml" }) @ApiOperation(value = "Informar Viagem - XFFM (Flight Manifest)", notes = "

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 (XFFM) 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.

Inicialmente, somente serão aceitos arquivos de viagem XFFM com aeroporto de partida no exterior e o primeiro aeroporto de chegada no Brasil. Desta forma, o aeroporto de partida constante no XFFM 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 XFFM.

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.

Os arquivos XFFM 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 "Rejected").

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:

  • 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.
  • AAAAMMDD: Data de partida prevista do último aeroporto estrangeiro antes de vir ao Brasil.
  • YYY: Aeroporto de partida do último aeroporto estrangeiro antes de vir ao Brasil.

Um arquivo XFFM 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 XFFM original e deixou de ser mencionado após a retificação, independentemente do aeroporto de chegada.

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.

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.

Para viagens com partida no exterior, devem ser enviados apenas arquivos XFFM 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.

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.

Todos os códigos de aeroporto devem ser informados com 3 caracteres, não sendo permitidos códigos UNLOCODE de 5 caracteres.

Os indicadores de parcialidade, informados na tag FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/TransportSplitDescription, são divididos em dois grupos:

  • Total - valores T ou S
  • Parcial - valores P, D ou M

Em um mesmo XFFM, um conhecimento de carga só pode ser informado dentro do mesmo grupo de parcialidade.

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.

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.

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:


Indicador de conhecimento de carga não IATA

OBS: 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.

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/ContendCode Informar "DI"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/Content Informar "NON-IATA"
Other Customs, Security and Regulatory Control Information / Information identifier FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/SubjectCode Informar "WBI"
Other Customs, Security and Regulatory Control Information / Country code FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

Código do Recinto Aduaneiro da Chegada da Viagem

OBS: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 XFFM.

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier FlightManifest/LogisticsTransportMovement/IncludedCustomsNote/ContendCode Informar "M"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information FlightManifest/LogisticsTransportMovement/IncludedCustomsNote/Content

Informar "CUSTOMSWAREHOUSEXXX9999999"

Contém 26 caracteres, sendo:

  • - 1º ao 16º caractere: texto fixo escrito CUSTOMSWAREHOUSE
  • - 17º ao 19º caractere (XXX): sigla IATA do aeroporto de chegada da viagem com 3 posições
  • - 20º ao 26º caractere (9999999): código do recinto aduaneiro que irá recepcionar as cargas
Other Customs, Security and Regulatory Control Information / Information identifier FlightManifest/LogisticsTransportMovement/IncludedCustomsNote/SubjectCode Informar "CCL"
Other Customs, Security and Regulatory Control Information / Country code FlightManifest/LogisticsTransportMovement/IncludedCustomsNote/CountryID Informar "BR"

Data de emissão de conhecimento de carga

OBS: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.

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/ContendCode Informar a tag com conteúdo vazio: ""
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/Content

Informar "CARRIERDECLARATIONDATEAAAAMMDD":

Contém 30 caracteres, sendo:

  • - 1º ao 22º caractere: CARRIERDECLARATIONDATE (texto fixo)
  • - 23º ao 30º caractere (AAAAMMDD): data de emissão do conhecimento que será associado
Other Customs, Security and Regulatory Control Information / Information identifier FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/SubjectCode Informar "WBI"
Other Customs, Security and Regulatory Control Information / Country code FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

Parâmetros de Entrada:

Nome Descrição Tipo Local Detalhes
Arquivo de viagem aérea (XFFM) Viagem com sua lista de conhecimentos Arquivo XML obrigatório Body Versão 2.00 da IATA - informado pelas Companhias Aéreas
CNPJ CNPJ da Companhia Aérea Numérico(14) obrigatório Query Param CNPJ (formato 99999999999999)

Resposta :

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:

Campo Tag XML Valor
Message Reference ID MessageHeaderDocument / ID Fixo "BRCUSTOMS"
Message Name MessageHeaderDocument / Name Fixo "Response"
Message Type MessageHeaderDocument / TypeCode Fixo "294"
Message Date / Time Stamp MessageHeaderDocument / IssueDateTime Data / hora de processamento do arquivo - UTC time
Message Function MessageHeaderDocument / PurposeCode Fixo "Response"
Message Version MessageHeaderDocument / VersionID Fixo "3.0"
Sender Qualifier MessageHeaderDocument / SenderParty / schemeID Fixo "C"
Sender Identification MessageHeaderDocument / SenderParty / PrimaryID Fixo "BRCUSTOMS"
Recipient Qualifier MessageHeaderDocument / RecipientParty / schemeID 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)
Recipient Identification MessageHeaderDocument / RecipientParty / PrimaryID 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"
Message Type BusinessHeaderDocument / TypeCode 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.
Message Name BusinessHeaderDocument / Name 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".
Original Document Identification BusinessHeaderDocument / ID 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".
Response Type BusinessHeaderDocument / StatusCode Received” , “Rejected” ou “Processed” – conforme processamento do arquivo. Na versão atual, haverá resposta apenas nas situações “Received” (arquivo recebido e será processado) ou “Rejected”(arquivo foi rejeitado)

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 Período” ou “Consultar Situação de Arquivos por número de Protocolo”.

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.

Para arquivos com o campo Response Type igual a “Received\", haverá somente um registro do bloco de dados Response Status, conforme abaixo. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.

 
Campo Tag XML Valor
Category ResponseStatus / ConditionCode Acknowledgement
Text ResponseStatus / Reason Número do protocolo de recebimento

Para arquivos com o campo Response Type igual a “Rejected”, cada ocorrência de erro conterá as seguintes informações no bloco de dados Response Status. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.

 
Campo Tag XML Valor
Category ResponseStatus / ConditionCode Error
Text ResponseStatus / Reason Texto contendo a linha e coluna com erro, (informando Row:<número da linha> | Column:<número da coluna>) e a descrição do erro verificada.Tamanho do campo: 5000 posições. Ex: "Row:7|Column:20|Error: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"iata:datamodel:3":PurposeCode}'. One of '{"iata:datamodel:3":IssueDateTime}' is expected.
", tags={ "Serviços de Envio de Arquivos" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = String.class), @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), @@ -47,7 +47,7 @@ public interface ServiosDeEnvioDeArquivosApi { @ApiResponse(code = 404, message = "Recurso não encontrado"), @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response doPostUsingPOST(@ApiParam(value = "" ,required=true)@Valid String body, @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 = "CNPJ da Companhia Aérea Tamanho: 14 Formato: NNNNNNNNNNNNNN",required=true) @QueryParam("cnpj") String cnpj); + public Response doPostUsingPOST(@ApiParam(value = "" ,required=true)@Valid String body, @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 = "CNPJ da Companhia Aérea Tamanho: 14 Formato: NNNNNNNNNNNNNN",required=true) @QueryParam("cnpj") String cnpj); /** * Informar Associação Master e House - XFHL (House Manifest) @@ -74,14 +74,14 @@ 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</strong></h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Obs:</strong>Esta informação somente deve ser prestada caso o transportador responsável não queira a desunitização da carga (não permitindo a recepção por HAWB). Caso esta informação não seja enviada, a carga poderá ser desunitizada.</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> + * <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") @Consumes({ "application/xml" }) @Produces({ "application/xml" }) - @ApiOperation(value = "Informar Conhecimento de Carga - XFWB (Freight Waybill)", notes = "

Encaminhamento de arquivo XML para processamento de conhecimentos de cargas do tipo AWB (Air Waybill) ou MAWB (Master Air Waybill). Será permitida apenas uma mensagem XFWB por arquivo, contendo a operação Creation, Update ou Deletion, na versão 3.00, conforme o padrão estabelecido pela IATA..

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.

Os arquivos de operação Update ou Deletion serão processados caso exista um arquivo com a operação Creation recebido anteriormente com sucesso no sistema, tendo a mesma identificação do AWB/MAWB (Waybill/BusinessHeaderDocument/ID) e data de emissão.

A alteração de um AWB/MAWB poderá ocorrer por serviço caso não tenha ocorrido entrega final ao importador, seja esta parcial ou total. Já a exclusão do AWB/MAWB só poderá ocorrer até o momento da chegada da primeira parte ou do total da carga em um aeroporto brasileiro.

Para que um AWB/MAWB seja considerado como manifestado em uma viagem, o conhecimento de carga (XFWB) deve ser referenciado no arquivo da viagem (XFFM). Para tal, a identificação do AWB/MAWB deve ser igual em ambos os arquivos. Além disso, tanto o arquivo XFFM quanto o arquivo XFWB devem se encontrar na situação Processed.

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.

O agrupamento de informações de mercadoria (Waybill/MasterConsignment/ApplicableRating) obrigatório é o agrupamento do tipo "F" (Waybill/MasterConsignment/ApplicableRating/TypeCode), que se refere ao valor de face.

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.

Os conhecimentos de carga informados deverão ter código de classificação de mercadoria (NCM) 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.

Todas as unidades de medida de peso deverão ser informadas como unidades de medida de massa.

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.

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.


Número Total de Volumes

Campo Tag XML
WAYBILL SUMMARY/Total number of pieces Waybill/MasterConsignment/TotalPieceQuantity

Peso Bruto Total

Campo Tag XML
WAYBILL SUMMARY/Total Gross Weight Waybill/MasterConsignment/IncludedTareGrossWeightMeasure

Peso Bruto Total - Unidade de Medida

Campo Tag XML
WAYBILL SUMMARY/Total Gross Weight Unit of Measurement Waybill/MasterConsignment/IncludedTareGrossWeightMeasure (unit code)

Descrição das Mercadorias - Deve ser informado ao menos uma vez por arquivo

Campo Tag XML
WAYBILL BODY / Rating Type / Rating Type Indicator / Item Details / Item Description Waybill / MasterConsignment / ApplicableRating / IncludedMasterConsignmentItem / NatureIdentificationTransportCargo / Identification

Valor Total do Frete

Campo Tag XML
WAYBILL SUMMARY / Waybill Totals / Rating Type Indicator / Prepaid / Collect Indicator / Total Charge Summary Waybill / MasterConsignment / ApplicableTotalRating / ApplicablePrepaidCollectMonetarySummation / GrandTotalAmount

Forma de Pagamento do Frete (Prepaid, Collect)

Campo Tag XML
WAYBILL SUMMARY / Waybill Totals / Rating Type Indicator / Prepaid / Collect Indicator Waybill / MasterConsignment / ApplicableTotalRating / ApplicablePrepaidCollectMonetarySummation / PrepaidIndicator

Caso o tipo de conhecimento de carga seja MAWB, 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.

A informação de identificação do consignatário não é obrigatória. Porém, caso a mesma não tenha sido informada no, AWB até o momento da chegada da viagem, o sistema realizará um bloqueio automático na carga. Para MAWB, não haverá bloqueio pela falta de informação da identificação do consignatário.

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.

São elas:


Indicador de conhecimento de carga não IATA

OBS: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.

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier Waybill/MasterConsignment/IncludedCustomsNote/ContendCode Informar "DI"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information Waybill/MasterConsignment/IncludedCustomsNote/Content Informar "NON-IATA"
Other Customs, Security and Regulatory Control Information / Information identifier Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode Informar "WBI"
Other Customs, Security and Regulatory Control Information / Country code Waybill/MasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

Indicador de Presença de Partes e Peças de Madeira Maciça

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier Waybill/MasterConsignment/IncludedCustomsNote/ContentCode Informar "DI"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information Waybill/MasterConsignment/IncludedCustomsNote/Content Informar "WOOD PARTS"
Other Customs, Security and Regulatory Control Information / Information identifier Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode Informar "OCI"
Other Customs, Security and Regulatory Control Information / Country code Waybill/MasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

Indicador de Não Recepção dos HAWB Associados

Obs:Esta informação somente deve ser prestada caso o transportador responsável não queira a desunitização da carga (não permitindo a recepção por HAWB). Caso esta informação não seja enviada, a carga poderá ser desunitizada.

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier Waybill/MasterConsignment/IncludedCustomsNote/ContentCode Informar "DI"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information Waybill/MasterConsignment/IncludedCustomsNote/Content Informar "DO NOT BREAK DOWN"
Other Customs, Security and Regulatory Control Information / Information identifier Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode Informar "HDL"
Other Customs, Security and Regulatory Control Information / Country code Waybill/MasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

Identificação do Consignatário

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier Waybill/MasterConsignment/IncludedCustomsNote/ContentCode Informar "T"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information Waybill/MasterConsignment/IncludedCustomsNote/Content

- Se for um CPF informar "CPF<número do CPF com 11 dígitos>" . Ex: CPF12345678901

- Se for um CNPJ informar "CNPJ<número do CNPJ com 8 ou 14 dígitos>". Ex:CNPJ12345678901234

- Se for um Passaporte informar "PASSPORT<número do passaporte com até 25 posições>. Ex:PASSPORTC12345678.

Other Customs, Security and Regulatory Control Information / Information identifier Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode Informar "CNE"
Other Customs, Security and Regulatory Control Information /Country code Waybill/MasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

RUC (Referência Única da Carga) / UCR (Unique Consignment Reference)

Obs: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).

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier Waybill/MasterConsignment/IncludedCustomsNote/ContentCode Informar "U"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information Waybill/MasterConsignment/IncludedCustomsNote/Content Informar UCR<número da RUC com até 32 posições>. Ex: UCR8BR167017161001713D0000000000004021
Other Customs, Security and Regulatory Control Information / Information identifier Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode Informar "IMP"
Other Customs, Security and Regulatory Control Information / Country code Waybill/MasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

Código do Recinto Aduaneiro de Destino da Carga

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier Waybill/MasterConsignment/IncludedCustomsNote/ContentCode Informar "M"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information Waybill/MasterConsignment/IncludedCustomsNote/Content Informar "CUSTOMSWAREHOUSE<número do Código do Recinto Aduaneiro de Destino da Carga com 7 dígitos>". Ex:CUSTOMSWAREHOUSE1234567
Other Customs, Security and Regulatory Control Information / Information identifier Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode Informar "CCL"
Other Customs, Security and Regulatory Control Information / Country code Waybill/MasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

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”.

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.


Parâmetros de Entrada:

Nome Descrição Tipo Local Detalhes
Arquivo de conhecimento de carga (XFWB) Conhecimentos de carga(AWB e MAWB) Arquivo XML obrigatório Body Versão 3.00 da IATA - informado pelas Companhias Aéreas
CNPJ CNPJ da Companhia Aérea Numérico(14) obrigatório Query Param CNPJ (formato 99999999999999)

Resposta :

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:

Campo Tag XML Valor
Message Reference ID MessageHeaderDocument / ID Fixo "BRCUSTOMS"
Message Name MessageHeaderDocument / Name Fixo "Response"
Message Type MessageHeaderDocument / TypeCode Fixo "294"
Message Date / Time Stamp MessageHeaderDocument / IssueDateTime Data / hora de processamento do arquivo - UTC time
Message Function MessageHeaderDocument / PurposeCode Fixo "Response"
Message Version MessageHeaderDocument / VersionID Fixo "3.0"
Sender Qualifier MessageHeaderDocument / SenderParty / schemeID Fixo "C"
Sender Identification MessageHeaderDocument / SenderParty / PrimaryID Fixo "BRCUSTOMS"
Recipient Qualifier MessageHeaderDocument / RecipientParty / schemeID 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)
Recipient Identification MessageHeaderDocument / RecipientParty / PrimaryID 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"
Message Type BusinessHeaderDocument / TypeCode 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.
Message Name BusinessHeaderDocument / Name 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".
Original Document Identification BusinessHeaderDocument / ID 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".
Response Type BusinessHeaderDocument / StatusCode Received” , “Rejected” ou “Processed” – conforme processamento do arquivo. Na versão atual, haverá resposta apenas nas situações “Received” (arquivo recebido e será processado) ou “Rejected”(arquivo foi rejeitado)

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".

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.

Para arquivos com o campo Response Type igual a "Received", haverá somente um registro do bloco de dados Response Status, conforme abaixo. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.

 
Campo Tag XML Valor
Category ResponseStatus / ConditionCode Acknowledgement
Text ResponseStatus / Reason Número do protocolo de recebimento

Para arquivos com o campo Response Type igual a “Rejected”, cada ocorrência de erro conterá as seguintes informações no bloco de dados Response Status. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.

 
Campo Tag XML Valor
Category ResponseStatus / ConditionCode Error
Text ResponseStatus / Reason Texto contendo a linha e coluna com erro, (informando Row:<número da linha> | Column:<número da coluna>) e a descrição do erro verificado.Tamanho do campo: 5000 posições. Ex: "Row:7|Column:20|Error: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"iata:datamodel:3":PurposeCode}'. One of '{"iata:datamodel:3":IssueDateTime}' is expected.
", tags={ "Serviços de Envio de Arquivos" }) + @ApiOperation(value = "Informar Conhecimento de Carga - XFWB (Freight Waybill)", notes = "

Encaminhamento de arquivo XML para processamento de conhecimentos de cargas do tipo AWB (Air Waybill) ou MAWB (Master Air Waybill). Será permitida apenas uma mensagem XFWB por arquivo, contendo a operação Creation, Update ou Deletion, na versão 3.00, conforme o padrão estabelecido pela IATA..

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.

Os arquivos de operação Update ou Deletion serão processados caso exista um arquivo com a operação Creation recebido anteriormente com sucesso no sistema, tendo a mesma identificação do AWB/MAWB (Waybill/BusinessHeaderDocument/ID) e data de emissão.

A alteração de um AWB/MAWB poderá ocorrer por serviço caso não tenha ocorrido entrega final ao importador, seja esta parcial ou total. Já a exclusão do AWB/MAWB só poderá ocorrer até o momento da chegada da primeira parte ou do total da carga em um aeroporto brasileiro.

Para que um AWB/MAWB seja considerado como manifestado em uma viagem, o conhecimento de carga (XFWB) deve ser referenciado no arquivo da viagem (XFFM). Para tal, a identificação do AWB/MAWB deve ser igual em ambos os arquivos. Além disso, tanto o arquivo XFFM quanto o arquivo XFWB devem se encontrar na situação Processed.

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.

O agrupamento de informações de mercadoria (Waybill/MasterConsignment/ApplicableRating) obrigatório é o agrupamento do tipo "F" (Waybill/MasterConsignment/ApplicableRating/TypeCode), que se refere ao valor de face.

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.

Os conhecimentos de carga informados deverão ter código de classificação de mercadoria (NCM) 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.

Todas as unidades de medida de peso deverão ser informadas como unidades de medida de massa.

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.

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.


Número Total de Volumes

Campo Tag XML
WAYBILL SUMMARY/Total number of pieces Waybill/MasterConsignment/TotalPieceQuantity

Peso Bruto Total

Campo Tag XML
WAYBILL SUMMARY/Total Gross Weight Waybill/MasterConsignment/IncludedTareGrossWeightMeasure

Peso Bruto Total - Unidade de Medida

Campo Tag XML
WAYBILL SUMMARY/Total Gross Weight Unit of Measurement Waybill/MasterConsignment/IncludedTareGrossWeightMeasure (unit code)

Descrição das Mercadorias - Deve ser informado ao menos uma vez por arquivo

Campo Tag XML
WAYBILL BODY / Rating Type / Rating Type Indicator / Item Details / Item Description Waybill / MasterConsignment / ApplicableRating / IncludedMasterConsignmentItem / NatureIdentificationTransportCargo / Identification

Valor Total do Frete

Campo Tag XML
WAYBILL SUMMARY / Waybill Totals / Rating Type Indicator / Prepaid / Collect Indicator / Total Charge Summary Waybill / MasterConsignment / ApplicableTotalRating / ApplicablePrepaidCollectMonetarySummation / GrandTotalAmount

Forma de Pagamento do Frete (Prepaid, Collect)

Campo Tag XML
WAYBILL SUMMARY / Waybill Totals / Rating Type Indicator / Prepaid / Collect Indicator Waybill / MasterConsignment / ApplicableTotalRating / ApplicablePrepaidCollectMonetarySummation / PrepaidIndicator

Caso o tipo de conhecimento de carga seja MAWB, 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.

A informação de identificação do consignatário não é obrigatória. Porém, caso a mesma não tenha sido informada no, AWB até o momento da chegada da viagem, o sistema realizará um bloqueio automático na carga. Para MAWB, não haverá bloqueio pela falta de informação da identificação do consignatário.

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.

São elas:


Indicador de conhecimento de carga não IATA

OBS: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.

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier Waybill/MasterConsignment/IncludedCustomsNote/ContendCode Informar "DI"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information Waybill/MasterConsignment/IncludedCustomsNote/Content Informar "NON-IATA"
Other Customs, Security and Regulatory Control Information / Information identifier Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode Informar "WBI"
Other Customs, Security and Regulatory Control Information / Country code Waybill/MasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

Indicador de Presença de Partes e Peças de Madeira Maciça

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier Waybill/MasterConsignment/IncludedCustomsNote/ContentCode Informar "DI"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information Waybill/MasterConsignment/IncludedCustomsNote/Content Informar "WOOD PARTS"
Other Customs, Security and Regulatory Control Information / Information identifier Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode Informar "OCI"
Other Customs, Security and Regulatory Control Information / Country code Waybill/MasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

Indicador de Não Recepção dos HAWB Associados no Aeroporto de Destino

Obs:Quando este campo OCI for informado, o indicador será preenchido com "sim". Quando esse campo OCI não for informado, o indicador será preenchido com "não".
Quando o indicador for "sim", 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.
Quando for "não", a orientação é de que a recepção no aeroporto de destino do conhecimento seja realizada diretamente pelos HAWB.
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.

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier Waybill/MasterConsignment/IncludedCustomsNote/ContentCode Informar "DI"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information Waybill/MasterConsignment/IncludedCustomsNote/Content Informar "DO NOT BREAK DOWN"
Other Customs, Security and Regulatory Control Information / Information identifier Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode Informar "HDL"
Other Customs, Security and Regulatory Control Information / Country code Waybill/MasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

Identificação do Consignatário

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier Waybill/MasterConsignment/IncludedCustomsNote/ContentCode Informar "T"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information Waybill/MasterConsignment/IncludedCustomsNote/Content

- Se for um CPF informar "CPF<número do CPF com 11 dígitos>" . Ex: CPF12345678901

- Se for um CNPJ informar "CNPJ<número do CNPJ com 8 ou 14 dígitos>". Ex:CNPJ12345678901234

- Se for um Passaporte informar "PASSPORT<número do passaporte com até 25 posições>. Ex:PASSPORTC12345678.

Other Customs, Security and Regulatory Control Information / Information identifier Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode Informar "CNE"
Other Customs, Security and Regulatory Control Information /Country code Waybill/MasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

RUC (Referência Única da Carga) / UCR (Unique Consignment Reference)

Obs: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).

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier Waybill/MasterConsignment/IncludedCustomsNote/ContentCode Informar "U"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information Waybill/MasterConsignment/IncludedCustomsNote/Content Informar UCR<número da RUC com até 32 posições>. Ex: UCR8BR167017161001713D0000000000004021
Other Customs, Security and Regulatory Control Information / Information identifier Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode Informar "IMP"
Other Customs, Security and Regulatory Control Information / Country code Waybill/MasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

Código do Recinto Aduaneiro de Destino da Carga

Campo Tag XML Valor
Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier Waybill/MasterConsignment/IncludedCustomsNote/ContentCode Informar "M"
Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information Waybill/MasterConsignment/IncludedCustomsNote/Content Informar "CUSTOMSWAREHOUSE<número do Código do Recinto Aduaneiro de Destino da Carga com 7 dígitos>". Ex:CUSTOMSWAREHOUSE1234567
Other Customs, Security and Regulatory Control Information / Information identifier Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode Informar "CCL"
Other Customs, Security and Regulatory Control Information / Country code Waybill/MasterConsignment/IncludedCustomsNote/CountryID Informar "BR"

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”.

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.


Parâmetros de Entrada:

Nome Descrição Tipo Local Detalhes
Arquivo de conhecimento de carga (XFWB) Conhecimentos de carga(AWB e MAWB) Arquivo XML obrigatório Body Versão 3.00 da IATA - informado pelas Companhias Aéreas
CNPJ CNPJ da Companhia Aérea Numérico(14) obrigatório Query Param CNPJ (formato 99999999999999)

Resposta :

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:

Campo Tag XML Valor
Message Reference ID MessageHeaderDocument / ID Fixo "BRCUSTOMS"
Message Name MessageHeaderDocument / Name Fixo "Response"
Message Type MessageHeaderDocument / TypeCode Fixo "294"
Message Date / Time Stamp MessageHeaderDocument / IssueDateTime Data / hora de processamento do arquivo - UTC time
Message Function MessageHeaderDocument / PurposeCode Fixo "Response"
Message Version MessageHeaderDocument / VersionID Fixo "3.0"
Sender Qualifier MessageHeaderDocument / SenderParty / schemeID Fixo "C"
Sender Identification MessageHeaderDocument / SenderParty / PrimaryID Fixo "BRCUSTOMS"
Recipient Qualifier MessageHeaderDocument / RecipientParty / schemeID 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)
Recipient Identification MessageHeaderDocument / RecipientParty / PrimaryID 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"
Message Type BusinessHeaderDocument / TypeCode 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.
Message Name BusinessHeaderDocument / Name 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".
Original Document Identification BusinessHeaderDocument / ID 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".
Response Type BusinessHeaderDocument / StatusCode Received” , “Rejected” ou “Processed” – conforme processamento do arquivo. Na versão atual, haverá resposta apenas nas situações “Received” (arquivo recebido e será processado) ou “Rejected”(arquivo foi rejeitado)

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".

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.

Para arquivos com o campo Response Type igual a "Received", haverá somente um registro do bloco de dados Response Status, conforme abaixo. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.

 
Campo Tag XML Valor
Category ResponseStatus / ConditionCode Acknowledgement
Text ResponseStatus / Reason Número do protocolo de recebimento

Para arquivos com o campo Response Type igual a “Rejected”, cada ocorrência de erro conterá as seguintes informações no bloco de dados Response Status. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.

 
Campo Tag XML Valor
Category ResponseStatus / ConditionCode Error
Text ResponseStatus / Reason Texto contendo a linha e coluna com erro, (informando Row:<número da linha> | Column:<número da coluna>) e a descrição do erro verificado.Tamanho do campo: 5000 posições. Ex: "Row:7|Column:20|Error: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"iata:datamodel:3":PurposeCode}'. One of '{"iata:datamodel:3":IssueDateTime}' is expected.
", tags={ "Serviços de Envio de Arquivos" }) @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = String.class), @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nenhum conteúdo retornado"), 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 0fc22da..8a33ab4 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 @@ -27,7 +27,7 @@ public interface ServioPblicoNomenclaturaApi { @GET @Path("/publico/nomenclatura/download/json") @ApiOperation(value = "Download do Arquivo ", notes = "", tags={ "Serviço Público Nomenclatura" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "sucesso"), @ApiResponse(code = 404, message = "Arquivo não encontrado") }) public Response downloadPublico(); diff --git a/src/main/java/br/gov/siscomex/portalunico/due/api/DueApi.java b/src/main/java/br/gov/siscomex/portalunico/due/api/DueApi.java index 0b3243f..5fd5682 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/api/DueApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/api/DueApi.java @@ -28,7 +28,7 @@ import javax.ws.rs.core.Response; /** - * Declaração Única de Exportação + * Declaração Única de Exportação * *

Bem-vindo à API do sistema Pucomex - Declaração Única de Exportação.

A Declaração Única de Exportação (DU-E) reúne as informações comercias, tributárias e aduaneiras necessárias para a realização de todos os tipos de exportação. As informações prestadas pelo exportador permitem que sejam realizadas autorizações e fiscalizações por parte dos diversos órgãos competentes da administração pública brasileira na execução de suas atribuições legais.

A DU-E é elaborada a partir das informações prestadas nas notas fiscais de exportação eliminando com isso a redundância de informações a serem prestadas pelos exportadores. As informações relativas à carga, LPCO, e tributação podem ser prestadas nos momentos mais oportunos permitindo uma maior flexibilidade e agilidade no processo de exportação.

A DU-E permite que com uma consulta todo o fluxo seguido pela declaração seja visualizado tanto por parte dos operadores privados quando pelos órgãos diversos governamentais.

URLs de Acesso

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

https://{ambiente}/due/api/{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 URI 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 \"Retorna Declaração Única de Exportação - DUE, por número\" a URI é \"due/api/ext/due/{numero}\".

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

https://val.portalunico.siscomex.gov.br/due/api/ext/due/17BR0055562808

* @@ -48,7 +48,7 @@ public interface DueApi { @Consumes({ "application/xml" }) @Produces({ "application/xml", "application/json" }) @ApiOperation(value = "Altera Declaração de Documento Único de Exportação - DUE.", notes = "

Exemplos adicionais da DUE

XSD para download

", tags={ "due" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = PucomexReturn.class), @ApiResponse(code = 400, message = "Requisição mal formatada"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), @@ -127,7 +127,7 @@ public interface DueApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response lista(@ApiParam(value = "Número da DUE
Tamanho: 14
Formato: 'NNAANNNNNNNNNN'",required=true) @PathParam("numero-da-due") String numeroDaDue, @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 = "Número do Item de DU-E
Formato: Inteiro, com até 5 digitos") @QueryParam("numero-item-de-due") String numeroItemDeDue, @ApiParam(value = "Índice do primeiro elemento
Formato: Inteiro, com até 10 digitos", defaultValue="0") @DefaultValue("0") @QueryParam("offset") Integer offset, @ApiParam(value = "Índice do último elemento
Formato: Inteiro, com até 10 digitos", defaultValue="49") @DefaultValue("49") @QueryParam("limit") Integer limit, @ApiParam(value = "Número do ato concessório
Tamanho: 8
Formato: 'NNNNNNNN'") @QueryParam("numero") String numero, @ApiParam(value = "Item do ato concessório
Formato: Inteiro, com até 5 digitos") @QueryParam("numero-do-item") String numeroDoItem, @ApiParam(value = "CNPJ do Beneficiário
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'") @QueryParam("cnpj-do-beneficiario") String cnpjDoBeneficiario, @ApiParam(value = "Ordenação", allowableValues="NUMERO, ITEM, CNPJ_DO_BENEFICIARIO, NUMERO_ITEM_DUE, DATA_DE_REGISTRO") @QueryParam("ordenacao") String ordenacao, @ApiParam(value = "Tipo de Ordenação", allowableValues="ASC, DESC") @QueryParam("tipoDeOrdenacao") String tipoDeOrdenacao); + public Response lista1(@ApiParam(value = "Número da DUE
Tamanho: 14
Formato: 'NNAANNNNNNNNNN'",required=true) @PathParam("numero-da-due") String numeroDaDue, @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 = "Número do Item de DU-E
Formato: Inteiro, com até 5 digitos") @QueryParam("numero-item-de-due") String numeroItemDeDue, @ApiParam(value = "Índice do primeiro elemento
Formato: Inteiro, com até 10 digitos", defaultValue="0") @DefaultValue("0") @QueryParam("offset") Integer offset, @ApiParam(value = "Índice do último elemento
Formato: Inteiro, com até 10 digitos", defaultValue="49") @DefaultValue("49") @QueryParam("limit") Integer limit, @ApiParam(value = "Número do ato concessório
Tamanho: 8
Formato: 'NNNNNNNN'") @QueryParam("numero") String numero, @ApiParam(value = "Item do ato concessório
Formato: Inteiro, com até 5 digitos") @QueryParam("numero-do-item") String numeroDoItem, @ApiParam(value = "CNPJ do Beneficiário
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'") @QueryParam("cnpj-do-beneficiario") String cnpjDoBeneficiario, @ApiParam(value = "Ordenação", allowableValues="NUMERO, ITEM, CNPJ_DO_BENEFICIARIO, NUMERO_ITEM_DUE, DATA_DE_REGISTRO") @QueryParam("ordenacao") String ordenacao, @ApiParam(value = "Tipo de Ordenação", allowableValues="ASC, DESC") @QueryParam("tipoDeOrdenacao") String tipoDeOrdenacao); /** * Retorna lista de exigências fiscais de uma DUE. diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/AdditionalInformation.java b/src/main/java/br/gov/siscomex/portalunico/due/model/AdditionalInformation.java index 387078c..4e54f9e 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/AdditionalInformation.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/AdditionalInformation.java @@ -29,6 +29,10 @@ public class AdditionalInformation { @XmlEnum(String.class) public enum StatementTypeCodeEnum { + @XmlEnumValue("ACT") + @JsonProperty("ACT") + ACT(String.valueOf("ACT")), + @XmlEnumValue("AAI") @JsonProperty("AAI") AAI(String.valueOf("AAI")), diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/AtoConcessorio.java b/src/main/java/br/gov/siscomex/portalunico/due/model/AtoConcessorio.java index 79cf1a2..fea3635 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/AtoConcessorio.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/AtoConcessorio.java @@ -10,10 +10,11 @@ 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 = "AtoConcessorio", propOrder = - { "beneficiario", "item", "itemDeDUE", "numero", "quantidadeExportada", "tipo", "valorComCoberturaCambial", "valorSemCoberturaCambial" + { "beneficiario", "item", "itemDeDUE", "motivosDeNaoVinculacao", "numero", "quantidadeExportada", "situacao", "tipo", "valorComCoberturaCambial" }) @XmlRootElement(name="AtoConcessorio") @@ -34,6 +35,11 @@ public class AtoConcessorio { @Valid private ItemDeDUE itemDeDUE = null; + @XmlElement(name="motivosDeNaoVinculacao") + @ApiModelProperty(value = "") + @Valid + private List motivosDeNaoVinculacao = null; + @XmlElement(name="numero") @ApiModelProperty(value = "Número
Tamanho mínimo: 1
Tamanho máximo: 11") /** @@ -49,6 +55,11 @@ public class AtoConcessorio { **/ private BigDecimal quantidadeExportada = null; + @XmlElement(name="situacao") + @ApiModelProperty(value = "") + @Valid + private Situacao situacao = null; + @XmlElement(name="tipo") @ApiModelProperty(value = "") @Valid @@ -61,14 +72,6 @@ public class AtoConcessorio { * Valor com cobertura cambial
Tamanho: 15,2
Formato: Decimal, com até 2 casas decimais separadas por ponto. **/ private BigDecimal valorComCoberturaCambial = null; - - @XmlElement(name="valorSemCoberturaCambial") - @ApiModelProperty(value = "Valor sem cobertura cambial
Tamanho: 15,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.") - @Valid - /** - * Valor sem cobertura cambial
Tamanho: 15,2
Formato: Decimal, com até 2 casas decimais separadas por ponto. - **/ - private BigDecimal valorSemCoberturaCambial = null; /** * Get beneficiario * @return beneficiario @@ -123,6 +126,29 @@ public AtoConcessorio itemDeDUE(ItemDeDUE itemDeDUE) { return this; } + /** + * Get motivosDeNaoVinculacao + * @return motivosDeNaoVinculacao + **/ + @JsonProperty("motivosDeNaoVinculacao") + public List getMotivosDeNaoVinculacao() { + return motivosDeNaoVinculacao; + } + + public void setMotivosDeNaoVinculacao(List motivosDeNaoVinculacao) { + this.motivosDeNaoVinculacao = motivosDeNaoVinculacao; + } + + public AtoConcessorio motivosDeNaoVinculacao(List motivosDeNaoVinculacao) { + this.motivosDeNaoVinculacao = motivosDeNaoVinculacao; + return this; + } + + public AtoConcessorio addMotivosDeNaoVinculacaoItem(MotivoDeNaoVinculacao motivosDeNaoVinculacaoItem) { + this.motivosDeNaoVinculacao.add(motivosDeNaoVinculacaoItem); + return this; + } + /** * Número <br />Tamanho mínimo: 1<br />Tamanho máximo: 11 * @return numero @@ -159,6 +185,24 @@ public AtoConcessorio quantidadeExportada(BigDecimal quantidadeExportada) { return this; } + /** + * Get situacao + * @return situacao + **/ + @JsonProperty("situacao") + public Situacao getSituacao() { + return situacao; + } + + public void setSituacao(Situacao situacao) { + this.situacao = situacao; + } + + public AtoConcessorio situacao(Situacao situacao) { + this.situacao = situacao; + return this; + } + /** * Get tipo * @return tipo @@ -195,24 +239,6 @@ public AtoConcessorio valorComCoberturaCambial(BigDecimal valorComCoberturaCambi return this; } - /** - * Valor sem cobertura cambial<br />Tamanho: 15,2<br />Formato: Decimal, com até 2 casas decimais separadas por ponto. - * @return valorSemCoberturaCambial - **/ - @JsonProperty("valorSemCoberturaCambial") - public BigDecimal getValorSemCoberturaCambial() { - return valorSemCoberturaCambial; - } - - public void setValorSemCoberturaCambial(BigDecimal valorSemCoberturaCambial) { - this.valorSemCoberturaCambial = valorSemCoberturaCambial; - } - - public AtoConcessorio valorSemCoberturaCambial(BigDecimal valorSemCoberturaCambial) { - this.valorSemCoberturaCambial = valorSemCoberturaCambial; - return this; - } - @Override public String toString() { @@ -222,11 +248,12 @@ public String toString() { sb.append(" beneficiario: ").append(toIndentedString(beneficiario)).append("\n"); sb.append(" item: ").append(toIndentedString(item)).append("\n"); sb.append(" itemDeDUE: ").append(toIndentedString(itemDeDUE)).append("\n"); + sb.append(" motivosDeNaoVinculacao: ").append(toIndentedString(motivosDeNaoVinculacao)).append("\n"); sb.append(" numero: ").append(toIndentedString(numero)).append("\n"); sb.append(" quantidadeExportada: ").append(toIndentedString(quantidadeExportada)).append("\n"); + sb.append(" situacao: ").append(toIndentedString(situacao)).append("\n"); sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); sb.append(" valorComCoberturaCambial: ").append(toIndentedString(valorComCoberturaCambial)).append("\n"); - sb.append(" valorSemCoberturaCambial: ").append(toIndentedString(valorSemCoberturaCambial)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/AtributoDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/AtributoDto.java index 7a83976..eb9bf45 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/AtributoDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/AtributoDto.java @@ -10,12 +10,12 @@ import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "AtributoDto", propOrder = + @XmlType(name = "AtributoDTO", propOrder = { "codigo", "conteudo", "descricao" }) -@XmlRootElement(name="AtributoDto") -public class AtributoDto { +@XmlRootElement(name="AtributoDTO") +public class AtributoDTO { @XmlElement(name="codigo") @ApiModelProperty(value = "Código
Tamanho mínimo: 0
Tamanho máximo: 19") @@ -50,7 +50,7 @@ public void setCodigo(String codigo) { this.codigo = codigo; } - public AtributoDto codigo(String codigo) { + public AtributoDTO codigo(String codigo) { this.codigo = codigo; return this; } @@ -68,7 +68,7 @@ public void setConteudo(String conteudo) { this.conteudo = conteudo; } - public AtributoDto conteudo(String conteudo) { + public AtributoDTO conteudo(String conteudo) { this.conteudo = conteudo; return this; } @@ -86,7 +86,7 @@ public void setDescricao(String descricao) { this.descricao = descricao; } - public AtributoDto descricao(String descricao) { + public AtributoDTO descricao(String descricao) { this.descricao = descricao; return this; } @@ -95,7 +95,7 @@ public AtributoDto descricao(String descricao) { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class AtributoDto {\n"); + sb.append("class AtributoDTO {\n"); sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n"); sb.append(" conteudo: ").append(toIndentedString(conteudo)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/CNPJ.java b/src/main/java/br/gov/siscomex/portalunico/due/model/CNPJ.java index 47d4948..d6c8032 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/CNPJ.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/CNPJ.java @@ -19,11 +19,11 @@ public class CNPJ { @XmlElement(name="cnpj") @ApiModelProperty(value = "") - private Boolean cnpj = false; + private Boolean cnpj = null; @XmlElement(name="cpf") @ApiModelProperty(value = "") - private Boolean cpf = false; + private Boolean cpf = null; @XmlElement(name="nome") @ApiModelProperty(value = "Nome
Tamanho mínimo: 1
Tamanho máximo: 150") diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/CalculoTributarioDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/CalculoTributarioDto.java index d82adb0..f5de0c3 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/CalculoTributarioDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/CalculoTributarioDto.java @@ -12,12 +12,12 @@ import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "CalculoTributarioDto", propOrder = + @XmlType(name = "CalculoTributarioDTO", propOrder = { "quadroDeCalculos", "tratamentosTributarios" }) -@XmlRootElement(name="CalculoTributarioDto") -public class CalculoTributarioDto { +@XmlRootElement(name="CalculoTributarioDTO") +public class CalculoTributarioDTO { @XmlElement(name="quadroDeCalculos") @ApiModelProperty(value = "") @@ -27,7 +27,7 @@ public class CalculoTributarioDto { @XmlElement(name="tratamentosTributarios") @ApiModelProperty(value = "") @Valid - private List tratamentosTributarios = null; + private List tratamentosTributarios = null; /** * Get quadroDeCalculos * @return quadroDeCalculos @@ -41,12 +41,12 @@ public void setQuadroDeCalculos(List quadroDeCalculos) { this.quadroDeCalculos = quadroDeCalculos; } - public CalculoTributarioDto quadroDeCalculos(List quadroDeCalculos) { + public CalculoTributarioDTO quadroDeCalculos(List quadroDeCalculos) { this.quadroDeCalculos = quadroDeCalculos; return this; } - public CalculoTributarioDto addQuadroDeCalculosItem(QuadroCalculoDto quadroDeCalculosItem) { + public CalculoTributarioDTO addQuadroDeCalculosItem(QuadroCalculoDto quadroDeCalculosItem) { this.quadroDeCalculos.add(quadroDeCalculosItem); return this; } @@ -56,20 +56,20 @@ public CalculoTributarioDto addQuadroDeCalculosItem(QuadroCalculoDto quadroDeCal * @return tratamentosTributarios **/ @JsonProperty("tratamentosTributarios") - public List getTratamentosTributarios() { + public List getTratamentosTributarios() { return tratamentosTributarios; } - public void setTratamentosTributarios(List tratamentosTributarios) { + public void setTratamentosTributarios(List tratamentosTributarios) { this.tratamentosTributarios = tratamentosTributarios; } - public CalculoTributarioDto tratamentosTributarios(List tratamentosTributarios) { + public CalculoTributarioDTO tratamentosTributarios(List tratamentosTributarios) { this.tratamentosTributarios = tratamentosTributarios; return this; } - public CalculoTributarioDto addTratamentosTributariosItem(TratamentoTributarioDto tratamentosTributariosItem) { + public CalculoTributarioDTO addTratamentosTributariosItem(TratamentoTributarioDTO tratamentosTributariosItem) { this.tratamentosTributarios.add(tratamentosTributariosItem); return this; } @@ -78,7 +78,7 @@ public CalculoTributarioDto addTratamentosTributariosItem(TratamentoTributarioDt @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class CalculoTributarioDto {\n"); + sb.append("class CalculoTributarioDTO {\n"); sb.append(" quadroDeCalculos: ").append(toIndentedString(quadroDeCalculos)).append("\n"); sb.append(" tratamentosTributarios: ").append(toIndentedString(tratamentosTributarios)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/CoordenadaGeograficaDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/CoordenadaGeograficaDto.java index 53c8516..14ceb54 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/CoordenadaGeograficaDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/CoordenadaGeograficaDto.java @@ -11,12 +11,12 @@ import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "CoordenadaGeograficaDto", propOrder = + @XmlType(name = "CoordenadaGeograficaDTO", propOrder = { "coordenadaArrayLatitudeLongitude", "latitude", "longitude" }) -@XmlRootElement(name="CoordenadaGeograficaDto") -public class CoordenadaGeograficaDto { +@XmlRootElement(name="CoordenadaGeograficaDTO") +public class CoordenadaGeograficaDTO { @XmlElement(name="coordenadaArrayLatitudeLongitude") @ApiModelProperty(value = "") @@ -48,12 +48,12 @@ public void setCoordenadaArrayLatitudeLongitude(List coordenadaArrayLati this.coordenadaArrayLatitudeLongitude = coordenadaArrayLatitudeLongitude; } - public CoordenadaGeograficaDto coordenadaArrayLatitudeLongitude(List coordenadaArrayLatitudeLongitude) { + public CoordenadaGeograficaDTO coordenadaArrayLatitudeLongitude(List coordenadaArrayLatitudeLongitude) { this.coordenadaArrayLatitudeLongitude = coordenadaArrayLatitudeLongitude; return this; } - public CoordenadaGeograficaDto addCoordenadaArrayLatitudeLongitudeItem(String coordenadaArrayLatitudeLongitudeItem) { + public CoordenadaGeograficaDTO addCoordenadaArrayLatitudeLongitudeItem(String coordenadaArrayLatitudeLongitudeItem) { this.coordenadaArrayLatitudeLongitude.add(coordenadaArrayLatitudeLongitudeItem); return this; } @@ -71,7 +71,7 @@ public void setLatitude(String latitude) { this.latitude = latitude; } - public CoordenadaGeograficaDto latitude(String latitude) { + public CoordenadaGeograficaDTO latitude(String latitude) { this.latitude = latitude; return this; } @@ -89,7 +89,7 @@ public void setLongitude(String longitude) { this.longitude = longitude; } - public CoordenadaGeograficaDto longitude(String longitude) { + public CoordenadaGeograficaDTO longitude(String longitude) { this.longitude = longitude; return this; } @@ -98,7 +98,7 @@ public CoordenadaGeograficaDto longitude(String longitude) { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class CoordenadaGeograficaDto {\n"); + sb.append("class CoordenadaGeograficaDTO {\n"); sb.append(" coordenadaArrayLatitudeLongitude: ").append(toIndentedString(coordenadaArrayLatitudeLongitude)).append("\n"); sb.append(" latitude: ").append(toIndentedString(latitude)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/DUE.java b/src/main/java/br/gov/siscomex/portalunico/due/model/DUE.java index b2ff478..468f6f3 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/DUE.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/DUE.java @@ -30,7 +30,7 @@ public class DUE { @XmlElement(name="bloqueio") @ApiModelProperty(value = "") - private Boolean bloqueio = false; + private Boolean bloqueio = null; @XmlType(name="CanalEnum") @@ -88,23 +88,23 @@ public static CanalEnum fromValue(String v) { @XmlElement(name="consorciada") @ApiModelProperty(value = "") - private Boolean consorciada = false; + private Boolean consorciada = null; @XmlElement(name="dat") @ApiModelProperty(value = "") - private Boolean dat = false; + private Boolean dat = null; @XmlElement(name="dataDeCriacao") - @ApiModelProperty(example = "2019-09-20T14:13:46.966Z", value = "Data de criação
Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ'") + @ApiModelProperty(example = "2019-09-20T14:13:46.966Z", value = "Data de criação da DU-E. Esta data é atualizada apenas uma vez quando o documento DU-E é criado.
Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ'") /** - * Data de criação
Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ' + * Data de criação da DU-E. Esta data é atualizada apenas uma vez quando o documento DU-E é criado.
Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ' **/ private OffsetDateTime dataDeCriacao = null; @XmlElement(name="dataDeRegistro") - @ApiModelProperty(example = "2019-09-20T14:13:46.966Z", value = "Data de registro
Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ'") + @ApiModelProperty(example = "2019-09-20T14:13:46.966Z", value = "Data de registro da DU-E. Esta data é atualizada quando a DU-E recebe qualquer tipo de movimentação.
Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ'") /** - * Data de registro
Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ' + * Data de registro da DU-E. Esta data é atualizada quando a DU-E recebe qualquer tipo de movimentação.
Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ' **/ private OffsetDateTime dataDeRegistro = null; @@ -127,15 +127,15 @@ public static CanalEnum fromValue(String v) { @XmlElement(name="despachoEmRecintoAlfandegado") @ApiModelProperty(value = "") - private Boolean despachoEmRecintoAlfandegado = false; + private Boolean despachoEmRecintoAlfandegado = null; @XmlElement(name="despachoEmRecintoDomiciliar") @ApiModelProperty(value = "") - private Boolean despachoEmRecintoDomiciliar = false; + private Boolean despachoEmRecintoDomiciliar = null; @XmlElement(name="embarqueEmRecintoAlfandegado") @ApiModelProperty(value = "") - private Boolean embarqueEmRecintoAlfandegado = false; + private Boolean embarqueEmRecintoAlfandegado = null; @XmlElement(name="enderecoDoEstabelecimentoDoLocalDeDespacho") @ApiModelProperty(value = "Endereço do estabelecimento do local de despacho
Tamanho mínimo: 0
Tamanho máximo: 240") @@ -163,7 +163,7 @@ public static CanalEnum fromValue(String v) { @XmlElement(name="exigenciaAtiva") @ApiModelProperty(value = "") - private Boolean exigenciaAtiva = false; + private Boolean exigenciaAtiva = null; @XmlElement(name="exigenciasFiscais") @ApiModelProperty(value = "*Campo descontinuado, utilize o atributo exigenciasFiscaisEstruturadas ") @@ -227,11 +227,11 @@ public static FormaDeExportacaoEnum fromValue(String v) { @XmlElement(name="impedidoDeEmbarque") @ApiModelProperty(value = "") - private Boolean impedidoDeEmbarque = false; + private Boolean impedidoDeEmbarque = null; @XmlElement(name="inclusaoNotaFiscal") @ApiModelProperty(value = "") - private Boolean inclusaoNotaFiscal = false; + private Boolean inclusaoNotaFiscal = null; @XmlElement(name="informacoesComplementares") @ApiModelProperty(value = "Informações complementares
Tamanho mínimo: 0
Tamanho máximo: 2000") @@ -283,7 +283,7 @@ public static FormaDeExportacaoEnum fromValue(String v) { @XmlElement(name="moeda") @ApiModelProperty(value = "") @Valid - private MoedaDto moeda = null; + private MoedaDTO moeda = null; @XmlElement(name="motivoDeDispensaDaNotaFiscal") @ApiModelProperty(value = "") @@ -299,22 +299,22 @@ public static FormaDeExportacaoEnum fromValue(String v) { @XmlElement(name="oea") @ApiModelProperty(value = "") - private Boolean oea = false; + private Boolean oea = null; @XmlElement(name="paisImportador") @ApiModelProperty(value = "") @Valid - private PaisDto paisImportador = null; + private PaisDTO paisImportador = null; @XmlElement(name="recintoAduaneiroDeDespacho") @ApiModelProperty(value = "") @Valid - private RecintoAduaneiroDto recintoAduaneiroDeDespacho = null; + private RecintoAduaneiroDTO recintoAduaneiroDeDespacho = null; @XmlElement(name="recintoAduaneiroDeEmbarque") @ApiModelProperty(value = "") @Valid - private RecintoAduaneiroDto recintoAduaneiroDeEmbarque = null; + private RecintoAduaneiroDTO recintoAduaneiroDeEmbarque = null; @XmlElement(name="referenciaDoEnderecoDoLocalDeDespacho") @ApiModelProperty(value = "Referência do endereço do local de despacho
Tamanho mínimo: 0
Tamanho máximo: 240") @@ -652,7 +652,7 @@ public static TipoEnum fromValue(String v) { @XmlElement(name="tratamentoPrioritario") @ApiModelProperty(value = "") - private Boolean tratamentoPrioritario = false; + private Boolean tratamentoPrioritario = null; @XmlElement(name="unidadeLocalDeAnaliseFiscal") @ApiModelProperty(value = "") @@ -793,7 +793,7 @@ public DUE dat(Boolean dat) { } /** - * Data de criação<br />Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ' + * Data de criação da DU-E. Esta data é atualizada apenas uma vez quando o documento DU-E é criado.<br />Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ' * @return dataDeCriacao **/ @JsonProperty("dataDeCriacao") @@ -811,7 +811,7 @@ public DUE dataDeCriacao(OffsetDateTime dataDeCriacao) { } /** - * Data de registro<br />Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ' + * Data de registro da DU-E. Esta data é atualizada quando a DU-E recebe qualquer tipo de movimentação.<br />Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ' * @return dataDeRegistro **/ @JsonProperty("dataDeRegistro") @@ -1265,15 +1265,15 @@ public DUE longitudeDoLocalDeEmbarque(String longitudeDoLocalDeEmbarque) { * @return moeda **/ @JsonProperty("moeda") - public MoedaDto getMoeda() { + public MoedaDTO getMoeda() { return moeda; } - public void setMoeda(MoedaDto moeda) { + public void setMoeda(MoedaDTO moeda) { this.moeda = moeda; } - public DUE moeda(MoedaDto moeda) { + public DUE moeda(MoedaDTO moeda) { this.moeda = moeda; return this; } @@ -1337,15 +1337,15 @@ public DUE oea(Boolean oea) { * @return paisImportador **/ @JsonProperty("paisImportador") - public PaisDto getPaisImportador() { + public PaisDTO getPaisImportador() { return paisImportador; } - public void setPaisImportador(PaisDto paisImportador) { + public void setPaisImportador(PaisDTO paisImportador) { this.paisImportador = paisImportador; } - public DUE paisImportador(PaisDto paisImportador) { + public DUE paisImportador(PaisDTO paisImportador) { this.paisImportador = paisImportador; return this; } @@ -1355,15 +1355,15 @@ public DUE paisImportador(PaisDto paisImportador) { * @return recintoAduaneiroDeDespacho **/ @JsonProperty("recintoAduaneiroDeDespacho") - public RecintoAduaneiroDto getRecintoAduaneiroDeDespacho() { + public RecintoAduaneiroDTO getRecintoAduaneiroDeDespacho() { return recintoAduaneiroDeDespacho; } - public void setRecintoAduaneiroDeDespacho(RecintoAduaneiroDto recintoAduaneiroDeDespacho) { + public void setRecintoAduaneiroDeDespacho(RecintoAduaneiroDTO recintoAduaneiroDeDespacho) { this.recintoAduaneiroDeDespacho = recintoAduaneiroDeDespacho; } - public DUE recintoAduaneiroDeDespacho(RecintoAduaneiroDto recintoAduaneiroDeDespacho) { + public DUE recintoAduaneiroDeDespacho(RecintoAduaneiroDTO recintoAduaneiroDeDespacho) { this.recintoAduaneiroDeDespacho = recintoAduaneiroDeDespacho; return this; } @@ -1373,15 +1373,15 @@ public DUE recintoAduaneiroDeDespacho(RecintoAduaneiroDto recintoAduaneiroDeDesp * @return recintoAduaneiroDeEmbarque **/ @JsonProperty("recintoAduaneiroDeEmbarque") - public RecintoAduaneiroDto getRecintoAduaneiroDeEmbarque() { + public RecintoAduaneiroDTO getRecintoAduaneiroDeEmbarque() { return recintoAduaneiroDeEmbarque; } - public void setRecintoAduaneiroDeEmbarque(RecintoAduaneiroDto recintoAduaneiroDeEmbarque) { + public void setRecintoAduaneiroDeEmbarque(RecintoAduaneiroDTO recintoAduaneiroDeEmbarque) { this.recintoAduaneiroDeEmbarque = recintoAduaneiroDeEmbarque; } - public DUE recintoAduaneiroDeEmbarque(RecintoAduaneiroDto recintoAduaneiroDeEmbarque) { + public DUE recintoAduaneiroDeEmbarque(RecintoAduaneiroDTO recintoAduaneiroDeEmbarque) { this.recintoAduaneiroDeEmbarque = recintoAduaneiroDeEmbarque; return this; } diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/DeclaracaoTributaria.java b/src/main/java/br/gov/siscomex/portalunico/due/model/DeclaracaoTributaria.java index d99cf8f..fb1dae5 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/DeclaracaoTributaria.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/DeclaracaoTributaria.java @@ -31,7 +31,7 @@ public class DeclaracaoTributaria { @XmlElement(name="divergente") @ApiModelProperty(value = "") - private Boolean divergente = false; + private Boolean divergente = null; @XmlElement(name="recolhimentos") @ApiModelProperty(value = "") diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/ExportacaoTemporaria.java b/src/main/java/br/gov/siscomex/portalunico/due/model/ExportacaoTemporaria.java index 4c7dd93..7c00b4c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/ExportacaoTemporaria.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/ExportacaoTemporaria.java @@ -34,7 +34,7 @@ public class ExportacaoTemporaria { @XmlElement(name="temporaria", required = true) @ApiModelProperty(required = true, value = "") - private Boolean temporaria = false; + private Boolean temporaria = null; /** * Número do processo<br />Tamanho mínimo: 0<br />Tamanho máximo: 17 * @return numeroDoProcesso diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/FundamentoLegalDTO.java b/src/main/java/br/gov/siscomex/portalunico/due/model/FundamentoLegalDTO.java new file mode 100644 index 0000000..5a43347 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/FundamentoLegalDTO.java @@ -0,0 +1,63 @@ +package br.gov.siscomex.portalunico.due.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 = "FundamentoLegalDTO", propOrder = + { "codigo" +}) + +@XmlRootElement(name="FundamentoLegalDTO") +public class FundamentoLegalDTO { + + @XmlElement(name="codigo") + @ApiModelProperty(value = "") + private Long codigo = null; + /** + * Get codigo + * @return codigo + **/ + @JsonProperty("codigo") + public Long getCodigo() { + return codigo; + } + + public void setCodigo(Long codigo) { + this.codigo = codigo; + } + + public FundamentoLegalDTO codigo(Long codigo) { + this.codigo = codigo; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FundamentoLegalDTO {\n"); + + sb.append(" codigo: ").append(toIndentedString(codigo)).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/due/model/ItemDUERemoteDTO.java b/src/main/java/br/gov/siscomex/portalunico/due/model/ItemDUERemoteDTO.java index b485a10..125c3c2 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/ItemDUERemoteDTO.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/ItemDUERemoteDTO.java @@ -31,12 +31,12 @@ public class ItemDUERemoteDTO { @XmlElement(name="atributos") @ApiModelProperty(value = "") @Valid - private List atributos = null; + private List atributos = null; @XmlElement(name="calculoTributario") @ApiModelProperty(value = "") @Valid - private CalculoTributarioDto calculoTributario = null; + private CalculoTributarioDTO calculoTributario = null; @XmlElement(name="codigoCondicaoVenda") @ApiModelProperty(value = "") @@ -114,7 +114,7 @@ public class ItemDUERemoteDTO { @XmlElement(name="listaPaisDestino") @ApiModelProperty(value = "") @Valid - private List listaPaisDestino = null; + private List listaPaisDestino = null; @XmlElement(name="motivoDoTratamentoPrioritario") @ApiModelProperty(value = "Motivo do Tratamento prioritário
Domínio:
1 = Carga viva
2 = Carga perecível
3 = Carga perigosa
4 = Urna funerária
5 = Órgãos humano
6 = Partes/peças de aeronave") @@ -126,7 +126,7 @@ public class ItemDUERemoteDTO { @XmlElement(name="ncm") @ApiModelProperty(value = "") @Valid - private NcmDto ncm = null; + private NCMDTO ncm = null; @XmlElement(name="nomeImportador") @ApiModelProperty(value = "Nome do importador
Tamanho mínimo: 0
Tamanho máximo: 60") @@ -253,20 +253,20 @@ public ItemDUERemoteDTO atributoDestaqueNcmBD(String atributoDestaqueNcmBD) { * @return atributos **/ @JsonProperty("atributos") - public List getAtributos() { + public List getAtributos() { return atributos; } - public void setAtributos(List atributos) { + public void setAtributos(List atributos) { this.atributos = atributos; } - public ItemDUERemoteDTO atributos(List atributos) { + public ItemDUERemoteDTO atributos(List atributos) { this.atributos = atributos; return this; } - public ItemDUERemoteDTO addAtributosItem(AtributoDto atributosItem) { + public ItemDUERemoteDTO addAtributosItem(AtributoDTO atributosItem) { this.atributos.add(atributosItem); return this; } @@ -276,15 +276,15 @@ public ItemDUERemoteDTO addAtributosItem(AtributoDto atributosItem) { * @return calculoTributario **/ @JsonProperty("calculoTributario") - public CalculoTributarioDto getCalculoTributario() { + public CalculoTributarioDTO getCalculoTributario() { return calculoTributario; } - public void setCalculoTributario(CalculoTributarioDto calculoTributario) { + public void setCalculoTributario(CalculoTributarioDTO calculoTributario) { this.calculoTributario = calculoTributario; } - public ItemDUERemoteDTO calculoTributario(CalculoTributarioDto calculoTributario) { + public ItemDUERemoteDTO calculoTributario(CalculoTributarioDTO calculoTributario) { this.calculoTributario = calculoTributario; return this; } @@ -553,20 +553,20 @@ public ItemDUERemoteDTO addListaDeEnquadramentosItem(Enquadramento listaDeEnquad * @return listaPaisDestino **/ @JsonProperty("listaPaisDestino") - public List getListaPaisDestino() { + public List getListaPaisDestino() { return listaPaisDestino; } - public void setListaPaisDestino(List listaPaisDestino) { + public void setListaPaisDestino(List listaPaisDestino) { this.listaPaisDestino = listaPaisDestino; } - public ItemDUERemoteDTO listaPaisDestino(List listaPaisDestino) { + public ItemDUERemoteDTO listaPaisDestino(List listaPaisDestino) { this.listaPaisDestino = listaPaisDestino; return this; } - public ItemDUERemoteDTO addListaPaisDestinoItem(PaisDto listaPaisDestinoItem) { + public ItemDUERemoteDTO addListaPaisDestinoItem(PaisDTO listaPaisDestinoItem) { this.listaPaisDestino.add(listaPaisDestinoItem); return this; } @@ -594,15 +594,15 @@ public ItemDUERemoteDTO motivoDoTratamentoPrioritario(String motivoDoTratamentoP * @return ncm **/ @JsonProperty("ncm") - public NcmDto getNcm() { + public NCMDTO getNcm() { return ncm; } - public void setNcm(NcmDto ncm) { + public void setNcm(NCMDTO ncm) { this.ncm = ncm; } - public ItemDUERemoteDTO ncm(NcmDto ncm) { + public ItemDUERemoteDTO ncm(NCMDTO ncm) { this.ncm = ncm; return this; } diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/ItemDaNotaFiscalRemoteDTO.java b/src/main/java/br/gov/siscomex/portalunico/due/model/ItemDaNotaFiscalRemoteDTO.java index 6561d46..ae583a4 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/ItemDaNotaFiscalRemoteDTO.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/ItemDaNotaFiscalRemoteDTO.java @@ -21,7 +21,7 @@ public class ItemDaNotaFiscalRemoteDTO { @XmlElement(name="apresentadaParaDespacho") @ApiModelProperty(value = "") - private Boolean apresentadaParaDespacho = false; + private Boolean apresentadaParaDespacho = null; @XmlElement(name="cfop") @ApiModelProperty(value = "CFOP
Formato: Inteiro, com até 3 digitos") @@ -40,7 +40,7 @@ public class ItemDaNotaFiscalRemoteDTO { @XmlElement(name="ncm") @ApiModelProperty(value = "") @Valid - private NcmDto ncm = null; + private NCMDTO ncm = null; @XmlElement(name="notaFiscal") @ApiModelProperty(value = "") @@ -160,15 +160,15 @@ public ItemDaNotaFiscalRemoteDTO codigoDoProduto(String codigoDoProduto) { * @return ncm **/ @JsonProperty("ncm") - public NcmDto getNcm() { + public NCMDTO getNcm() { return ncm; } - public void setNcm(NcmDto ncm) { + public void setNcm(NCMDTO ncm) { this.ncm = ncm; } - public ItemDaNotaFiscalRemoteDTO ncm(NcmDto ncm) { + public ItemDaNotaFiscalRemoteDTO ncm(NCMDTO ncm) { this.ncm = ncm; return this; } diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/MemoriaDeCalculoDTO.java b/src/main/java/br/gov/siscomex/portalunico/due/model/MemoriaDeCalculoDTO.java new file mode 100644 index 0000000..df6b1da --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/MemoriaDeCalculoDTO.java @@ -0,0 +1,301 @@ +package br.gov.siscomex.portalunico.due.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.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 = "MemoriaDeCalculoDTO", propOrder = + { "percentualDeReducaoDaAliquota", "percentualDeReducaoDaBaseCalculado", "tipoDeAliquota", "valorBaseDeCalculo", "valorBaseDeCalculoEspecifico", "valorBaseDeCalculoReduzido", "valorDaAliquota", "valorDaAliquotaEspecifica", "valorDaAliquotaReduzida" +}) + +@XmlRootElement(name="MemoriaDeCalculoDTO") +public class MemoriaDeCalculoDTO { + + @XmlElement(name="percentualDeReducaoDaAliquota") + @ApiModelProperty(value = "") + @Valid + private BigDecimal percentualDeReducaoDaAliquota = null; + + @XmlElement(name="percentualDeReducaoDaBaseCalculado") + @ApiModelProperty(value = "") + @Valid + private BigDecimal percentualDeReducaoDaBaseCalculado = null; + + +@XmlType(name="TipoDeAliquotaEnum") +@XmlEnum(String.class) +public enum TipoDeAliquotaEnum { + + @XmlEnumValue("AD_VALOREM") + @JsonProperty("AD_VALOREM") + AD_VALOREM(String.valueOf("AD_VALOREM")), + + @XmlEnumValue("ESPECIFICA") + @JsonProperty("ESPECIFICA") + ESPECIFICA(String.valueOf("ESPECIFICA")); + + + private String value; + + TipoDeAliquotaEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoDeAliquotaEnum fromValue(String v) { + for (TipoDeAliquotaEnum b : TipoDeAliquotaEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoDeAliquotaEnum"); + } +} + + @XmlElement(name="tipoDeAliquota") + @ApiModelProperty(value = "") + private TipoDeAliquotaEnum tipoDeAliquota = null; + + @XmlElement(name="valorBaseDeCalculo") + @ApiModelProperty(value = "") + @Valid + private BigDecimal valorBaseDeCalculo = null; + + @XmlElement(name="valorBaseDeCalculoEspecifico") + @ApiModelProperty(value = "") + @Valid + private BigDecimal valorBaseDeCalculoEspecifico = null; + + @XmlElement(name="valorBaseDeCalculoReduzido") + @ApiModelProperty(value = "") + @Valid + private BigDecimal valorBaseDeCalculoReduzido = null; + + @XmlElement(name="valorDaAliquota") + @ApiModelProperty(value = "") + @Valid + private BigDecimal valorDaAliquota = null; + + @XmlElement(name="valorDaAliquotaEspecifica") + @ApiModelProperty(value = "") + @Valid + private BigDecimal valorDaAliquotaEspecifica = null; + + @XmlElement(name="valorDaAliquotaReduzida") + @ApiModelProperty(value = "") + @Valid + private BigDecimal valorDaAliquotaReduzida = null; + /** + * Get percentualDeReducaoDaAliquota + * @return percentualDeReducaoDaAliquota + **/ + @JsonProperty("percentualDeReducaoDaAliquota") + public BigDecimal getPercentualDeReducaoDaAliquota() { + return percentualDeReducaoDaAliquota; + } + + public void setPercentualDeReducaoDaAliquota(BigDecimal percentualDeReducaoDaAliquota) { + this.percentualDeReducaoDaAliquota = percentualDeReducaoDaAliquota; + } + + public MemoriaDeCalculoDTO percentualDeReducaoDaAliquota(BigDecimal percentualDeReducaoDaAliquota) { + this.percentualDeReducaoDaAliquota = percentualDeReducaoDaAliquota; + return this; + } + + /** + * Get percentualDeReducaoDaBaseCalculado + * @return percentualDeReducaoDaBaseCalculado + **/ + @JsonProperty("percentualDeReducaoDaBaseCalculado") + public BigDecimal getPercentualDeReducaoDaBaseCalculado() { + return percentualDeReducaoDaBaseCalculado; + } + + public void setPercentualDeReducaoDaBaseCalculado(BigDecimal percentualDeReducaoDaBaseCalculado) { + this.percentualDeReducaoDaBaseCalculado = percentualDeReducaoDaBaseCalculado; + } + + public MemoriaDeCalculoDTO percentualDeReducaoDaBaseCalculado(BigDecimal percentualDeReducaoDaBaseCalculado) { + this.percentualDeReducaoDaBaseCalculado = percentualDeReducaoDaBaseCalculado; + return this; + } + + /** + * Get tipoDeAliquota + * @return tipoDeAliquota + **/ + @JsonProperty("tipoDeAliquota") + public String getTipoDeAliquota() { + if (tipoDeAliquota == null) { + return null; + } + return tipoDeAliquota.value(); + } + + public void setTipoDeAliquota(TipoDeAliquotaEnum tipoDeAliquota) { + this.tipoDeAliquota = tipoDeAliquota; + } + + public MemoriaDeCalculoDTO tipoDeAliquota(TipoDeAliquotaEnum tipoDeAliquota) { + this.tipoDeAliquota = tipoDeAliquota; + return this; + } + + /** + * Get valorBaseDeCalculo + * @return valorBaseDeCalculo + **/ + @JsonProperty("valorBaseDeCalculo") + public BigDecimal getValorBaseDeCalculo() { + return valorBaseDeCalculo; + } + + public void setValorBaseDeCalculo(BigDecimal valorBaseDeCalculo) { + this.valorBaseDeCalculo = valorBaseDeCalculo; + } + + public MemoriaDeCalculoDTO valorBaseDeCalculo(BigDecimal valorBaseDeCalculo) { + this.valorBaseDeCalculo = valorBaseDeCalculo; + return this; + } + + /** + * Get valorBaseDeCalculoEspecifico + * @return valorBaseDeCalculoEspecifico + **/ + @JsonProperty("valorBaseDeCalculoEspecifico") + public BigDecimal getValorBaseDeCalculoEspecifico() { + return valorBaseDeCalculoEspecifico; + } + + public void setValorBaseDeCalculoEspecifico(BigDecimal valorBaseDeCalculoEspecifico) { + this.valorBaseDeCalculoEspecifico = valorBaseDeCalculoEspecifico; + } + + public MemoriaDeCalculoDTO valorBaseDeCalculoEspecifico(BigDecimal valorBaseDeCalculoEspecifico) { + this.valorBaseDeCalculoEspecifico = valorBaseDeCalculoEspecifico; + return this; + } + + /** + * Get valorBaseDeCalculoReduzido + * @return valorBaseDeCalculoReduzido + **/ + @JsonProperty("valorBaseDeCalculoReduzido") + public BigDecimal getValorBaseDeCalculoReduzido() { + return valorBaseDeCalculoReduzido; + } + + public void setValorBaseDeCalculoReduzido(BigDecimal valorBaseDeCalculoReduzido) { + this.valorBaseDeCalculoReduzido = valorBaseDeCalculoReduzido; + } + + public MemoriaDeCalculoDTO valorBaseDeCalculoReduzido(BigDecimal valorBaseDeCalculoReduzido) { + this.valorBaseDeCalculoReduzido = valorBaseDeCalculoReduzido; + return this; + } + + /** + * Get valorDaAliquota + * @return valorDaAliquota + **/ + @JsonProperty("valorDaAliquota") + public BigDecimal getValorDaAliquota() { + return valorDaAliquota; + } + + public void setValorDaAliquota(BigDecimal valorDaAliquota) { + this.valorDaAliquota = valorDaAliquota; + } + + public MemoriaDeCalculoDTO valorDaAliquota(BigDecimal valorDaAliquota) { + this.valorDaAliquota = valorDaAliquota; + return this; + } + + /** + * Get valorDaAliquotaEspecifica + * @return valorDaAliquotaEspecifica + **/ + @JsonProperty("valorDaAliquotaEspecifica") + public BigDecimal getValorDaAliquotaEspecifica() { + return valorDaAliquotaEspecifica; + } + + public void setValorDaAliquotaEspecifica(BigDecimal valorDaAliquotaEspecifica) { + this.valorDaAliquotaEspecifica = valorDaAliquotaEspecifica; + } + + public MemoriaDeCalculoDTO valorDaAliquotaEspecifica(BigDecimal valorDaAliquotaEspecifica) { + this.valorDaAliquotaEspecifica = valorDaAliquotaEspecifica; + return this; + } + + /** + * Get valorDaAliquotaReduzida + * @return valorDaAliquotaReduzida + **/ + @JsonProperty("valorDaAliquotaReduzida") + public BigDecimal getValorDaAliquotaReduzida() { + return valorDaAliquotaReduzida; + } + + public void setValorDaAliquotaReduzida(BigDecimal valorDaAliquotaReduzida) { + this.valorDaAliquotaReduzida = valorDaAliquotaReduzida; + } + + public MemoriaDeCalculoDTO valorDaAliquotaReduzida(BigDecimal valorDaAliquotaReduzida) { + this.valorDaAliquotaReduzida = valorDaAliquotaReduzida; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MemoriaDeCalculoDTO {\n"); + + sb.append(" percentualDeReducaoDaAliquota: ").append(toIndentedString(percentualDeReducaoDaAliquota)).append("\n"); + sb.append(" percentualDeReducaoDaBaseCalculado: ").append(toIndentedString(percentualDeReducaoDaBaseCalculado)).append("\n"); + sb.append(" tipoDeAliquota: ").append(toIndentedString(tipoDeAliquota)).append("\n"); + sb.append(" valorBaseDeCalculo: ").append(toIndentedString(valorBaseDeCalculo)).append("\n"); + sb.append(" valorBaseDeCalculoEspecifico: ").append(toIndentedString(valorBaseDeCalculoEspecifico)).append("\n"); + sb.append(" valorBaseDeCalculoReduzido: ").append(toIndentedString(valorBaseDeCalculoReduzido)).append("\n"); + sb.append(" valorDaAliquota: ").append(toIndentedString(valorDaAliquota)).append("\n"); + sb.append(" valorDaAliquotaEspecifica: ").append(toIndentedString(valorDaAliquotaEspecifica)).append("\n"); + sb.append(" valorDaAliquotaReduzida: ").append(toIndentedString(valorDaAliquotaReduzida)).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/due/model/MoedaDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/MoedaDto.java index 77c7c87..b8b48eb 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/MoedaDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/MoedaDto.java @@ -10,12 +10,12 @@ import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "MoedaDto", propOrder = + @XmlType(name = "MoedaDTO", propOrder = { "codigo", "descricao" }) -@XmlRootElement(name="MoedaDto") -public class MoedaDto { +@XmlRootElement(name="MoedaDTO") +public class MoedaDTO { @XmlElement(name="codigo") @ApiModelProperty(value = "Código
Formato: Inteiro, com até 3 digitos") @@ -43,7 +43,7 @@ public void setCodigo(Integer codigo) { this.codigo = codigo; } - public MoedaDto codigo(Integer codigo) { + public MoedaDTO codigo(Integer codigo) { this.codigo = codigo; return this; } @@ -61,7 +61,7 @@ public void setDescricao(String descricao) { this.descricao = descricao; } - public MoedaDto descricao(String descricao) { + public MoedaDTO descricao(String descricao) { this.descricao = descricao; return this; } @@ -70,7 +70,7 @@ public MoedaDto descricao(String descricao) { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class MoedaDto {\n"); + sb.append("class MoedaDTO {\n"); sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n"); sb.append(" descricao: ").append(toIndentedString(descricao)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/MotivoDeNaoVinculacao.java b/src/main/java/br/gov/siscomex/portalunico/due/model/MotivoDeNaoVinculacao.java new file mode 100644 index 0000000..df75e6a --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/MotivoDeNaoVinculacao.java @@ -0,0 +1,93 @@ +package br.gov.siscomex.portalunico.due.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; +import java.time.OffsetDateTime; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "MotivoDeNaoVinculacao", propOrder = + { "dataDeRecebimentoDaAnaliseDoDrawback", "descricao" +}) + +@XmlRootElement(name="MotivoDeNaoVinculacao") +public class MotivoDeNaoVinculacao { + + @XmlElement(name="dataDeRecebimentoDaAnaliseDoDrawback") + @ApiModelProperty(example = "2019-09-20T14:13:46.966Z", value = "Data de criação
Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ'") + /** + * Data de criação
Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ' + **/ + private OffsetDateTime dataDeRecebimentoDaAnaliseDoDrawback = null; + + @XmlElement(name="descricao") + @ApiModelProperty(value = "Descrição complementar
Tamanho mínimo: 0
Tamanho máximo: 100") + /** + * Descrição complementar
Tamanho mínimo: 0
Tamanho máximo: 100 + **/ + private String descricao = null; + /** + * Data de criação<br />Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ' + * @return dataDeRecebimentoDaAnaliseDoDrawback + **/ + @JsonProperty("dataDeRecebimentoDaAnaliseDoDrawback") + public OffsetDateTime getDataDeRecebimentoDaAnaliseDoDrawback() { + return dataDeRecebimentoDaAnaliseDoDrawback; + } + + public void setDataDeRecebimentoDaAnaliseDoDrawback(OffsetDateTime dataDeRecebimentoDaAnaliseDoDrawback) { + this.dataDeRecebimentoDaAnaliseDoDrawback = dataDeRecebimentoDaAnaliseDoDrawback; + } + + public MotivoDeNaoVinculacao dataDeRecebimentoDaAnaliseDoDrawback(OffsetDateTime dataDeRecebimentoDaAnaliseDoDrawback) { + this.dataDeRecebimentoDaAnaliseDoDrawback = dataDeRecebimentoDaAnaliseDoDrawback; + return this; + } + + /** + * Descrição complementar<br />Tamanho mínimo: 0<br />Tamanho máximo: 100 + * @return descricao + **/ + @JsonProperty("descricao") + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public MotivoDeNaoVinculacao descricao(String descricao) { + this.descricao = descricao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MotivoDeNaoVinculacao {\n"); + + sb.append(" dataDeRecebimentoDaAnaliseDoDrawback: ").append(toIndentedString(dataDeRecebimentoDaAnaliseDoDrawback)).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/due/model/NcmDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/NcmDto.java index 98dd41d..e608856 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/NcmDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/NcmDto.java @@ -10,12 +10,12 @@ import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "NcmDto", propOrder = + @XmlType(name = "NCMDTO", propOrder = { "codigo", "descricao", "unidadeMedidaEstatistica" }) -@XmlRootElement(name="NcmDto") -public class NcmDto { +@XmlRootElement(name="NCMDTO") +public class NCMDTO { @XmlElement(name="codigo") @ApiModelProperty(example = "01013000", value = "Código
Tamanho: 8
Formato: 'NNNNNNNN'") @@ -50,7 +50,7 @@ public void setCodigo(String codigo) { this.codigo = codigo; } - public NcmDto codigo(String codigo) { + public NCMDTO codigo(String codigo) { this.codigo = codigo; return this; } @@ -68,7 +68,7 @@ public void setDescricao(String descricao) { this.descricao = descricao; } - public NcmDto descricao(String descricao) { + public NCMDTO descricao(String descricao) { this.descricao = descricao; return this; } @@ -86,7 +86,7 @@ public void setUnidadeMedidaEstatistica(String unidadeMedidaEstatistica) { this.unidadeMedidaEstatistica = unidadeMedidaEstatistica; } - public NcmDto unidadeMedidaEstatistica(String unidadeMedidaEstatistica) { + public NCMDTO unidadeMedidaEstatistica(String unidadeMedidaEstatistica) { this.unidadeMedidaEstatistica = unidadeMedidaEstatistica; return this; } @@ -95,7 +95,7 @@ public NcmDto unidadeMedidaEstatistica(String unidadeMedidaEstatistica) { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class NcmDto {\n"); + sb.append("class NCMDTO {\n"); sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n"); sb.append(" descricao: ").append(toIndentedString(descricao)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/NotaFiscalRemoteDTO.java b/src/main/java/br/gov/siscomex/portalunico/due/model/NotaFiscalRemoteDTO.java index 447d308..feb8a23 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/NotaFiscalRemoteDTO.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/NotaFiscalRemoteDTO.java @@ -54,7 +54,7 @@ public class NotaFiscalRemoteDTO { @XmlElement(name="notaFicalEletronica") @ApiModelProperty(value = "") - private Boolean notaFicalEletronica = false; + private Boolean notaFicalEletronica = null; @XmlElement(name="numeroDoDocumento") @ApiModelProperty(value = "Número do documento
Formato: Inteiro, com até 9 digitos") diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/NumeroIdentificacaoDTO.java b/src/main/java/br/gov/siscomex/portalunico/due/model/NumeroIdentificacaoDTO.java index 15719fe..f1598ba 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/NumeroIdentificacaoDTO.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/NumeroIdentificacaoDTO.java @@ -19,11 +19,11 @@ public class NumeroIdentificacaoDTO { @XmlElement(name="cnpj") @ApiModelProperty(value = "") - private Boolean cnpj = false; + private Boolean cnpj = null; @XmlElement(name="cpf") @ApiModelProperty(value = "") - private Boolean cpf = false; + private Boolean cpf = null; @XmlElement(name="nome") @ApiModelProperty(value = "Nome
Tamanho mínimo: 1
Tamanho máximo: 100") diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/PaisDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/PaisDto.java index ec079d0..1fee3b4 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/PaisDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/PaisDto.java @@ -10,12 +10,12 @@ import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "PaisDto", propOrder = + @XmlType(name = "PaisDTO", propOrder = { "codigo", "nome", "nomeResumido" }) -@XmlRootElement(name="PaisDto") -public class PaisDto { +@XmlRootElement(name="PaisDTO") +public class PaisDTO { @XmlElement(name="codigo") @ApiModelProperty(value = "Código
Formato: Inteiro, com até 3 digitos") @@ -50,7 +50,7 @@ public void setCodigo(Long codigo) { this.codigo = codigo; } - public PaisDto codigo(Long codigo) { + public PaisDTO codigo(Long codigo) { this.codigo = codigo; return this; } @@ -68,7 +68,7 @@ public void setNome(String nome) { this.nome = nome; } - public PaisDto nome(String nome) { + public PaisDTO nome(String nome) { this.nome = nome; return this; } @@ -86,7 +86,7 @@ public void setNomeResumido(String nomeResumido) { this.nomeResumido = nomeResumido; } - public PaisDto nomeResumido(String nomeResumido) { + public PaisDTO nomeResumido(String nomeResumido) { this.nomeResumido = nomeResumido; return this; } @@ -95,7 +95,7 @@ public PaisDto nomeResumido(String nomeResumido) { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class PaisDto {\n"); + sb.append("class PaisDTO {\n"); sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n"); sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/PessoaDTO.java b/src/main/java/br/gov/siscomex/portalunico/due/model/PessoaDTO.java index 05bea87..3bc5f83 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/PessoaDTO.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/PessoaDTO.java @@ -22,12 +22,12 @@ public class PessoaDTO { @XmlElement(name="estrangeiro") @ApiModelProperty(value = "") - private Boolean estrangeiro = false; + private Boolean estrangeiro = null; @XmlElement(name="nacionalidade") @ApiModelProperty(value = "") @Valid - private PaisDto nacionalidade = null; + private PaisDTO nacionalidade = null; @XmlElement(name="nome") @ApiModelProperty(value = "Nome
Tamanho mínimo: 1
Tamanho máximo: 150") @@ -116,15 +116,15 @@ public PessoaDTO estrangeiro(Boolean estrangeiro) { * @return nacionalidade **/ @JsonProperty("nacionalidade") - public PaisDto getNacionalidade() { + public PaisDTO getNacionalidade() { return nacionalidade; } - public void setNacionalidade(PaisDto nacionalidade) { + public void setNacionalidade(PaisDTO nacionalidade) { this.nacionalidade = nacionalidade; } - public PessoaDTO nacionalidade(PaisDto nacionalidade) { + public PessoaDTO nacionalidade(PaisDTO nacionalidade) { this.nacionalidade = nacionalidade; return this; } diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/QuadroCalculoDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/QuadroCalculoDto.java index a9f1367..7f68b6f 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/QuadroCalculoDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/QuadroCalculoDto.java @@ -35,16 +35,16 @@ public class QuadroCalculoDto { @XmlElement(name="tipo") @ApiModelProperty(value = "") @Valid - private TipoTributoDto tipo = null; + private TipoTributoDTO tipo = null; @XmlElement(name="tributado") @ApiModelProperty(value = "") - private Boolean tributado = false; + private Boolean tributado = null; @XmlElement(name="tributo") @ApiModelProperty(value = "") @Valid - private TributoDto tributo = null; + private TributoDTO tributo = null; @XmlElement(name="valorARecolher") @ApiModelProperty(value = "Valor a recolher
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.") @@ -134,15 +134,15 @@ public QuadroCalculoDto memoriaDeCalculo(MemoriaCalculoDto memoriaDeCalculo) { * @return tipo **/ @JsonProperty("tipo") - public TipoTributoDto getTipo() { + public TipoTributoDTO getTipo() { return tipo; } - public void setTipo(TipoTributoDto tipo) { + public void setTipo(TipoTributoDTO tipo) { this.tipo = tipo; } - public QuadroCalculoDto tipo(TipoTributoDto tipo) { + public QuadroCalculoDto tipo(TipoTributoDTO tipo) { this.tipo = tipo; return this; } @@ -170,15 +170,15 @@ public QuadroCalculoDto tributado(Boolean tributado) { * @return tributo **/ @JsonProperty("tributo") - public TributoDto getTributo() { + public TributoDTO getTributo() { return tributo; } - public void setTributo(TributoDto tributo) { + public void setTributo(TributoDTO tributo) { this.tributo = tributo; } - public QuadroCalculoDto tributo(TributoDto tributo) { + public QuadroCalculoDto tributo(TributoDTO tributo) { this.tributo = tributo; return this; } diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/QuadroDeCalculoDTO.java b/src/main/java/br/gov/siscomex/portalunico/due/model/QuadroDeCalculoDTO.java new file mode 100644 index 0000000..ab1263f --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/QuadroDeCalculoDTO.java @@ -0,0 +1,281 @@ +package br.gov.siscomex.portalunico.due.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 = "QuadroDeCalculoDTO", propOrder = + { "memoriaDeCalculo", "tipo", "tributado", "tributo", "valorARecolher", "valorAReduzir", "valorCalculado", "valorDevido", "valorNormal", "valorSuspenso" +}) + +@XmlRootElement(name="QuadroDeCalculoDTO") +public class QuadroDeCalculoDTO { + + @XmlElement(name="memoriaDeCalculo") + @ApiModelProperty(value = "") + @Valid + private MemoriaDeCalculoDTO memoriaDeCalculo = null; + + @XmlElement(name="tipo") + @ApiModelProperty(value = "") + @Valid + private TipoTributoDTO tipo = null; + + @XmlElement(name="tributado") + @ApiModelProperty(value = "") + private Boolean tributado = null; + + @XmlElement(name="tributo") + @ApiModelProperty(value = "") + @Valid + private TributoDTO tributo = null; + + @XmlElement(name="valorARecolher") + @ApiModelProperty(value = "") + @Valid + private BigDecimal valorARecolher = null; + + @XmlElement(name="valorAReduzir") + @ApiModelProperty(value = "") + @Valid + private BigDecimal valorAReduzir = null; + + @XmlElement(name="valorCalculado") + @ApiModelProperty(value = "") + @Valid + private BigDecimal valorCalculado = null; + + @XmlElement(name="valorDevido") + @ApiModelProperty(value = "") + @Valid + private BigDecimal valorDevido = null; + + @XmlElement(name="valorNormal") + @ApiModelProperty(value = "") + @Valid + private BigDecimal valorNormal = null; + + @XmlElement(name="valorSuspenso") + @ApiModelProperty(value = "") + @Valid + private BigDecimal valorSuspenso = null; + /** + * Get memoriaDeCalculo + * @return memoriaDeCalculo + **/ + @JsonProperty("memoriaDeCalculo") + public MemoriaDeCalculoDTO getMemoriaDeCalculo() { + return memoriaDeCalculo; + } + + public void setMemoriaDeCalculo(MemoriaDeCalculoDTO memoriaDeCalculo) { + this.memoriaDeCalculo = memoriaDeCalculo; + } + + public QuadroDeCalculoDTO memoriaDeCalculo(MemoriaDeCalculoDTO memoriaDeCalculo) { + this.memoriaDeCalculo = memoriaDeCalculo; + return this; + } + + /** + * Get tipo + * @return tipo + **/ + @JsonProperty("tipo") + public TipoTributoDTO getTipo() { + return tipo; + } + + public void setTipo(TipoTributoDTO tipo) { + this.tipo = tipo; + } + + public QuadroDeCalculoDTO tipo(TipoTributoDTO tipo) { + this.tipo = tipo; + return this; + } + + /** + * Get tributado + * @return tributado + **/ + @JsonProperty("tributado") + public Boolean isTributado() { + return tributado; + } + + public void setTributado(Boolean tributado) { + this.tributado = tributado; + } + + public QuadroDeCalculoDTO tributado(Boolean tributado) { + this.tributado = tributado; + return this; + } + + /** + * Get tributo + * @return tributo + **/ + @JsonProperty("tributo") + public TributoDTO getTributo() { + return tributo; + } + + public void setTributo(TributoDTO tributo) { + this.tributo = tributo; + } + + public QuadroDeCalculoDTO tributo(TributoDTO tributo) { + this.tributo = tributo; + return this; + } + + /** + * Get valorARecolher + * @return valorARecolher + **/ + @JsonProperty("valorARecolher") + public BigDecimal getValorARecolher() { + return valorARecolher; + } + + public void setValorARecolher(BigDecimal valorARecolher) { + this.valorARecolher = valorARecolher; + } + + public QuadroDeCalculoDTO valorARecolher(BigDecimal valorARecolher) { + this.valorARecolher = valorARecolher; + return this; + } + + /** + * Get valorAReduzir + * @return valorAReduzir + **/ + @JsonProperty("valorAReduzir") + public BigDecimal getValorAReduzir() { + return valorAReduzir; + } + + public void setValorAReduzir(BigDecimal valorAReduzir) { + this.valorAReduzir = valorAReduzir; + } + + public QuadroDeCalculoDTO valorAReduzir(BigDecimal valorAReduzir) { + this.valorAReduzir = valorAReduzir; + return this; + } + + /** + * Get valorCalculado + * @return valorCalculado + **/ + @JsonProperty("valorCalculado") + public BigDecimal getValorCalculado() { + return valorCalculado; + } + + public void setValorCalculado(BigDecimal valorCalculado) { + this.valorCalculado = valorCalculado; + } + + public QuadroDeCalculoDTO valorCalculado(BigDecimal valorCalculado) { + this.valorCalculado = valorCalculado; + return this; + } + + /** + * Get valorDevido + * @return valorDevido + **/ + @JsonProperty("valorDevido") + public BigDecimal getValorDevido() { + return valorDevido; + } + + public void setValorDevido(BigDecimal valorDevido) { + this.valorDevido = valorDevido; + } + + public QuadroDeCalculoDTO valorDevido(BigDecimal valorDevido) { + this.valorDevido = valorDevido; + return this; + } + + /** + * Get valorNormal + * @return valorNormal + **/ + @JsonProperty("valorNormal") + public BigDecimal getValorNormal() { + return valorNormal; + } + + public void setValorNormal(BigDecimal valorNormal) { + this.valorNormal = valorNormal; + } + + public QuadroDeCalculoDTO valorNormal(BigDecimal valorNormal) { + this.valorNormal = valorNormal; + return this; + } + + /** + * Get valorSuspenso + * @return valorSuspenso + **/ + @JsonProperty("valorSuspenso") + public BigDecimal getValorSuspenso() { + return valorSuspenso; + } + + public void setValorSuspenso(BigDecimal valorSuspenso) { + this.valorSuspenso = valorSuspenso; + } + + public QuadroDeCalculoDTO valorSuspenso(BigDecimal valorSuspenso) { + this.valorSuspenso = valorSuspenso; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class QuadroDeCalculoDTO {\n"); + + sb.append(" memoriaDeCalculo: ").append(toIndentedString(memoriaDeCalculo)).append("\n"); + sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); + sb.append(" tributado: ").append(toIndentedString(tributado)).append("\n"); + sb.append(" tributo: ").append(toIndentedString(tributo)).append("\n"); + sb.append(" valorARecolher: ").append(toIndentedString(valorARecolher)).append("\n"); + sb.append(" valorAReduzir: ").append(toIndentedString(valorAReduzir)).append("\n"); + sb.append(" valorCalculado: ").append(toIndentedString(valorCalculado)).append("\n"); + sb.append(" valorDevido: ").append(toIndentedString(valorDevido)).append("\n"); + sb.append(" valorNormal: ").append(toIndentedString(valorNormal)).append("\n"); + sb.append(" valorSuspenso: ").append(toIndentedString(valorSuspenso)).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/due/model/RecintoAduaneiroDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/RecintoAduaneiroDto.java index 310e505..68e7b59 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/RecintoAduaneiroDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/RecintoAduaneiroDto.java @@ -11,12 +11,12 @@ import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "RecintoAduaneiroDto", propOrder = + @XmlType(name = "RecintoAduaneiroDTO", propOrder = { "codigo", "cooordenada", "descricao", "unidadeLocalRFB", "zona" }) -@XmlRootElement(name="RecintoAduaneiroDto") -public class RecintoAduaneiroDto { +@XmlRootElement(name="RecintoAduaneiroDTO") +public class RecintoAduaneiroDTO { @XmlElement(name="codigo") @ApiModelProperty(example = "8911101", value = "Código
Tamanho: 7
Formato: 'NNNNNNN'") @@ -28,7 +28,7 @@ public class RecintoAduaneiroDto { @XmlElement(name="cooordenada") @ApiModelProperty(value = "") @Valid - private CoordenadaGeograficaDto cooordenada = null; + private CoordenadaGeograficaDTO cooordenada = null; @XmlElement(name="descricao") @ApiModelProperty(value = "Descrição
Tamanho mínimo: 0
Tamanho máximo: 50") @@ -61,7 +61,7 @@ public void setCodigo(String codigo) { this.codigo = codigo; } - public RecintoAduaneiroDto codigo(String codigo) { + public RecintoAduaneiroDTO codigo(String codigo) { this.codigo = codigo; return this; } @@ -71,15 +71,15 @@ public RecintoAduaneiroDto codigo(String codigo) { * @return cooordenada **/ @JsonProperty("cooordenada") - public CoordenadaGeograficaDto getCooordenada() { + public CoordenadaGeograficaDTO getCooordenada() { return cooordenada; } - public void setCooordenada(CoordenadaGeograficaDto cooordenada) { + public void setCooordenada( CoordenadaGeograficaDTO cooordenada) { this.cooordenada = cooordenada; } - public RecintoAduaneiroDto cooordenada(CoordenadaGeograficaDto cooordenada) { + public RecintoAduaneiroDTO cooordenada( CoordenadaGeograficaDTO cooordenada) { this.cooordenada = cooordenada; return this; } @@ -97,7 +97,7 @@ public void setDescricao(String descricao) { this.descricao = descricao; } - public RecintoAduaneiroDto descricao(String descricao) { + public RecintoAduaneiroDTO descricao(String descricao) { this.descricao = descricao; return this; } @@ -115,7 +115,7 @@ public void setUnidadeLocalRFB(UnidadeLocalRFBDto unidadeLocalRFB) { this.unidadeLocalRFB = unidadeLocalRFB; } - public RecintoAduaneiroDto unidadeLocalRFB(UnidadeLocalRFBDto unidadeLocalRFB) { + public RecintoAduaneiroDTO unidadeLocalRFB(UnidadeLocalRFBDto unidadeLocalRFB) { this.unidadeLocalRFB = unidadeLocalRFB; return this; } @@ -133,7 +133,7 @@ public void setZona(String zona) { this.zona = zona; } - public RecintoAduaneiroDto zona(String zona) { + public RecintoAduaneiroDTO zona(String zona) { this.zona = zona; return this; } @@ -142,7 +142,7 @@ public RecintoAduaneiroDto zona(String zona) { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class RecintoAduaneiroDto {\n"); + sb.append("class RecintoAduaneiroDTO {\n"); sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n"); sb.append(" cooordenada: ").append(toIndentedString(cooordenada)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/RegimeTributarioDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/RegimeTributarioDto.java index 10e9f60..6ad7a1c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/RegimeTributarioDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/RegimeTributarioDto.java @@ -10,12 +10,12 @@ import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "RegimeTributarioDto", propOrder = + @XmlType(name = "RegimeTributarioDTO", propOrder = { "codigo", "nome" }) -@XmlRootElement(name="RegimeTributarioDto") -public class RegimeTributarioDto { +@XmlRootElement(name="RegimeTributarioDTO") +public class RegimeTributarioDTO { @XmlElement(name="codigo") @ApiModelProperty(value = "Código
Formato: Inteiro, com até 17 digitos") @@ -43,7 +43,7 @@ public void setCodigo(Long codigo) { this.codigo = codigo; } - public RegimeTributarioDto codigo(Long codigo) { + public RegimeTributarioDTO codigo(Long codigo) { this.codigo = codigo; return this; } @@ -61,7 +61,7 @@ public void setNome(String nome) { this.nome = nome; } - public RegimeTributarioDto nome(String nome) { + public RegimeTributarioDTO nome(String nome) { this.nome = nome; return this; } @@ -70,7 +70,7 @@ public RegimeTributarioDto nome(String nome) { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class RegimeTributarioDto {\n"); + sb.append("class RegimeTributarioDTO {\n"); sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n"); sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/Situacao.java b/src/main/java/br/gov/siscomex/portalunico/due/model/Situacao.java new file mode 100644 index 0000000..3b1c459 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/Situacao.java @@ -0,0 +1,140 @@ +package br.gov.siscomex.portalunico.due.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 = "Situacao", propOrder = + { "codigo", "descricao" +}) + +@XmlRootElement(name="Situacao") +public class Situacao { + + +@XmlType(name="CodigoEnum") +@XmlEnum(String.class) +public enum CodigoEnum { + + @XmlEnumValue("AGUARDANDO_VINCULO") + @JsonProperty("AGUARDANDO_VINCULO") + AGUARDANDO_VINCULO(String.valueOf("AGUARDANDO_VINCULO")), + + @XmlEnumValue("VINCULADO") + @JsonProperty("VINCULADO") + VINCULADO(String.valueOf("VINCULADO")), + + @XmlEnumValue("NAO_VINCULADO") + @JsonProperty("NAO_VINCULADO") + NAO_VINCULADO(String.valueOf("NAO_VINCULADO")); + + + private 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(value = "Código
Formato: Inteiro, com 1 digito") + /** + * Código
Formato: Inteiro, com 1 digito + **/ + private CodigoEnum codigo = null; + + @XmlElement(name="descricao") + @ApiModelProperty(value = "Descrição
Tamanho mínimo: 0
Tamanho máximo: 50") + /** + * Descrição
Tamanho mínimo: 0
Tamanho máximo: 50 + **/ + private String descricao = null; + /** + * Código<br />Formato: Inteiro, com 1 digito + * @return codigo + **/ + @JsonProperty("codigo") + public String getCodigo() { + if (codigo == null) { + return null; + } + return codigo.value(); + } + + public void setCodigo(CodigoEnum codigo) { + this.codigo = codigo; + } + + public Situacao codigo(CodigoEnum codigo) { + this.codigo = codigo; + return this; + } + + /** + * Descrição<br />Tamanho mínimo: 0<br />Tamanho máximo: 50 + * @return descricao + **/ + @JsonProperty("descricao") + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public Situacao descricao(String descricao) { + this.descricao = descricao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Situacao {\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/due/model/SituacaoDaCargaDTO.java b/src/main/java/br/gov/siscomex/portalunico/due/model/SituacaoDaCargaDTO.java index ccc16ec..a08e131 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/SituacaoDaCargaDTO.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/SituacaoDaCargaDTO.java @@ -19,7 +19,7 @@ public class SituacaoDaCargaDTO { @XmlElement(name="cargaOperada") @ApiModelProperty(value = "") - private Boolean cargaOperada = false; + private Boolean cargaOperada = null; @XmlElement(name="codigo") @ApiModelProperty(value = "Código da situação da Carga
Formato: Inteiro, com 1 digito") diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/TipoTributoDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/TipoTributoDto.java index c267eba..a47a0a8 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/TipoTributoDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/TipoTributoDto.java @@ -10,12 +10,12 @@ import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "TipoTributoDto", propOrder = + @XmlType(name = "TipoTributoDTO", propOrder = { "codigo", "nome" }) -@XmlRootElement(name="TipoTributoDto") -public class TipoTributoDto { +@XmlRootElement(name="TipoTributoDTO") +public class TipoTributoDTO { @XmlElement(name="codigo") @ApiModelProperty(value = "Código
Formato: Inteiro, com até 17 digitos") @@ -43,7 +43,7 @@ public void setCodigo(Long codigo) { this.codigo = codigo; } - public TipoTributoDto codigo(Long codigo) { + public TipoTributoDTO codigo(Long codigo) { this.codigo = codigo; return this; } @@ -61,7 +61,7 @@ public void setNome(String nome) { this.nome = nome; } - public TipoTributoDto nome(String nome) { + public TipoTributoDTO nome(String nome) { this.nome = nome; return this; } @@ -70,7 +70,7 @@ public TipoTributoDto nome(String nome) { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class TipoTributoDto {\n"); + sb.append("class TipoTributoDTO {\n"); sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n"); sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoAdministrativo.java b/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoAdministrativo.java index 631cd82..77d3217 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoAdministrativo.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoAdministrativo.java @@ -29,7 +29,7 @@ public class TratamentoAdministrativo { @XmlElement(name="impeditivoDeEmbarque") @ApiModelProperty(value = "") - private Boolean impeditivoDeEmbarque = false; + private Boolean impeditivoDeEmbarque = null; @XmlElement(name="mensagem") @ApiModelProperty(value = "Mensagem
Tamanho mínimo: 0
Tamanho máximo: 2000") @@ -128,7 +128,11 @@ public enum SituacaoEnum { @XmlEnumValue("RECURSO_INDEFERIMENTO") @JsonProperty("RECURSO_INDEFERIMENTO") - RECURSO_INDEFERIMENTO(String.valueOf("RECURSO_INDEFERIMENTO")); + RECURSO_INDEFERIMENTO(String.valueOf("RECURSO_INDEFERIMENTO")), + + @XmlEnumValue("RECURSO_DIVERSO") + @JsonProperty("RECURSO_DIVERSO") + RECURSO_DIVERSO(String.valueOf("RECURSO_DIVERSO")); private String value; diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoDoTributoDTO.java b/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoDoTributoDTO.java new file mode 100644 index 0000000..5e2fd31 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoDoTributoDTO.java @@ -0,0 +1,89 @@ +package br.gov.siscomex.portalunico.due.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; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "TratamentoDoTributoDTO", propOrder = + { "tipo", "tributo" +}) + +@XmlRootElement(name="TratamentoDoTributoDTO") +public class TratamentoDoTributoDTO { + + @XmlElement(name="tipo") + @ApiModelProperty(value = "") + @Valid + private TipoTributoDTO tipo = null; + + @XmlElement(name="tributo") + @ApiModelProperty(value = "") + @Valid + private TributoDTO tributo = null; + /** + * Get tipo + * @return tipo + **/ + @JsonProperty("tipo") + public TipoTributoDTO getTipo() { + return tipo; + } + + public void setTipo(TipoTributoDTO tipo) { + this.tipo = tipo; + } + + public TratamentoDoTributoDTO tipo(TipoTributoDTO tipo) { + this.tipo = tipo; + return this; + } + + /** + * Get tributo + * @return tributo + **/ + @JsonProperty("tributo") + public TributoDTO getTributo() { + return tributo; + } + + public void setTributo(TributoDTO tributo) { + this.tributo = tributo; + } + + public TratamentoDoTributoDTO tributo(TributoDTO tributo) { + this.tributo = tributo; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TratamentoDoTributoDTO {\n"); + + sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); + sb.append(" tributo: ").append(toIndentedString(tributo)).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/due/model/TratamentoTributarioDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoTributarioDto.java index dd8d4fc..c47e1e7 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoTributarioDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoTributarioDto.java @@ -13,12 +13,12 @@ import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "TratamentoTributarioDto", propOrder = + @XmlType(name = "TratamentoTributarioDTO", propOrder = { "dataDoRegistro", "fundamentoLegal", "regimeTributario", "tributos" }) -@XmlRootElement(name="TratamentoTributarioDto") -public class TratamentoTributarioDto { +@XmlRootElement(name="TratamentoTributarioDTO") +public class TratamentoTributarioDTO { @XmlElement(name="dataDoRegistro") @ApiModelProperty(example = "2019-09-20T14:13:46.966Z", value = "Data do registro
Formato:'yyyy-MM-dd'T'HH:mm:ss.SSSZ'") @@ -35,7 +35,7 @@ public class TratamentoTributarioDto { @XmlElement(name="regimeTributario") @ApiModelProperty(value = "") @Valid - private RegimeTributarioDto regimeTributario = null; + private RegimeTributarioDTO regimeTributario = null; @XmlElement(name="tributos") @ApiModelProperty(value = "") @@ -54,7 +54,7 @@ public void setDataDoRegistro(OffsetDateTime dataDoRegistro) { this.dataDoRegistro = dataDoRegistro; } - public TratamentoTributarioDto dataDoRegistro(OffsetDateTime dataDoRegistro) { + public TratamentoTributarioDTO dataDoRegistro(OffsetDateTime dataDoRegistro) { this.dataDoRegistro = dataDoRegistro; return this; } @@ -72,7 +72,7 @@ public void setFundamentoLegal(FundamentoLegal fundamentoLegal) { this.fundamentoLegal = fundamentoLegal; } - public TratamentoTributarioDto fundamentoLegal(FundamentoLegal fundamentoLegal) { + public TratamentoTributarioDTO fundamentoLegal(FundamentoLegal fundamentoLegal) { this.fundamentoLegal = fundamentoLegal; return this; } @@ -82,15 +82,15 @@ public TratamentoTributarioDto fundamentoLegal(FundamentoLegal fundamentoLegal) * @return regimeTributario **/ @JsonProperty("regimeTributario") - public RegimeTributarioDto getRegimeTributario() { + public RegimeTributarioDTO getRegimeTributario() { return regimeTributario; } - public void setRegimeTributario(RegimeTributarioDto regimeTributario) { + public void setRegimeTributario( RegimeTributarioDTO regimeTributario) { this.regimeTributario = regimeTributario; } - public TratamentoTributarioDto regimeTributario(RegimeTributarioDto regimeTributario) { + public TratamentoTributarioDTO regimeTributario( RegimeTributarioDTO regimeTributario) { this.regimeTributario = regimeTributario; return this; } @@ -108,12 +108,12 @@ public void setTributos(List tributos) { this.tributos = tributos; } - public TratamentoTributarioDto tributos(List tributos) { + public TratamentoTributarioDTO tributos(List tributos) { this.tributos = tributos; return this; } - public TratamentoTributarioDto addTributosItem(TratamentoTributoDto tributosItem) { + public TratamentoTributarioDTO addTributosItem(TratamentoTributoDto tributosItem) { this.tributos.add(tributosItem); return this; } @@ -122,7 +122,7 @@ public TratamentoTributarioDto addTributosItem(TratamentoTributoDto tributosItem @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class TratamentoTributarioDto {\n"); + sb.append("class TratamentoTributarioDTO {\n"); sb.append(" dataDoRegistro: ").append(toIndentedString(dataDoRegistro)).append("\n"); sb.append(" fundamentoLegal: ").append(toIndentedString(fundamentoLegal)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoTributoDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoTributoDto.java index aaf8f37..92dd5ca 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoTributoDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/TratamentoTributoDto.java @@ -21,26 +21,26 @@ public class TratamentoTributoDto { @XmlElement(name="tipo") @ApiModelProperty(value = "") @Valid - private TipoTributoDto tipo = null; + private TipoTributoDTO tipo = null; @XmlElement(name="tributo") @ApiModelProperty(value = "") @Valid - private TributoDto tributo = null; + private TributoDTO tributo = null; /** * Get tipo * @return tipo **/ @JsonProperty("tipo") - public TipoTributoDto getTipo() { + public TipoTributoDTO getTipo() { return tipo; } - public void setTipo(TipoTributoDto tipo) { + public void setTipo(TipoTributoDTO tipo) { this.tipo = tipo; } - public TratamentoTributoDto tipo(TipoTributoDto tipo) { + public TratamentoTributoDto tipo(TipoTributoDTO tipo) { this.tipo = tipo; return this; } @@ -50,15 +50,15 @@ public TratamentoTributoDto tipo(TipoTributoDto tipo) { * @return tributo **/ @JsonProperty("tributo") - public TributoDto getTributo() { + public TributoDTO getTributo() { return tributo; } - public void setTributo(TributoDto tributo) { + public void setTributo(TributoDTO tributo) { this.tributo = tributo; } - public TratamentoTributoDto tributo(TributoDto tributo) { + public TratamentoTributoDto tributo(TributoDTO tributo) { this.tributo = tributo; return this; } diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/TributoDto.java b/src/main/java/br/gov/siscomex/portalunico/due/model/TributoDto.java index b4b7d6d..129266e 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/TributoDto.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/TributoDto.java @@ -10,12 +10,12 @@ import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "TributoDto", propOrder = + @XmlType(name = "TributoDTO", propOrder = { "codigo", "nome" }) -@XmlRootElement(name="TributoDto") -public class TributoDto { +@XmlRootElement(name="TributoDTO") +public class TributoDTO { @XmlElement(name="codigo") @ApiModelProperty(value = "Código
Formato: Inteiro, com até 17 digitos") @@ -43,7 +43,7 @@ public void setCodigo(Long codigo) { this.codigo = codigo; } - public TributoDto codigo(Long codigo) { + public TributoDTO codigo(Long codigo) { this.codigo = codigo; return this; } @@ -61,7 +61,7 @@ public void setNome(String nome) { this.nome = nome; } - public TributoDto nome(String nome) { + public TributoDTO nome(String nome) { this.nome = nome; return this; } @@ -70,7 +70,7 @@ public TributoDto nome(String nome) { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class TributoDto {\n"); + sb.append("class TributoDTO {\n"); sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n"); sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/due/model/Warnings.java b/src/main/java/br/gov/siscomex/portalunico/due/model/Warnings.java index 0911ccc..05a515c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/due/model/Warnings.java +++ b/src/main/java/br/gov/siscomex/portalunico/due/model/Warnings.java @@ -20,7 +20,7 @@ public class Warnings { @XmlElement(name="empty") @ApiModelProperty(value = "") - private Boolean empty = false; + private Boolean empty = null; @XmlElement(name="warning") @ApiModelProperty(value = "") 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 86d11a7..73c963b 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,16 +26,16 @@ 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" }) - @ApiResponses(value = { + @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 = DuimpCover.class), @ApiResponse(code = 400, message = "Requisição mal formatada."), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), @@ -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") }) - public Response consultarDuimp2(@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 númericos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter númerico. 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); + public Response consultarDuimp2(@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 númericos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter númerico. 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 = DuimpCover.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") }) - public Response consultarDuimp3(@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 númericos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter númerico. 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); + public Response consultarDuimp3(@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 númericos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter númerico. 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/CaracterizacaoImportacaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp/model/CaracterizacaoImportacaoCover.java index ef86d66..eccc3a5 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp/model/CaracterizacaoImportacaoCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp/model/CaracterizacaoImportacaoCover.java @@ -4,15 +4,18 @@ 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 = - { "indicadorImportacaoTerceiros", "cnpjAdquirente", "ufAdquirente", "nomeAdquirente" + { "indicadorImportacaoTerceiros", "cnpj", "uf", "nome" }) @XmlRootElement(name="CaracterizacaoImportacaoCover") @@ -22,102 +25,149 @@ @ApiModel(description="Caracterização da Importação") public class CaracterizacaoImportacaoCover { - @XmlElement(name="indicadorImportacaoTerceiros") - @ApiModelProperty(value = "Indicador de importação por terceiros.
Dominio:
S - Sim,
N - Não
Tamanho: 1") + +@XmlType(name="IndicadorImportacaoTerceirosEnum") +@XmlEnum(String.class) +public enum IndicadorImportacaoTerceirosEnum { + + @XmlEnumValue("IMPORTACAO_DIRETA") + @JsonProperty("IMPORTACAO_DIRETA") + DIRETA(String.valueOf("IMPORTACAO_DIRETA")), + + @XmlEnumValue("IMPORTACAO_POR_CONTA_E_ORDEM") + @JsonProperty("IMPORTACAO_POR_CONTA_E_ORDEM") + POR_CONTA_E_ORDEM(String.valueOf("IMPORTACAO_POR_CONTA_E_ORDEM")), + + @XmlEnumValue("IMPORTACAO_POR_ENCOMENDA") + @JsonProperty("IMPORTACAO_POR_ENCOMENDA") + POR_ENCOMENDA(String.valueOf("IMPORTACAO_POR_ENCOMENDA")); + + + private String value; + + IndicadorImportacaoTerceirosEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IndicadorImportacaoTerceirosEnum fromValue(String v) { + for (IndicadorImportacaoTerceirosEnum b : IndicadorImportacaoTerceirosEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to IndicadorImportacaoTerceirosEnum"); + } +} + + @XmlElement(name="indicadorImportacaoTerceiros", required = true) + @ApiModelProperty(example = "IMPORTACAO_DIRETA", required = true, value = "Indicador de importação por terceiros.") /** - * Indicador de importação por terceiros.
Dominio:
S - Sim,
N - Não
Tamanho: 1 + * Indicador de importação por terceiros. **/ - private Integer indicadorImportacaoTerceiros = null; + private IndicadorImportacaoTerceirosEnum indicadorImportacaoTerceiros = null; - @XmlElement(name="cnpjAdquirente") - @ApiModelProperty(example = "00000000000191", value = "CNPJ do adquirente
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'") + @XmlElement(name="cnpj") + @ApiModelProperty(example = "00000000000191", value = "CNPJ do adquirente ou encomendante
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Observação:
Apenas quando o atributo 'indicadorImportacaoTerceiros' for IMPORTACAO_POR_CONTA_E_ORDEM ou IMPORTACAO_POR_ENCOMENDA") /** - * CNPJ do adquirente
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN' + * CNPJ do adquirente ou encomendante
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Observação:
Apenas quando o atributo 'indicadorImportacaoTerceiros' for IMPORTACAO_POR_CONTA_E_ORDEM ou IMPORTACAO_POR_ENCOMENDA **/ - private String cnpjAdquirente = null; + private String cnpj = null; - @XmlElement(name="ufAdquirente") - @ApiModelProperty(example = "RJ", value = "UF do adquirente
Dominio:
AC, AL, AP, AM, BA, CE, DF
ES, GO, MA, MT, MS, MG, PA
PB, PR, PE, PI, RJ, RN, RS
RO, RR, SC, SP, SE, TO
Tamanho: 2") + @XmlElement(name="uf") + @ApiModelProperty(example = "RJ", value = "UF do adquirente ou encomendante
Dominio:
AC, AL, AP, AM, BA, CE, DF
ES, GO, MA, MT, MS, MG, PA
PB, PR, PE, PI, RJ, RN, RS
RO, RR, SC, SP, SE, TO
Tamanho: 2
Observação:
Apenas quando o atributo 'indicadorImportacaoTerceiros' for IMPORTACAO_POR_CONTA_E_ORDEM ou IMPORTACAO_POR_ENCOMENDA") /** - * UF do adquirente
Dominio:
AC, AL, AP, AM, BA, CE, DF
ES, GO, MA, MT, MS, MG, PA
PB, PR, PE, PI, RJ, RN, RS
RO, RR, SC, SP, SE, TO
Tamanho: 2 + * UF do adquirente ou encomendante
Dominio:
AC, AL, AP, AM, BA, CE, DF
ES, GO, MA, MT, MS, MG, PA
PB, PR, PE, PI, RJ, RN, RS
RO, RR, SC, SP, SE, TO
Tamanho: 2
Observação:
Apenas quando o atributo 'indicadorImportacaoTerceiros' for IMPORTACAO_POR_CONTA_E_ORDEM ou IMPORTACAO_POR_ENCOMENDA **/ - private String ufAdquirente = null; + private String uf = null; - @XmlElement(name="nomeAdquirente") - @ApiModelProperty(example = "Nome do adquirente", value = "Nome do adquirente
Tamanho mínimo: 1
Tamanho máximo: 150") + @XmlElement(name="nome") + @ApiModelProperty(example = "Nome do CNPJ informado", value = "Nome do adquirente ou encomendante
Tamanho mínimo: 1
Tamanho máximo: 150
Observação:
Apenas quando o atributo 'indicadorImportacaoTerceiros' for IMPORTACAO_POR_CONTA_E_ORDEM ou IMPORTACAO_POR_ENCOMENDA") /** - * Nome do adquirente
Tamanho mínimo: 1
Tamanho máximo: 150 + * Nome do adquirente ou encomendante
Tamanho mínimo: 1
Tamanho máximo: 150
Observação:
Apenas quando o atributo 'indicadorImportacaoTerceiros' for IMPORTACAO_POR_CONTA_E_ORDEM ou IMPORTACAO_POR_ENCOMENDA **/ - private String nomeAdquirente = null; + private String nome = null; /** - * Indicador de importação por terceiros.<br>Dominio: <br>S - Sim, <br>N - Não<br>Tamanho: 1 + * Indicador de importação por terceiros. * @return indicadorImportacaoTerceiros **/ @JsonProperty("indicadorImportacaoTerceiros") - public Integer getIndicadorImportacaoTerceiros() { - return indicadorImportacaoTerceiros; + @NotNull + public String getIndicadorImportacaoTerceiros() { + if (indicadorImportacaoTerceiros == null) { + return null; + } + return indicadorImportacaoTerceiros.value(); } - public void setIndicadorImportacaoTerceiros(Integer indicadorImportacaoTerceiros) { + public void setIndicadorImportacaoTerceiros(IndicadorImportacaoTerceirosEnum indicadorImportacaoTerceiros) { this.indicadorImportacaoTerceiros = indicadorImportacaoTerceiros; } - public CaracterizacaoImportacaoCover indicadorImportacaoTerceiros(Integer indicadorImportacaoTerceiros) { + public CaracterizacaoImportacaoCover indicadorImportacaoTerceiros(IndicadorImportacaoTerceirosEnum indicadorImportacaoTerceiros) { this.indicadorImportacaoTerceiros = indicadorImportacaoTerceiros; return this; } /** - * CNPJ do adquirente<br>Tamanho: 14<br>Formato: 'NNNNNNNNNNNNNN' - * @return cnpjAdquirente + * CNPJ do adquirente ou encomendante<br>Tamanho: 14<br>Formato: 'NNNNNNNNNNNNNN'<br>Observação:<br>Apenas quando o atributo 'indicadorImportacaoTerceiros' for IMPORTACAO_POR_CONTA_E_ORDEM ou IMPORTACAO_POR_ENCOMENDA + * @return cnpj **/ - @JsonProperty("cnpjAdquirente") - public String getCnpjAdquirente() { - return cnpjAdquirente; + @JsonProperty("cnpj") + public String getCnpj() { + return cnpj; } - public void setCnpjAdquirente(String cnpjAdquirente) { - this.cnpjAdquirente = cnpjAdquirente; + public void setCnpj(String cnpj) { + this.cnpj = cnpj; } - public CaracterizacaoImportacaoCover cnpjAdquirente(String cnpjAdquirente) { - this.cnpjAdquirente = cnpjAdquirente; + public CaracterizacaoImportacaoCover cnpj(String cnpj) { + this.cnpj = cnpj; return this; } /** - * UF do adquirente<br>Dominio:<br>AC, AL, AP, AM, BA, CE, DF<br>ES, GO, MA, MT, MS, MG, PA<br>PB, PR, PE, PI, RJ, RN, RS<br>RO, RR, SC, SP, SE, TO<br>Tamanho: 2 - * @return ufAdquirente + * UF do adquirente ou encomendante<br>Dominio:<br>AC, AL, AP, AM, BA, CE, DF<br>ES, GO, MA, MT, MS, MG, PA<br>PB, PR, PE, PI, RJ, RN, RS<br>RO, RR, SC, SP, SE, TO<br>Tamanho: 2<br>Observação:<br>Apenas quando o atributo 'indicadorImportacaoTerceiros' for IMPORTACAO_POR_CONTA_E_ORDEM ou IMPORTACAO_POR_ENCOMENDA + * @return uf **/ - @JsonProperty("ufAdquirente") - public String getUfAdquirente() { - return ufAdquirente; + @JsonProperty("uf") + public String getUf() { + return uf; } - public void setUfAdquirente(String ufAdquirente) { - this.ufAdquirente = ufAdquirente; + public void setUf(String uf) { + this.uf = uf; } - public CaracterizacaoImportacaoCover ufAdquirente(String ufAdquirente) { - this.ufAdquirente = ufAdquirente; + public CaracterizacaoImportacaoCover uf(String uf) { + this.uf = uf; return this; } /** - * Nome do adquirente<br>Tamanho mínimo: 1<br>Tamanho máximo: 150 - * @return nomeAdquirente + * Nome do adquirente ou encomendante<br>Tamanho mínimo: 1<br>Tamanho máximo: 150<br>Observação:<br>Apenas quando o atributo 'indicadorImportacaoTerceiros' for IMPORTACAO_POR_CONTA_E_ORDEM ou IMPORTACAO_POR_ENCOMENDA + * @return nome **/ - @JsonProperty("nomeAdquirente") - public String getNomeAdquirente() { - return nomeAdquirente; + @JsonProperty("nome") + public String getNome() { + return nome; } - public void setNomeAdquirente(String nomeAdquirente) { - this.nomeAdquirente = nomeAdquirente; + public void setNome(String nome) { + this.nome = nome; } - public CaracterizacaoImportacaoCover nomeAdquirente(String nomeAdquirente) { - this.nomeAdquirente = nomeAdquirente; + public CaracterizacaoImportacaoCover nome(String nome) { + this.nome = nome; return this; } @@ -128,9 +178,9 @@ public String toString() { sb.append("class CaracterizacaoImportacaoCover {\n"); sb.append(" indicadorImportacaoTerceiros: ").append(toIndentedString(indicadorImportacaoTerceiros)).append("\n"); - sb.append(" cnpjAdquirente: ").append(toIndentedString(cnpjAdquirente)).append("\n"); - sb.append(" ufAdquirente: ").append(toIndentedString(ufAdquirente)).append("\n"); - sb.append(" nomeAdquirente: ").append(toIndentedString(nomeAdquirente)).append("\n"); + sb.append(" cnpj: ").append(toIndentedString(cnpj)).append("\n"); + sb.append(" uf: ").append(toIndentedString(uf)).append("\n"); + sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp/model/ComponenteDeFrete.java b/src/main/java/br/gov/siscomex/portalunico/duimp/model/ComponenteDeFrete.java index c1379d8..c7dae23 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp/model/ComponenteDeFrete.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp/model/ComponenteDeFrete.java @@ -26,9 +26,9 @@ public class ComponenteDeFrete { private String descricao = null; @XmlElement(name="codigoComponenteFrete") - @ApiModelProperty(example = "A01", value = "Código do componente do Frete
Domínio: Tabela de Componentes do Frete do Sistema Mercante.
Tamanho: 3
Formato: 'AAA'") + @ApiModelProperty(example = "A01", value = "Código do componente do Frete
Domínio: Tabela de Componentes do Frete do Sistema Mercante.
Origem: Sistema Mercante - https://www.mercante.transportes.gov.br/
Tamanho: 3
Formato: 'AAA'") /** - * Código do componente do Frete
Domínio: Tabela de Componentes do Frete do Sistema Mercante.
Tamanho: 3
Formato: 'AAA' + * Código do componente do Frete
Domínio: Tabela de Componentes do Frete do Sistema Mercante.
Origem: Sistema Mercante - https://www.mercante.transportes.gov.br/
Tamanho: 3
Formato: 'AAA' **/ private String codigoComponenteFrete = null; @@ -111,7 +111,7 @@ public ComponenteDeFrete descricao(String descricao) { } /** - * Código do componente do Frete<br> Domínio: Tabela de Componentes do Frete do Sistema Mercante.<br>Tamanho: 3<br>Formato: 'AAA' + * Código do componente do Frete<br> Domínio: Tabela de Componentes do Frete do Sistema Mercante.<br>Origem: Sistema Mercante - https://www.mercante.transportes.gov.br/<br>Tamanho: 3<br>Formato: 'AAA' * @return codigoComponenteFrete **/ @JsonProperty("codigoComponenteFrete") diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp/model/DeclaracaoVinculada.java b/src/main/java/br/gov/siscomex/portalunico/duimp/model/DeclaracaoVinculada.java index d922e67..9fb696c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp/model/DeclaracaoVinculada.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp/model/DeclaracaoVinculada.java @@ -17,7 +17,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DeclaracaoVinculada", propOrder = - { "tipo", "numero", "versao", "dataHoraRegistro", "numeroItem", "valorFreteMoedaDeclaracao", "valorSeguroMoedaDeclaracao", "unidadeMedidaEstatistica", "qtdMercadoriaUnidadeEstatistica", "itemCodigoRegime", "itemCodigoFundamento", "itemNcmAssociada", "mnemonicoSistemaControle" + { "tipo", "numeroDeclaracaoVinculada", "versaoDeclaracaoVinculada", "numeroDeclaracaoOriginal", "versaoDeclaracaoOriginal", "numeroItemDeclaracaoOriginal", "dataHoraRegistro", "numeroItemDeclaracaoVinculada", "valorFreteReal", "valorSeguroReal", "unidadeMedidaEstatistica", "qtdMercadoriaUnidadeEstatistica", "itemCodigoRegime", "itemCodigoFundamento", "itemNcmAssociada", "mnemonicoSistemaControle" }) @XmlRootElement(name="DeclaracaoVinculada") @@ -81,62 +81,83 @@ public static TipoEnum fromValue(String v) { **/ private TipoEnum tipo = null; - @XmlElement(name="numero") + @XmlElement(name="numeroDeclaracaoVinculada") @ApiModelProperty(example = "19BR00000004936", value = "Número da Declaração vinculada.
Tamanho mínimo: 1
Tamanho máximo: 16") /** * Número da Declaração vinculada.
Tamanho mínimo: 1
Tamanho máximo: 16 **/ - private String numero = null; + private String numeroDeclaracaoVinculada = null; - @XmlElement(name="versao") + @XmlElement(name="versaoDeclaracaoVinculada") @ApiModelProperty(example = "0001", value = "Versão da Declaração vinculada.
Tamanho: 4
Valor mínimo: 0001
Valor máximo: 9999
Observação:
Apenas quando a declaração vinculada for uma Duimp.") /** * Versão da Declaração vinculada.
Tamanho: 4
Valor mínimo: 0001
Valor máximo: 9999
Observação:
Apenas quando a declaração vinculada for uma Duimp. **/ - private String versao = null; + private String versaoDeclaracaoVinculada = null; + + @XmlElement(name="numeroDeclaracaoOriginal") + @ApiModelProperty(example = "19BR00000004936", value = "Número da declaração original relacionada à declaração vinculada.
O número da declaração original é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o número da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o número da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
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 númericos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter númerico. DV para todos os demais caracteres numéricos (Módulo 11)") + /** + * Número da declaração original relacionada à declaração vinculada.
O número da declaração original é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o número da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o número da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
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 númericos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter númerico. DV para todos os demais caracteres numéricos (Módulo 11) + **/ + private String numeroDeclaracaoOriginal = null; + + @XmlElement(name="versaoDeclaracaoOriginal") + @ApiModelProperty(example = "0001", value = "Versão da declaração original relacionada à declaração vinculada.
A versão da declaração original é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: a versão da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou a versão da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
Tamanho: 4
Valor mínimo: 0001
Valor máximo: 9999") + /** + * Versão da declaração original relacionada à declaração vinculada.
A versão da declaração original é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: a versão da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou a versão da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
Tamanho: 4
Valor mínimo: 0001
Valor máximo: 9999 + **/ + private String versaoDeclaracaoOriginal = null; + + @XmlElement(name="numeroItemDeclaracaoOriginal") + @ApiModelProperty(example = "10001", value = "Item da declaração original relacionada à declaração vinculada.
O número do item original é informado apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o número do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o número do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
Valor mínimo: 1
Valor máximo: 99999") + /** + * Item da declaração original relacionada à declaração vinculada.
O número do item original é informado apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o número do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o número do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
Valor mínimo: 1
Valor máximo: 99999 + **/ + private String numeroItemDeclaracaoOriginal = null; @XmlElement(name="dataHoraRegistro") - @ApiModelProperty(value = "Data e hora do registro declaração vinculada.
Formato: 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'
Observação:
Apenas quando a declaração vinculada for uma Duimp.") + @ApiModelProperty(value = "Data de Registro
A data de registro é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: a data/hora de registro da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou a data/hora de registro da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho
Formato: 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'") /** - * Data e hora do registro declaração vinculada.
Formato: 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'
Observação:
Apenas quando a declaração vinculada for uma Duimp. + * Data de Registro
A data de registro é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: a data/hora de registro da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou a data/hora de registro da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho
Formato: 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' **/ private OffsetDateTime dataHoraRegistro = null; - @XmlElement(name="numeroItem") + @XmlElement(name="numeroItemDeclaracaoVinculada") @ApiModelProperty(example = "10001", value = "Número do item ou adição da declaração vinculada.
Valor mínimo: 1
Valor máximo: 99999") /** * Número do item ou adição da declaração vinculada.
Valor mínimo: 1
Valor máximo: 99999 **/ - private String numeroItem = null; + private String numeroItemDeclaracaoVinculada = null; - @XmlElement(name="valorFreteMoedaDeclaracao") - @ApiModelProperty(example = "3806.5", value = "Valor do Frete na Moeda Negociada do Item da Declaração Vinculada.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
Observação:
Apenas quando a declaração vinculada for uma Duimp.") + @XmlElement(name="valorFreteReal") + @ApiModelProperty(example = "3806.5", value = "Valor do frete (R$) do item.
O valor do frete (R$) do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o valor do frete (R$) do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o valor do frete (R$) do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
Observação:
Apenas quando a declaração vinculada for uma Duimp.") @Valid /** - * Valor do Frete na Moeda Negociada do Item da Declaração Vinculada.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
Observação:
Apenas quando a declaração vinculada for uma Duimp. + * Valor do frete (R$) do item.
O valor do frete (R$) do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o valor do frete (R$) do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o valor do frete (R$) do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
Observação:
Apenas quando a declaração vinculada for uma Duimp. **/ - private BigDecimal valorFreteMoedaDeclaracao = null; + private BigDecimal valorFreteReal = null; - @XmlElement(name="valorSeguroMoedaDeclaracao") - @ApiModelProperty(example = "3806.5", value = "Valor do Seguro na Moeda Negociada do Item da Declaração Vinculada.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
Observação:
Apenas quando a declaração vinculada for uma Duimp.") + @XmlElement(name="valorSeguroReal") + @ApiModelProperty(example = "3806.5", value = "Valor do seguro (R$) do item.
O valor do seguro (R$) item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o seguro foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o valor do seguro (R$) do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o valor do seguro (R$) do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.") @Valid /** - * Valor do Seguro na Moeda Negociada do Item da Declaração Vinculada.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
Observação:
Apenas quando a declaração vinculada for uma Duimp. + * Valor do seguro (R$) do item.
O valor do seguro (R$) item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o seguro foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o valor do seguro (R$) do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o valor do seguro (R$) do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto. **/ - private BigDecimal valorSeguroMoedaDeclaracao = null; + private BigDecimal valorSeguroReal = null; @XmlElement(name="unidadeMedidaEstatistica") - @ApiModelProperty(example = "Peças", value = "Unidade de Medida Estatística (UME) do item da Declaração Vinculada.
Tamanho mínimo: 1
Tamanho máximo: 30
Observação:
Apenas quando a declaração vinculada for uma Duimp.") + @ApiModelProperty(example = "Peças", value = "Unidade de medida estatística (UME) do item.
A unidade de medida estatística (UME) do item do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: unidade de medida estatística do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou unidade de medida estatística do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho
Tamanho mínimo: 1
Tamanho máximo: 30") /** - * Unidade de Medida Estatística (UME) do item da Declaração Vinculada.
Tamanho mínimo: 1
Tamanho máximo: 30
Observação:
Apenas quando a declaração vinculada for uma Duimp. + * Unidade de medida estatística (UME) do item.
A unidade de medida estatística (UME) do item do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: unidade de medida estatística do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou unidade de medida estatística do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho
Tamanho mínimo: 1
Tamanho máximo: 30 **/ private String unidadeMedidaEstatistica = null; @XmlElement(name="qtdMercadoriaUnidadeEstatistica") - @ApiModelProperty(example = "1234.00005", value = "Quantidade da Mercadoria na Unidade de Medida Estatística do Item da Declaração Vinculada.
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
Observação:
Apenas quando a declaração vinculada for uma Duimp.") + @ApiModelProperty(example = "1234.00005", value = "Quantidade na unidade estatística do item.
A quantidade na unidade estatística do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: quantidade na unidade estatística do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou quantidade na unidade estatística do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.") @Valid /** - * Quantidade da Mercadoria na Unidade de Medida Estatística do Item da Declaração Vinculada.
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
Observação:
Apenas quando a declaração vinculada for uma Duimp. + * Quantidade na unidade estatística do item.
A quantidade na unidade estatística do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: quantidade na unidade estatística do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou quantidade na unidade estatística do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto. **/ private BigDecimal qtdMercadoriaUnidadeEstatistica = null; @@ -241,42 +262,96 @@ public DeclaracaoVinculada tipo(TipoEnum tipo) { /** * Número da Declaração vinculada.<br>Tamanho mínimo: 1<br>Tamanho máximo: 16 - * @return numero + * @return numeroDeclaracaoVinculada **/ - @JsonProperty("numero") - public String getNumero() { - return numero; + @JsonProperty("numeroDeclaracaoVinculada") + public String getNumeroDeclaracaoVinculada() { + return numeroDeclaracaoVinculada; } - public void setNumero(String numero) { - this.numero = numero; + public void setNumeroDeclaracaoVinculada(String numeroDeclaracaoVinculada) { + this.numeroDeclaracaoVinculada = numeroDeclaracaoVinculada; } - public DeclaracaoVinculada numero(String numero) { - this.numero = numero; + public DeclaracaoVinculada numeroDeclaracaoVinculada(String numeroDeclaracaoVinculada) { + this.numeroDeclaracaoVinculada = numeroDeclaracaoVinculada; return this; } /** * Versão da Declaração vinculada.<br>Tamanho: 4<br>Valor mínimo: 0001<br>Valor máximo: 9999<br>Observação:<br>Apenas quando a declaração vinculada for uma Duimp. - * @return versao + * @return versaoDeclaracaoVinculada + **/ + @JsonProperty("versaoDeclaracaoVinculada") + public String getVersaoDeclaracaoVinculada() { + return versaoDeclaracaoVinculada; + } + + public void setVersaoDeclaracaoVinculada(String versaoDeclaracaoVinculada) { + this.versaoDeclaracaoVinculada = versaoDeclaracaoVinculada; + } + + public DeclaracaoVinculada versaoDeclaracaoVinculada(String versaoDeclaracaoVinculada) { + this.versaoDeclaracaoVinculada = versaoDeclaracaoVinculada; + return this; + } + + /** + * Número da declaração original relacionada à declaração vinculada.<br>O número da declaração original é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o número da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o número da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.<br>Lei de formação. O número da Duimp é composto por: <br>* NN = Corresponde ao ano do registro da Declaração. <br>* AA = Corresponde à sigla do país de emissão do documento (BR).<br>* NNNNNNNNNN = 10 caracteres númericos. Número sequencial da Duimp dentro do ano.<br>* N = 1 caracter númerico. DV para todos os demais caracteres numéricos (Módulo 11) + * @return numeroDeclaracaoOriginal + **/ + @JsonProperty("numeroDeclaracaoOriginal") + public String getNumeroDeclaracaoOriginal() { + return numeroDeclaracaoOriginal; + } + + public void setNumeroDeclaracaoOriginal(String numeroDeclaracaoOriginal) { + this.numeroDeclaracaoOriginal = numeroDeclaracaoOriginal; + } + + public DeclaracaoVinculada numeroDeclaracaoOriginal(String numeroDeclaracaoOriginal) { + this.numeroDeclaracaoOriginal = numeroDeclaracaoOriginal; + return this; + } + + /** + * Versão da declaração original relacionada à declaração vinculada.<br>A versão da declaração original é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: a versão da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou a versão da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.<br>Tamanho: 4<br>Valor mínimo: 0001<br>Valor máximo: 9999 + * @return versaoDeclaracaoOriginal + **/ + @JsonProperty("versaoDeclaracaoOriginal") + public String getVersaoDeclaracaoOriginal() { + return versaoDeclaracaoOriginal; + } + + public void setVersaoDeclaracaoOriginal(String versaoDeclaracaoOriginal) { + this.versaoDeclaracaoOriginal = versaoDeclaracaoOriginal; + } + + public DeclaracaoVinculada versaoDeclaracaoOriginal(String versaoDeclaracaoOriginal) { + this.versaoDeclaracaoOriginal = versaoDeclaracaoOriginal; + return this; + } + + /** + * Item da declaração original relacionada à declaração vinculada.<br>O número do item original é informado apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o número do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o número do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.<br>Valor mínimo: 1<br>Valor máximo: 99999 + * @return numeroItemDeclaracaoOriginal **/ - @JsonProperty("versao") - public String getVersao() { - return versao; + @JsonProperty("numeroItemDeclaracaoOriginal") + public String getNumeroItemDeclaracaoOriginal() { + return numeroItemDeclaracaoOriginal; } - public void setVersao(String versao) { - this.versao = versao; + public void setNumeroItemDeclaracaoOriginal(String numeroItemDeclaracaoOriginal) { + this.numeroItemDeclaracaoOriginal = numeroItemDeclaracaoOriginal; } - public DeclaracaoVinculada versao(String versao) { - this.versao = versao; + public DeclaracaoVinculada numeroItemDeclaracaoOriginal(String numeroItemDeclaracaoOriginal) { + this.numeroItemDeclaracaoOriginal = numeroItemDeclaracaoOriginal; return this; } /** - * Data e hora do registro declaração vinculada.<br>Formato: 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'<br>Observação:<br>Apenas quando a declaração vinculada for uma Duimp. + * Data de Registro<br>A data de registro é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: a data/hora de registro da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou a data/hora de registro da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho<br>Formato: 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' * @return dataHoraRegistro **/ @JsonProperty("dataHoraRegistro") @@ -295,60 +370,60 @@ public DeclaracaoVinculada dataHoraRegistro(OffsetDateTime dataHoraRegistro) { /** * Número do item ou adição da declaração vinculada.<br>Valor mínimo: 1<br>Valor máximo: 99999 - * @return numeroItem + * @return numeroItemDeclaracaoVinculada **/ - @JsonProperty("numeroItem") - public String getNumeroItem() { - return numeroItem; + @JsonProperty("numeroItemDeclaracaoVinculada") + public String getNumeroItemDeclaracaoVinculada() { + return numeroItemDeclaracaoVinculada; } - public void setNumeroItem(String numeroItem) { - this.numeroItem = numeroItem; + public void setNumeroItemDeclaracaoVinculada(String numeroItemDeclaracaoVinculada) { + this.numeroItemDeclaracaoVinculada = numeroItemDeclaracaoVinculada; } - public DeclaracaoVinculada numeroItem(String numeroItem) { - this.numeroItem = numeroItem; + public DeclaracaoVinculada numeroItemDeclaracaoVinculada(String numeroItemDeclaracaoVinculada) { + this.numeroItemDeclaracaoVinculada = numeroItemDeclaracaoVinculada; return this; } /** - * Valor do Frete na Moeda Negociada do Item da Declaração Vinculada.<br>Tamanho: 17,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.<br>Observação:<br>Apenas quando a declaração vinculada for uma Duimp. - * @return valorFreteMoedaDeclaracao + * Valor do frete (R$) do item.<br>O valor do frete (R$) do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o valor do frete (R$) do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o valor do frete (R$) do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.<br>Tamanho: 17,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.<br>Observação:<br>Apenas quando a declaração vinculada for uma Duimp. + * @return valorFreteReal **/ - @JsonProperty("valorFreteMoedaDeclaracao") - public BigDecimal getValorFreteMoedaDeclaracao() { - return valorFreteMoedaDeclaracao; + @JsonProperty("valorFreteReal") + public BigDecimal getValorFreteReal() { + return valorFreteReal; } - public void setValorFreteMoedaDeclaracao(BigDecimal valorFreteMoedaDeclaracao) { - this.valorFreteMoedaDeclaracao = valorFreteMoedaDeclaracao; + public void setValorFreteReal(BigDecimal valorFreteReal) { + this.valorFreteReal = valorFreteReal; } - public DeclaracaoVinculada valorFreteMoedaDeclaracao(BigDecimal valorFreteMoedaDeclaracao) { - this.valorFreteMoedaDeclaracao = valorFreteMoedaDeclaracao; + public DeclaracaoVinculada valorFreteReal(BigDecimal valorFreteReal) { + this.valorFreteReal = valorFreteReal; return this; } /** - * Valor do Seguro na Moeda Negociada do Item da Declaração Vinculada.<br>Tamanho: 17,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.<br>Observação:<br>Apenas quando a declaração vinculada for uma Duimp. - * @return valorSeguroMoedaDeclaracao + * Valor do seguro (R$) do item.<br>O valor do seguro (R$) item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o seguro foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o valor do seguro (R$) do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o valor do seguro (R$) do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.<br>Tamanho: 17,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. + * @return valorSeguroReal **/ - @JsonProperty("valorSeguroMoedaDeclaracao") - public BigDecimal getValorSeguroMoedaDeclaracao() { - return valorSeguroMoedaDeclaracao; + @JsonProperty("valorSeguroReal") + public BigDecimal getValorSeguroReal() { + return valorSeguroReal; } - public void setValorSeguroMoedaDeclaracao(BigDecimal valorSeguroMoedaDeclaracao) { - this.valorSeguroMoedaDeclaracao = valorSeguroMoedaDeclaracao; + public void setValorSeguroReal(BigDecimal valorSeguroReal) { + this.valorSeguroReal = valorSeguroReal; } - public DeclaracaoVinculada valorSeguroMoedaDeclaracao(BigDecimal valorSeguroMoedaDeclaracao) { - this.valorSeguroMoedaDeclaracao = valorSeguroMoedaDeclaracao; + public DeclaracaoVinculada valorSeguroReal(BigDecimal valorSeguroReal) { + this.valorSeguroReal = valorSeguroReal; return this; } /** - * Unidade de Medida Estatística (UME) do item da Declaração Vinculada.<br>Tamanho mínimo: 1<br>Tamanho máximo: 30<br>Observação:<br>Apenas quando a declaração vinculada for uma Duimp. + * Unidade de medida estatística (UME) do item.<br>A unidade de medida estatística (UME) do item do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: unidade de medida estatística do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou unidade de medida estatística do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho<br>Tamanho mínimo: 1<br>Tamanho máximo: 30 * @return unidadeMedidaEstatistica **/ @JsonProperty("unidadeMedidaEstatistica") @@ -366,7 +441,7 @@ public DeclaracaoVinculada unidadeMedidaEstatistica(String unidadeMedidaEstatist } /** - * Quantidade da Mercadoria na Unidade de Medida Estatística do Item da Declaração Vinculada.<br>Tamanho: 16,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.<br>Observação:<br>Apenas quando a declaração vinculada for uma Duimp. + * Quantidade na unidade estatística do item.<br>A quantidade na unidade estatística do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: quantidade na unidade estatística do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou quantidade na unidade estatística do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.<br>Tamanho: 16,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto. * @return qtdMercadoriaUnidadeEstatistica **/ @JsonProperty("qtdMercadoriaUnidadeEstatistica") @@ -465,12 +540,15 @@ public String toString() { sb.append("class DeclaracaoVinculada {\n"); sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); - sb.append(" numero: ").append(toIndentedString(numero)).append("\n"); - sb.append(" versao: ").append(toIndentedString(versao)).append("\n"); + sb.append(" numeroDeclaracaoVinculada: ").append(toIndentedString(numeroDeclaracaoVinculada)).append("\n"); + sb.append(" versaoDeclaracaoVinculada: ").append(toIndentedString(versaoDeclaracaoVinculada)).append("\n"); + sb.append(" numeroDeclaracaoOriginal: ").append(toIndentedString(numeroDeclaracaoOriginal)).append("\n"); + sb.append(" versaoDeclaracaoOriginal: ").append(toIndentedString(versaoDeclaracaoOriginal)).append("\n"); + sb.append(" numeroItemDeclaracaoOriginal: ").append(toIndentedString(numeroItemDeclaracaoOriginal)).append("\n"); sb.append(" dataHoraRegistro: ").append(toIndentedString(dataHoraRegistro)).append("\n"); - sb.append(" numeroItem: ").append(toIndentedString(numeroItem)).append("\n"); - sb.append(" valorFreteMoedaDeclaracao: ").append(toIndentedString(valorFreteMoedaDeclaracao)).append("\n"); - sb.append(" valorSeguroMoedaDeclaracao: ").append(toIndentedString(valorSeguroMoedaDeclaracao)).append("\n"); + sb.append(" numeroItemDeclaracaoVinculada: ").append(toIndentedString(numeroItemDeclaracaoVinculada)).append("\n"); + sb.append(" valorFreteReal: ").append(toIndentedString(valorFreteReal)).append("\n"); + sb.append(" valorSeguroReal: ").append(toIndentedString(valorSeguroReal)).append("\n"); sb.append(" unidadeMedidaEstatistica: ").append(toIndentedString(unidadeMedidaEstatistica)).append("\n"); sb.append(" qtdMercadoriaUnidadeEstatistica: ").append(toIndentedString(qtdMercadoriaUnidadeEstatistica)).append("\n"); sb.append(" itemCodigoRegime: ").append(toIndentedString(itemCodigoRegime)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp/model/SituaoDaDuimpObjetoCompostoPelosAtributosCdigoEDescrio.java b/src/main/java/br/gov/siscomex/portalunico/duimp/model/SituaoDaDuimpObjetoCompostoPelosAtributosCdigoEDescrio.java index 129efaa..19e4f6b 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp/model/SituaoDaDuimpObjetoCompostoPelosAtributosCdigoEDescrio.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp/model/SituaoDaDuimpObjetoCompostoPelosAtributosCdigoEDescrio.java @@ -18,9 +18,9 @@ public class SituaoDaDuimpObjetoCompostoPelosAtributosCdigoEDescrio { @XmlElement(name="codigo") - @ApiModelProperty(example = "11", value = "Situação da versão vigente da Duimp.:
Dominio:
00 - Em elaboração.
02 - Em elaboração. Aguardando Resposta da Vinculação de Carga
04 - Em elaboração. Aguardando Resposta do PCCE
05 - Em elaboração. Aguardando Resposta da Desvinculação de Carga
11 - Registrada. Aguardando Resultado da Análise de Risco
12 - Registrada. Aguardando Resultado da Análise de Risco (Retificação)
13 - Registrada. Análise de Risco Recebida
31 - Em Conferência
33 - Em Conferência. Pendente de Análise de Risco
37 - Em Conferência. Pendente de Análise do Responsável
40 - Desembaraçada. Aguardando Chegada da Carga ou Cumprimento de Tributos Estaduais
42 - Desembaraçada. Aguardando Entrega da Carga
43 - Desembaraçada. Carga Entregue
50 - Entrega Antecipada Autorizada. Aguardando Chegada da Carga ou Cumprimento de Tributos Estaduais
52 - Entrega Antecipada Autorizada. Aguardando Entrega da Carga
53 - Entrega Antecipada Autorizada. Carga Entregue
60 - Solicitação de Retificação em Elaboração.
62 - Solicitação de Retificação em Elaboração. Aguardando Resposta da Vinculação de Carga
63 - Solicitação de Retificação em Elaboração. Aguardando Resposta da Desvinculação de Carga Antiga
64 - Solicitação de Retificação em Elaboração. Aguardando Resposta do PCCE
65 - Solicitação de Retificação em Elaboração. Aguardando Resposta da Desvinculação de Carga Nova
80 - Cancelada. Por Apuração Especial
82 - Cancelada. Pela Aduana a pedido do importador") + @ApiModelProperty(example = "11", value = "Situação da versão vigente da Duimp.:
Dominio:
11 - Registrada. Aguardando Resultado da Análise de Risco
12 - Registrada. Aguardando Resultado da Análise de Risco
31 - Em Conferência
36 - Em Conferência. Pendente de Análise de Risco
37 - Em Conferência. Pendente de Análise do Responsável
40 - Desembaraçada. Aguardando Cumprimento de Tributos Estaduais
42 - Desembaraçada. Aguardando Entrega da Carga
43 - Desembaraçada. Carga Entregue
50 - Entrega Antecipada Autorizada. Aguardando Cumprimento de Tributos Estaduais
52 - Entrega Antecipada Autorizada. Aguardando Entrega da Carga
53 - Entrega Antecipada Autorizada. Carga Entregue
80 - Cancelada. Por Apuração Especial
82 - Cancelada. Pela Aduana a pedido do importador") /** - * Situação da versão vigente da Duimp.:
Dominio:
00 - Em elaboração.
02 - Em elaboração. Aguardando Resposta da Vinculação de Carga
04 - Em elaboração. Aguardando Resposta do PCCE
05 - Em elaboração. Aguardando Resposta da Desvinculação de Carga
11 - Registrada. Aguardando Resultado da Análise de Risco
12 - Registrada. Aguardando Resultado da Análise de Risco (Retificação)
13 - Registrada. Análise de Risco Recebida
31 - Em Conferência
33 - Em Conferência. Pendente de Análise de Risco
37 - Em Conferência. Pendente de Análise do Responsável
40 - Desembaraçada. Aguardando Chegada da Carga ou Cumprimento de Tributos Estaduais
42 - Desembaraçada. Aguardando Entrega da Carga
43 - Desembaraçada. Carga Entregue
50 - Entrega Antecipada Autorizada. Aguardando Chegada da Carga ou Cumprimento de Tributos Estaduais
52 - Entrega Antecipada Autorizada. Aguardando Entrega da Carga
53 - Entrega Antecipada Autorizada. Carga Entregue
60 - Solicitação de Retificação em Elaboração.
62 - Solicitação de Retificação em Elaboração. Aguardando Resposta da Vinculação de Carga
63 - Solicitação de Retificação em Elaboração. Aguardando Resposta da Desvinculação de Carga Antiga
64 - Solicitação de Retificação em Elaboração. Aguardando Resposta do PCCE
65 - Solicitação de Retificação em Elaboração. Aguardando Resposta da Desvinculação de Carga Nova
80 - Cancelada. Por Apuração Especial
82 - Cancelada. Pela Aduana a pedido do importador + * Situação da versão vigente da Duimp.:
Dominio:
11 - Registrada. Aguardando Resultado da Análise de Risco
12 - Registrada. Aguardando Resultado da Análise de Risco
31 - Em Conferência
36 - Em Conferência. Pendente de Análise de Risco
37 - Em Conferência. Pendente de Análise do Responsável
40 - Desembaraçada. Aguardando Cumprimento de Tributos Estaduais
42 - Desembaraçada. Aguardando Entrega da Carga
43 - Desembaraçada. Carga Entregue
50 - Entrega Antecipada Autorizada. Aguardando Cumprimento de Tributos Estaduais
52 - Entrega Antecipada Autorizada. Aguardando Entrega da Carga
53 - Entrega Antecipada Autorizada. Carga Entregue
80 - Cancelada. Por Apuração Especial
82 - Cancelada. Pela Aduana a pedido do importador **/ private String codigo = null; @@ -31,7 +31,7 @@ public class SituaoDaDuimpObjetoCompostoPelosAtributosCdigoEDescrio { **/ private String descricao = null; /** - * Situação da versão vigente da Duimp.:<br>Dominio: <br>00 - Em elaboração.<br>02 - Em elaboração. Aguardando Resposta da Vinculação de Carga<br>04 - Em elaboração. Aguardando Resposta do PCCE<br>05 - Em elaboração. Aguardando Resposta da Desvinculação de Carga<br>11 - Registrada. Aguardando Resultado da Análise de Risco<br>12 - Registrada. Aguardando Resultado da Análise de Risco (Retificação)<br>13 - Registrada. Análise de Risco Recebida<br>31 - Em Conferência<br>33 - Em Conferência. Pendente de Análise de Risco<br>37 - Em Conferência. Pendente de Análise do Responsável<br>40 - Desembaraçada. Aguardando Chegada da Carga ou Cumprimento de Tributos Estaduais<br>42 - Desembaraçada. Aguardando Entrega da Carga<br>43 - Desembaraçada. Carga Entregue<br>50 - Entrega Antecipada Autorizada. Aguardando Chegada da Carga ou Cumprimento de Tributos Estaduais<br>52 - Entrega Antecipada Autorizada. Aguardando Entrega da Carga<br>53 - Entrega Antecipada Autorizada. Carga Entregue<br>60 - Solicitação de Retificação em Elaboração.<br>62 - Solicitação de Retificação em Elaboração. Aguardando Resposta da Vinculação de Carga<br>63 - Solicitação de Retificação em Elaboração. Aguardando Resposta da Desvinculação de Carga Antiga<br>64 - Solicitação de Retificação em Elaboração. Aguardando Resposta do PCCE<br>65 - Solicitação de Retificação em Elaboração. Aguardando Resposta da Desvinculação de Carga Nova<br>80 - Cancelada. Por Apuração Especial<br>82 - Cancelada. Pela Aduana a pedido do importador + * Situação da versão vigente da Duimp.:<br>Dominio: <br>11 - Registrada. Aguardando Resultado da Análise de Risco<br>12 - Registrada. Aguardando Resultado da Análise de Risco<br>31 - Em Conferência<br>36 - Em Conferência. Pendente de Análise de Risco<br>37 - Em Conferência. Pendente de Análise do Responsável<br>40 - Desembaraçada. Aguardando Cumprimento de Tributos Estaduais<br>42 - Desembaraçada. Aguardando Entrega da Carga<br>43 - Desembaraçada. Carga Entregue<br>50 - Entrega Antecipada Autorizada. Aguardando Cumprimento de Tributos Estaduais<br>52 - Entrega Antecipada Autorizada. Aguardando Entrega da Carga<br>53 - Entrega Antecipada Autorizada. Carga Entregue<br>80 - Cancelada. Por Apuração Especial<br>82 - Cancelada. Pela Aduana a pedido do importador * @return codigo **/ @JsonProperty("codigo") diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/ChaveDeAcessoApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/ChaveDeAcessoApi.java index ab30ddf..eddd6d8 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/ChaveDeAcessoApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/ChaveDeAcessoApi.java @@ -40,14 +40,14 @@ public interface ChaveDeAcessoApi { @Path("/ext/duimp/chaves-acesso/importadores/{ni-importador}") @Produces({ "application/json" }) @ApiOperation(value = "Recuperar chave de acesso de lista de Duimp a partir de um importador.", notes = "Use esta funcionalidade para recuperar os dados relativos a chave de acesso do importador em um determinado período.", tags={ "Chave de acesso" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DuimpChaveCover.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") }) - public Response buscarChavesPorImportador(@ApiParam(value = "NI do importador.",required=true) @PathParam("ni-importador") String niImportador, @NotNull @ApiParam(value = "Data inicial da pesquisa.",required=true) @QueryParam("data-inicio") String dataInicio, @NotNull @ApiParam(value = "Data final da pesquisa.",required=true) @QueryParam("data-termino") String dataTermino, @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 = "") @QueryParam("offset") Object offset, @ApiParam(value = "", defaultValue="100") @DefaultValue("100") @QueryParam("limit") String limit); + public Response buscarChavesPorImportador(@ApiParam(value = "NI do importador.",required=true) @PathParam("ni-importador") String niImportador, @NotNull @ApiParam(value = "Data inicial da pesquisa.",required=true) @QueryParam("data-inicio") String dataInicio, @NotNull @ApiParam(value = "Data final da pesquisa.",required=true) @QueryParam("data-termino") String dataTermino, @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 = "", defaultValue="0") @DefaultValue("0") @QueryParam("offset") Object offset, @ApiParam(value = "", defaultValue="100") @DefaultValue("100") @QueryParam("limit") String limit); /** * Recuperar as chaves de acesso de uma lista de Duimp. diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/DadosGeraisDaDuimpApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/DadosGeraisDaDuimpApi.java index eac4d28..4e9abe7 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/DadosGeraisDaDuimpApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/DadosGeraisDaDuimpApi.java @@ -45,7 +45,7 @@ public interface DadosGeraisDaDuimpApi { @Consumes({ "*/*" }) @Produces({ "application/json" }) @ApiOperation(value = "Atualizar dados gerais da Duimp para registro ou retificação.", notes = "Use esta funcionalidade para atualizar os dados gerais de uma Duimp que já foi salva tanto para registro quanto para retificação.", tags={ "Dados gerais da Duimp" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = RespostaApi.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"), diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/ItensDaDuimpApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/ItensDaDuimpApi.java index 886e0a8..94e98e7 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/ItensDaDuimpApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/ItensDaDuimpApi.java @@ -15,6 +15,7 @@ import javax.validation.Valid; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; +import javax.ws.rs.DefaultValue; import javax.ws.rs.GET; import javax.ws.rs.HeaderParam; import javax.ws.rs.POST; @@ -47,7 +48,7 @@ public interface ItensDaDuimpApi { @Consumes({ "application/json" }) @Produces({ "application/json" }) @ApiOperation(value = "Atualizar dados dos itens da Duimp para registro ou retificação.", notes = "Use esta funcionalidade para atualizar os dados dos itens de uma Duimp que já teve seus dados gerais salvos tanto para registro quanto para retificação da declaração.
Tamanho: Podem ser enviados até 100 itens por requisição.
Para enviar mais de 100 itens, basta envir os itens restantes em novas requisições.", tags={ "Itens da Duimp" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = RespostaApiItens.class), @ApiResponse(code = 207, message = "Operação com múltiplos resultados. Resultados individuais devem ser observados no corpo da resposta da requisição", response = RespostaApiItens.class), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), @@ -112,7 +113,7 @@ public interface ItensDaDuimpApi { @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") }) - public Response consultarItensDuimp(@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 númericos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter númerico. DV para todos os demais caracteres numéricos (Módulo 11)",required=true) @PathParam("numero-duimp") String numeroDuimp, @ApiParam(value = "Versão vigente da Duimp.
Valor mínimo: 1
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, @ApiParam(value = "Número do primeiro item da Duimp que será retornado na relação de itens.
Valor mínimo: 1
Valor máximo: 99999") @QueryParam("inicial") Object inicial, @ApiParam(value = "Quantidade máxima de itens que pode ser retornada.
Valor mínimo: 1
Valor máximo: 100") @QueryParam("tamanho") Object tamanho); + public Response consultarItensDuimp(@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 númericos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter númerico. DV para todos os demais caracteres numéricos (Módulo 11)",required=true) @PathParam("numero-duimp") String numeroDuimp, @ApiParam(value = "Versão vigente da Duimp.
Valor mínimo: 1
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, @ApiParam(value = "Número do primeiro item da Duimp que será retornado na relação de itens.
Valor mínimo: 1
Valor máximo: 99999", defaultValue="1") @DefaultValue("1") @QueryParam("inicial") Object inicial, @ApiParam(value = "Quantidade máxima de itens que pode ser retornada.
Valor mínimo: 1
Valor máximo: 100", defaultValue="100") @DefaultValue("100") @QueryParam("tamanho") Object tamanho); /** * Excluir dados dos itens da Duimp para registro ou retificação. diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/ModelosDaDuimpApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/ModelosDaDuimpApi.java index b74a6b4..41976c6 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/ModelosDaDuimpApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/ModelosDaDuimpApi.java @@ -39,7 +39,7 @@ public interface ModelosDaDuimpApi { @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 = { + @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"), diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/RegistroEDiagnsticoApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/RegistroEDiagnsticoApi.java index b18c2c8..376e0af 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/RegistroEDiagnsticoApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/api/RegistroEDiagnsticoApi.java @@ -40,7 +40,7 @@ public interface RegistroEDiagnsticoApi { @Consumes({ "*/*" }) @Produces({ "application/json" }) @ApiOperation(value = "Solicitar o diagnóstico da Duimp para registro ou retificação", notes = "Use esta funcionalidade para solicitar o diagnóstico de uma Duimp em rascunho ou uma solicitação de retificação em rascunho.

No caso de solicitação recebida com sucesso, você receberá como retorno a informação de que a sua solicitação está em processamento. O resultado do diagnóstico solicitado será recebido via notificação push.

Os eventos de notificação push da API Duimp Intervenientes Privados podem ser consultados na documentação de API do Pucomex, no seguinte endereço: Eventos da Duimp

Para mais esclarecimentos sobre como realizar a assinatura dos eventos, verificar a ocorrência de falhas na notificação e outras operações envolvendo a notificação de eventos, acessar o seguinte endereço: Documentação sobre Webhooks

", tags={ "Registro e Diagnóstico" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 201, message = "Operação realizada com sucesso", response = RespostaApiDiagnosticoRegistro.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"), diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CaracterizacaoImportacaoConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CaracterizacaoImportacaoConsultaItemCover.java index 59a5877..d68b105 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CaracterizacaoImportacaoConsultaItemCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CaracterizacaoImportacaoConsultaItemCover.java @@ -36,7 +36,11 @@ public enum IndicadorEnum { @XmlEnumValue("IMPORTACAO_POR_CONTA_E_ORDEM") @JsonProperty("IMPORTACAO_POR_CONTA_E_ORDEM") - POR_CONTA_E_ORDEM(String.valueOf("IMPORTACAO_POR_CONTA_E_ORDEM")); + POR_CONTA_E_ORDEM(String.valueOf("IMPORTACAO_POR_CONTA_E_ORDEM")), + + @XmlEnumValue("IMPORTACAO_POR_ENCOMENDA") + @JsonProperty("IMPORTACAO_POR_ENCOMENDA") + POR_ENCOMENDA(String.valueOf("IMPORTACAO_POR_ENCOMENDA")); private String value; @@ -72,9 +76,9 @@ public static IndicadorEnum fromValue(String v) { private IndicadorEnum indicador = null; @XmlElement(name="ni") - @ApiModelProperty(example = "00000000000191", value = "CNPJ do adquirente.
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Observação: Este atributo é informado apenas quando selecionada a opção 'IMPORTACAO_POR_CONTA_E_ORDEM'") + @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.
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Observação: Este atributo é informado apenas quando selecionada a opção 'IMPORTACAO_POR_CONTA_E_ORDEM' + * 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; /** @@ -100,7 +104,7 @@ public CaracterizacaoImportacaoConsultaItemCover indicador(IndicadorEnum indicad } /** - * CNPJ do adquirente.<br>Tamanho: 14<br>Formato: 'NNNNNNNNNNNNNN'<br>Observação: Este atributo é informado apenas quando selecionada a opção 'IMPORTACAO_POR_CONTA_E_ORDEM' + * 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") diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CaracterizacaoImportacaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CaracterizacaoImportacaoCover.java index f9ea237..22a743e 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CaracterizacaoImportacaoCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CaracterizacaoImportacaoCover.java @@ -36,7 +36,11 @@ public enum IndicadorEnum { @XmlEnumValue("IMPORTACAO_POR_CONTA_E_ORDEM") @JsonProperty("IMPORTACAO_POR_CONTA_E_ORDEM") - POR_CONTA_E_ORDEM(String.valueOf("IMPORTACAO_POR_CONTA_E_ORDEM")); + POR_CONTA_E_ORDEM(String.valueOf("IMPORTACAO_POR_CONTA_E_ORDEM")), + + @XmlEnumValue("IMPORTACAO_POR_ENCOMENDA") + @JsonProperty("IMPORTACAO_POR_ENCOMENDA") + POR_ENCOMENDA(String.valueOf("IMPORTACAO_POR_ENCOMENDA")); private String value; @@ -72,9 +76,9 @@ public static IndicadorEnum fromValue(String v) { private IndicadorEnum indicador = null; @XmlElement(name="ni") - @ApiModelProperty(example = "00000000000191", value = "CNPJ do adquirente.
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Observação: Este atributo é informado apenas quando selecionada a opção 'IMPORTACAO_POR_CONTA_E_ORDEM'") + @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.
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Observação: Este atributo é informado apenas quando selecionada a opção 'IMPORTACAO_POR_CONTA_E_ORDEM' + * 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; /** @@ -100,7 +104,7 @@ public CaracterizacaoImportacaoCover indicador(IndicadorEnum indicador) { } /** - * CNPJ do adquirente.<br>Tamanho: 14<br>Formato: 'NNNNNNNNNNNNNN'<br>Observação: Este atributo é informado apenas quando selecionada a opção 'IMPORTACAO_POR_CONTA_E_ORDEM' + * 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") diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CargaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CargaCover.java index d0e8296..fcc8e72 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CargaCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CargaCover.java @@ -25,9 +25,9 @@ public class CargaCover { @XmlElement(name="identificacao") - @ApiModelProperty(value = "Número de Identificação da Carga.
Tamanho: 15
Formato: NNNNNNNNNNNNNNN
Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo") + @ApiModelProperty(value = "Número de Identificação da Carga.
Tamanho: 15
Formato: NNNNNNNNNNNNNNN
Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11
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.
Tamanho: 15
Formato: NNNNNNNNNNNNNNN
Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + * Número de Identificação da Carga.
Tamanho: 15
Formato: NNNNNNNNNNNNNNN
Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11
Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo **/ private String identificacao = null; @@ -48,7 +48,7 @@ public class CargaCover { @Valid private SeguroCover seguro = null; /** - * Número de Identificação da Carga.<br>Tamanho: 15<br>Formato: NNNNNNNNNNNNNNN<br>Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + * Número de Identificação da Carga.<br>Tamanho: 15<br>Formato: NNNNNNNNNNNNNNN<br>Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11<br>Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo * @return identificacao **/ @JsonProperty("identificacao") diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CargaDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CargaDuimpConsultaCover.java index d3e52bd..bdb9f44 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CargaDuimpConsultaCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/CargaDuimpConsultaCover.java @@ -31,9 +31,9 @@ public class CargaDuimpConsultaCover { private UnidadeDeclaradaCover unidadeDeclarada = null; @XmlElement(name="identificacao") - @ApiModelProperty(example = "132105000002800", value = "Número de Identificação da Carga.
Tamanho: 15
Formato: NNNNNNNNNNNNNNN
Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo") + @ApiModelProperty(example = "132105000002800", value = "Número de Identificação da Carga.
Tamanho: 15
Formato: NNNNNNNNNNNNNNN
Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11
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.
Tamanho: 15
Formato: NNNNNNNNNNNNNNN
Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + * Número de Identificação da Carga.
Tamanho: 15
Formato: NNNNNNNNNNNNNNN
Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11
Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo **/ private String identificacao = null; @@ -134,7 +134,7 @@ public CargaDuimpConsultaCover unidadeDeclarada(UnidadeDeclaradaCover unidadeDec } /** - * Número de Identificação da Carga.<br>Tamanho: 15<br>Formato: NNNNNNNNNNNNNNN<br>Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo + * Número de Identificação da Carga.<br>Tamanho: 15<br>Formato: NNNNNNNNNNNNNNN<br>Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11<br>Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo * @return identificacao **/ @JsonProperty("identificacao") diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/DeclaracaoVinculadaCoverConsulta.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/DeclaracaoVinculadaCoverConsulta.java index 558616a..9399cad 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/DeclaracaoVinculadaCoverConsulta.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/DeclaracaoVinculadaCoverConsulta.java @@ -16,7 +16,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DeclaracaoVinculadaCoverConsulta", propOrder = - { "tipo", "numero", "versao", "dataRegistro", "item" + { "tipo", "numeroDeclaracaoVinculada", "versaoDeclaracaoVinculada", "dataRegistro", "numeroDeclaracaoOriginal", "versaoDeclaracaoOriginal", "numeroItemDeclaracaoOriginal", "item" }) @XmlRootElement(name="DeclaracaoVinculadaCoverConsulta") @@ -80,27 +80,48 @@ public static TipoEnum fromValue(String v) { **/ private TipoEnum tipo = null; - @XmlElement(name="numero") + @XmlElement(name="numeroDeclaracaoVinculada") @ApiModelProperty(example = "23BR00001010550", value = "Número da Declaração.
Tamanho mínimo: 1
Tamanho máximo: 16") /** * Número da Declaração.
Tamanho mínimo: 1
Tamanho máximo: 16 **/ - private String numero = null; + private String numeroDeclaracaoVinculada = null; - @XmlElement(name="versao") - @ApiModelProperty(example = "1", value = "Versão da declaração vinculada, quando o tipo for 'Duimp'. Para os demais tipos, esse atributo será fornecido com o valor nulo") + @XmlElement(name="versaoDeclaracaoVinculada") + @ApiModelProperty(example = "1", value = "Versão da declaração vinculada vigente no registro da Duimp consultada. Este atributo é informado apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo") /** - * Versão da declaração vinculada, quando o tipo for 'Duimp'. Para os demais tipos, esse atributo será fornecido com o valor nulo + * Versão da declaração vinculada vigente no registro da Duimp consultada. Este atributo é informado apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo **/ - private String versao = null; + private String versaoDeclaracaoVinculada = null; @XmlElement(name="dataRegistro") - @ApiModelProperty(value = "Data de registro da declaração vinculada, quando o tipo for 'Duimp'. Para os demais tipos, esse atributo será fornecido com o valor nulo.") + @ApiModelProperty(value = "Data de Registro
A data de registro é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: a data/hora de registro da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou a data/hora de registro da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho") /** - * Data de registro da declaração vinculada, quando o tipo for 'Duimp'. Para os demais tipos, esse atributo será fornecido com o valor nulo. + * Data de Registro
A data de registro é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: a data/hora de registro da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou a data/hora de registro da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho **/ private OffsetDateTime dataRegistro = null; + @XmlElement(name="numeroDeclaracaoOriginal") + @ApiModelProperty(example = "23BR00001010550", value = "Número da declaração original relacionada à declaração vinculada.
O número da declaração original é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o número da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o número da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
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 númericos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter númerico. DV para todos os demais caracteres numéricos (Módulo 11)") + /** + * Número da declaração original relacionada à declaração vinculada.
O número da declaração original é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o número da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o número da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
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 númericos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter númerico. DV para todos os demais caracteres numéricos (Módulo 11) + **/ + private String numeroDeclaracaoOriginal = null; + + @XmlElement(name="versaoDeclaracaoOriginal") + @ApiModelProperty(example = "1", value = "Versão da declaração original relacionada à declaração vinculada.
A versão da declaração original é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: a versão da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou a versão da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.") + /** + * Versão da declaração original relacionada à declaração vinculada.
A versão da declaração original é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: a versão da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou a versão da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho. + **/ + private String versaoDeclaracaoOriginal = null; + + @XmlElement(name="numeroItemDeclaracaoOriginal") + @ApiModelProperty(example = "10001", value = "Item da declaração original relacionada à declaração vinculada.
O número do item original é informado apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o número do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o número do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
Valor mínimo: 1
Valor máximo: 99999") + /** + * Item da declaração original relacionada à declaração vinculada.
O número do item original é informado apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o número do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o número do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.
Valor mínimo: 1
Valor máximo: 99999 + **/ + private Integer numeroItemDeclaracaoOriginal = null; + @XmlElement(name="item") @ApiModelProperty(value = "") @Valid @@ -128,42 +149,42 @@ public DeclaracaoVinculadaCoverConsulta tipo(TipoEnum tipo) { /** * Número da Declaração.<br>Tamanho mínimo: 1<br>Tamanho máximo: 16 - * @return numero + * @return numeroDeclaracaoVinculada **/ - @JsonProperty("numero") - public String getNumero() { - return numero; + @JsonProperty("numeroDeclaracaoVinculada") + public String getNumeroDeclaracaoVinculada() { + return numeroDeclaracaoVinculada; } - public void setNumero(String numero) { - this.numero = numero; + public void setNumeroDeclaracaoVinculada(String numeroDeclaracaoVinculada) { + this.numeroDeclaracaoVinculada = numeroDeclaracaoVinculada; } - public DeclaracaoVinculadaCoverConsulta numero(String numero) { - this.numero = numero; + public DeclaracaoVinculadaCoverConsulta numeroDeclaracaoVinculada(String numeroDeclaracaoVinculada) { + this.numeroDeclaracaoVinculada = numeroDeclaracaoVinculada; return this; } /** - * Versão da declaração vinculada, quando o tipo for 'Duimp'. Para os demais tipos, esse atributo será fornecido com o valor nulo - * @return versao + * Versão da declaração vinculada vigente no registro da Duimp consultada. Este atributo é informado apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo + * @return versaoDeclaracaoVinculada **/ - @JsonProperty("versao") - public String getVersao() { - return versao; + @JsonProperty("versaoDeclaracaoVinculada") + public String getVersaoDeclaracaoVinculada() { + return versaoDeclaracaoVinculada; } - public void setVersao(String versao) { - this.versao = versao; + public void setVersaoDeclaracaoVinculada(String versaoDeclaracaoVinculada) { + this.versaoDeclaracaoVinculada = versaoDeclaracaoVinculada; } - public DeclaracaoVinculadaCoverConsulta versao(String versao) { - this.versao = versao; + public DeclaracaoVinculadaCoverConsulta versaoDeclaracaoVinculada(String versaoDeclaracaoVinculada) { + this.versaoDeclaracaoVinculada = versaoDeclaracaoVinculada; return this; } /** - * Data de registro da declaração vinculada, quando o tipo for 'Duimp'. Para os demais tipos, esse atributo será fornecido com o valor nulo. + * Data de Registro<br>A data de registro é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: a data/hora de registro da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou a data/hora de registro da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho * @return dataRegistro **/ @JsonProperty("dataRegistro") @@ -180,6 +201,60 @@ public DeclaracaoVinculadaCoverConsulta dataRegistro(OffsetDateTime dataRegistro return this; } + /** + * Número da declaração original relacionada à declaração vinculada.<br>O número da declaração original é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o número da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o número da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.<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 númericos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter númerico. DV para todos os demais caracteres numéricos (Módulo 11) + * @return numeroDeclaracaoOriginal + **/ + @JsonProperty("numeroDeclaracaoOriginal") + public String getNumeroDeclaracaoOriginal() { + return numeroDeclaracaoOriginal; + } + + public void setNumeroDeclaracaoOriginal(String numeroDeclaracaoOriginal) { + this.numeroDeclaracaoOriginal = numeroDeclaracaoOriginal; + } + + public DeclaracaoVinculadaCoverConsulta numeroDeclaracaoOriginal(String numeroDeclaracaoOriginal) { + this.numeroDeclaracaoOriginal = numeroDeclaracaoOriginal; + return this; + } + + /** + * Versão da declaração original relacionada à declaração vinculada.<br>A versão da declaração original é informada apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: a versão da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou a versão da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho. + * @return versaoDeclaracaoOriginal + **/ + @JsonProperty("versaoDeclaracaoOriginal") + public String getVersaoDeclaracaoOriginal() { + return versaoDeclaracaoOriginal; + } + + public void setVersaoDeclaracaoOriginal(String versaoDeclaracaoOriginal) { + this.versaoDeclaracaoOriginal = versaoDeclaracaoOriginal; + } + + public DeclaracaoVinculadaCoverConsulta versaoDeclaracaoOriginal(String versaoDeclaracaoOriginal) { + this.versaoDeclaracaoOriginal = versaoDeclaracaoOriginal; + return this; + } + + /** + * Item da declaração original relacionada à declaração vinculada.<br>O número do item original é informado apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o número do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o número do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.<br>Valor mínimo: 1<br>Valor máximo: 99999 + * @return numeroItemDeclaracaoOriginal + **/ + @JsonProperty("numeroItemDeclaracaoOriginal") + public Integer getNumeroItemDeclaracaoOriginal() { + return numeroItemDeclaracaoOriginal; + } + + public void setNumeroItemDeclaracaoOriginal(Integer numeroItemDeclaracaoOriginal) { + this.numeroItemDeclaracaoOriginal = numeroItemDeclaracaoOriginal; + } + + public DeclaracaoVinculadaCoverConsulta numeroItemDeclaracaoOriginal(Integer numeroItemDeclaracaoOriginal) { + this.numeroItemDeclaracaoOriginal = numeroItemDeclaracaoOriginal; + return this; + } + /** * Get item * @return item @@ -205,9 +280,12 @@ public String toString() { sb.append("class DeclaracaoVinculadaCoverConsulta {\n"); sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); - sb.append(" numero: ").append(toIndentedString(numero)).append("\n"); - sb.append(" versao: ").append(toIndentedString(versao)).append("\n"); + sb.append(" numeroDeclaracaoVinculada: ").append(toIndentedString(numeroDeclaracaoVinculada)).append("\n"); + sb.append(" versaoDeclaracaoVinculada: ").append(toIndentedString(versaoDeclaracaoVinculada)).append("\n"); sb.append(" dataRegistro: ").append(toIndentedString(dataRegistro)).append("\n"); + sb.append(" numeroDeclaracaoOriginal: ").append(toIndentedString(numeroDeclaracaoOriginal)).append("\n"); + sb.append(" versaoDeclaracaoOriginal: ").append(toIndentedString(versaoDeclaracaoOriginal)).append("\n"); + sb.append(" numeroItemDeclaracaoOriginal: ").append(toIndentedString(numeroItemDeclaracaoOriginal)).append("\n"); sb.append(" item: ").append(toIndentedString(item)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/FreteItemDeclaracaoVinculadaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/FreteItemDeclaracaoVinculadaCover.java index 90ab242..339a733 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/FreteItemDeclaracaoVinculadaCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/FreteItemDeclaracaoVinculadaCover.java @@ -20,14 +20,14 @@ public class FreteItemDeclaracaoVinculadaCover { @XmlElement(name="valorBRL") - @ApiModelProperty(example = "10.53", value = "Valor do frete (R$) do item da declaração vinculada, quando o tipo for 'Duimp' E quando o frete foi calculado durante a elaboração/registro. Para os demais casos, esse atributo será fornecido com o valor nulo") + @ApiModelProperty(example = "10.53", value = "Valor do frete (R$) do item.
O valor do frete (R$) do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o valor do frete (R$) do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o valor do frete (R$) do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.") @Valid /** - * Valor do frete (R$) do item da declaração vinculada, quando o tipo for 'Duimp' E quando o frete foi calculado durante a elaboração/registro. Para os demais casos, esse atributo será fornecido com o valor nulo + * Valor do frete (R$) do item.
O valor do frete (R$) do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o valor do frete (R$) do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o valor do frete (R$) do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho. **/ private BigDecimal valorBRL = null; /** - * Valor do frete (R$) do item da declaração vinculada, quando o tipo for 'Duimp' E quando o frete foi calculado durante a elaboração/registro. Para os demais casos, esse atributo será fornecido com o valor nulo + * Valor do frete (R$) do item.<br>O valor do frete (R$) do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o valor do frete (R$) do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o valor do frete (R$) do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho. * @return valorBRL **/ @JsonProperty("valorBRL") diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/IncotermCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/IncotermCover.java index e8130e0..3f426e4 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/IncotermCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/IncotermCover.java @@ -7,8 +7,6 @@ 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; @@ -24,95 +22,12 @@ @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 { - -@XmlType(name="CodigoEnum") -@XmlEnum(String.class) -public enum CodigoEnum { - - @XmlEnumValue("EXW") - @JsonProperty("EXW") - EXW(String.valueOf("EXW")), - - @XmlEnumValue("FAS") - @JsonProperty("FAS") - FAS(String.valueOf("FAS")), - - @XmlEnumValue("FCA") - @JsonProperty("FCA") - FCA(String.valueOf("FCA")), - - @XmlEnumValue("FOB") - @JsonProperty("FOB") - FOB(String.valueOf("FOB")), - - @XmlEnumValue("OCV") - @JsonProperty("OCV") - OCV(String.valueOf("OCV")), - - @XmlEnumValue("C_F") - @JsonProperty("C_F") - C_F(String.valueOf("C_F")), - - @XmlEnumValue("CFR") - @JsonProperty("CFR") - CFR(String.valueOf("CFR")), - - @XmlEnumValue("CPT") - @JsonProperty("CPT") - CPT(String.valueOf("CPT")), - - @XmlEnumValue("C_I") - @JsonProperty("C_I") - C_I(String.valueOf("C_I")), - - @XmlEnumValue("DAT") - @JsonProperty("DAT") - DAT(String.valueOf("DAT")), - - @XmlEnumValue("CIF") - @JsonProperty("CIF") - CIF(String.valueOf("CIF")), - - @XmlEnumValue("CIP") - @JsonProperty("CIP") - CIP(String.valueOf("CIP")), - - @XmlEnumValue("DAP") - @JsonProperty("DAP") - DAP(String.valueOf("DAP")); - - - private 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 = "FOB", value = "Código da Condição de Venda (Código INCOTERM).
Tamanho: 3
Domínio:") + @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: + * 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 CodigoEnum codigo = null; + 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") @@ -121,22 +36,19 @@ public static CodigoEnum fromValue(String v) { **/ private String complemento = null; /** - * Código da Condição de Venda (Código INCOTERM).<br>Tamanho: 3<br>Domínio: + * 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() { - if (codigo == null) { - return null; - } - return codigo.value(); + return codigo; } - public void setCodigo(CodigoEnum codigo) { + public void setCodigo(String codigo) { this.codigo = codigo; } - public IncotermCover codigo(CodigoEnum codigo) { + public IncotermCover codigo(String codigo) { this.codigo = codigo; return this; } diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/IndicadorCompradorVendedorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/IndicadorCompradorVendedorCover.java index 22da000..a86aff5 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/IndicadorCompradorVendedorCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/IndicadorCompradorVendedorCover.java @@ -69,13 +69,13 @@ public static CodigoEnum fromValue(String v) { } @XmlElement(name="codigo", required = true) - @ApiModelProperty(example = "NAO_HA_VINCULACAO", required = true, value = "Código de vinculação comprador x vendedor.
Domínio:") + @ApiModelProperty(example = "NAO_HA_VINCULACAO", required = true, value = "Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.
Domínio:") /** - * Código de vinculação comprador x vendedor.
Domínio: + * Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.
Domínio: **/ private CodigoEnum codigo = null; /** - * Código de vinculação comprador x vendedor.<br>Domínio: + * Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.<br>Domínio: * @return codigo **/ @JsonProperty("codigo") diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ItemDeclaracaoVinculadaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ItemDeclaracaoVinculadaCover.java index b660af6..f308083 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ItemDeclaracaoVinculadaCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ItemDeclaracaoVinculadaCover.java @@ -13,18 +13,18 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ItemDeclaracaoVinculadaCover", propOrder = - { "numero", "frete", "seguro", "qtdUnidadeEstatistica", "ncm" + { "numeroItemDeclaracaoVinculada", "frete", "seguro", "qtdUnidadeEstatistica", "ncm" }) @XmlRootElement(name="ItemDeclaracaoVinculadaCover") public class ItemDeclaracaoVinculadaCover { - @XmlElement(name="numero") + @XmlElement(name="numeroItemDeclaracaoVinculada") @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 numero = null; + private Integer numeroItemDeclaracaoVinculada = null; @XmlElement(name="frete") @ApiModelProperty(value = "") @@ -37,34 +37,34 @@ public class ItemDeclaracaoVinculadaCover { private SeguroItemDeclaracaoVinculadaCover seguro = null; @XmlElement(name="qtdUnidadeEstatistica") - @ApiModelProperty(example = "10.53", value = "Quantidade na unidade estatística do item da declaração vinculada, quando o tipo for 'Duimp' E quando o frete/seguro foram calculados durante a elaboração/registro. Para os demais casos, esse atributo será fornecido com o valor nulo") + @ApiModelProperty(example = "10.53", value = "Quantidade na unidade estatística do item.
A quantidade na unidade estatística do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: quantidade na unidade estatística do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou quantidade na unidade estatística do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.") @Valid /** - * Quantidade na unidade estatística do item da declaração vinculada, quando o tipo for 'Duimp' E quando o frete/seguro foram calculados durante a elaboração/registro. Para os demais casos, esse atributo será fornecido com o valor nulo + * Quantidade na unidade estatística do item.
A quantidade na unidade estatística do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: quantidade na unidade estatística do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou quantidade na unidade estatística do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho. **/ private BigDecimal qtdUnidadeEstatistica = null; @XmlElement(name="ncm") - @ApiModelProperty(example = "02013000", value = "NCM do item da declaração vinculada, quando o tipo for 'Duimp'. Para os demais tipos, esse atributo será fornecido com o valor nulo") + @ApiModelProperty(example = "02013000", value = "NCM do item da Duimp informada como vinculada. Este atributo é informado apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo.") /** - * NCM do item da declaração vinculada, quando o tipo for 'Duimp'. Para os demais tipos, esse atributo será fornecido com o valor nulo + * NCM do item da Duimp informada como vinculada. Este atributo é informado apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. **/ private String ncm = null; /** * Número do item/adição da declaração.<br>Valor mínimo: 1<br>Valor máximo: 99999 - * @return numero + * @return numeroItemDeclaracaoVinculada **/ - @JsonProperty("numero") - public Integer getNumero() { - return numero; + @JsonProperty("numeroItemDeclaracaoVinculada") + public Integer getNumeroItemDeclaracaoVinculada() { + return numeroItemDeclaracaoVinculada; } - public void setNumero(Integer numero) { - this.numero = numero; + public void setNumeroItemDeclaracaoVinculada(Integer numeroItemDeclaracaoVinculada) { + this.numeroItemDeclaracaoVinculada = numeroItemDeclaracaoVinculada; } - public ItemDeclaracaoVinculadaCover numero(Integer numero) { - this.numero = numero; + public ItemDeclaracaoVinculadaCover numeroItemDeclaracaoVinculada(Integer numeroItemDeclaracaoVinculada) { + this.numeroItemDeclaracaoVinculada = numeroItemDeclaracaoVinculada; return this; } @@ -105,7 +105,7 @@ public ItemDeclaracaoVinculadaCover seguro(SeguroItemDeclaracaoVinculadaCover se } /** - * Quantidade na unidade estatística do item da declaração vinculada, quando o tipo for 'Duimp' E quando o frete/seguro foram calculados durante a elaboração/registro. Para os demais casos, esse atributo será fornecido com o valor nulo + * Quantidade na unidade estatística do item.<br>A quantidade na unidade estatística do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o frete foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: quantidade na unidade estatística do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou quantidade na unidade estatística do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho. * @return qtdUnidadeEstatistica **/ @JsonProperty("qtdUnidadeEstatistica") @@ -123,7 +123,7 @@ public ItemDeclaracaoVinculadaCover qtdUnidadeEstatistica(BigDecimal qtdUnidadeE } /** - * NCM do item da declaração vinculada, quando o tipo for 'Duimp'. Para os demais tipos, esse atributo será fornecido com o valor nulo + * NCM do item da Duimp informada como vinculada. Este atributo é informado apenas quando a Duimp consultada for COM situação especial de despacho e o tipo da declaração vinculada for \"Duimp\", caso contrário, esse atributo será fornecido com o valor nulo. * @return ncm **/ @JsonProperty("ncm") @@ -146,7 +146,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ItemDeclaracaoVinculadaCover {\n"); - sb.append(" numero: ").append(toIndentedString(numero)).append("\n"); + sb.append(" numeroItemDeclaracaoVinculada: ").append(toIndentedString(numeroItemDeclaracaoVinculada)).append("\n"); sb.append(" frete: ").append(toIndentedString(frete)).append("\n"); sb.append(" seguro: ").append(toIndentedString(seguro)).append("\n"); sb.append(" qtdUnidadeEstatistica: ").append(toIndentedString(qtdUnidadeEstatistica)).append("\n"); diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/SeguroItemDeclaracaoVinculadaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/SeguroItemDeclaracaoVinculadaCover.java index 1e18175..026a35c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/SeguroItemDeclaracaoVinculadaCover.java +++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/SeguroItemDeclaracaoVinculadaCover.java @@ -20,14 +20,14 @@ public class SeguroItemDeclaracaoVinculadaCover { @XmlElement(name="valorBRL") - @ApiModelProperty(example = "10.53", value = "Valor do seguro (R$) do item da declaração vinculada, quando o tipo for \"Duimp\" E quando o seguro foi calculado durante a elaboração/registro. Para os demais casos, esse atributo será fornecido com o valor nulo") + @ApiModelProperty(example = "10.53", value = "Valor do seguro (R$) do item.
O valor do seguro (R$) do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o seguro foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o valor do seguro (R$) do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o valor do seguro (R$) do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho.") @Valid /** - * Valor do seguro (R$) do item da declaração vinculada, quando o tipo for \"Duimp\" E quando o seguro foi calculado durante a elaboração/registro. Para os demais casos, esse atributo será fornecido com o valor nulo + * Valor do seguro (R$) do item.
O valor do seguro (R$) do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o seguro foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o valor do seguro (R$) do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o valor do seguro (R$) do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho. **/ private BigDecimal valorBRL = null; /** - * Valor do seguro (R$) do item da declaração vinculada, quando o tipo for \"Duimp\" E quando o seguro foi calculado durante a elaboração/registro. Para os demais casos, esse atributo será fornecido com o valor nulo + * Valor do seguro (R$) do item.<br>O valor do seguro (R$) do item é informado apenas quando a Duimp consultada for COM situação especial de despacho, o tipo da declaração vinculada for \"Duimp\" e quando o seguro foi calculado durante a elaboração/registro da Duimp consultada, caso contrário, esse atributo será fornecido com o valor nulo. O conteúdo será preenchido da seguinte forma: o valor do seguro (R$) do item da Duimp informada como vinculada, quando esta for SEM situação especial de despacho ou o valor do seguro (R$) do item da Duimp original (Duimp de admissão em regime especial), quando a Duimp informada como vinculada for COM situação especial de despacho. * @return valorBRL **/ @JsonProperty("valorBRL") diff --git a/src/main/java/br/gov/siscomex/portalunico/edocex/api/ServiosComunsParaTodasAsOperaesApi.java b/src/main/java/br/gov/siscomex/portalunico/edocex/api/ServiosComunsParaTodasAsOperaesApi.java index 0df23fc..73c9302 100644 --- a/src/main/java/br/gov/siscomex/portalunico/edocex/api/ServiosComunsParaTodasAsOperaesApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/edocex/api/ServiosComunsParaTodasAsOperaesApi.java @@ -43,7 +43,7 @@ public interface ServiosComunsParaTodasAsOperaesApi { @Consumes({ "application/json" }) @Produces({ "application/json" }) @ApiOperation(value = "Anexar documento à operação.", notes = "Esse serviço somente poderá ser utilizado quando houver apenas um dossiê vinculado à operação e para os seguintes tipos de operações:
  • DI - Declaração de Importação
  • LI - Licença de Importação
  • RE - Registro de Exportação
  • DT - Declaração de Trânsito
  • DIR - Declaração de Importação de Remessa
  • DUE - Declaração Única de Exportação
  • DUIMP - Declaração Única de Importação,
  • CATP - Catálogo de Produtos
  • LPCO - Tratamento Administrativo/LPCO
", tags={ "Serviços comuns para todas as operações" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = RetornoAnexarDocumento.class), @ApiResponse(code = 400, message = "Requisição mal formatada"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), diff --git a/src/main/java/br/gov/siscomex/portalunico/edocex/api/ServiosParaOperaesDiLiReDtEDirApi.java b/src/main/java/br/gov/siscomex/portalunico/edocex/api/ServiosParaOperaesDiLiReDtEDirApi.java index 17942c5..690bb3e 100644 --- a/src/main/java/br/gov/siscomex/portalunico/edocex/api/ServiosParaOperaesDiLiReDtEDirApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/edocex/api/ServiosParaOperaesDiLiReDtEDirApi.java @@ -44,7 +44,7 @@ public interface ServiosParaOperaesDiLiReDtEDirApi { @Consumes({ "application/json" }) @Produces({ "application/json" }) @ApiOperation(value = "Anexar documento ao dossiê.", notes = "Esse serviço somente poderá ser utilizado para dossiês dos seguintes tipos de operações:
  • DI - Declaração de Importação
  • LI - Licença de Importação
  • RE - Registro de Exportação
  • DT - Declaração de Trânsito
  • DIR - Declaração de Importação de Remessa
", tags={ "Serviços para operações DI, LI, RE, DT e DIR" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = RetornoAnexarDocumento.class), @ApiResponse(code = 400, message = "Requisição mal formatada"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), diff --git a/src/main/java/br/gov/siscomex/portalunico/pcce/api/ServiosDestinadosComunicaoComSistemasDasSefazApi.java b/src/main/java/br/gov/siscomex/portalunico/pcce/api/ServiosDestinadosComunicaoComSistemasDasSefazApi.java index b7cae94..9044445 100644 --- a/src/main/java/br/gov/siscomex/portalunico/pcce/api/ServiosDestinadosComunicaoComSistemasDasSefazApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/pcce/api/ServiosDestinadosComunicaoComSistemasDasSefazApi.java @@ -47,7 +47,7 @@ public interface ServiosDestinadosComunicaoComSistemasDasSefazApi { @Path("/ext/sefaz/opcao/{id}") @Consumes({ "*/*" }) @ApiOperation(value = "Alterar opção de cálculo de ICMS", notes = "Altera os dados e/ou inativa uma opção de cálculo de ICMS.", tags={ "Serviços destinados à comunicação com sistemas das Sefaz" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso"), @ApiResponse(code = 400, message = "Requisição mal formatada"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), diff --git a/src/main/java/br/gov/siscomex/portalunico/pcce/api/ServiosDestinadosComunicaoComSistemasDeRgosAnuentesApi.java b/src/main/java/br/gov/siscomex/portalunico/pcce/api/ServiosDestinadosComunicaoComSistemasDeRgosAnuentesApi.java index 67b5c29..d0f8ef4 100644 --- a/src/main/java/br/gov/siscomex/portalunico/pcce/api/ServiosDestinadosComunicaoComSistemasDeRgosAnuentesApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/pcce/api/ServiosDestinadosComunicaoComSistemasDeRgosAnuentesApi.java @@ -2,6 +2,7 @@ import br.gov.siscomex.portalunico.pcce.model.DadosPagamentoTributosDTO; import br.gov.siscomex.portalunico.pcce.model.GuiaPagamentoTributosDTO; +import br.gov.siscomex.portalunico.pcce.model.SolicitacaoPagamentoTaxaDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -35,7 +36,7 @@ public interface ServiosDestinadosComunicaoComSistemasDeRgosAnuentesApi { @Path("/ext/anuentes/guia/pagamento") @Consumes({ "application/json" }) @ApiOperation(value = "Confirmar pagamento de guia de tributos dos orgãos anuentes", notes = "Recebe dos órgãos anuentes a confirmação de pagamento de uma guia.", tags={ "Serviços destinados à comunicação com sistemas de órgãos anuentes" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso"), @ApiResponse(code = 400, message = "Requisição mal formatada"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), @@ -64,5 +65,25 @@ public interface ServiosDestinadosComunicaoComSistemasDeRgosAnuentesApi { @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) public Response receberDadosGuiaPagamento(@ApiParam(value = "Dados da guia de pagamento" ,required=true)@Valid GuiaPagamentoTributosDTO body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. 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. Recuperado no parâmetro X-CSRF-Token no response da autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); + + /** + * Solicitar pagamento de taxa de órgãos anuentes + * + * Recebe dos órgãos anuentes os dados para realizar o pagamento de taxa. + * + */ + @POST + @Path("/ext/anuentes/pagamento") + @Consumes({ "application/json" }) + @ApiOperation(value = "Solicitar pagamento de taxa de órgãos anuentes", notes = "Recebe dos órgãos anuentes os dados para realizar o pagamento de taxa.", tags={ "Serviços destinados à comunicação com sistemas de órgãos anuentes" }) + @ApiResponses(value = { + @ApiResponse(code = 201, message = "Recurso criado com sucesso"), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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"), + @ApiResponse(code = 500, message = "Erro interno no servidor") }) + public Response receberSolicitacaoPagamento(@ApiParam(value = "Dados da solicitação de pagamento de taxa" ,required=true)@Valid SolicitacaoPagamentoTaxaDTO body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. 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. 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/pcce/model/DadosPagamentoTributosDTO.java b/src/main/java/br/gov/siscomex/portalunico/pcce/model/DadosPagamentoTributosDTO.java index eb29b74..799d2f6 100644 --- a/src/main/java/br/gov/siscomex/portalunico/pcce/model/DadosPagamentoTributosDTO.java +++ b/src/main/java/br/gov/siscomex/portalunico/pcce/model/DadosPagamentoTributosDTO.java @@ -99,7 +99,11 @@ public enum TpOperacaoOrigemEnum { @XmlEnumValue("LPCO") @JsonProperty("LPCO") - LPCO(String.valueOf("LPCO")); + LPCO(String.valueOf("LPCO")), + + @XmlEnumValue("DUIMP") + @JsonProperty("DUIMP") + DUIMP(String.valueOf("DUIMP")); private String value; diff --git a/src/main/java/br/gov/siscomex/portalunico/pcce/model/GuiaPagamentoTributosDTO.java b/src/main/java/br/gov/siscomex/portalunico/pcce/model/GuiaPagamentoTributosDTO.java index 5d60b0d..6b4c572 100644 --- a/src/main/java/br/gov/siscomex/portalunico/pcce/model/GuiaPagamentoTributosDTO.java +++ b/src/main/java/br/gov/siscomex/portalunico/pcce/model/GuiaPagamentoTributosDTO.java @@ -49,9 +49,9 @@ public class GuiaPagamentoTributosDTO { private String dtVencimento = null; @XmlElement(name="infoAdicionais") - @ApiModelProperty(example = "REGISTRO", value = "Informações adicionais de interesse da operação de origem
Tamanho máximo: 200
(*) Obrigatório se tpDocumentoOrigem=LPCO. Valores válidos: LPCO: [REGISTRO, RETIFICACAO, PRORROGACAO, COMPATIBILIZACAO]") + @ApiModelProperty(example = "REGISTRO", value = "Informações adicionais de interesse da operação de origem
Tamanho máximo: 200
(*) Obrigatório se tpOperacaoOrigem=LPCO. Valores válidos: LPCO: [REGISTRO, RETIFICACAO, PRORROGACAO, COMPATIBILIZACAO]") /** - * Informações adicionais de interesse da operação de origem
Tamanho máximo: 200
(*) Obrigatório se tpDocumentoOrigem=LPCO. Valores válidos: LPCO: [REGISTRO, RETIFICACAO, PRORROGACAO, COMPATIBILIZACAO] + * Informações adicionais de interesse da operação de origem
Tamanho máximo: 200
(*) Obrigatório se tpOperacaoOrigem=LPCO. Valores válidos: LPCO: [REGISTRO, RETIFICACAO, PRORROGACAO, COMPATIBILIZACAO] **/ private String infoAdicionais = null; @@ -63,9 +63,9 @@ public class GuiaPagamentoTributosDTO { private String linhaDigitavel = null; @XmlElement(name="linkPdf") - @ApiModelProperty(example = "http://xxxxxxxx.xx/I2100001234-guia.pdf", value = "Link para o PDF da guia
Tamanho máximo: 400
(*) Obrigatório se tpDocumentoOrigem = LPCO e tpGuiaPagamento = GRU") + @ApiModelProperty(example = "http://xxxxxxxx.xx/I2100001234-guia.pdf", value = "Link para o PDF da guia
Tamanho máximo: 400
(*) Obrigatório se tpOperacaoOrigem = LPCO e tpGuiaPagamento = GRU") /** - * Link para o PDF da guia
Tamanho máximo: 400
(*) Obrigatório se tpDocumentoOrigem = LPCO e tpGuiaPagamento = GRU + * Link para o PDF da guia
Tamanho máximo: 400
(*) Obrigatório se tpOperacaoOrigem = LPCO e tpGuiaPagamento = GRU **/ private String linkPdf = null; @@ -129,7 +129,11 @@ public enum TpOperacaoOrigemEnum { @XmlEnumValue("LPCO") @JsonProperty("LPCO") - LPCO(String.valueOf("LPCO")); + LPCO(String.valueOf("LPCO")), + + @XmlEnumValue("DUIMP") + @JsonProperty("DUIMP") + DUIMP(String.valueOf("DUIMP")); private String value; @@ -226,7 +230,7 @@ public GuiaPagamentoTributosDTO dtVencimento(String dtVencimento) { } /** - * Informações adicionais de interesse da operação de origem <br>Tamanho máximo: 200<br/>(*) Obrigatório se tpDocumentoOrigem=LPCO. Valores válidos: LPCO: [REGISTRO, RETIFICACAO, PRORROGACAO, COMPATIBILIZACAO] + * Informações adicionais de interesse da operação de origem <br>Tamanho máximo: 200<br/>(*) Obrigatório se tpOperacaoOrigem=LPCO. Valores válidos: LPCO: [REGISTRO, RETIFICACAO, PRORROGACAO, COMPATIBILIZACAO] * @return infoAdicionais **/ @JsonProperty("infoAdicionais") @@ -262,7 +266,7 @@ public GuiaPagamentoTributosDTO linhaDigitavel(String linhaDigitavel) { } /** - * Link para o PDF da guia <br>Tamanho máximo: 400<br/>(*) Obrigatório se tpDocumentoOrigem = LPCO e tpGuiaPagamento = GRU + * Link para o PDF da guia <br>Tamanho máximo: 400<br/>(*) Obrigatório se tpOperacaoOrigem = LPCO e tpGuiaPagamento = GRU * @return linkPdf **/ @JsonProperty("linkPdf") diff --git a/src/main/java/br/gov/siscomex/portalunico/pcce/model/SolicitacaoPagamentoTaxaDTO.java b/src/main/java/br/gov/siscomex/portalunico/pcce/model/SolicitacaoPagamentoTaxaDTO.java new file mode 100644 index 0000000..2a5f312 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/pcce/model/SolicitacaoPagamentoTaxaDTO.java @@ -0,0 +1,334 @@ +package br.gov.siscomex.portalunico.pcce.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; +import java.math.BigDecimal; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "SolicitacaoPagamentoTaxaDTO", propOrder = + { "codigoReceita", "identificadorTaxa", "momentoTaxa", "nrOperacaoOrigem", "numeroReferencia", "tpOperacaoOrigem", "valorTotal" +}) + +@XmlRootElement(name="SolicitacaoPagamentoTaxaDTO") +/** + * Dados da solicitação de pagamento de taxa de órgãos anuentes + **/ +@ApiModel(description="Dados da solicitação de pagamento de taxa de órgãos anuentes") +public class SolicitacaoPagamentoTaxaDTO { + + @XmlElement(name="codigoReceita", required = true) + @ApiModelProperty(example = "9999", required = true, value = "Codigo de receita da taxa
Tamanho: 4") + /** + * Codigo de receita da taxa
Tamanho: 4 + **/ + private String codigoReceita = null; + + @XmlElement(name="identificadorTaxa", required = true) + @ApiModelProperty(example = "000001234567890", required = true, value = "Código único que identifica a taxa no órgão anuente (transação)
Tamanho: 15") + /** + * Código único que identifica a taxa no órgão anuente (transação)
Tamanho: 15 + **/ + private String identificadorTaxa = null; + + +@XmlType(name="MomentoTaxaEnum") +@XmlEnum(String.class) +public enum MomentoTaxaEnum { + + @XmlEnumValue("REGISTRO") + @JsonProperty("REGISTRO") + REGISTRO(String.valueOf("REGISTRO")), + + @XmlEnumValue("RETIFICACAO") + @JsonProperty("RETIFICACAO") + RETIFICACAO(String.valueOf("RETIFICACAO")), + + @XmlEnumValue("PRORROGACAO") + @JsonProperty("PRORROGACAO") + PRORROGACAO(String.valueOf("PRORROGACAO")), + + @XmlEnumValue("COMPATIBILIZACAO") + @JsonProperty("COMPATIBILIZACAO") + COMPATIBILIZACAO(String.valueOf("COMPATIBILIZACAO")), + + @XmlEnumValue("EXIGENCIA") + @JsonProperty("EXIGENCIA") + EXIGENCIA(String.valueOf("EXIGENCIA")); + + + private String value; + + MomentoTaxaEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static MomentoTaxaEnum fromValue(String v) { + for (MomentoTaxaEnum b : MomentoTaxaEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to MomentoTaxaEnum"); + } +} + + @XmlElement(name="momentoTaxa") + @ApiModelProperty(example = "EXIGENCIA", value = "Momento da taxa
(*) Obrigatório se tpDocumentoOrigem=LPCO.") + /** + * Momento da taxa
(*) Obrigatório se tpDocumentoOrigem=LPCO. + **/ + private MomentoTaxaEnum momentoTaxa = null; + + @XmlElement(name="nrOperacaoOrigem", required = true) + @ApiModelProperty(example = "I2100001234", required = true, value = "Número da operação que deu origem à taxa
Tamanho mínimo: 1
Tamanho máximo: 20") + /** + * Número da operação que deu origem à taxa
Tamanho mínimo: 1
Tamanho máximo: 20 + **/ + private String nrOperacaoOrigem = null; + + @XmlElement(name="numeroReferencia") + @ApiModelProperty(example = "1", value = "Número de referência do evento
Para LPCO referencia o número sequencial de identificação do evento (ex.: número da exigência, número da retificação etc).
(*) Obrigatório para alguns momentos da taxa, de acordo com a regra do LPCO") + /** + * Número de referência do evento
Para LPCO referencia o número sequencial de identificação do evento (ex.: número da exigência, número da retificação etc).
(*) Obrigatório para alguns momentos da taxa, de acordo com a regra do LPCO + **/ + private Integer numeroReferencia = null; + + +@XmlType(name="TpOperacaoOrigemEnum") +@XmlEnum(String.class) +public enum TpOperacaoOrigemEnum { + + @XmlEnumValue("LPCO") + @JsonProperty("LPCO") + LPCO(String.valueOf("LPCO")), + + @XmlEnumValue("DUIMP") + @JsonProperty("DUIMP") + DUIMP(String.valueOf("DUIMP")); + + + private String value; + + TpOperacaoOrigemEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TpOperacaoOrigemEnum fromValue(String v) { + for (TpOperacaoOrigemEnum b : TpOperacaoOrigemEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TpOperacaoOrigemEnum"); + } +} + + @XmlElement(name="tpOperacaoOrigem", required = true) + @ApiModelProperty(required = true, value = "Tipo da operação que deu origem à taxa") + /** + * Tipo da operação que deu origem à taxa + **/ + private TpOperacaoOrigemEnum tpOperacaoOrigem = null; + + @XmlElement(name="valorTotal", required = true) + @ApiModelProperty(example = "126.54", required = true, value = "Valor total a pagar
Formato: Decimal, com 2 casas decimais separadas por ponto.
Tamanho: 15,2") + @Valid + /** + * Valor total a pagar
Formato: Decimal, com 2 casas decimais separadas por ponto.
Tamanho: 15,2 + **/ + private BigDecimal valorTotal = null; + /** + * Codigo de receita da taxa <br>Tamanho: 4 + * @return codigoReceita + **/ + @JsonProperty("codigoReceita") + @NotNull + public String getCodigoReceita() { + return codigoReceita; + } + + public void setCodigoReceita(String codigoReceita) { + this.codigoReceita = codigoReceita; + } + + public SolicitacaoPagamentoTaxaDTO codigoReceita(String codigoReceita) { + this.codigoReceita = codigoReceita; + return this; + } + + /** + * Código único que identifica a taxa no órgão anuente (transação) <br>Tamanho: 15 + * @return identificadorTaxa + **/ + @JsonProperty("identificadorTaxa") + @NotNull + public String getIdentificadorTaxa() { + return identificadorTaxa; + } + + public void setIdentificadorTaxa(String identificadorTaxa) { + this.identificadorTaxa = identificadorTaxa; + } + + public SolicitacaoPagamentoTaxaDTO identificadorTaxa(String identificadorTaxa) { + this.identificadorTaxa = identificadorTaxa; + return this; + } + + /** + * Momento da taxa <br/>(*) Obrigatório se tpDocumentoOrigem=LPCO. + * @return momentoTaxa + **/ + @JsonProperty("momentoTaxa") + public String getMomentoTaxa() { + if (momentoTaxa == null) { + return null; + } + return momentoTaxa.value(); + } + + public void setMomentoTaxa(MomentoTaxaEnum momentoTaxa) { + this.momentoTaxa = momentoTaxa; + } + + public SolicitacaoPagamentoTaxaDTO momentoTaxa(MomentoTaxaEnum momentoTaxa) { + this.momentoTaxa = momentoTaxa; + return this; + } + + /** + * Número da operação que deu origem à taxa <br>Tamanho mínimo: 1<br>Tamanho máximo: 20 + * @return nrOperacaoOrigem + **/ + @JsonProperty("nrOperacaoOrigem") + @NotNull + public String getNrOperacaoOrigem() { + return nrOperacaoOrigem; + } + + public void setNrOperacaoOrigem(String nrOperacaoOrigem) { + this.nrOperacaoOrigem = nrOperacaoOrigem; + } + + public SolicitacaoPagamentoTaxaDTO nrOperacaoOrigem(String nrOperacaoOrigem) { + this.nrOperacaoOrigem = nrOperacaoOrigem; + return this; + } + + /** + * Número de referência do evento <br/>Para LPCO referencia o número sequencial de identificação do evento (ex.: número da exigência, número da retificação etc).<br/>(*) Obrigatório para alguns momentos da taxa, de acordo com a regra do LPCO + * @return numeroReferencia + **/ + @JsonProperty("numeroReferencia") + public Integer getNumeroReferencia() { + return numeroReferencia; + } + + public void setNumeroReferencia(Integer numeroReferencia) { + this.numeroReferencia = numeroReferencia; + } + + public SolicitacaoPagamentoTaxaDTO numeroReferencia(Integer numeroReferencia) { + this.numeroReferencia = numeroReferencia; + return this; + } + + /** + * Tipo da operação que deu origem à taxa + * @return tpOperacaoOrigem + **/ + @JsonProperty("tpOperacaoOrigem") + @NotNull + public String getTpOperacaoOrigem() { + if (tpOperacaoOrigem == null) { + return null; + } + return tpOperacaoOrigem.value(); + } + + public void setTpOperacaoOrigem(TpOperacaoOrigemEnum tpOperacaoOrigem) { + this.tpOperacaoOrigem = tpOperacaoOrigem; + } + + public SolicitacaoPagamentoTaxaDTO tpOperacaoOrigem(TpOperacaoOrigemEnum tpOperacaoOrigem) { + this.tpOperacaoOrigem = tpOperacaoOrigem; + return this; + } + + /** + * Valor total a pagar <br>Formato: Decimal, com 2 casas decimais separadas por ponto.<br>Tamanho: 15,2 + * @return valorTotal + **/ + @JsonProperty("valorTotal") + @NotNull + public BigDecimal getValorTotal() { + return valorTotal; + } + + public void setValorTotal(BigDecimal valorTotal) { + this.valorTotal = valorTotal; + } + + public SolicitacaoPagamentoTaxaDTO valorTotal(BigDecimal valorTotal) { + this.valorTotal = valorTotal; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SolicitacaoPagamentoTaxaDTO {\n"); + + sb.append(" codigoReceita: ").append(toIndentedString(codigoReceita)).append("\n"); + sb.append(" identificadorTaxa: ").append(toIndentedString(identificadorTaxa)).append("\n"); + sb.append(" momentoTaxa: ").append(toIndentedString(momentoTaxa)).append("\n"); + sb.append(" nrOperacaoOrigem: ").append(toIndentedString(nrOperacaoOrigem)).append("\n"); + sb.append(" numeroReferencia: ").append(toIndentedString(numeroReferencia)).append("\n"); + sb.append(" tpOperacaoOrigem: ").append(toIndentedString(tpOperacaoOrigem)).append("\n"); + sb.append(" valorTotal: ").append(toIndentedString(valorTotal)).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/api/ServiosDestinadosRecepoDeEventosAduaneiros_Api.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/ServiosDestinadosRecepoDeEventosAduaneiros_Api.java index ad3e5b3..a1048bc 100644 --- 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 @@ -41,7 +41,7 @@ /** * 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.

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.

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

+ *

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("/") @@ -59,7 +59,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { @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 = { + @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), @@ -70,7 +70,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { 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); /** - * Armazenamento de Lote + * 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. * @@ -79,7 +79,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { @Path("/ext/armazenamento-lote") @Consumes({ "application/json" }) @Produces({ "application/json" }) - @ApiOperation(value = "Armazenamento 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." }) + @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"), @@ -112,7 +112,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { 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); /** - * Credenciamento de Veículos + * 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. * @@ -121,7 +121,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { @Path("/ext/credenciamento-veiculos") @Consumes({ "application/json" }) @Produces({ "application/json" }) - @ApiOperation(value = "Credenciamento de Veículos", 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." }) + @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"), @@ -133,16 +133,16 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { 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); /** - * Evento de Georreferenciamento + * 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). + * 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 = "Evento de 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).", tags={ "Serviços destinados à recepção de eventos aduaneiros." }) + @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"), @@ -154,7 +154,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { 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); /** - * Geração de Lotes + * 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/> * @@ -163,7 +163,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { @Path("/ext/geracao-lotes") @Consumes({ "application/json" }) @Produces({ "application/json" }) - @ApiOperation(value = "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." }) + @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"), @@ -175,7 +175,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { 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/Carga + * 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. * @@ -184,7 +184,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { @Path("/ext/bloqueio-desbloqueio-veiculo-carga") @Consumes({ "application/json" }) @Produces({ "application/json" }) - @ApiOperation(value = "Informação de Bloqueio/Desbloqueio de Veículo/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." }) + @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"), @@ -322,7 +322,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { 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); /** - * Posição Veículo Pátio + * 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. * @@ -331,7 +331,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { @Path("/ext/posicao-veiculo-patio") @Consumes({ "application/json" }) @Produces({ "application/json" }) - @ApiOperation(value = "Posição Veículo 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." }) + @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"), @@ -364,7 +364,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { 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); /** - * Avaria/Extravio de Lote + * 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. * @@ -373,7 +373,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { @Path("/ext/avaria-extravio-lote") @Consumes({ "application/json" }) @Produces({ "application/json" }) - @ApiOperation(value = "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." }) + @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"), @@ -385,7 +385,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { 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); /** - * Carregamento/Entrega de Lotes + * 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. * @@ -394,7 +394,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { @Path("/ext/carregamento-lotes") @Consumes({ "application/json" }) @Produces({ "application/json" }) - @ApiOperation(value = "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." }) + @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"), @@ -469,7 +469,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { 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); /** - * Controle de Agendamento/Acesso de Veículo + * 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>) * @@ -478,7 +478,7 @@ public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { @Path("/ext/acesso-veiculos") @Consumes({ "application/json" }) @Produces({ "application/json" }) - @ApiOperation(value = "Controle de Agendamento/Acesso de Veículo", 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." }) + @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"), 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 dd174c2..fdf5c4b 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 @@ -73,9 +73,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -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).
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).
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; @@ -228,17 +228,17 @@ public static IdentificacaoEnum fromValue(String v) { } } - @XmlElement(name="identificacao") - @ApiModelProperty(example = "1", value = "Forma de identificação conforme tabela de domínio.
Domínio:
1 - cartão
2 - biométrico
3 - cartão + biometria
4 - manual") + @XmlElement(name="identificacao", required = true) + @ApiModelProperty(example = "1", required = true, value = "Forma de identificação conforme tabela de domínio. Pode ser nulo quando o evento for de exclusão.
Domínio:
1 - cartão
2 - biométrico
3 - cartão + biometria
4 - manual") /** - * Forma de identificação conforme tabela de domínio.
Domínio:
1 - cartão
2 - biométrico
3 - cartão + biometria
4 - manual + * Forma de identificação conforme tabela de domínio. Pode ser nulo quando o evento for de exclusão.
Domínio:
1 - cartão
2 - biométrico
3 - cartão + biometria
4 - manual **/ 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.
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.
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; @@ -263,10 +263,10 @@ public static IdentificacaoEnum fromValue(String v) { **/ private String voo = null; - @XmlElement(name="catraca") - @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", value = "Portão ou catraca de acesso.
Usar o protocolo do evento de georreferenciamento relativo ao ponto de acesso utilizado
Tamanho: 36") + @XmlElement(name="catraca", required = true) + @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", required = true, value = "Portão ou catraca de acesso.
Usar o protocolo do evento de georreferenciamento relativo ao ponto de acesso utilizado. Pode ser nulo quando o evento for de exclusão.
Tamanho: 36") /** - * Portão ou catraca de acesso.
Usar o protocolo do evento de georreferenciamento relativo ao ponto de acesso utilizado
Tamanho: 36 + * Portão ou catraca de acesso.
Usar o protocolo do evento de georreferenciamento relativo ao ponto de acesso utilizado. Pode ser nulo quando o evento for de exclusão.
Tamanho: 36 **/ private String catraca = null; @@ -300,7 +300,7 @@ public DadosAcessoPessoa tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") @@ -449,7 +449,7 @@ public DadosAcessoPessoa codigoRecinto(String codigoRecinto) { } /** - * CPF da pessoa que está acessando o recinto (entrada ou saída).<br/>Tamanho: 11<br/>Formato: 'NNNNNNNNNNN' + * 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' * @return cpf **/ @JsonProperty("cpf") @@ -489,10 +489,11 @@ public DadosAcessoPessoa direcao(DirecaoEnum direcao) { } /** - * Forma de identificação conforme tabela de domínio.<br/>Domínio:<br/>1 - cartão<br/>2 - biométrico<br/>3 - cartão + biometria <br/>4 - manual + * Forma de identificação conforme tabela de domínio. Pode ser nulo quando o evento for de exclusão.<br/>Domínio:<br/>1 - cartão<br/>2 - biométrico<br/>3 - cartão + biometria <br/>4 - manual * @return identificacao **/ @JsonProperty("identificacao") + @NotNull public String getIdentificacao() { if (identificacao == null) { return null; @@ -510,7 +511,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/>Tamanho: 50 + * 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 * @return identidadeEstrangeiro **/ @JsonProperty("identidadeEstrangeiro") @@ -583,10 +584,11 @@ public DadosAcessoPessoa voo(String voo) { } /** - * Portão ou catraca de acesso. <br/>Usar o protocolo do evento de georreferenciamento relativo ao ponto de acesso utilizado<br/>Tamanho: 36 + * Portão ou catraca de acesso. <br/>Usar o protocolo do evento de georreferenciamento relativo ao ponto de acesso utilizado. Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 36 * @return catraca **/ @JsonProperty("catraca") + @NotNull public String getCatraca() { return catraca; } 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 b79844e..611f1a7 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 @@ -73,9 +73,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -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.
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.
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; @@ -259,10 +259,10 @@ public static DirecaoEnum fromValue(String v) { private List listaNfe = null; @XmlElement(name="listaMalas") - @ApiModelProperty(value = "Lista com as malas postais. Utilizar apenas para malas postais.") + @ApiModelProperty(value = "Lista com as malas postais. Utilizar apenas para remessa postal internacional.") @Valid /** - * Lista com as malas postais. Utilizar apenas para malas postais. + * Lista com as malas postais. Utilizar apenas para remessa postal internacional. **/ private List listaMalas = null; @@ -337,17 +337,17 @@ public static TipoGranelEnum fromValue(String v) { 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...)
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...)
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; - @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 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). 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).
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).
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.
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.
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.
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.
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; @@ -479,16 +479,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.
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
L - Fluvial") /** - * Modal. Forma como a carga chegou/saiu do recinto, transporte rodoviário ou transporte ferroviário. Conforme tabela domínio.
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
L - Fluvial **/ 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.
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.
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; @@ -522,7 +522,7 @@ public DadosAcessoVeculo tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") @@ -733,7 +733,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/>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. <br/>É 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") @@ -820,7 +820,7 @@ public DadosAcessoVeculo addListaNfeItem(DadosDaNotaFiscal listaNfeItem) { } /** - * Lista com as malas postais. Utilizar apenas para malas postais. + * Lista com as malas postais. Utilizar apenas para remessa postal internacional. * @return listaMalas **/ @JsonProperty("listaMalas") @@ -864,7 +864,7 @@ 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/>Tamanho: 50 + * 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 * @return listaChassi **/ @JsonProperty("listaChassi") @@ -887,11 +887,10 @@ public DadosAcessoVeculo addListaChassiItem(DadosDoChassi listaChassiItem) { } /** - * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva). Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 50 + * 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 * @return placa **/ @JsonProperty("placa") - @NotNull public String getPlaca() { return placa; } @@ -924,7 +923,7 @@ public DadosAcessoVeculo ufEmplacamento(String ufEmplacamento) { } /** - * 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 + * 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 * @return ocrPlaca **/ @JsonProperty("ocrPlaca") @@ -942,7 +941,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/>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. <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 * @return oogDimensao **/ @JsonProperty("oogDimensao") @@ -960,7 +959,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/>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. <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 * @return oogPeso **/ @JsonProperty("oogPeso") @@ -1132,7 +1131,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/>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.<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 * @return modal **/ @JsonProperty("modal") @@ -1153,7 +1152,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/>Tamanho: 36 + * 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 * @return gate **/ @JsonProperty("gate") 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 a0d599e..099a32c 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 @@ -72,9 +72,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -204,7 +204,7 @@ public DadosAgendaOperaoNaviosAeronaves tipoOperacao(TipoOperacaoEnum tipoOperac } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") 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 5dfdc18..a26a740 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 @@ -73,9 +73,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -184,7 +184,7 @@ public DadosArmazenamentoLote tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") 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 1021a5a..e793333 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 @@ -72,9 +72,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -128,23 +128,23 @@ public static TipoOperacaoEnum fromValue(String v) { private String codigoRecinto = null; @XmlElement(name="numeroConteiner") - @ApiModelProperty(value = "Identificação do número do contêiner.
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.
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 GERAÇÃO DE LOTES.
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 GERAÇÃO DE LOTES.
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; - @XmlElement(name="navio") - @ApiModelProperty(value = "") + @XmlElement(name="navio", required = true) + @ApiModelProperty(required = true, value = "") @Valid - private DadosNavio navio = null; + private DadosNavioNomeObrigatorio navio = null; @XmlElement(name="viagem") @ApiModelProperty(value = "Viagem
Tamanho: 20") @@ -196,7 +196,7 @@ public DadosAtribuioTrocaNavio tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") @@ -345,7 +345,7 @@ public DadosAtribuioTrocaNavio codigoRecinto(String codigoRecinto) { } /** - * Identificação do número do contêiner.<br/>Tamanho: 200 + * 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 * @return numeroConteiner **/ @JsonProperty("numeroConteiner") @@ -363,7 +363,7 @@ public DadosAtribuioTrocaNavio numeroConteiner(String numeroConteiner) { } /** - * Número de Lote. Usar o mesmo número gerado no evento GERAÇÃO DE LOTES.<br/>Tamanho: 100 + * 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 * @return numeroLote **/ @JsonProperty("numeroLote") @@ -385,15 +385,16 @@ public DadosAtribuioTrocaNavio numeroLote(String numeroLote) { * @return navio **/ @JsonProperty("navio") - public DadosNavio getNavio() { + @NotNull + public DadosNavioNomeObrigatorio getNavio() { return navio; } - public void setNavio(DadosNavio navio) { + public void setNavio(DadosNavioNomeObrigatorio navio) { this.navio = navio; } - public DadosAtribuioTrocaNavio navio(DadosNavio navio) { + public DadosAtribuioTrocaNavio navio(DadosNavioNomeObrigatorio navio) { this.navio = navio; return this; } 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 98a081b..b5b368c 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 @@ -73,9 +73,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -236,7 +236,7 @@ public DadosAvariaExtravioLote tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") 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 aad4452..352b1f3 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 @@ -75,9 +75,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -131,9 +131,9 @@ public static TipoOperacaoEnum fromValue(String v) { private String codigoRecinto = null; @XmlElement(name="numeroManifesto") - @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto.
Tamanho: 100") + @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto. No caso de MDF-e informar a chave de acesso.
Tamanho: 100") /** - * Número do Manifesto.
Tamanho: 100 + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.
Tamanho: 100 **/ private String numeroManifesto = null; @@ -192,16 +192,16 @@ public static TipoManifestoEnum fromValue(String v) { private TipoManifestoEnum tipoManifesto = null; @XmlElement(name="numeroConhecimentoMAWB") - @ApiModelProperty(example = "0556548723", value = "Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Tamanho: 100") + @ApiModelProperty(example = "0556548723", value = "Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100") /** - * Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Tamanho: 100 + * Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100 **/ private String numeroConhecimentoMAWB = null; @XmlElement(name="numeroConhecimento") - @ApiModelProperty(example = "131805000071025", value = "Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.
Tamanho: 100") + @ApiModelProperty(example = "131805000071025", value = "Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100") /** - * Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.
Tamanho: 100 + * Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100 **/ private String numeroConhecimento = null; @@ -381,7 +381,7 @@ public DadosCarregamentoEntregaLotes tipoOperacao(TipoOperacaoEnum tipoOperacao) } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") @@ -530,7 +530,7 @@ public DadosCarregamentoEntregaLotes codigoRecinto(String codigoRecinto) { } /** - * Número do Manifesto.<br/>Tamanho: 100 + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.<br/>Tamanho: 100 * @return numeroManifesto **/ @JsonProperty("numeroManifesto") @@ -569,7 +569,7 @@ public DadosCarregamentoEntregaLotes tipoManifesto(TipoManifestoEnum tipoManifes } /** - * 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/>Tamanho: 100 + * 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") @@ -587,7 +587,7 @@ public DadosCarregamentoEntregaLotes numeroConhecimentoMAWB(String numeroConheci } /** - * Identificação do conhecimento de carga ou do DSIC. <br/>No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC. <br/>No modal aéreo, na exportação, não deve ser preenchido. <br/>No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.<br/>Tamanho: 100 + * Identificação do conhecimento de carga ou do DSIC. <br/>No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC. <br/>No modal aéreo, na exportação, não deve ser preenchido. <br/>No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.<br/> Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\". <br/>Tamanho: 100 * @return numeroConhecimento **/ @JsonProperty("numeroConhecimento") 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 6d4ed82..476a333 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 = "Tipo de contêiner conforme tabela de domínio.
Tipo_Conteiner.pdf ") + @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.") /** - * Tipo de contêiner conforme tabela de domínio.
Tipo_Conteiner.pdf + * 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") + @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 + * 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") + @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 + * 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; @@ -185,7 +185,7 @@ public DadosContinerUldAcessoVeculo identificacaoUld(String identificacaoUld) { } /** - * Tipo de contêiner conforme tabela de domínio.<br/><a href=\"../pages/exemplos/rcnt/Tipo_Conteiner.pdf\" rel=\"noopener noreferrer\" target=\"_blank\"> Tipo_Conteiner.pdf </a> + * 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. * @return tipo **/ @JsonProperty("tipo") @@ -203,7 +203,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 + * 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. * @return ocrNumero **/ @JsonProperty("ocrNumero") @@ -221,7 +221,7 @@ public DadosContinerUldAcessoVeculo ocrNumero(Boolean ocrNumero) { } /** - * Contêiner vazio.<br/>Domínio:<br/>true - Sim<br/>false - Não + * 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. * @return vazio **/ @JsonProperty("vazio") 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 6e7062a..937a67e 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 = "Tipo de contêiner conforme tabela de domínio.
Tipo_Conteiner.pdf ") + @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.") /** - * Tipo de contêiner conforme tabela de domínio.
Tipo_Conteiner.pdf + * 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") + @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 + * 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; /** @@ -108,7 +108,7 @@ public DadosContinerUldInspeoNoInvasiva identificacaoUld(String identificacaoUld } /** - * Tipo de contêiner conforme tabela de domínio.<br/><a href=\"../pages/exemplos/rcnt/Tipo_Conteiner.pdf\" rel=\"noopener noreferrer\" target=\"_blank\"> Tipo_Conteiner.pdf </a> + * 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. * @return tipo **/ @JsonProperty("tipo") @@ -126,7 +126,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 + * 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. * @return ocrNumero **/ @JsonProperty("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 57dd284..41dc0ad 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 @@ -42,17 +42,17 @@ public class DadosContinerUldPesagemVeculo { private String identificacaoUld = null; @XmlElement(name="tipo") - @ApiModelProperty(example = "12U0", value = "Tipo de contêiner conforme tabela de domínio.
Tipo_Conteiner.pdf ") + @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.") /** - * Tipo de contêiner conforme tabela de domínio.
Tipo_Conteiner.pdf + * 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="tara") - @ApiModelProperty(example = "15.5", value = "Tara do contêiner ou ULD.

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.

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; /** @@ -111,7 +111,7 @@ public DadosContinerUldPesagemVeculo identificacaoUld(String identificacaoUld) { } /** - * Tipo de contêiner conforme tabela de domínio.<br/><a href=\"../pages/exemplos/rcnt/Tipo_Conteiner.pdf\" rel=\"noopener noreferrer\" target=\"_blank\"> Tipo_Conteiner.pdf </a> + * 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. * @return tipo **/ @JsonProperty("tipo") @@ -129,7 +129,7 @@ public DadosContinerUldPesagemVeculo tipo(String tipo) { } /** - * Tara do contêiner ou ULD.<br/><br/>tara, até 4 casas decimais. + * 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. * @return tara **/ @JsonProperty("tara") diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCoordenadasGeorreferenciamento.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCoordenadasGeorreferenciamento.java index c5975a6..3685ab1 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCoordenadasGeorreferenciamento.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosCoordenadasGeorreferenciamento.java @@ -27,19 +27,19 @@ public class DadosCoordenadasGeorreferenciamento { **/ private String idElemento = null; - @XmlElement(name="latitude") - @ApiModelProperty(example = "15.123456", value = "Latitude, 6 casas decimais") + @XmlElement(name="latitude", required = true) + @ApiModelProperty(example = "9.123456", required = true, value = "Latitude (somente serão válidos valores entre: +10.000000 e -38.000000), 6 casas decimais") @Valid /** - * Latitude, 6 casas decimais + * Latitude (somente serão válidos valores entre: +10.000000 e -38.000000), 6 casas decimais **/ private BigDecimal latitude = null; - @XmlElement(name="longitude") - @ApiModelProperty(example = "-29.123456", value = "Longitude, 6 casas decimais") + @XmlElement(name="longitude", required = true) + @ApiModelProperty(example = "-31.123456", required = true, value = "Longitude (somente serão válidos valores entre: -30.000000 e -78.000000) , 6 casas decimais") @Valid /** - * Longitude, 6 casas decimais + * Longitude (somente serão válidos valores entre: -30.000000 e -78.000000) , 6 casas decimais **/ private BigDecimal longitude = null; /** @@ -62,10 +62,11 @@ public DadosCoordenadasGeorreferenciamento idElemento(String idElemento) { } /** - * Latitude, 6 casas decimais + * Latitude (somente serão válidos valores entre: +10.000000 e -38.000000), 6 casas decimais * @return latitude **/ @JsonProperty("latitude") + @NotNull public BigDecimal getLatitude() { return latitude; } @@ -80,10 +81,11 @@ public DadosCoordenadasGeorreferenciamento latitude(BigDecimal latitude) { } /** - * Longitude, 6 casas decimais + * Longitude (somente serão válidos valores entre: -30.000000 e -78.000000) , 6 casas decimais * @return longitude **/ @JsonProperty("longitude") + @NotNull public BigDecimal getLongitude() { return longitude; } 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 19ac26b..b9b989e 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 @@ -72,9 +72,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -333,7 +333,7 @@ public DadosCredenciamentoPessoa tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") 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 b71ac32..91fb952 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 @@ -71,9 +71,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -253,7 +253,7 @@ public DadosCredenciamentoVeculo tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") 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 09d555a..ad57439 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 @@ -71,9 +71,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -162,7 +162,7 @@ public DadosDaChegadaAoPontoZero tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") 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 1f17aa8..c098eb4 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 @@ -73,9 +73,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -211,9 +211,9 @@ public static TipoEnum fromValue(String v) { private String setorSolicitante = null; @XmlElement(name="numeroManifesto") - @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto.
Tamanho: 100") + @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto. No caso de MDF-e informar a chave de acesso.
Tamanho: 100") /** - * Número do Manifesto.
Tamanho: 100 + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.
Tamanho: 100 **/ private String numeroManifesto = null; @@ -272,16 +272,16 @@ public static TipoManifestoEnum fromValue(String v) { private TipoManifestoEnum tipoManifesto = null; @XmlElement(name="numeroConhecimentoMAWB") - @ApiModelProperty(example = "0556548723", value = "Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Tamanho: 100") + @ApiModelProperty(example = "0556548723", value = "Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100") /** - * Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Tamanho: 100 + * Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100 **/ private String numeroConhecimentoMAWB = null; @XmlElement(name="numeroConhecimento") - @ApiModelProperty(example = "131805000071025", value = "Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.
Tamanho: 100") + @ApiModelProperty(example = "131805000071025", value = "Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100") /** - * Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.
Tamanho: 100 + * Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100 **/ private String numeroConhecimento = null; @@ -452,7 +452,7 @@ public DadosDaConfernciaFsica tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") @@ -717,7 +717,7 @@ public DadosDaConfernciaFsica setorSolicitante(String setorSolicitante) { } /** - * Número do Manifesto.<br/>Tamanho: 100 + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.<br/>Tamanho: 100 * @return numeroManifesto **/ @JsonProperty("numeroManifesto") @@ -756,7 +756,7 @@ public DadosDaConfernciaFsica 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/>Tamanho: 100 + * 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") @@ -774,7 +774,7 @@ public DadosDaConfernciaFsica numeroConhecimentoMAWB(String numeroConhecimentoMA } /** - * Identificação do conhecimento de carga ou do DSIC. <br/>No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC. <br/>No modal aéreo, na exportação, não deve ser preenchido. <br/>No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.<br/>Tamanho: 100 + * Identificação do conhecimento de carga ou do DSIC. <br/>No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC. <br/>No modal aéreo, na exportação, não deve ser preenchido. <br/>No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.<br/> Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\". <br/>Tamanho: 100 * @return numeroConhecimento **/ @JsonProperty("numeroConhecimento") 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 d05812a..2ddb390 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 @@ -73,9 +73,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -168,10 +168,10 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private List listaConteineresUld = null; - @XmlElement(name="vazio") - @ApiModelProperty(example = "false", value = "Vazio.
Domínio:
true - Sim
false - Não") + @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.") /** - * Vazio.
Domínio:
true - Sim
false - Não + * Vazio.
Domínio:
true - Sim
false - Não Pode ser nulo quando o evento for de exclusão. **/ private Boolean vazio = null; @@ -187,10 +187,10 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String arquivoMetadados = null; - @XmlElement(name="scanner") - @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", value = "Identificação do scanner. Usar o protocolo do evento de georreferenciamento relativo ao scanner.
Tamanho: 36") + @XmlElement(name="scanner", required = true) + @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", required = true, value = "Identificação do scanner. Usar o protocolo do evento de georreferenciamento relativo ao scanner. Pode ser nulo quando o evento for de exclusão.
Tamanho: 36") /** - * Identificação do scanner. Usar o protocolo do evento de georreferenciamento relativo ao scanner.
Tamanho: 36 + * Identificação do scanner. Usar o protocolo do evento de georreferenciamento relativo ao scanner. Pode ser nulo quando o evento for de exclusão.
Tamanho: 36 **/ private String scanner = null; @@ -224,7 +224,7 @@ public DadosDaInspeoNoInvasiva tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") @@ -488,10 +488,11 @@ public DadosDaInspeoNoInvasiva addListaConteineresUldItem(DadosContinerUldInspeo } /** - * Vazio.<br/>Domínio:<br/>true - Sim<br/>false - Não + * Vazio.<br/>Domínio:<br/>true - Sim<br/>false - Não Pode ser nulo quando o evento for de exclusão. * @return vazio **/ @JsonProperty("vazio") + @NotNull public Boolean isVazio() { return vazio; } @@ -543,10 +544,11 @@ public DadosDaInspeoNoInvasiva arquivoMetadados(String arquivoMetadados) { } /** - * Identificação do scanner. Usar o protocolo do evento de georreferenciamento relativo ao scanner.<br/>Tamanho: 36 + * Identificação do scanner. Usar o protocolo do evento de georreferenciamento relativo ao scanner. Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 36 * @return scanner **/ @JsonProperty("scanner") + @NotNull public String getScanner() { return scanner; } diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoConhecimentoDaCarga.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoConhecimentoDaCarga.java index e658989..a6995d0 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoConhecimentoDaCarga.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoConhecimentoDaCarga.java @@ -26,16 +26,16 @@ public class DadosDoConhecimentoDaCarga { private String idElemento = null; @XmlElement(name="numero") - @ApiModelProperty(example = "131805000071025", value = "Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.
Tamanho: 100") + @ApiModelProperty(example = "131805000071025", value = "Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100") /** - * Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.
Tamanho: 100 + * Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100 **/ private String numero = null; @XmlElement(name="numeroConhecimentoMAWB") - @ApiModelProperty(example = "0556548723", value = "Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Tamanho: 100") + @ApiModelProperty(example = "0556548723", value = "Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100") /** - * Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Tamanho: 100 + * Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100 **/ private String numeroConhecimentoMAWB = null; @@ -65,7 +65,7 @@ public DadosDoConhecimentoDaCarga idElemento(String idElemento) { } /** - * Identificação do conhecimento de carga ou do DSIC. <br/>No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC. <br/>No modal aéreo, na exportação, não deve ser preenchido. <br/>No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.<br/>Tamanho: 100 + * Identificação do conhecimento de carga ou do DSIC. <br/>No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC. <br/>No modal aéreo, na exportação, não deve ser preenchido. <br/>No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.<br/> Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\". <br/>Tamanho: 100 * @return numero **/ @JsonProperty("numero") @@ -83,7 +83,7 @@ public DadosDoConhecimentoDaCarga numero(String numero) { } /** - * 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/>Tamanho: 100 + * 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") diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoConhecimentoDaCargaSimplificado.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoConhecimentoDaCargaSimplificado.java index d204c88..e4c8009 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoConhecimentoDaCargaSimplificado.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoConhecimentoDaCargaSimplificado.java @@ -26,9 +26,9 @@ public class DadosDoConhecimentoDaCargaSimplificado { private String idElemento = null; @XmlElement(name="numero") - @ApiModelProperty(example = "131805000071025", value = "Número do conhecimento.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.
Tamanho: 100") + @ApiModelProperty(example = "131805000071025", value = "Número do conhecimento.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100") /** - * Número do conhecimento.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.
Tamanho: 100 + * Número do conhecimento.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100 **/ private String numero = null; @@ -58,7 +58,7 @@ public DadosDoConhecimentoDaCargaSimplificado idElemento(String idElemento) { } /** - * Número do conhecimento. <br/>No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.<br/>Tamanho: 100 + * Número do conhecimento. <br/>No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.<br/> Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\". <br/>Tamanho: 100 * @return numero **/ @JsonProperty("numero") 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 index 29d5bb9..a04c4f5 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManisfestoDaCarga.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManisfestoDaCarga.java @@ -38,9 +38,9 @@ public class DadosDoManisfestoDaCarga { private List listaConhecimentos = null; @XmlElement(name="numero") - @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto.
Tamanho: 100") + @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto. No caso de MDF-e informar a chave de acesso.
Tamanho: 100") /** - * Número do Manifesto.
Tamanho: 100 + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.
Tamanho: 100 **/ private String numero = null; @@ -140,7 +140,7 @@ public DadosDoManisfestoDaCarga addListaConhecimentosItem(DadosDoConhecimentoDaC } /** - * Número do Manifesto.<br/>Tamanho: 100 + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.<br/>Tamanho: 100 * @return numero **/ @JsonProperty("numero") 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 index f67a727..c867568 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManisfestoDaCargaSimplificado.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosDoManisfestoDaCargaSimplificado.java @@ -38,9 +38,9 @@ public class DadosDoManisfestoDaCargaSimplificado { private List listaConhecimentos = null; @XmlElement(name="numero") - @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto.
Tamanho: 100") + @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto. No caso de MDF-e informar a chave de acesso.
Tamanho: 100") /** - * Número do Manifesto.
Tamanho: 100 + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.
Tamanho: 100 **/ private String numero = null; @@ -140,7 +140,7 @@ public DadosDoManisfestoDaCargaSimplificado addListaConhecimentosItem(DadosDoCon } /** - * Número do Manifesto.<br/>Tamanho: 100 + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.<br/>Tamanho: 100 * @return numero **/ @JsonProperty("numero") 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 7f3fbeb..ca9ba5a 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 @@ -74,9 +74,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -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.
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.
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 = "Tipo de contêiner conforme tabela de domínio.
Tipo_Conteiner.pdf ") + @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.") /** - * Tipo de contêiner conforme tabela de domínio.
Tipo_Conteiner.pdf + * 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.

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.

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.

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.

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,66 +309,66 @@ 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

É 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
+ * 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.

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.

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="cargaSolta") - @ApiModelProperty(example = "false", value = "Indicador de carga solta.
Domínio:
true - Sim
false - Não") + @XmlElement(name="cargaSolta", required = true) + @ApiModelProperty(example = "false", required = true, value = "Indicador de carga solta.
Domínio:
true - Sim
false - Não") /** * Indicador de carga solta.
Domínio:
true - Sim
false - Não **/ private Boolean cargaSolta = null; @XmlElement(name="numeroLote") - @ApiModelProperty(value = "
Número de Lote. Usar o mesmo número gerado no evento GERAÇÃO DE LOTES.
Esse número será informado somente nos casos de carregamento de lote diretamente em navio, ou seja, sem unidade de carga (contêiner).
Por exemplo: carga solta.
Tamanho: 100") + @ApiModelProperty(value = "
Número de Lote. Usar o mesmo número gerado no evento Controle de Carga Solta-Geração de Lotes.
Esse número será informado somente nos casos de carregamento de lote de carga solta diretamente em navio, ou seja, sem unidade de carga (contêiner).

Tamanho: 100") /** - *
Número de Lote. Usar o mesmo número gerado no evento GERAÇÃO DE LOTES.
Esse número será informado somente nos casos de carregamento de lote diretamente em navio, ou seja, sem unidade de carga (contêiner).
Por exemplo: carga solta.
Tamanho: 100 + *
Número de Lote. Usar o mesmo número gerado no evento Controle de Carga Solta-Geração de Lotes.
Esse número será informado somente nos casos de carregamento de lote de carga solta diretamente em navio, ou seja, sem unidade de carga (contêiner).

Tamanho: 100 **/ private String numeroLote = null; @XmlElement(name="listaVolumes") - @ApiModelProperty(value = "Informar no caso de carregamento de carga solta em que não houve Geração de Lotes ou nos casos de descarregamento de carga solta.") + @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 de carga solta em que não houve Geração de Lotes ou nos casos de descarregamento de carga solta. + * 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...)") + @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...) + * 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; - @XmlElement(name="navio") - @ApiModelProperty(value = "") + @XmlElement(name="navio", required = true) + @ApiModelProperty(required = true, value = "") @Valid - private DadosNavio navio = null; + private DadosNavioObrigatorio navio = null; - @XmlElement(name="viagem") - @ApiModelProperty(value = "Viagem
Tamanho: 20") + @XmlElement(name="viagem", required = true) + @ApiModelProperty(required = true, value = "Viagem Pode ser nulo quando o evento for de exclusão.
Tamanho: 20") /** - * Viagem
Tamanho: 20 + * Viagem Pode ser nulo quando o evento for de exclusão.
Tamanho: 20 **/ private String viagem = null; - @XmlElement(name="escala") - @ApiModelProperty(value = "Escala
Tamanho: 20") + @XmlElement(name="escala", required = true) + @ApiModelProperty(required = true, value = "Escala Pode ser nulo quando o evento for de exclusão.
Tamanho: 20") /** - * Escala
Tamanho: 20 + * Escala Pode ser nulo quando o evento for de exclusão.
Tamanho: 20 **/ private String escala = null; @@ -445,7 +445,7 @@ public DadosEmbarqueDesembarqueNavio tipoOperacao(TipoOperacaoEnum tipoOperacao) } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") @@ -685,7 +685,7 @@ public DadosEmbarqueDesembarqueNavio embarqueDesembarque(EmbarqueDesembarqueEnum } /** - * Identificação do número do contêiner.<br/>Tamanho: 200 + * 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 * @return numeroConteiner **/ @JsonProperty("numeroConteiner") @@ -703,7 +703,7 @@ public DadosEmbarqueDesembarqueNavio numeroConteiner(String numeroConteiner) { } /** - * Tipo de contêiner conforme tabela de domínio.<br/><a href=\"../pages/exemplos/rcnt/Tipo_Conteiner.pdf\" rel=\"noopener noreferrer\" target=\"_blank\"> Tipo_Conteiner.pdf </a> + * 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. * @return tipoConteiner **/ @JsonProperty("tipoConteiner") @@ -757,7 +757,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/>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.<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. * @return pesoBrutoBalanca **/ @JsonProperty("pesoBrutoBalanca") @@ -775,7 +775,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/>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.<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. * @return pesoArqueacao **/ @JsonProperty("pesoArqueacao") @@ -793,7 +793,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/> + * 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'. * @return tipoGranel **/ @JsonProperty("tipoGranel") @@ -814,7 +814,7 @@ public DadosEmbarqueDesembarqueNavio tipoGranel(TipoGranelEnum tipoGranel) { } /** - * Volume (metros cúbicos). Especificamente no caso de granel líquido ou gasoso.<br/><br/>volume, até 4 casas decimais. + * 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. * @return volume **/ @JsonProperty("volume") @@ -836,6 +836,7 @@ public DadosEmbarqueDesembarqueNavio volume(BigDecimal volume) { * @return cargaSolta **/ @JsonProperty("cargaSolta") + @NotNull public Boolean isCargaSolta() { return cargaSolta; } @@ -850,7 +851,7 @@ public DadosEmbarqueDesembarqueNavio cargaSolta(Boolean cargaSolta) { } /** - * <br/>Número de Lote. Usar o mesmo número gerado no evento GERAÇÃO DE LOTES.<br/>Esse número será informado somente nos casos de carregamento de lote diretamente em navio, ou seja, sem unidade de carga (contêiner). <br/>Por exemplo: carga solta. <br/>Tamanho: 100 + * <br/>Número de Lote. Usar o mesmo número gerado no evento Controle de Carga Solta-Geração de Lotes.<br/>Esse número será informado somente nos casos de carregamento de lote de carga solta diretamente em navio, ou seja, sem unidade de carga (contêiner). <br/><br/>Tamanho: 100 * @return numeroLote **/ @JsonProperty("numeroLote") @@ -868,7 +869,7 @@ public DadosEmbarqueDesembarqueNavio numeroLote(String numeroLote) { } /** - * Informar no caso de carregamento de carga solta em que não houve Geração de Lotes ou nos casos de descarregamento de carga solta. + * 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'. * @return listaVolumes **/ @JsonProperty("listaVolumes") @@ -891,7 +892,7 @@ 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...) + * 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'. * @return listaChassi **/ @JsonProperty("listaChassi") @@ -918,24 +919,26 @@ public DadosEmbarqueDesembarqueNavio addListaChassiItem(DadosDoChassi listaChass * @return navio **/ @JsonProperty("navio") - public DadosNavio getNavio() { + @NotNull + public DadosNavioObrigatorio getNavio() { return navio; } - public void setNavio(DadosNavio navio) { + public void setNavio(DadosNavioObrigatorio navio) { this.navio = navio; } - public DadosEmbarqueDesembarqueNavio navio(DadosNavio navio) { + public DadosEmbarqueDesembarqueNavio navio(DadosNavioObrigatorio navio) { this.navio = navio; return this; } /** - * Viagem<br/>Tamanho: 20 + * Viagem Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 20 * @return viagem **/ @JsonProperty("viagem") + @NotNull public String getViagem() { return viagem; } @@ -950,10 +953,11 @@ public DadosEmbarqueDesembarqueNavio viagem(String viagem) { } /** - * Escala<br/>Tamanho: 20 + * Escala Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 20 * @return escala **/ @JsonProperty("escala") + @NotNull public String getEscala() { return escala; } diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosGeorreferenciamento.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosGeorreferenciamento.java index 547c143..752e214 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosGeorreferenciamento.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosGeorreferenciamento.java @@ -12,6 +12,7 @@ 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) @@ -73,9 +74,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -163,13 +164,13 @@ public static TipoOperacaoEnum fromValue(String v) { **/ private String tipo = null; - @XmlElement(name="listaCoordenadas") - @ApiModelProperty(value = "Lista de Coordenadas.
Ponto (uma latitude e longitude) ou lista em sequência dos pontos para desenhar um polígono.
No caso de câmeras mobile não transmitir esse atributo.") + @XmlElement(name="listaCoordenadas", required = true) + @ApiModelProperty(required = true, value = "Lista de Coordenadas.
Ponto (uma latitude e longitude) ou lista em sequência dos pontos para desenhar um polígono.") @Valid /** - * Lista de Coordenadas.
Ponto (uma latitude e longitude) ou lista em sequência dos pontos para desenhar um polígono.
No caso de câmeras mobile não transmitir esse atributo. + * Lista de Coordenadas.
Ponto (uma latitude e longitude) ou lista em sequência dos pontos para desenhar um polígono. **/ - private List listaCoordenadas = null; + private List listaCoordenadas = new ArrayList<>(); /** * Indica se o evento transmitido é novo (incluir) ou retifica/exclui evento anterior.<br/>Domínio:<br/>I - Incluir<br/>R - Retificar<br/>E - Excluir * @return tipoOperacao @@ -193,7 +194,7 @@ public DadosGeorreferenciamento tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") @@ -435,10 +436,11 @@ public DadosGeorreferenciamento tipo(String tipo) { } /** - * Lista de Coordenadas.<br/>Ponto (uma latitude e longitude) ou lista em sequência dos pontos para desenhar um polígono.<br/>No caso de câmeras mobile não transmitir esse atributo. + * Lista de Coordenadas.<br/>Ponto (uma latitude e longitude) ou lista em sequência dos pontos para desenhar um polígono. * @return listaCoordenadas **/ @JsonProperty("listaCoordenadas") + @NotNull public List getListaCoordenadas() { return listaCoordenadas; } 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 5928026..f1f40b0 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", "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", "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" }) @XmlRootElement(name="DadosGeraoLote") @@ -74,9 +74,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -130,9 +130,9 @@ public static TipoOperacaoEnum fromValue(String v) { private String codigoRecinto = null; @XmlElement(name="numeroManifesto") - @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto.
Tamanho: 100") + @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto. No caso de MDF-e informar a chave de acesso.
Tamanho: 100") /** - * Número do Manifesto.
Tamanho: 100 + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.
Tamanho: 100 **/ private String numeroManifesto = null; @@ -191,16 +191,16 @@ public static TipoManifestoEnum fromValue(String v) { private TipoManifestoEnum tipoManifesto = null; @XmlElement(name="numeroConhecimentoMAWB") - @ApiModelProperty(example = "0556548723", value = "Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Tamanho: 100") + @ApiModelProperty(example = "0556548723", value = "Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100") /** - * Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Tamanho: 100 + * Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100 **/ private String numeroConhecimentoMAWB = null; @XmlElement(name="numeroConhecimento") - @ApiModelProperty(example = "131805000071025", value = "Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.
Tamanho: 100") + @ApiModelProperty(example = "131805000071025", value = "Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100") /** - * Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.
Tamanho: 100 + * Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100 **/ private String numeroConhecimento = null; @@ -231,6 +231,14 @@ public static TipoManifestoEnum fromValue(String v) { **/ private List listaNfe = null; + @XmlElement(name="listaMalas") + @ApiModelProperty(value = "Lista com as malas postais. Utilizar apenas para remessa postal internacional.") + @Valid + /** + * Lista com as malas postais. Utilizar apenas para remessa postal internacional. + **/ + private List listaMalas = null; + @XmlElement(name="cnpjResponsavelAnterior") @ApiModelProperty(example = "44444444444444", value = "CNPJ do responsável pela carga anteriormente à troca de responsabilidade para o depositário.
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'") /** @@ -276,10 +284,10 @@ public static TipoManifestoEnum fromValue(String v) { private String identificacaoUld = 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; @@ -443,7 +451,7 @@ public DadosGeraoLote tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") @@ -592,7 +600,7 @@ public DadosGeraoLote codigoRecinto(String codigoRecinto) { } /** - * Número do Manifesto.<br/>Tamanho: 100 + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.<br/>Tamanho: 100 * @return numeroManifesto **/ @JsonProperty("numeroManifesto") @@ -631,7 +639,7 @@ 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/>Tamanho: 100 + * 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") @@ -649,7 +657,7 @@ public DadosGeraoLote numeroConhecimentoMAWB(String numeroConhecimentoMAWB) { } /** - * Identificação do conhecimento de carga ou do DSIC. <br/>No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC. <br/>No modal aéreo, na exportação, não deve ser preenchido. <br/>No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.<br/>Tamanho: 100 + * Identificação do conhecimento de carga ou do DSIC. <br/>No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC. <br/>No modal aéreo, na exportação, não deve ser preenchido. <br/>No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.<br/> Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\". <br/>Tamanho: 100 * @return numeroConhecimento **/ @JsonProperty("numeroConhecimento") @@ -743,6 +751,29 @@ public DadosGeraoLote addListaNfeItem(DadosDaNotaFiscalEmbarqueDesembarque lista return this; } + /** + * Lista com as malas postais. Utilizar apenas para remessa postal internacional. + * @return listaMalas + **/ + @JsonProperty("listaMalas") + public List getListaMalas() { + return listaMalas; + } + + public void setListaMalas(List listaMalas) { + this.listaMalas = listaMalas; + } + + public DadosGeraoLote listaMalas(List listaMalas) { + this.listaMalas = listaMalas; + return this; + } + + public DadosGeraoLote addListaMalasItem(DadosDaMala listaMalasItem) { + this.listaMalas.add(listaMalasItem); + return this; + } + /** * CNPJ do responsável pela carga anteriormente à troca de responsabilidade para o depositário.<br/>Tamanho: 14<br/>Formato: 'NNNNNNNNNNNNNN' * @return cnpjResponsavelAnterior @@ -857,7 +888,7 @@ public DadosGeraoLote identificacaoUld(String identificacaoUld) { } /** - * Lista de Chassis. Informar todos os chassis das mercadorias, inclusive o tipo meios próprios (Impo/Expo ônibus, cavalo-trator, semirreboque...)<br/>Tamanho: 50 + * 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 * @return listaChassi **/ @JsonProperty("listaChassi") @@ -1172,6 +1203,7 @@ public String toString() { sb.append(" numeroRUC: ").append(toIndentedString(numeroRUC)).append("\n"); sb.append(" declaracaoAduaneira: ").append(toIndentedString(declaracaoAduaneira)).append("\n"); sb.append(" listaNfe: ").append(toIndentedString(listaNfe)).append("\n"); + sb.append(" listaMalas: ").append(toIndentedString(listaMalas)).append("\n"); sb.append(" cnpjResponsavelAnterior: ").append(toIndentedString(cnpjResponsavelAnterior)).append("\n"); sb.append(" codigoRecintoOrigem: ").append(toIndentedString(codigoRecintoOrigem)).append("\n"); sb.append(" pesoManifesto: ").append(toIndentedString(pesoManifesto)).append("\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 fe1ad4c..2ed33bc 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 @@ -61,9 +61,9 @@ public class DadosImagemScanner { private List listaCoordenadasAlerta = null; @XmlElement(name="arquivoImagem") - @ApiModelProperty(value = "Arquivo de imagem jpeg (encoder base64).
Enviar uma cópia da imagem original gerada pelo equipamento de inspeção não invasiva no formato jpeg, redimensionada para 800 linhas, com colunas proporcionais, com uso de filtro Antialias/Lanczos próprio para redução de imagens, com preservação da informação de canais de cor original. (doc técnica). A imagem redimensionada também não poderá ser superior a 400 Kb, sendo o caso, redimensionar para um tamanho um pouco menor que 800 linhas.") + @ApiModelProperty(value = "Arquivo de imagem jpeg (encoder base64).
Enviar uma cópia da imagem original gerada pelo equipamento de inspeção não invasiva no formato jpeg, redimensionada para 800 linhas (800 pixels de altura), com colunas proporcionais(largura da imagem deve ser proporcional), com uso de filtro Antialias/Lanczos próprio para redução de imagens, com preservação da informação de canais de cor original. (doc técnica). A imagem redimensionada também não poderá ser superior a 400 Kb, sendo o caso, redimensionar para um tamanho um pouco menor que 800 linhas.") /** - * Arquivo de imagem jpeg (encoder base64).
Enviar uma cópia da imagem original gerada pelo equipamento de inspeção não invasiva no formato jpeg, redimensionada para 800 linhas, com colunas proporcionais, com uso de filtro Antialias/Lanczos próprio para redução de imagens, com preservação da informação de canais de cor original. (doc técnica). A imagem redimensionada também não poderá ser superior a 400 Kb, sendo o caso, redimensionar para um tamanho um pouco menor que 800 linhas. + * Arquivo de imagem jpeg (encoder base64).
Enviar uma cópia da imagem original gerada pelo equipamento de inspeção não invasiva no formato jpeg, redimensionada para 800 linhas (800 pixels de altura), com colunas proporcionais(largura da imagem deve ser proporcional), com uso de filtro Antialias/Lanczos próprio para redução de imagens, com preservação da informação de canais de cor original. (doc técnica). A imagem redimensionada também não poderá ser superior a 400 Kb, sendo o caso, redimensionar para um tamanho um pouco menor que 800 linhas. **/ private String arquivoImagem = null; @@ -169,7 +169,7 @@ public DadosImagemScanner addListaCoordenadasAlertaItem(DadosDaCoordenadaDeAlert } /** - * Arquivo de imagem jpeg (encoder base64). <br/>Enviar uma cópia da imagem original gerada pelo equipamento de inspeção não invasiva no formato jpeg, redimensionada para 800 linhas, com colunas proporcionais, com uso de filtro Antialias/Lanczos próprio para redução de imagens, com preservação da informação de canais de cor original. (doc técnica). A imagem redimensionada também não poderá ser superior a 400 Kb, sendo o caso, redimensionar para um tamanho um pouco menor que 800 linhas. + * Arquivo de imagem jpeg (encoder base64). <br/>Enviar uma cópia da imagem original gerada pelo equipamento de inspeção não invasiva no formato jpeg, redimensionada para 800 linhas (800 pixels de altura), com colunas proporcionais(largura da imagem deve ser proporcional), com uso de filtro Antialias/Lanczos próprio para redução de imagens, com preservação da informação de canais de cor original. (doc técnica). A imagem redimensionada também não poderá ser superior a 400 Kb, sendo o caso, redimensionar para um tamanho um pouco menor que 800 linhas. * @return arquivoImagem **/ @JsonProperty("arquivoImagem") 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 620e687..8cdbbfa 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 @@ -71,9 +71,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -176,7 +176,7 @@ public DadosIndisponibilidadeEquipamento tipoOperacao(TipoOperacaoEnum tipoOpera } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") 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 dd9c530..0f535ed 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 @@ -73,9 +73,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -175,9 +175,9 @@ public static StatusEnum fromValue(String v) { private StatusEnum status = null; @XmlElement(name="numeroManifesto") - @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto.
Tamanho: 100") + @ApiModelProperty(example = "1318500002175", value = "Número do Manifesto. No caso de MDF-e informar a chave de acesso.
Tamanho: 100") /** - * Número do Manifesto.
Tamanho: 100 + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.
Tamanho: 100 **/ private String numeroManifesto = null; @@ -236,16 +236,16 @@ public static TipoManifestoEnum fromValue(String v) { private TipoManifestoEnum tipoManifesto = null; @XmlElement(name="numeroConhecimentoMAWB") - @ApiModelProperty(example = "0556548723", value = "Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Tamanho: 100") + @ApiModelProperty(example = "0556548723", value = "Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100") /** - * Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Tamanho: 100 + * Identificação do conhecimento MASTER (MAWB), a ser utilizado somente no modal aéreo.
Quando se tratar de um MAWB, esse campo deve ser preenchido, e o campo 'Conhecimento de carga' deve ser deixado vazio.
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'
deve ser preenchido com o HOUSE.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100 **/ private String numeroConhecimentoMAWB = null; @XmlElement(name="numeroConhecimento") - @ApiModelProperty(example = "131805000071025", value = "Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.
Tamanho: 100") + @ApiModelProperty(example = "131805000071025", value = "Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100") /** - * Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.
Tamanho: 100 + * Identificação do conhecimento de carga ou do DSIC.
No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC.
No modal aéreo, na exportação, não deve ser preenchido.
No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.
Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\".
Tamanho: 100 **/ private String numeroConhecimento = null; @@ -257,9 +257,9 @@ public static TipoManifestoEnum fromValue(String v) { private String tipoConhecimento = null; @XmlElement(name="numeroDeclaracao") - @ApiModelProperty(value = "Número da declaração aduaneira.
Tamanho: 100") + @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") /** - * Número da declaração aduaneira.
Tamanho: 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 **/ private String numeroDeclaracao = null; @@ -342,7 +342,7 @@ public DadosInformaoBloqueioDesbloqueioVeculoCarga tipoOperacao(TipoOperacaoEnum } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") @@ -512,7 +512,7 @@ public DadosInformaoBloqueioDesbloqueioVeculoCarga status(StatusEnum status) { } /** - * Número do Manifesto.<br/>Tamanho: 100 + * Número do Manifesto. No caso de MDF-e informar a chave de acesso.<br/>Tamanho: 100 * @return numeroManifesto **/ @JsonProperty("numeroManifesto") @@ -551,7 +551,7 @@ public DadosInformaoBloqueioDesbloqueioVeculoCarga tipoManifesto(TipoManifestoEn } /** - * 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/>Tamanho: 100 + * 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") @@ -569,7 +569,7 @@ public DadosInformaoBloqueioDesbloqueioVeculoCarga numeroConhecimentoMAWB(String } /** - * Identificação do conhecimento de carga ou do DSIC. <br/>No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC. <br/>No modal aéreo, na exportação, não deve ser preenchido. <br/>No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga.<br/>Tamanho: 100 + * Identificação do conhecimento de carga ou do DSIC. <br/>No modal aéreo, na importação, deve ser preenchido quando se tratar de AWB direto, ou HAWB, ou DSIC. <br/>No modal aéreo, na exportação, não deve ser preenchido. <br/>No aquaviário deve ser preenchido com CE Mercante na importação e na exportação com o conhecimento internacional ou, quando ainda não emitido, com o CT-e que amparou a chegada da carga. No caso de CT-e informar a chave de acesso.<br/> Deve ser informado sem caracteres de máscara de formatação. Contudo, será permitido o uso do caractere \"-\". <br/>Tamanho: 100 * @return numeroConhecimento **/ @JsonProperty("numeroConhecimento") @@ -605,7 +605,7 @@ public DadosInformaoBloqueioDesbloqueioVeculoCarga tipoConhecimento(String tipoC } /** - * Número da declaração aduaneira.<br/>Tamanho: 100 + * 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 **/ @JsonProperty("numeroDeclaracao") diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosInformaoPrviaTrnsitoSimplificadoContiner.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosInformaoPrviaTrnsitoSimplificadoContiner.java index b6797b9..64c44ef 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosInformaoPrviaTrnsitoSimplificadoContiner.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosInformaoPrviaTrnsitoSimplificadoContiner.java @@ -73,9 +73,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -184,7 +184,7 @@ public DadosInformaoPrviaTrnsitoSimplificadoContiner tipoOperacao(TipoOperacaoEn } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") 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 519267c..8292278 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 @@ -11,6 +11,7 @@ import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) @@ -28,17 +29,17 @@ public class DadosLote { **/ private String contraMarca = null; - @XmlElement(name="divergenciaQualificacao") - @ApiModelProperty(example = "false", value = "Divergência de qualificação de mercadoria/volumes
Domínio:
true - Sim
false - Não") + @XmlElement(name="divergenciaQualificacao", required = true) + @ApiModelProperty(example = "false", required = true, value = "Divergência de qualificação de mercadoria/volumes. Pode ser nulo quando o evento for de exclusão.
Domínio:
true - Sim
false - Não") /** - * Divergência de qualificação de mercadoria/volumes
Domínio:
true - Sim
false - Não + * Divergência de qualificação de mercadoria/volumes. Pode ser nulo quando o evento for de exclusão.
Domínio:
true - Sim
false - Não **/ private Boolean divergenciaQualificacao = null; - @XmlElement(name="divergenciaQuantidade") - @ApiModelProperty(example = "false", value = "Divergência de quantidades de mercadoria/volumes
Domínio:
true - Sim
false - Não") + @XmlElement(name="divergenciaQuantidade", required = true) + @ApiModelProperty(example = "false", required = true, value = "Divergência de quantidades de mercadoria/volumes. Pode ser nulo quando o evento for de exclusão.
Domínio:
true - Sim
false - Não") /** - * Divergência de quantidades de mercadoria/volumes
Domínio:
true - Sim
false - Não + * Divergência de quantidades de mercadoria/volumes. Pode ser nulo quando o evento for de exclusão.
Domínio:
true - Sim
false - Não **/ private Boolean divergenciaQuantidade = null; @@ -64,13 +65,13 @@ public class DadosLote { **/ private List listaTipoAvaria = null; - @XmlElement(name="listaVolumesVerificados") - @ApiModelProperty(value = "Lista de Volumes recepcionados") + @XmlElement(name="listaVolumesVerificados", required = true) + @ApiModelProperty(required = true, value = "Lista de volumes verificados e recepcionados.") @Valid /** - * Lista de Volumes recepcionados + * Lista de volumes verificados e recepcionados. **/ - private List listaVolumesVerificados = null; + private List listaVolumesVerificados = new ArrayList<>(); @XmlElement(name="marca") @ApiModelProperty(value = "Marca visível
Tamanho: 100") @@ -109,16 +110,16 @@ public class DadosLote { private BigDecimal pesoLoteBalanca = null; @XmlElement(name="quantidadeVolumesAvariados") - @ApiModelProperty(example = "3", value = "Quantidade de volumes avariados") + @ApiModelProperty(example = "3", value = "Informar a quantidade de volumes avariados.
É obrigatório que o atributo 'quantidadeVolumesAvariados' seja informado quando o atributo 'tipoAvaria' for informado.") /** - * Quantidade de volumes avariados + * 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 = "Quantidade de volumes divergentes") + @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'.") /** - * Quantidade de volumes divergentes + * 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; /** @@ -140,10 +141,11 @@ public DadosLote contraMarca(String contraMarca) { } /** - * Divergência de qualificação de mercadoria/volumes<br/>Domínio:<br/>true - Sim<br/>false - Não + * Divergência de qualificação de mercadoria/volumes. Pode ser nulo quando o evento for de exclusão.<br/>Domínio:<br/>true - Sim<br/>false - Não * @return divergenciaQualificacao **/ @JsonProperty("divergenciaQualificacao") + @NotNull public Boolean isDivergenciaQualificacao() { return divergenciaQualificacao; } @@ -158,10 +160,11 @@ public DadosLote divergenciaQualificacao(Boolean divergenciaQualificacao) { } /** - * Divergência de quantidades de mercadoria/volumes<br/>Domínio:<br/>true - Sim<br/>false - Não + * Divergência de quantidades de mercadoria/volumes. Pode ser nulo quando o evento for de exclusão.<br/>Domínio:<br/>true - Sim<br/>false - Não * @return divergenciaQuantidade **/ @JsonProperty("divergenciaQuantidade") + @NotNull public Boolean isDivergenciaQuantidade() { return divergenciaQuantidade; } @@ -236,24 +239,25 @@ public DadosLote addListaTipoAvariaItem(DadosDoTipoDeAvaria listaTipoAvariaItem) } /** - * Lista de Volumes recepcionados + * Lista de volumes verificados e recepcionados. * @return listaVolumesVerificados **/ @JsonProperty("listaVolumesVerificados") - public List getListaVolumesVerificados() { + @NotNull + public List getListaVolumesVerificados() { return listaVolumesVerificados; } - public void setListaVolumesVerificados(List listaVolumesVerificados) { + public void setListaVolumesVerificados(List listaVolumesVerificados) { this.listaVolumesVerificados = listaVolumesVerificados; } - public DadosLote listaVolumesVerificados(List listaVolumesVerificados) { + public DadosLote listaVolumesVerificados(List listaVolumesVerificados) { this.listaVolumesVerificados = listaVolumesVerificados; return this; } - public DadosLote addListaVolumesVerificadosItem(DadosVolumeVerificado listaVolumesVerificadosItem) { + public DadosLote addListaVolumesVerificadosItem(DadosVolumeVerificadoMadeiraObrigatorio listaVolumesVerificadosItem) { this.listaVolumesVerificados.add(listaVolumesVerificadosItem); return this; } @@ -350,7 +354,7 @@ public DadosLote pesoLoteBalanca(BigDecimal pesoLoteBalanca) { } /** - * Quantidade de volumes avariados + * Informar a quantidade de volumes avariados. <br/>É obrigatório que o atributo 'quantidadeVolumesAvariados' seja informado quando o atributo 'tipoAvaria' for informado. * @return quantidadeVolumesAvariados **/ @JsonProperty("quantidadeVolumesAvariados") @@ -368,7 +372,7 @@ public DadosLote quantidadeVolumesAvariados(Integer quantidadeVolumesAvariados) } /** - * Quantidade de volumes divergentes + * Informar a quantidade de volumes divergentes. <br/>É obrigatório que o atributo 'quantidadeVolumesDivergentes' seja informado quando o atributo 'divergenciaQuantidade' for informado com 'true'. * @return quantidadeVolumesDivergentes **/ @JsonProperty("quantidadeVolumesDivergentes") diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavio.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavio.java index ef33be2..0d05797 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavio.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavio.java @@ -18,20 +18,20 @@ public class DadosNavio { @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
Tamanho: 10") + @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.
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
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.
Tamanho: 10 **/ private String imo = null; @XmlElement(name="nome") - @ApiModelProperty(value = "Nome do navio de embarque ou desembarque da carga.
Tamanho: 100") + @ApiModelProperty(value = "Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.
Tamanho: 100") /** - * Nome do navio de embarque ou desembarque da carga.
Tamanho: 100 + * Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.
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><br/>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 <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.<br/>Tamanho: 10 * @return imo **/ @JsonProperty("imo") @@ -49,7 +49,7 @@ public DadosNavio imo(String imo) { } /** - * Nome do navio de embarque ou desembarque da carga.<br/>Tamanho: 100 + * Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 100 * @return nome **/ @JsonProperty("nome") diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavioNomeObrigatorio.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavioNomeObrigatorio.java new file mode 100644 index 0000000..73f431a --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavioNomeObrigatorio.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 = "DadosNavioNomeObrigatorio", propOrder = + { "imo", "nome" +}) + +@XmlRootElement(name="DadosNavioNomeObrigatorio") +public class DadosNavioNomeObrigatorio { + + @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.
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.
Tamanho: 10 + **/ + private String imo = null; + + @XmlElement(name="nome", required = true) + @ApiModelProperty(required = true, value = "Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.
Tamanho: 100") + /** + * Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.
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.<br/>Tamanho: 10 + * @return imo + **/ + @JsonProperty("imo") + public String getImo() { + return imo; + } + + public void setImo(String imo) { + this.imo = imo; + } + + public DadosNavioNomeObrigatorio 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.<br/>Tamanho: 100 + * @return nome + **/ + @JsonProperty("nome") + @NotNull + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public DadosNavioNomeObrigatorio nome(String nome) { + this.nome = nome; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosNavioNomeObrigatorio {\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/DadosNavioObrigatorio.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavioObrigatorio.java new file mode 100644 index 0000000..ef15e04 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosNavioObrigatorio.java @@ -0,0 +1,95 @@ +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 = "DadosNavioObrigatorio", propOrder = + { "imo", "nome" +}) + +@XmlRootElement(name="DadosNavioObrigatorio") +public class DadosNavioObrigatorio { + + @XmlElement(name="imo", required = true) + @ApiModelProperty(required = true, 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.
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.
Tamanho: 10 + **/ + private String imo = null; + + @XmlElement(name="nome", required = true) + @ApiModelProperty(required = true, value = "Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.
Tamanho: 100") + /** + * Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.
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.<br/>Tamanho: 10 + * @return imo + **/ + @JsonProperty("imo") + @NotNull + public String getImo() { + return imo; + } + + public void setImo(String imo) { + this.imo = imo; + } + + public DadosNavioObrigatorio 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.<br/>Tamanho: 100 + * @return nome + **/ + @JsonProperty("nome") + @NotNull + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public DadosNavioObrigatorio nome(String nome) { + this.nome = nome; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosNavioObrigatorio {\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 d094bcd..fe811e3 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 @@ -74,9 +74,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -154,17 +154,17 @@ public static TipoOperacaoEnum fromValue(String v) { 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="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.

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.

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 +177,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.

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.

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,24 +193,24 @@ 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.

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.

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") - @ApiModelProperty(example = "false", value = "Indicar se é uma pesagem de veículo vazio.
Domínio:
true - Sim
false - Não") + @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.
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") - @ApiModelProperty(example = "false", value = "Captura automática de peso. Indica se o peso foi obtido automaticamente, sem intervenção humana.
Domínio:
true - Sim
false - Não") + @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") /** - * Captura automática de peso. Indica se o peso foi obtido automaticamente, sem intervenção humana.
Domínio:
true - Sim
false - Não + * 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 **/ private Boolean capturaAutoPeso = null; @@ -300,31 +300,31 @@ public static CorreiasTransportadorasEnum fromValue(String v) { } @XmlElement(name="correiasTransportadoras") - @ApiModelProperty(example = "E", value = "Informar esse atributo quando, de forma similar a dutos, o granel ingressar no recinto, oriundo de usina, pátio de estocagem ou silo, por meio de correias transportadoras. Não aplicável nos descarregamentos de veículos ou embarcações com correias transportadoras, neste caso enviar Embarque/Desembarque Navio.
Domínio:
E - Entrada
S - Saída") + @ApiModelProperty(example = "E", value = "Informar esse atributo quando, de forma similar a dutos, o granel ingressar no recinto por meio de correias transportadoras.
Domínio:
E - Entrada
S - Saída") /** - * Informar esse atributo quando, de forma similar a dutos, o granel ingressar no recinto, oriundo de usina, pátio de estocagem ou silo, por meio de correias transportadoras. Não aplicável nos descarregamentos de veículos ou embarcações com correias transportadoras, neste caso enviar Embarque/Desembarque Navio.
Domínio:
E - Entrada
S - Saída + * Informar esse atributo quando, de forma similar a dutos, o granel ingressar no recinto por meio de correias transportadoras.
Domínio:
E - Entrada
S - Saída **/ 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.
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.
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.

volume, 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.

volume, 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") - @ApiModelProperty(example = "66d24eb1-6ac9-4798-bc93-f4c66eb6fa9b", value = "Identificação balança. Usar o protocolo do evento de georreferenciamento relativo à localização da balança.
Tamanho: 36") + @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") /** - * Identificação balança. Usar o protocolo do evento de georreferenciamento relativo à localização da balança.
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 **/ private String balanca = null; @@ -358,7 +358,7 @@ public DadosPesagemVeculo tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") @@ -571,7 +571,7 @@ public DadosPesagemVeculo pesoBrutoManifesto(BigDecimal pesoBrutoManifesto) { } /** - * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva).<br/>Tamanho: 50 + * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva). <br/><br/>Tamanho: 50 * @return placa **/ @JsonProperty("placa") @@ -589,7 +589,7 @@ 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/><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.<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. * @return tara **/ @JsonProperty("tara") @@ -630,7 +630,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/><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.<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. * @return taraConjunto **/ @JsonProperty("taraConjunto") @@ -671,7 +671,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/><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.<br/>É obrigatório informar o atributo 'pesoBrutoBalanca' quando o atributo 'volume' não for informado.<br/><br/>pesoBrutoBalanca, até 4 casas decimais. * @return pesoBrutoBalanca **/ @JsonProperty("pesoBrutoBalanca") @@ -689,10 +689,11 @@ public DadosPesagemVeculo pesoBrutoBalanca(BigDecimal pesoBrutoBalanca) { } /** - * Indicar se é uma pesagem de veículo vazio.<br/>Domínio:<br/>true - Sim<br/>false - Não + * 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("vazio") + @NotNull public Boolean isVazio() { return vazio; } @@ -707,10 +708,11 @@ public DadosPesagemVeculo vazio(Boolean vazio) { } /** - * Captura automática de peso. Indica se o peso foi obtido automaticamente, sem intervenção humana.<br/>Domínio:<br/>true - Sim<br/>false - Não + * 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("capturaAutoPeso") + @NotNull public Boolean isCapturaAutoPeso() { return capturaAutoPeso; } @@ -746,7 +748,7 @@ public DadosPesagemVeculo dutos(DutosEnum dutos) { } /** - * Informar esse atributo quando, de forma similar a dutos, o granel ingressar no recinto, oriundo de usina, pátio de estocagem ou silo, por meio de correias transportadoras. Não aplicável nos descarregamentos de veículos ou embarcações com correias transportadoras, neste caso enviar Embarque/Desembarque Navio. <br/>Domínio:<br/>E - Entrada<br/>S - Saída + * Informar esse atributo quando, de forma similar a dutos, o granel ingressar no recinto por meio de correias transportadoras. <br/>Domínio:<br/>E - Entrada<br/>S - Saída * @return correiasTransportadoras **/ @JsonProperty("correiasTransportadoras") @@ -767,7 +769,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/>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.<br/>É obrigatório informar o atributo 'ncm' quando pelo menos um dos seguintes atributos for informado: 'dutos', 'correiasTransportadoras'.<br/>Tamanho: 8 * @return ncm **/ @JsonProperty("ncm") @@ -785,7 +787,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/><br/>volume, 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.<br/> É obrigatório informar o atributo ‘volume’ quando o atributo ‘pesoBrutoBalanca’ não for informado.até 4 casas decimais. * @return volume **/ @JsonProperty("volume") @@ -803,10 +805,11 @@ public DadosPesagemVeculo volume(BigDecimal volume) { } /** - * Identificação balança. Usar o protocolo do evento de georreferenciamento relativo à localização da balança.<br/>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.<br/>Tamanho: 36 * @return balanca **/ @JsonProperty("balanca") + @NotNull public String getBalanca() { return balanca; } 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 5e1ee90..e321715 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 @@ -73,9 +73,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -219,7 +219,7 @@ public DadosPosioContiner tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") 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 038bbd6..6e397ea 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 @@ -73,9 +73,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -137,17 +137,17 @@ public static TipoOperacaoEnum fromValue(String v) { 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") + @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") /** - * 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="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; @@ -232,7 +232,7 @@ public DadosPosioVeculoPtio tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") @@ -404,7 +404,7 @@ public DadosPosioVeculoPtio addListaManifestosItem(DadosDoManisfestoDaCarga list } /** - * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva). Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 50 + * Placa do veículo (Cavalo-trator/truck/automóvel/locomotiva). <br/> Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 50 * @return placa **/ @JsonProperty("placa") @@ -423,7 +423,7 @@ 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/>Tamanho: 50 + * 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 * @return listaChassi **/ @JsonProperty("listaChassi") diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPrximoNavio.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPrximoNavio.java index 7bde960..1fef0a8 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPrximoNavio.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosPrximoNavio.java @@ -23,20 +23,20 @@ public class DadosPrximoNavio { @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
Tamanho: 10") + @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.
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
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.
Tamanho: 10 **/ private String imo = null; @XmlElement(name="nome") - @ApiModelProperty(value = "Nome do navio de embarque ou desembarque da carga.
Tamanho: 100") + @ApiModelProperty(value = "Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.
Tamanho: 100") /** - * Nome do navio de embarque ou desembarque da carga.
Tamanho: 100 + * Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.
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><br/>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 <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.<br/>Tamanho: 10 * @return imo **/ @JsonProperty("imo") @@ -54,7 +54,7 @@ public DadosPrximoNavio imo(String imo) { } /** - * Nome do navio de embarque ou desembarque da carga.<br/>Tamanho: 100 + * Nome do navio de embarque ou desembarque da carga. Pode ser nulo quando o evento for de exclusão.<br/>Tamanho: 100 * @return nome **/ @JsonProperty("nome") 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 97c10d9..f8a775f 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 @@ -72,9 +72,9 @@ public static TipoOperacaoEnum fromValue(String v) { private TipoOperacaoEnum tipoOperacao = null; @XmlElement(name="idEvento", required = true) - @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100") + @ApiModelProperty(required = true, value = "Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100") /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.
O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.
Tamanho: 100 **/ private String idEvento = null; @@ -222,7 +222,7 @@ public DadosRepresentante tipoOperacao(TipoOperacaoEnum tipoOperacao) { } /** - * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/>Tamanho: 100 + * Identificador único do evento que pode ser utilizado para recuperar as informações do Evento no sistema de origem do Recinto remetente. Ex.: Chave tabela 1 + ... + chave tabela n - tantas chaves quantas forem as tabelas necessárias para montar o registro do evento.<br/> O idEvento informado em cada evento não pode ser repetido quando \"tipoOperacao\"=\"I-Incluir\", ou seja, não pode ser reutilizado em novos eventos de inclusão para o mesmo tipo de evento e pelo mesmo recinto remetente.<br/>Tamanho: 100 * @return idEvento **/ @JsonProperty("idEvento") 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 f22b39c..ce32aa2 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).
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).
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.
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.
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; @@ -169,7 +169,7 @@ public DadosSemirreboque 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 + * 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 * @return ocrPlaca **/ @JsonProperty("ocrPlaca") @@ -187,7 +187,7 @@ public DadosSemirreboque ocrPlaca(Boolean ocrPlaca) { } /** - * Veículo vazio.<br/>Domínio:<br/>true - Sim<br/>false - Não + * 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 * @return vazio **/ @JsonProperty("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 d2faaa0..c1031c1 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") + @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 + * 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; @@ -58,7 +58,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 + * 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. * @return ocrPlaca **/ @JsonProperty("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 007131d..33102ea 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 @@ -35,10 +35,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.

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.

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; /** @@ -79,7 +79,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/><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.<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. * @return tara **/ @JsonProperty("tara") diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosVolumeVerificado.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosVolumeVerificado.java index 10ce300..25f54db 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosVolumeVerificado.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosVolumeVerificado.java @@ -26,23 +26,23 @@ public class DadosVolumeVerificado { private String idElemento = null; @XmlElement(name="madeira") - @ApiModelProperty(example = "false", value = "Informar se a embalagem contém madeira.
Domínio:
true - Sim
false - Não") + @ApiModelProperty(example = "false", value = "Informar se a embalagem contém madeira. Pode ser nulo quando o evento for de exclusão.
Domínio:
true - Sim
false - Não") /** - * Informar se a embalagem contém madeira.
Domínio:
true - Sim
false - Não + * Informar se a embalagem contém madeira. Pode ser nulo quando o evento for de exclusão.
Domínio:
true - Sim
false - Não **/ private Boolean madeira = null; - @XmlElement(name="quantidade") - @ApiModelProperty(example = "13", value = "Quantidade de volumes") + @XmlElement(name="quantidade", required = true) + @ApiModelProperty(example = "13", required = true, value = "Quantidade de volumes. Pode ser nulo quando o evento for de exclusão.") /** - * Quantidade de volumes + * Quantidade de volumes. Pode ser nulo quando o evento for de exclusão. **/ private Integer quantidade = null; - @XmlElement(name="tipo") - @ApiModelProperty(value = "Tipo de volumes/embalagens.
Domínio:
01 - AMARRADO/ATADO/FEIXE
02 - BARRICA DE FERRO
03 - BARRICA DE FIBRA DE VIDRO
04 - BARRICA DE PAPELAO
05 - BARRICA DE PLASTICO
06 - BARRICA DE OUTROS MATERIAIS
07 - BAU DE MADEIRA
08 - BAU DE METAL
09 - BAU DE OUTROS MATERIAIS
10 - BIG BAG
11 - BLOCO
12 - BOBINA
13 - BOMBONA
14 - BOTIJAO
15 - CAIXA CORRUGADA
16 - CAIXA DE ISOPOR
17 - CAIXA DE MADEIRA
18 - CAIXA DE METAL
19 - CAIXA DE PAPELAO
20 - CAIXA DE PLASTICO
21 - CAIXA DE OUTROS MATERIAIS
22 - CANUDO
23 - CARRETEL
24 - CILINDRO
25 - CINTADO
26 - ENGRADADO DE MADEIRA
27 - ENGRADADO DE PLASTICO
28 - ENGRADADO DE OUTROS MATERIAIS
29 - ENVELOPE
30 - ESTOJO
31 - ESTRADO
32 - FARDO
33 - FRASCO
34 - GALAO DE METAL
35 - GALAO DE PLASTICO
36 - GALAO DE OUTROS MATERIAIS
37 - GRANEL
38 - LATA
39 - MALA
40 - MALETA
41 - PACOTE
42 - PECA
43 - QUARTOLA
44 - ROLO
45 - SACA
46 - SACO DE ANIAGEM
47 - SACO DE COURO
48 - SACO DE LONA
49 - SACO DE NYLON
50 - SACO DE PAPEL
51 - SACO DE PAPELAO
52 - SACO DE PLASTICO
53 - SACO DE OUTROS MATERIAIS
54 - SACOLA
55 - SAN BAG
56 - TAMBOR DE METAL
57 - TAMBOR DE PAPELAO
58 - TAMBOR DE PLASTICO
59 - TAMBOR DE OUTROS MATERIAIS
60 - PALLETS
99 - OUTROS") + @XmlElement(name="tipo", required = true) + @ApiModelProperty(required = true, value = "Tipo de volumes/embalagens. Pode ser nulo quando o evento for de exclusão.
Domínio:
01 - AMARRADO/ATADO/FEIXE
02 - BARRICA DE FERRO
03 - BARRICA DE FIBRA DE VIDRO
04 - BARRICA DE PAPELAO
05 - BARRICA DE PLASTICO
06 - BARRICA DE OUTROS MATERIAIS
07 - BAU DE MADEIRA
08 - BAU DE METAL
09 - BAU DE OUTROS MATERIAIS
10 - BIG BAG
11 - BLOCO
12 - BOBINA
13 - BOMBONA
14 - BOTIJAO
15 - CAIXA CORRUGADA
16 - CAIXA DE ISOPOR
17 - CAIXA DE MADEIRA
18 - CAIXA DE METAL
19 - CAIXA DE PAPELAO
20 - CAIXA DE PLASTICO
21 - CAIXA DE OUTROS MATERIAIS
22 - CANUDO
23 - CARRETEL
24 - CILINDRO
25 - CINTADO
26 - ENGRADADO DE MADEIRA
27 - ENGRADADO DE PLASTICO
28 - ENGRADADO DE OUTROS MATERIAIS
29 - ENVELOPE
30 - ESTOJO
31 - ESTRADO
32 - FARDO
33 - FRASCO
34 - GALAO DE METAL
35 - GALAO DE PLASTICO
36 - GALAO DE OUTROS MATERIAIS
37 - GRANEL
38 - LATA
39 - MALA
40 - MALETA
41 - PACOTE
42 - PECA
43 - QUARTOLA
44 - ROLO
45 - SACA
46 - SACO DE ANIAGEM
47 - SACO DE COURO
48 - SACO DE LONA
49 - SACO DE NYLON
50 - SACO DE PAPEL
51 - SACO DE PAPELAO
52 - SACO DE PLASTICO
53 - SACO DE OUTROS MATERIAIS
54 - SACOLA
55 - SAN BAG
56 - TAMBOR DE METAL
57 - TAMBOR DE PAPELAO
58 - TAMBOR DE PLASTICO
59 - TAMBOR DE OUTROS MATERIAIS
60 - PALLETS
99 - OUTROS") /** - * Tipo de volumes/embalagens.
Domínio:
01 - AMARRADO/ATADO/FEIXE
02 - BARRICA DE FERRO
03 - BARRICA DE FIBRA DE VIDRO
04 - BARRICA DE PAPELAO
05 - BARRICA DE PLASTICO
06 - BARRICA DE OUTROS MATERIAIS
07 - BAU DE MADEIRA
08 - BAU DE METAL
09 - BAU DE OUTROS MATERIAIS
10 - BIG BAG
11 - BLOCO
12 - BOBINA
13 - BOMBONA
14 - BOTIJAO
15 - CAIXA CORRUGADA
16 - CAIXA DE ISOPOR
17 - CAIXA DE MADEIRA
18 - CAIXA DE METAL
19 - CAIXA DE PAPELAO
20 - CAIXA DE PLASTICO
21 - CAIXA DE OUTROS MATERIAIS
22 - CANUDO
23 - CARRETEL
24 - CILINDRO
25 - CINTADO
26 - ENGRADADO DE MADEIRA
27 - ENGRADADO DE PLASTICO
28 - ENGRADADO DE OUTROS MATERIAIS
29 - ENVELOPE
30 - ESTOJO
31 - ESTRADO
32 - FARDO
33 - FRASCO
34 - GALAO DE METAL
35 - GALAO DE PLASTICO
36 - GALAO DE OUTROS MATERIAIS
37 - GRANEL
38 - LATA
39 - MALA
40 - MALETA
41 - PACOTE
42 - PECA
43 - QUARTOLA
44 - ROLO
45 - SACA
46 - SACO DE ANIAGEM
47 - SACO DE COURO
48 - SACO DE LONA
49 - SACO DE NYLON
50 - SACO DE PAPEL
51 - SACO DE PAPELAO
52 - SACO DE PLASTICO
53 - SACO DE OUTROS MATERIAIS
54 - SACOLA
55 - SAN BAG
56 - TAMBOR DE METAL
57 - TAMBOR DE PAPELAO
58 - TAMBOR DE PLASTICO
59 - TAMBOR DE OUTROS MATERIAIS
60 - PALLETS
99 - OUTROS + * Tipo de volumes/embalagens. Pode ser nulo quando o evento for de exclusão.
Domínio:
01 - AMARRADO/ATADO/FEIXE
02 - BARRICA DE FERRO
03 - BARRICA DE FIBRA DE VIDRO
04 - BARRICA DE PAPELAO
05 - BARRICA DE PLASTICO
06 - BARRICA DE OUTROS MATERIAIS
07 - BAU DE MADEIRA
08 - BAU DE METAL
09 - BAU DE OUTROS MATERIAIS
10 - BIG BAG
11 - BLOCO
12 - BOBINA
13 - BOMBONA
14 - BOTIJAO
15 - CAIXA CORRUGADA
16 - CAIXA DE ISOPOR
17 - CAIXA DE MADEIRA
18 - CAIXA DE METAL
19 - CAIXA DE PAPELAO
20 - CAIXA DE PLASTICO
21 - CAIXA DE OUTROS MATERIAIS
22 - CANUDO
23 - CARRETEL
24 - CILINDRO
25 - CINTADO
26 - ENGRADADO DE MADEIRA
27 - ENGRADADO DE PLASTICO
28 - ENGRADADO DE OUTROS MATERIAIS
29 - ENVELOPE
30 - ESTOJO
31 - ESTRADO
32 - FARDO
33 - FRASCO
34 - GALAO DE METAL
35 - GALAO DE PLASTICO
36 - GALAO DE OUTROS MATERIAIS
37 - GRANEL
38 - LATA
39 - MALA
40 - MALETA
41 - PACOTE
42 - PECA
43 - QUARTOLA
44 - ROLO
45 - SACA
46 - SACO DE ANIAGEM
47 - SACO DE COURO
48 - SACO DE LONA
49 - SACO DE NYLON
50 - SACO DE PAPEL
51 - SACO DE PAPELAO
52 - SACO DE PLASTICO
53 - SACO DE OUTROS MATERIAIS
54 - SACOLA
55 - SAN BAG
56 - TAMBOR DE METAL
57 - TAMBOR DE PAPELAO
58 - TAMBOR DE PLASTICO
59 - TAMBOR DE OUTROS MATERIAIS
60 - PALLETS
99 - OUTROS **/ private String tipo = null; /** @@ -65,7 +65,7 @@ public DadosVolumeVerificado idElemento(String idElemento) { } /** - * Informar se a embalagem contém madeira.<br/>Domínio:<br/>true - Sim<br/>false - Não + * Informar se a embalagem contém madeira. Pode ser nulo quando o evento for de exclusão.<br/>Domínio:<br/>true - Sim<br/>false - Não * @return madeira **/ @JsonProperty("madeira") @@ -83,10 +83,11 @@ public DadosVolumeVerificado madeira(Boolean madeira) { } /** - * Quantidade de volumes + * Quantidade de volumes. Pode ser nulo quando o evento for de exclusão. * @return quantidade **/ @JsonProperty("quantidade") + @NotNull public Integer getQuantidade() { return quantidade; } @@ -101,10 +102,11 @@ public DadosVolumeVerificado quantidade(Integer quantidade) { } /** - * Tipo de volumes/embalagens.<br/>Domínio:<br/>01 - AMARRADO/ATADO/FEIXE<br/>02 - BARRICA DE FERRO<br/>03 - BARRICA DE FIBRA DE VIDRO<br/>04 - BARRICA DE PAPELAO<br/>05 - BARRICA DE PLASTICO<br/>06 - BARRICA DE OUTROS MATERIAIS<br/>07 - BAU DE MADEIRA<br/>08 - BAU DE METAL<br/>09 - BAU DE OUTROS MATERIAIS<br/>10 - BIG BAG<br/>11 - BLOCO<br/>12 - BOBINA<br/>13 - BOMBONA<br/>14 - BOTIJAO<br/>15 - CAIXA CORRUGADA<br/>16 - CAIXA DE ISOPOR<br/>17 - CAIXA DE MADEIRA<br/>18 - CAIXA DE METAL<br/>19 - CAIXA DE PAPELAO<br/>20 - CAIXA DE PLASTICO<br/>21 - CAIXA DE OUTROS MATERIAIS<br/>22 - CANUDO<br/>23 - CARRETEL<br/>24 - CILINDRO<br/>25 - CINTADO<br/>26 - ENGRADADO DE MADEIRA<br/>27 - ENGRADADO DE PLASTICO<br/>28 - ENGRADADO DE OUTROS MATERIAIS<br/>29 - ENVELOPE<br/>30 - ESTOJO<br/>31 - ESTRADO<br/>32 - FARDO<br/>33 - FRASCO<br/>34 - GALAO DE METAL<br/>35 - GALAO DE PLASTICO<br/>36 - GALAO DE OUTROS MATERIAIS<br/>37 - GRANEL<br/>38 - LATA<br/>39 - MALA<br/>40 - MALETA<br/>41 - PACOTE<br/>42 - PECA<br/>43 - QUARTOLA<br/>44 - ROLO<br/>45 - SACA<br/>46 - SACO DE ANIAGEM<br/>47 - SACO DE COURO<br/>48 - SACO DE LONA<br/>49 - SACO DE NYLON<br/>50 - SACO DE PAPEL<br/>51 - SACO DE PAPELAO<br/>52 - SACO DE PLASTICO<br/>53 - SACO DE OUTROS MATERIAIS<br/>54 - SACOLA<br/>55 - SAN BAG<br/>56 - TAMBOR DE METAL<br/>57 - TAMBOR DE PAPELAO<br/>58 - TAMBOR DE PLASTICO<br/>59 - TAMBOR DE OUTROS MATERIAIS<br/>60 - PALLETS<br/>99 - OUTROS + * Tipo de volumes/embalagens. Pode ser nulo quando o evento for de exclusão.<br/>Domínio:<br/>01 - AMARRADO/ATADO/FEIXE<br/>02 - BARRICA DE FERRO<br/>03 - BARRICA DE FIBRA DE VIDRO<br/>04 - BARRICA DE PAPELAO<br/>05 - BARRICA DE PLASTICO<br/>06 - BARRICA DE OUTROS MATERIAIS<br/>07 - BAU DE MADEIRA<br/>08 - BAU DE METAL<br/>09 - BAU DE OUTROS MATERIAIS<br/>10 - BIG BAG<br/>11 - BLOCO<br/>12 - BOBINA<br/>13 - BOMBONA<br/>14 - BOTIJAO<br/>15 - CAIXA CORRUGADA<br/>16 - CAIXA DE ISOPOR<br/>17 - CAIXA DE MADEIRA<br/>18 - CAIXA DE METAL<br/>19 - CAIXA DE PAPELAO<br/>20 - CAIXA DE PLASTICO<br/>21 - CAIXA DE OUTROS MATERIAIS<br/>22 - CANUDO<br/>23 - CARRETEL<br/>24 - CILINDRO<br/>25 - CINTADO<br/>26 - ENGRADADO DE MADEIRA<br/>27 - ENGRADADO DE PLASTICO<br/>28 - ENGRADADO DE OUTROS MATERIAIS<br/>29 - ENVELOPE<br/>30 - ESTOJO<br/>31 - ESTRADO<br/>32 - FARDO<br/>33 - FRASCO<br/>34 - GALAO DE METAL<br/>35 - GALAO DE PLASTICO<br/>36 - GALAO DE OUTROS MATERIAIS<br/>37 - GRANEL<br/>38 - LATA<br/>39 - MALA<br/>40 - MALETA<br/>41 - PACOTE<br/>42 - PECA<br/>43 - QUARTOLA<br/>44 - ROLO<br/>45 - SACA<br/>46 - SACO DE ANIAGEM<br/>47 - SACO DE COURO<br/>48 - SACO DE LONA<br/>49 - SACO DE NYLON<br/>50 - SACO DE PAPEL<br/>51 - SACO DE PAPELAO<br/>52 - SACO DE PLASTICO<br/>53 - SACO DE OUTROS MATERIAIS<br/>54 - SACOLA<br/>55 - SAN BAG<br/>56 - TAMBOR DE METAL<br/>57 - TAMBOR DE PAPELAO<br/>58 - TAMBOR DE PLASTICO<br/>59 - TAMBOR DE OUTROS MATERIAIS<br/>60 - PALLETS<br/>99 - OUTROS * @return tipo **/ @JsonProperty("tipo") + @NotNull public String getTipo() { return tipo; } diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosVolumeVerificadoMadeiraObrigatorio.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosVolumeVerificadoMadeiraObrigatorio.java new file mode 100644 index 0000000..a2c4423 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DadosVolumeVerificadoMadeiraObrigatorio.java @@ -0,0 +1,149 @@ +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 = "DadosVolumeVerificadoMadeiraObrigatorio", propOrder = + { "idElemento", "madeira", "quantidade", "tipo" +}) + +@XmlRootElement(name="DadosVolumeVerificadoMadeiraObrigatorio") +public class DadosVolumeVerificadoMadeiraObrigatorio { + + @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="madeira", required = true) + @ApiModelProperty(example = "false", required = true, value = "Informar se a embalagem contém madeira. Pode ser nulo quando o evento for de exclusão.
Domínio:
true - Sim
false - Não") + /** + * Informar se a embalagem contém madeira. Pode ser nulo quando o evento for de exclusão.
Domínio:
true - Sim
false - Não + **/ + private Boolean madeira = null; + + @XmlElement(name="quantidade", required = true) + @ApiModelProperty(example = "13", required = true, value = "Quantidade de volumes. Pode ser nulo quando o evento for de exclusão.") + /** + * Quantidade de volumes. Pode ser nulo quando o evento for de exclusão. + **/ + private Integer quantidade = null; + + @XmlElement(name="tipo", required = true) + @ApiModelProperty(required = true, value = "Tipo de volumes/embalagens. Pode ser nulo quando o evento for de exclusão.
Domínio:
01 - AMARRADO/ATADO/FEIXE
02 - BARRICA DE FERRO
03 - BARRICA DE FIBRA DE VIDRO
04 - BARRICA DE PAPELAO
05 - BARRICA DE PLASTICO
06 - BARRICA DE OUTROS MATERIAIS
07 - BAU DE MADEIRA
08 - BAU DE METAL
09 - BAU DE OUTROS MATERIAIS
10 - BIG BAG
11 - BLOCO
12 - BOBINA
13 - BOMBONA
14 - BOTIJAO
15 - CAIXA CORRUGADA
16 - CAIXA DE ISOPOR
17 - CAIXA DE MADEIRA
18 - CAIXA DE METAL
19 - CAIXA DE PAPELAO
20 - CAIXA DE PLASTICO
21 - CAIXA DE OUTROS MATERIAIS
22 - CANUDO
23 - CARRETEL
24 - CILINDRO
25 - CINTADO
26 - ENGRADADO DE MADEIRA
27 - ENGRADADO DE PLASTICO
28 - ENGRADADO DE OUTROS MATERIAIS
29 - ENVELOPE
30 - ESTOJO
31 - ESTRADO
32 - FARDO
33 - FRASCO
34 - GALAO DE METAL
35 - GALAO DE PLASTICO
36 - GALAO DE OUTROS MATERIAIS
37 - GRANEL
38 - LATA
39 - MALA
40 - MALETA
41 - PACOTE
42 - PECA
43 - QUARTOLA
44 - ROLO
45 - SACA
46 - SACO DE ANIAGEM
47 - SACO DE COURO
48 - SACO DE LONA
49 - SACO DE NYLON
50 - SACO DE PAPEL
51 - SACO DE PAPELAO
52 - SACO DE PLASTICO
53 - SACO DE OUTROS MATERIAIS
54 - SACOLA
55 - SAN BAG
56 - TAMBOR DE METAL
57 - TAMBOR DE PAPELAO
58 - TAMBOR DE PLASTICO
59 - TAMBOR DE OUTROS MATERIAIS
60 - PALLETS
99 - OUTROS") + /** + * Tipo de volumes/embalagens. Pode ser nulo quando o evento for de exclusão.
Domínio:
01 - AMARRADO/ATADO/FEIXE
02 - BARRICA DE FERRO
03 - BARRICA DE FIBRA DE VIDRO
04 - BARRICA DE PAPELAO
05 - BARRICA DE PLASTICO
06 - BARRICA DE OUTROS MATERIAIS
07 - BAU DE MADEIRA
08 - BAU DE METAL
09 - BAU DE OUTROS MATERIAIS
10 - BIG BAG
11 - BLOCO
12 - BOBINA
13 - BOMBONA
14 - BOTIJAO
15 - CAIXA CORRUGADA
16 - CAIXA DE ISOPOR
17 - CAIXA DE MADEIRA
18 - CAIXA DE METAL
19 - CAIXA DE PAPELAO
20 - CAIXA DE PLASTICO
21 - CAIXA DE OUTROS MATERIAIS
22 - CANUDO
23 - CARRETEL
24 - CILINDRO
25 - CINTADO
26 - ENGRADADO DE MADEIRA
27 - ENGRADADO DE PLASTICO
28 - ENGRADADO DE OUTROS MATERIAIS
29 - ENVELOPE
30 - ESTOJO
31 - ESTRADO
32 - FARDO
33 - FRASCO
34 - GALAO DE METAL
35 - GALAO DE PLASTICO
36 - GALAO DE OUTROS MATERIAIS
37 - GRANEL
38 - LATA
39 - MALA
40 - MALETA
41 - PACOTE
42 - PECA
43 - QUARTOLA
44 - ROLO
45 - SACA
46 - SACO DE ANIAGEM
47 - SACO DE COURO
48 - SACO DE LONA
49 - SACO DE NYLON
50 - SACO DE PAPEL
51 - SACO DE PAPELAO
52 - SACO DE PLASTICO
53 - SACO DE OUTROS MATERIAIS
54 - SACOLA
55 - SAN BAG
56 - TAMBOR DE METAL
57 - TAMBOR DE PAPELAO
58 - TAMBOR DE PLASTICO
59 - TAMBOR DE OUTROS MATERIAIS
60 - PALLETS
99 - OUTROS + **/ + private String 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 DadosVolumeVerificadoMadeiraObrigatorio idElemento(String idElemento) { + this.idElemento = idElemento; + return this; + } + + /** + * Informar se a embalagem contém madeira. Pode ser nulo quando o evento for de exclusão.<br/>Domínio:<br/>true - Sim<br/>false - Não + * @return madeira + **/ + @JsonProperty("madeira") + @NotNull + public Boolean isMadeira() { + return madeira; + } + + public void setMadeira(Boolean madeira) { + this.madeira = madeira; + } + + public DadosVolumeVerificadoMadeiraObrigatorio madeira(Boolean madeira) { + this.madeira = madeira; + return this; + } + + /** + * Quantidade de volumes. Pode ser nulo quando o evento for de exclusão. + * @return quantidade + **/ + @JsonProperty("quantidade") + @NotNull + public Integer getQuantidade() { + return quantidade; + } + + public void setQuantidade(Integer quantidade) { + this.quantidade = quantidade; + } + + public DadosVolumeVerificadoMadeiraObrigatorio quantidade(Integer quantidade) { + this.quantidade = quantidade; + return this; + } + + /** + * Tipo de volumes/embalagens. Pode ser nulo quando o evento for de exclusão.<br/>Domínio:<br/>01 - AMARRADO/ATADO/FEIXE<br/>02 - BARRICA DE FERRO<br/>03 - BARRICA DE FIBRA DE VIDRO<br/>04 - BARRICA DE PAPELAO<br/>05 - BARRICA DE PLASTICO<br/>06 - BARRICA DE OUTROS MATERIAIS<br/>07 - BAU DE MADEIRA<br/>08 - BAU DE METAL<br/>09 - BAU DE OUTROS MATERIAIS<br/>10 - BIG BAG<br/>11 - BLOCO<br/>12 - BOBINA<br/>13 - BOMBONA<br/>14 - BOTIJAO<br/>15 - CAIXA CORRUGADA<br/>16 - CAIXA DE ISOPOR<br/>17 - CAIXA DE MADEIRA<br/>18 - CAIXA DE METAL<br/>19 - CAIXA DE PAPELAO<br/>20 - CAIXA DE PLASTICO<br/>21 - CAIXA DE OUTROS MATERIAIS<br/>22 - CANUDO<br/>23 - CARRETEL<br/>24 - CILINDRO<br/>25 - CINTADO<br/>26 - ENGRADADO DE MADEIRA<br/>27 - ENGRADADO DE PLASTICO<br/>28 - ENGRADADO DE OUTROS MATERIAIS<br/>29 - ENVELOPE<br/>30 - ESTOJO<br/>31 - ESTRADO<br/>32 - FARDO<br/>33 - FRASCO<br/>34 - GALAO DE METAL<br/>35 - GALAO DE PLASTICO<br/>36 - GALAO DE OUTROS MATERIAIS<br/>37 - GRANEL<br/>38 - LATA<br/>39 - MALA<br/>40 - MALETA<br/>41 - PACOTE<br/>42 - PECA<br/>43 - QUARTOLA<br/>44 - ROLO<br/>45 - SACA<br/>46 - SACO DE ANIAGEM<br/>47 - SACO DE COURO<br/>48 - SACO DE LONA<br/>49 - SACO DE NYLON<br/>50 - SACO DE PAPEL<br/>51 - SACO DE PAPELAO<br/>52 - SACO DE PLASTICO<br/>53 - SACO DE OUTROS MATERIAIS<br/>54 - SACOLA<br/>55 - SAN BAG<br/>56 - TAMBOR DE METAL<br/>57 - TAMBOR DE PAPELAO<br/>58 - TAMBOR DE PLASTICO<br/>59 - TAMBOR DE OUTROS MATERIAIS<br/>60 - PALLETS<br/>99 - OUTROS + * @return tipo + **/ + @JsonProperty("tipo") + @NotNull + public String getTipo() { + return tipo; + } + + public void setTipo(String tipo) { + this.tipo = tipo; + } + + public DadosVolumeVerificadoMadeiraObrigatorio tipo(String tipo) { + this.tipo = tipo; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosVolumeVerificadoMadeiraObrigatorio {\n"); + + sb.append(" idElemento: ").append(toIndentedString(idElemento)).append("\n"); + sb.append(" madeira: ").append(toIndentedString(madeira)).append("\n"); + sb.append(" quantidade: ").append(toIndentedString(quantidade)).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/DeclaraoAduaneira.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DeclaraoAduaneira.java index 7c637f0..cdc11df 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 @@ -18,9 +18,9 @@ public class DeclaraoAduaneira { @XmlElement(name="numeroDeclaracao") - @ApiModelProperty(value = "Número da declaração aduaneira.
Tamanho: 100") + @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") /** - * Número da declaração aduaneira.
Tamanho: 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 **/ private String numeroDeclaracao = null; @@ -31,7 +31,7 @@ public class DeclaraoAduaneira { **/ private String tipo = null; /** - * Número da declaração aduaneira.<br/>Tamanho: 100 + * 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 **/ @JsonProperty("numeroDeclaracao") diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DocumentoAduaneiro.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DocumentoAduaneiro.java index 4f21039..fc8cf99 100644 --- a/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DocumentoAduaneiro.java +++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/model/DocumentoAduaneiro.java @@ -26,9 +26,9 @@ public class DocumentoAduaneiro { private String idElemento = null; @XmlElement(name="numeroDeclaracao") - @ApiModelProperty(value = "Número da declaração aduaneira.
Tamanho: 100") + @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") /** - * Número da declaração aduaneira.
Tamanho: 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 **/ private String numeroDeclaracao = null; @@ -58,7 +58,7 @@ public DocumentoAduaneiro idElemento(String idElemento) { } /** - * Número da declaração aduaneira.<br/>Tamanho: 100 + * 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 **/ @JsonProperty("numeroDeclaracao") diff --git a/src/main/java/br/gov/siscomex/portalunico/remx_consulta/api/ServiosDestinadosConsultasDeDocumentosApi.java b/src/main/java/br/gov/siscomex/portalunico/remx_consulta/api/ServiosDestinadosConsultasDeDocumentosApi.java new file mode 100644 index 0000000..3bcd323 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/remx_consulta/api/ServiosDestinadosConsultasDeDocumentosApi.java @@ -0,0 +1,44 @@ +package br.gov.siscomex.portalunico.remx_consulta.api; + +import br.gov.siscomex.portalunico.remx_consulta.model.ProcessamentoDeManifestoDePresenaDeCarga; +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; + +/** + * Remessas Internacionais - Consulta + * + *

Introdução

Bem-vindo à Application Programming Interface (API) do sistema Remessa.

O Siscomex Remessa é um sistema informatizado destinado ao controle das remessas internacionais porta a porta, transportadas por empresas de courier.

A informatização permitiu reduzir a burocracia, agilizar o fluxo de liberação das remessas e conferir maior segurança e melhor controle aduaneiro nas operações de comércio exterior efetuadas por meio de empresas de courier. E isto foi possível pelas características do sistema e do modelo de controle a ele associado, destacando-se:

  • Eliminação de exigências burocráticas relativas à entrega de documentos impressos;
  • Transparência dos procedimentos aos intervenientes envolvidos no despacho aduaneiro;
  • Aprimoramento dos controles da RFB pela possibilidade de gestão de risco com base em informações eletrônicas, resultando em seleção mais ágil e eficiente;
  • Recebimento das informações eletrônicas antes da chegada da carga no país, permitindo antecipar o início dos trabalhos de fiscalização da RFB e demais órgãos fiscalizadores e reduzindo, em consequência, o tempo de passagem da carga em recinto aduaneiro;
  • Cooperação na melhoria da seleção de cargas para fiscalização por outros órgãos (Anvisa, VIGIAGRO), por meio de solução Single Window; e
  • Possibilidade de aperfeiçoamento da legislação, ampliação de mercado e eliminação de limites que dependiam da informatização do controle.

As operações possíveis pela API do sistema são:

  • O envio e validações de arquivo de Presença de Carga (PC) no formato Json;
  • A consulta ao resultado do processamento do arquivo de PC através de um número de protocolo;
  • Recebimento de notificação PUSH com o resultado do término do processamento do arquivo, para os operadores cadastrados.

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/remessa/consulta/{serviço}
Ambiente de Produçãohttps://portalunico.siscomex.gov.br/remessa/consulta/{serviço}
+ * + */ +@Path("/") +@Api(value = "/", description = "") +public interface ServiosDestinadosConsultasDeDocumentosApi { + + /** + * Consulta de Manifesto de Presença de Carga + * + */ + @GET + @Path("/api/ext/manifesto-presenca-carga/{numeroProtocolo}") + @Produces({ "*/*" }) + @ApiOperation(value = "Consulta de Manifesto de Presença de Carga", notes = "", tags={ "Serviços destinados à consultas de documentos" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ProcessamentoDeManifestoDePresenaDeCarga.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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 = 422, message = "Erro(s) de validação da camada de negócio"), + @ApiResponse(code = 500, message = "Erro interno no servidor") }) + public Response consultarProtocoloManifestoCargaUsingGET(@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") Object authorization, @ApiParam(value = "Número de protocolo recebido no retorno do envio de manifesto de presenta de carga",required=true) @PathParam("numeroProtocolo") String numeroProtocolo, @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") Object xCSRFToken); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/DetalheDoProcessamentoDaRemessa.java b/src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/DetalheDoProcessamentoDaRemessa.java new file mode 100644 index 0000000..ae6d243 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/DetalheDoProcessamentoDaRemessa.java @@ -0,0 +1,188 @@ +package br.gov.siscomex.portalunico.remx_consulta.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.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DetalheDoProcessamentoDaRemessa", propOrder = + { "divergencias", "novaSituacaoRemessa", "numeroRemessa", "ocorrencias", "totalVolumesRecebidos" +}) + +@XmlRootElement(name="DetalheDoProcessamentoDaRemessa") +public class DetalheDoProcessamentoDaRemessa { + + @XmlElement(name="divergencias") + @ApiModelProperty(value = "Lista de Divergências") + @Valid + /** + * Lista de Divergências + **/ + private List divergencias = null; + + @XmlElement(name="novaSituacaoRemessa", required = true) + @ApiModelProperty(required = true, value = "Contém a nova situação da remessa.") + /** + * Contém a nova situação da remessa. + **/ + private Integer novaSituacaoRemessa = null; + + @XmlElement(name="numeroRemessa", required = true) + @ApiModelProperty(required = true, value = "Contém o número da remessa.") + /** + * Contém o número da remessa. + **/ + private String numeroRemessa = null; + + @XmlElement(name="ocorrencias") + @ApiModelProperty(value = "Lista de Ocorrências") + @Valid + /** + * Lista de Ocorrências + **/ + private List ocorrencias = null; + + @XmlElement(name="totalVolumesRecebidos", required = true) + @ApiModelProperty(required = true, value = "Contém o total de volumes recebidos da remessa em todas as presenças de carga.") + /** + * Contém o total de volumes recebidos da remessa em todas as presenças de carga. + **/ + private Integer totalVolumesRecebidos = null; + /** + * Lista de Divergências + * @return divergencias + **/ + @JsonProperty("divergencias") + public List getDivergencias() { + return divergencias; + } + + public void setDivergencias(List divergencias) { + this.divergencias = divergencias; + } + + public DetalheDoProcessamentoDaRemessa divergencias(List divergencias) { + this.divergencias = divergencias; + return this; + } + + public DetalheDoProcessamentoDaRemessa addDivergenciasItem(Divergncia divergenciasItem) { + this.divergencias.add(divergenciasItem); + return this; + } + + /** + * Contém a nova situação da remessa. + * @return novaSituacaoRemessa + **/ + @JsonProperty("novaSituacaoRemessa") + @NotNull + public Integer getNovaSituacaoRemessa() { + return novaSituacaoRemessa; + } + + public void setNovaSituacaoRemessa(Integer novaSituacaoRemessa) { + this.novaSituacaoRemessa = novaSituacaoRemessa; + } + + public DetalheDoProcessamentoDaRemessa novaSituacaoRemessa(Integer novaSituacaoRemessa) { + this.novaSituacaoRemessa = novaSituacaoRemessa; + return this; + } + + /** + * Contém o número da remessa. + * @return numeroRemessa + **/ + @JsonProperty("numeroRemessa") + @NotNull + public String getNumeroRemessa() { + return numeroRemessa; + } + + public void setNumeroRemessa(String numeroRemessa) { + this.numeroRemessa = numeroRemessa; + } + + public DetalheDoProcessamentoDaRemessa numeroRemessa(String numeroRemessa) { + this.numeroRemessa = numeroRemessa; + return this; + } + + /** + * Lista de Ocorrências + * @return ocorrencias + **/ + @JsonProperty("ocorrencias") + public List getOcorrencias() { + return ocorrencias; + } + + public void setOcorrencias(List ocorrencias) { + this.ocorrencias = ocorrencias; + } + + public DetalheDoProcessamentoDaRemessa ocorrencias(List ocorrencias) { + this.ocorrencias = ocorrencias; + return this; + } + + public DetalheDoProcessamentoDaRemessa addOcorrenciasItem(Ocorrncia ocorrenciasItem) { + this.ocorrencias.add(ocorrenciasItem); + return this; + } + + /** + * Contém o total de volumes recebidos da remessa em todas as presenças de carga. + * @return totalVolumesRecebidos + **/ + @JsonProperty("totalVolumesRecebidos") + @NotNull + public Integer getTotalVolumesRecebidos() { + return totalVolumesRecebidos; + } + + public void setTotalVolumesRecebidos(Integer totalVolumesRecebidos) { + this.totalVolumesRecebidos = totalVolumesRecebidos; + } + + public DetalheDoProcessamentoDaRemessa totalVolumesRecebidos(Integer totalVolumesRecebidos) { + this.totalVolumesRecebidos = totalVolumesRecebidos; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DetalheDoProcessamentoDaRemessa {\n"); + + sb.append(" divergencias: ").append(toIndentedString(divergencias)).append("\n"); + sb.append(" novaSituacaoRemessa: ").append(toIndentedString(novaSituacaoRemessa)).append("\n"); + sb.append(" numeroRemessa: ").append(toIndentedString(numeroRemessa)).append("\n"); + sb.append(" ocorrencias: ").append(toIndentedString(ocorrencias)).append("\n"); + sb.append(" totalVolumesRecebidos: ").append(toIndentedString(totalVolumesRecebidos)).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/remx_consulta/model/Divergncia.java b/src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/Divergncia.java new file mode 100644 index 0000000..0ee542d --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/Divergncia.java @@ -0,0 +1,144 @@ +package br.gov.siscomex.portalunico.remx_consulta.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 = "Divergncia", propOrder = + { "codigoDivergencia", "justificativa", "nomeFiscal", "vigente" +}) + +@XmlRootElement(name="Divergncia") +public class Divergncia { + + @XmlElement(name="codigoDivergencia") + @ApiModelProperty(value = "Contém o código da divergência. O código da divergência é composto por até 2 dígitos.") + /** + * Contém o código da divergência. O código da divergência é composto por até 2 dígitos. + **/ + private Integer codigoDivergencia = null; + + @XmlElement(name="justificativa") + @ApiModelProperty(value = "Contém a justificativa da divergência. Máximo de 500 caracteres, que podem ser letras, números, além de quaisquer caracteres referentes a codificação UTF-8") + /** + * Contém a justificativa da divergência. Máximo de 500 caracteres, que podem ser letras, números, além de quaisquer caracteres referentes a codificação UTF-8 + **/ + private String justificativa = null; + + @XmlElement(name="nomeFiscal") + @ApiModelProperty(value = "Contém o nome do fiscal que aplicou a divergência. Máximo de 50 caracteres.") + /** + * Contém o nome do fiscal que aplicou a divergência. Máximo de 50 caracteres. + **/ + private String nomeFiscal = null; + + @XmlElement(name="vigente") + @ApiModelProperty(value = "Contém a informação se a divergência está vigente. Valores pré-definidos:
S: Vigente
N: Não vigente") + /** + * Contém a informação se a divergência está vigente. Valores pré-definidos:
S: Vigente
N: Não vigente + **/ + private String vigente = null; + /** + * Contém o código da divergência. O código da divergência é composto por até 2 dígitos. + * @return codigoDivergencia + **/ + @JsonProperty("codigoDivergencia") + public Integer getCodigoDivergencia() { + return codigoDivergencia; + } + + public void setCodigoDivergencia(Integer codigoDivergencia) { + this.codigoDivergencia = codigoDivergencia; + } + + public Divergncia codigoDivergencia(Integer codigoDivergencia) { + this.codigoDivergencia = codigoDivergencia; + return this; + } + + /** + * Contém a justificativa da divergência. Máximo de 500 caracteres, que podem ser letras, números, além de quaisquer caracteres referentes a codificação UTF-8 + * @return justificativa + **/ + @JsonProperty("justificativa") + public String getJustificativa() { + return justificativa; + } + + public void setJustificativa(String justificativa) { + this.justificativa = justificativa; + } + + public Divergncia justificativa(String justificativa) { + this.justificativa = justificativa; + return this; + } + + /** + * Contém o nome do fiscal que aplicou a divergência. Máximo de 50 caracteres. + * @return nomeFiscal + **/ + @JsonProperty("nomeFiscal") + public String getNomeFiscal() { + return nomeFiscal; + } + + public void setNomeFiscal(String nomeFiscal) { + this.nomeFiscal = nomeFiscal; + } + + public Divergncia nomeFiscal(String nomeFiscal) { + this.nomeFiscal = nomeFiscal; + return this; + } + + /** + * Contém a informação se a divergência está vigente. Valores pré-definidos:<br/>S: Vigente<br/>N: Não vigente + * @return vigente + **/ + @JsonProperty("vigente") + public String getVigente() { + return vigente; + } + + public void setVigente(String vigente) { + this.vigente = vigente; + } + + public Divergncia vigente(String vigente) { + this.vigente = vigente; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Divergncia {\n"); + + sb.append(" codigoDivergencia: ").append(toIndentedString(codigoDivergencia)).append("\n"); + sb.append(" justificativa: ").append(toIndentedString(justificativa)).append("\n"); + sb.append(" nomeFiscal: ").append(toIndentedString(nomeFiscal)).append("\n"); + sb.append(" vigente: ").append(toIndentedString(vigente)).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/remx_consulta/model/ErroNoProcessamentoDeManifestoDePresenaDeCarga.java b/src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/ErroNoProcessamentoDeManifestoDePresenaDeCarga.java new file mode 100644 index 0000000..b69d44e --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/ErroNoProcessamentoDeManifestoDePresenaDeCarga.java @@ -0,0 +1,170 @@ +package br.gov.siscomex.portalunico.remx_consulta.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 = "ErroNoProcessamentoDeManifestoDePresenaDeCarga", propOrder = + { "codigoMensagem", "mensagem", "numeroLote", "numeroManifesto", "numeroRemessa" +}) + +@XmlRootElement(name="ErroNoProcessamentoDeManifestoDePresenaDeCarga") +public class ErroNoProcessamentoDeManifestoDePresenaDeCarga { + + @XmlElement(name="codigoMensagem") + @ApiModelProperty(value = "Contém o código da mensagem de erro. Cinco caracteres, sendo dois caracteres referentes ao tipo da mensagem e três referentes à mensagem de erro. ") + /** + * Contém o código da mensagem de erro. Cinco caracteres, sendo dois caracteres referentes ao tipo da mensagem e três referentes à mensagem de erro. + **/ + private String codigoMensagem = null; + + @XmlElement(name="mensagem") + @ApiModelProperty(value = "Contém a mensagem de erro. Até 300 caracteres alfanuméricos, incluindo ‘.’,’-‘ e ‘/’. ") + /** + * Contém a mensagem de erro. Até 300 caracteres alfanuméricos, incluindo ‘.’,’-‘ e ‘/’. + **/ + private String mensagem = null; + + @XmlElement(name="numeroLote") + @ApiModelProperty(value = "Contém o numero do lote. Regra relacionada está no sistema Remessa.") + /** + * Contém o numero do lote. Regra relacionada está no sistema Remessa. + **/ + private String numeroLote = null; + + @XmlElement(name="numeroManifesto") + @ApiModelProperty(value = "Contém o numero do manifesto. O número do manifesto é composto por 15 caracteres alfanuméricos, conforme regra do sistema Remessa.") + /** + * Contém o numero do manifesto. O número do manifesto é composto por 15 caracteres alfanuméricos, conforme regra do sistema Remessa. + **/ + private String numeroManifesto = null; + + @XmlElement(name="numeroRemessa") + @ApiModelProperty(value = "Contém o número da remessa. Máximo de dezoito caracteres alfanuméricos.") + /** + * Contém o número da remessa. Máximo de dezoito caracteres alfanuméricos. + **/ + private String numeroRemessa = null; + /** + * Contém o código da mensagem de erro. Cinco caracteres, sendo dois caracteres referentes ao tipo da mensagem e três referentes à mensagem de erro. + * @return codigoMensagem + **/ + @JsonProperty("codigoMensagem") + public String getCodigoMensagem() { + return codigoMensagem; + } + + public void setCodigoMensagem(String codigoMensagem) { + this.codigoMensagem = codigoMensagem; + } + + public ErroNoProcessamentoDeManifestoDePresenaDeCarga codigoMensagem(String codigoMensagem) { + this.codigoMensagem = codigoMensagem; + return this; + } + + /** + * Contém a mensagem de erro. Até 300 caracteres alfanuméricos, incluindo ‘.’,’-‘ e ‘/’. + * @return mensagem + **/ + @JsonProperty("mensagem") + public String getMensagem() { + return mensagem; + } + + public void setMensagem(String mensagem) { + this.mensagem = mensagem; + } + + public ErroNoProcessamentoDeManifestoDePresenaDeCarga mensagem(String mensagem) { + this.mensagem = mensagem; + return this; + } + + /** + * Contém o numero do lote. Regra relacionada está no sistema Remessa. + * @return numeroLote + **/ + @JsonProperty("numeroLote") + public String getNumeroLote() { + return numeroLote; + } + + public void setNumeroLote(String numeroLote) { + this.numeroLote = numeroLote; + } + + public ErroNoProcessamentoDeManifestoDePresenaDeCarga numeroLote(String numeroLote) { + this.numeroLote = numeroLote; + return this; + } + + /** + * Contém o numero do manifesto. O número do manifesto é composto por 15 caracteres alfanuméricos, conforme regra do sistema Remessa. + * @return numeroManifesto + **/ + @JsonProperty("numeroManifesto") + public String getNumeroManifesto() { + return numeroManifesto; + } + + public void setNumeroManifesto(String numeroManifesto) { + this.numeroManifesto = numeroManifesto; + } + + public ErroNoProcessamentoDeManifestoDePresenaDeCarga numeroManifesto(String numeroManifesto) { + this.numeroManifesto = numeroManifesto; + return this; + } + + /** + * Contém o número da remessa. Máximo de dezoito caracteres alfanuméricos. + * @return numeroRemessa + **/ + @JsonProperty("numeroRemessa") + public String getNumeroRemessa() { + return numeroRemessa; + } + + public void setNumeroRemessa(String numeroRemessa) { + this.numeroRemessa = numeroRemessa; + } + + public ErroNoProcessamentoDeManifestoDePresenaDeCarga numeroRemessa(String numeroRemessa) { + this.numeroRemessa = numeroRemessa; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ErroNoProcessamentoDeManifestoDePresenaDeCarga {\n"); + + sb.append(" codigoMensagem: ").append(toIndentedString(codigoMensagem)).append("\n"); + sb.append(" mensagem: ").append(toIndentedString(mensagem)).append("\n"); + sb.append(" numeroLote: ").append(toIndentedString(numeroLote)).append("\n"); + sb.append(" numeroManifesto: ").append(toIndentedString(numeroManifesto)).append("\n"); + sb.append(" numeroRemessa: ").append(toIndentedString(numeroRemessa)).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/remx_consulta/model/Ocorrncia.java b/src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/Ocorrncia.java new file mode 100644 index 0000000..b4ffa08 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/Ocorrncia.java @@ -0,0 +1,249 @@ +package br.gov.siscomex.portalunico.remx_consulta.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; +import java.time.OffsetDateTime; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "Ocorrncia", propOrder = + { "codOcorrencia", "cpfFiscalRespOcorrencia", "dataInsercao", "idOcorrencia", "idOrgaoResponsavelOcorrencia", "nomeFiscalRespOcorrencia", "observacao", "resolvida" +}) + +@XmlRootElement(name="Ocorrncia") +public class Ocorrncia { + + @XmlElement(name="codOcorrencia") + @ApiModelProperty(value = "Contém o código da ocorrência. O código da ocorrência é composto por até 2 dígitos.") + /** + * Contém o código da ocorrência. O código da ocorrência é composto por até 2 dígitos. + **/ + private Integer codOcorrencia = null; + + @XmlElement(name="cpfFiscalRespOcorrencia") + @ApiModelProperty(value = "Contém o CPF do fiscal responsável pela ocorrência. Onze caracteres numéricos.") + /** + * Contém o CPF do fiscal responsável pela ocorrência. Onze caracteres numéricos. + **/ + private String cpfFiscalRespOcorrencia = null; + + @XmlElement(name="dataInsercao") + @ApiModelProperty(value = "Data e Hora da inserção da ocorrência.
Formato: yyyy-MM-dd'T'HH:mm:ss.SSSZ") + /** + * Data e Hora da inserção da ocorrência.
Formato: yyyy-MM-dd'T'HH:mm:ss.SSSZ + **/ + private OffsetDateTime dataInsercao = null; + + @XmlElement(name="idOcorrencia") + @ApiModelProperty(value = "Contém o identificador da ocorrência. Utilizado para identificar qual ocorrência está sendo alterada ou resolvida.") + /** + * Contém o identificador da ocorrência. Utilizado para identificar qual ocorrência está sendo alterada ou resolvida. + **/ + private Integer idOcorrencia = null; + + @XmlElement(name="idOrgaoResponsavelOcorrencia") + @ApiModelProperty(value = "Contém a sigla do órgão responsável pela ocorrência. Máximo de 50 caracteres.") + /** + * Contém a sigla do órgão responsável pela ocorrência. Máximo de 50 caracteres. + **/ + private String idOrgaoResponsavelOcorrencia = null; + + @XmlElement(name="nomeFiscalRespOcorrencia") + @ApiModelProperty(value = "Contém o nome do fiscal responsável pela ocorrência. Máximo de 50 caracteres.") + /** + * Contém o nome do fiscal responsável pela ocorrência. Máximo de 50 caracteres. + **/ + private String nomeFiscalRespOcorrencia = null; + + @XmlElement(name="observacao") + @ApiModelProperty(value = "Observação relacionada à ocorrência.") + /** + * Observação relacionada à ocorrência. + **/ + private String observacao = null; + + @XmlElement(name="resolvida") + @ApiModelProperty(value = "Contém o indicador de resolução da ocorrência. Valores pré-definidos:
0 - Ocorrência não resolvida;
1 - Ocorrência resolvida;
2 - Interrompida RFB") + /** + * Contém o indicador de resolução da ocorrência. Valores pré-definidos:
0 - Ocorrência não resolvida;
1 - Ocorrência resolvida;
2 - Interrompida RFB + **/ + private String resolvida = null; + /** + * Contém o código da ocorrência. O código da ocorrência é composto por até 2 dígitos. + * @return codOcorrencia + **/ + @JsonProperty("codOcorrencia") + public Integer getCodOcorrencia() { + return codOcorrencia; + } + + public void setCodOcorrencia(Integer codOcorrencia) { + this.codOcorrencia = codOcorrencia; + } + + public Ocorrncia codOcorrencia(Integer codOcorrencia) { + this.codOcorrencia = codOcorrencia; + return this; + } + + /** + * Contém o CPF do fiscal responsável pela ocorrência. Onze caracteres numéricos. + * @return cpfFiscalRespOcorrencia + **/ + @JsonProperty("cpfFiscalRespOcorrencia") + public String getCpfFiscalRespOcorrencia() { + return cpfFiscalRespOcorrencia; + } + + public void setCpfFiscalRespOcorrencia(String cpfFiscalRespOcorrencia) { + this.cpfFiscalRespOcorrencia = cpfFiscalRespOcorrencia; + } + + public Ocorrncia cpfFiscalRespOcorrencia(String cpfFiscalRespOcorrencia) { + this.cpfFiscalRespOcorrencia = cpfFiscalRespOcorrencia; + return this; + } + + /** + * Data e Hora da inserção da ocorrência. <br/>Formato: yyyy-MM-dd'T'HH:mm:ss.SSSZ + * @return dataInsercao + **/ + @JsonProperty("dataInsercao") + public OffsetDateTime getDataInsercao() { + return dataInsercao; + } + + public void setDataInsercao(OffsetDateTime dataInsercao) { + this.dataInsercao = dataInsercao; + } + + public Ocorrncia dataInsercao(OffsetDateTime dataInsercao) { + this.dataInsercao = dataInsercao; + return this; + } + + /** + * Contém o identificador da ocorrência. Utilizado para identificar qual ocorrência está sendo alterada ou resolvida. + * @return idOcorrencia + **/ + @JsonProperty("idOcorrencia") + public Integer getIdOcorrencia() { + return idOcorrencia; + } + + public void setIdOcorrencia(Integer idOcorrencia) { + this.idOcorrencia = idOcorrencia; + } + + public Ocorrncia idOcorrencia(Integer idOcorrencia) { + this.idOcorrencia = idOcorrencia; + return this; + } + + /** + * Contém a sigla do órgão responsável pela ocorrência. Máximo de 50 caracteres. + * @return idOrgaoResponsavelOcorrencia + **/ + @JsonProperty("idOrgaoResponsavelOcorrencia") + public String getIdOrgaoResponsavelOcorrencia() { + return idOrgaoResponsavelOcorrencia; + } + + public void setIdOrgaoResponsavelOcorrencia(String idOrgaoResponsavelOcorrencia) { + this.idOrgaoResponsavelOcorrencia = idOrgaoResponsavelOcorrencia; + } + + public Ocorrncia idOrgaoResponsavelOcorrencia(String idOrgaoResponsavelOcorrencia) { + this.idOrgaoResponsavelOcorrencia = idOrgaoResponsavelOcorrencia; + return this; + } + + /** + * Contém o nome do fiscal responsável pela ocorrência. Máximo de 50 caracteres. + * @return nomeFiscalRespOcorrencia + **/ + @JsonProperty("nomeFiscalRespOcorrencia") + public String getNomeFiscalRespOcorrencia() { + return nomeFiscalRespOcorrencia; + } + + public void setNomeFiscalRespOcorrencia(String nomeFiscalRespOcorrencia) { + this.nomeFiscalRespOcorrencia = nomeFiscalRespOcorrencia; + } + + public Ocorrncia nomeFiscalRespOcorrencia(String nomeFiscalRespOcorrencia) { + this.nomeFiscalRespOcorrencia = nomeFiscalRespOcorrencia; + return this; + } + + /** + * Observação relacionada à ocorrência. + * @return observacao + **/ + @JsonProperty("observacao") + public String getObservacao() { + return observacao; + } + + public void setObservacao(String observacao) { + this.observacao = observacao; + } + + public Ocorrncia observacao(String observacao) { + this.observacao = observacao; + return this; + } + + /** + * Contém o indicador de resolução da ocorrência. Valores pré-definidos:<br/>0 - Ocorrência não resolvida; <br/>1 - Ocorrência resolvida;<br>2 - Interrompida RFB + * @return resolvida + **/ + @JsonProperty("resolvida") + public String getResolvida() { + return resolvida; + } + + public void setResolvida(String resolvida) { + this.resolvida = resolvida; + } + + public Ocorrncia resolvida(String resolvida) { + this.resolvida = resolvida; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Ocorrncia {\n"); + + sb.append(" codOcorrencia: ").append(toIndentedString(codOcorrencia)).append("\n"); + sb.append(" cpfFiscalRespOcorrencia: ").append(toIndentedString(cpfFiscalRespOcorrencia)).append("\n"); + sb.append(" dataInsercao: ").append(toIndentedString(dataInsercao)).append("\n"); + sb.append(" idOcorrencia: ").append(toIndentedString(idOcorrencia)).append("\n"); + sb.append(" idOrgaoResponsavelOcorrencia: ").append(toIndentedString(idOrgaoResponsavelOcorrencia)).append("\n"); + sb.append(" nomeFiscalRespOcorrencia: ").append(toIndentedString(nomeFiscalRespOcorrencia)).append("\n"); + sb.append(" observacao: ").append(toIndentedString(observacao)).append("\n"); + sb.append(" resolvida: ").append(toIndentedString(resolvida)).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/remx_consulta/model/ProcessamentoDeManifestoDePresenaDeCarga.java b/src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/ProcessamentoDeManifestoDePresenaDeCarga.java new file mode 100644 index 0000000..c71327e --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/remx_consulta/model/ProcessamentoDeManifestoDePresenaDeCarga.java @@ -0,0 +1,269 @@ +package br.gov.siscomex.portalunico.remx_consulta.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.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.time.OffsetDateTime; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "ProcessamentoDeManifestoDePresenaDeCarga", propOrder = + { "cnpj", "dataHoraProcessamento", "dataHorarioEnvio", "erros", "numeroManifesto", "numeroProtocolo", "remessas", "situacao" +}) + +@XmlRootElement(name="ProcessamentoDeManifestoDePresenaDeCarga") +public class ProcessamentoDeManifestoDePresenaDeCarga { + + @XmlElement(name="cnpj", required = true) + @ApiModelProperty(required = true, value = "Contém o CNPJ da empresa para a qual foi registrado o Manifesto. Exatamente quatorze caracteres numéricos. Não deve conter ‘.’,’-‘ e ‘/’.") + /** + * Contém o CNPJ da empresa para a qual foi registrado o Manifesto. Exatamente quatorze caracteres numéricos. Não deve conter ‘.’,’-‘ e ‘/’. + **/ + private String cnpj = null; + + @XmlElement(name="dataHoraProcessamento") + @ApiModelProperty(value = "Contém a data e horário do processamento do documento de presença de carga.
Formato: yyyy-MM-dd'T'HH:mm:ss.SSSZ") + /** + * Contém a data e horário do processamento do documento de presença de carga.
Formato: yyyy-MM-dd'T'HH:mm:ss.SSSZ + **/ + private OffsetDateTime dataHoraProcessamento = null; + + @XmlElement(name="dataHorarioEnvio", required = true) + @ApiModelProperty(required = true, value = "Contém a data e horário do envio do documento de presença de carga.
Formato: yyyy-MM-dd'T'HH:mm:ss.SSSZ") + /** + * Contém a data e horário do envio do documento de presença de carga.
Formato: yyyy-MM-dd'T'HH:mm:ss.SSSZ + **/ + private OffsetDateTime dataHorarioEnvio = null; + + @XmlElement(name="erros") + @ApiModelProperty(value = "Lista de erros") + @Valid + /** + * Lista de erros + **/ + private List erros = null; + + @XmlElement(name="numeroManifesto", required = true) + @ApiModelProperty(required = true, value = "Contém o número do manifesto para o qual foi informado a presença de carga.") + /** + * Contém o número do manifesto para o qual foi informado a presença de carga. + **/ + private String numeroManifesto = null; + + @XmlElement(name="numeroProtocolo", required = true) + @ApiModelProperty(required = true, value = "Protocolo do Envio
Tamanho: 36") + /** + * Protocolo do Envio
Tamanho: 36 + **/ + private String numeroProtocolo = null; + + @XmlElement(name="remessas") + @ApiModelProperty(value = "Lista de remessas") + @Valid + /** + * Lista de remessas + **/ + private List remessas = null; + + @XmlElement(name="situacao", required = true) + @ApiModelProperty(required = true, value = "Situacao do processamento
0 - Aguardando processamento;
1 - Processamento concluído.") + /** + * Situacao do processamento
0 - Aguardando processamento;
1 - Processamento concluído. + **/ + private Integer situacao = null; + /** + * Contém o CNPJ da empresa para a qual foi registrado o Manifesto. Exatamente quatorze caracteres numéricos. Não deve conter ‘.’,’-‘ e ‘/’. + * @return cnpj + **/ + @JsonProperty("cnpj") + @NotNull + public String getCnpj() { + return cnpj; + } + + public void setCnpj(String cnpj) { + this.cnpj = cnpj; + } + + public ProcessamentoDeManifestoDePresenaDeCarga cnpj(String cnpj) { + this.cnpj = cnpj; + return this; + } + + /** + * Contém a data e horário do processamento do documento de presença de carga. <br/>Formato: yyyy-MM-dd'T'HH:mm:ss.SSSZ + * @return dataHoraProcessamento + **/ + @JsonProperty("dataHoraProcessamento") + public OffsetDateTime getDataHoraProcessamento() { + return dataHoraProcessamento; + } + + public void setDataHoraProcessamento(OffsetDateTime dataHoraProcessamento) { + this.dataHoraProcessamento = dataHoraProcessamento; + } + + public ProcessamentoDeManifestoDePresenaDeCarga dataHoraProcessamento(OffsetDateTime dataHoraProcessamento) { + this.dataHoraProcessamento = dataHoraProcessamento; + return this; + } + + /** + * Contém a data e horário do envio do documento de presença de carga. <br/>Formato: yyyy-MM-dd'T'HH:mm:ss.SSSZ + * @return dataHorarioEnvio + **/ + @JsonProperty("dataHorarioEnvio") + @NotNull + public OffsetDateTime getDataHorarioEnvio() { + return dataHorarioEnvio; + } + + public void setDataHorarioEnvio(OffsetDateTime dataHorarioEnvio) { + this.dataHorarioEnvio = dataHorarioEnvio; + } + + public ProcessamentoDeManifestoDePresenaDeCarga dataHorarioEnvio(OffsetDateTime dataHorarioEnvio) { + this.dataHorarioEnvio = dataHorarioEnvio; + return this; + } + + /** + * Lista de erros + * @return erros + **/ + @JsonProperty("erros") + public List getErros() { + return erros; + } + + public void setErros(List erros) { + this.erros = erros; + } + + public ProcessamentoDeManifestoDePresenaDeCarga erros(List erros) { + this.erros = erros; + return this; + } + + public ProcessamentoDeManifestoDePresenaDeCarga addErrosItem(ErroNoProcessamentoDeManifestoDePresenaDeCarga errosItem) { + this.erros.add(errosItem); + return this; + } + + /** + * Contém o número do manifesto para o qual foi informado a presença de carga. + * @return numeroManifesto + **/ + @JsonProperty("numeroManifesto") + @NotNull + public String getNumeroManifesto() { + return numeroManifesto; + } + + public void setNumeroManifesto(String numeroManifesto) { + this.numeroManifesto = numeroManifesto; + } + + public ProcessamentoDeManifestoDePresenaDeCarga numeroManifesto(String numeroManifesto) { + this.numeroManifesto = numeroManifesto; + return this; + } + + /** + * Protocolo do Envio <br/>Tamanho: 36 + * @return numeroProtocolo + **/ + @JsonProperty("numeroProtocolo") + @NotNull + public String getNumeroProtocolo() { + return numeroProtocolo; + } + + public void setNumeroProtocolo(String numeroProtocolo) { + this.numeroProtocolo = numeroProtocolo; + } + + public ProcessamentoDeManifestoDePresenaDeCarga numeroProtocolo(String numeroProtocolo) { + this.numeroProtocolo = numeroProtocolo; + return this; + } + + /** + * Lista de remessas + * @return remessas + **/ + @JsonProperty("remessas") + public List getRemessas() { + return remessas; + } + + public void setRemessas(List remessas) { + this.remessas = remessas; + } + + public ProcessamentoDeManifestoDePresenaDeCarga remessas(List remessas) { + this.remessas = remessas; + return this; + } + + public ProcessamentoDeManifestoDePresenaDeCarga addRemessasItem(DetalheDoProcessamentoDaRemessa remessasItem) { + this.remessas.add(remessasItem); + return this; + } + + /** + * Situacao do processamento</br>0 - Aguardando processamento;</br>1 - Processamento concluído. + * @return situacao + **/ + @JsonProperty("situacao") + @NotNull + public Integer getSituacao() { + return situacao; + } + + public void setSituacao(Integer situacao) { + this.situacao = situacao; + } + + public ProcessamentoDeManifestoDePresenaDeCarga situacao(Integer situacao) { + this.situacao = situacao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessamentoDeManifestoDePresenaDeCarga {\n"); + + sb.append(" cnpj: ").append(toIndentedString(cnpj)).append("\n"); + sb.append(" dataHoraProcessamento: ").append(toIndentedString(dataHoraProcessamento)).append("\n"); + sb.append(" dataHorarioEnvio: ").append(toIndentedString(dataHorarioEnvio)).append("\n"); + sb.append(" erros: ").append(toIndentedString(erros)).append("\n"); + sb.append(" numeroManifesto: ").append(toIndentedString(numeroManifesto)).append("\n"); + sb.append(" numeroProtocolo: ").append(toIndentedString(numeroProtocolo)).append("\n"); + sb.append(" remessas: ").append(toIndentedString(remessas)).append("\n"); + sb.append(" situacao: ").append(toIndentedString(situacao)).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/remx_recepcao/api/ServiosDestinadosRecepoDeDocumentosApi.java b/src/main/java/br/gov/siscomex/portalunico/remx_recepcao/api/ServiosDestinadosRecepoDeDocumentosApi.java new file mode 100644 index 0000000..ade9c73 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/remx_recepcao/api/ServiosDestinadosRecepoDeDocumentosApi.java @@ -0,0 +1,47 @@ +package br.gov.siscomex.portalunico.remx_recepcao.api; + +import br.gov.siscomex.portalunico.remx_recepcao.model.ManifestoDePresenaDeCarga; +import br.gov.siscomex.portalunico.remx_recepcao.model.ProtocoloDeEnvioDeDocumento; +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; + +/** + * Remessas Internacionais - Recepção + * + *

Introdução

Bem-vindo à Application Programming Interface (API) do sistema Remessa.

O Siscomex Remessa é um sistema informatizado destinado ao controle das remessas internacionais porta a porta, transportadas por empresas de courier.

A informatização permitiu reduzir a burocracia, agilizar o fluxo de liberação das remessas e conferir maior segurança e melhor controle aduaneiro nas operações de comércio exterior efetuadas por meio de empresas de courier. E isto foi possível pelas características do sistema e do modelo de controle a ele associado, destacando-se:

  • Eliminação de exigências burocráticas relativas à entrega de documentos impressos;
  • Transparência dos procedimentos aos intervenientes envolvidos no despacho aduaneiro;
  • Aprimoramento dos controles da RFB pela possibilidade de gestão de risco com base em informações eletrônicas, resultando em seleção mais ágil e eficiente;
  • Recebimento das informações eletrônicas antes da chegada da carga no país, permitindo antecipar o início dos trabalhos de fiscalização da RFB e demais órgãos fiscalizadores e reduzindo, em consequência, o tempo de passagem da carga em recinto aduaneiro;
  • Cooperação na melhoria da seleção de cargas para fiscalização por outros órgãos (Anvisa, VIGIAGRO), por meio de solução Single Window; e
  • Possibilidade de aperfeiçoamento da legislação, ampliação de mercado e eliminação de limites que dependiam da informatização do controle.

As operações possíveis pela API do sistema são:

  • O envio e validações de arquivo de Presença de Carga (PC) no formato Json;
  • A consulta ao resultado do processamento do arquivo de PC através de um número de protocolo;
  • Recebimento de notificação PUSH com o resultado do término do processamento do arquivo, para os operadores cadastrados.

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/remessa/recepcao/{serviço}
Ambiente de Produçãohttps://portalunico.siscomex.gov.br/remessa/recepcao/{serviço}
+ * + */ +@Path("/") +@Api(value = "/", description = "") +public interface ServiosDestinadosRecepoDeDocumentosApi { + + /** + * Envio de Manifesto de Presença de Carga + * + */ + @POST + @Path("/api/ext/manifesto-presenca-carga") + @Consumes({ "application/json" }) + @Produces({ "*/*" }) + @ApiOperation(value = "Envio de Manifesto de Presença de Carga", notes = "", tags={ "Serviços destinados à recepção de documentos" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ProtocoloDeEnvioDeDocumento.class), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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 = 422, message = "Erro(s) de validação da camada de negócio"), + @ApiResponse(code = 500, message = "Erro interno no servidor") }) + public Response receberUsingPOST(@ApiParam(value = "JSON do envio de manifesto de presenta de carga" ,required=true)@Valid ManifestoDePresenaDeCarga 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") Object 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") Object xCSRFToken); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/remx_recepcao/model/InformaesDaRemessa.java b/src/main/java/br/gov/siscomex/portalunico/remx_recepcao/model/InformaesDaRemessa.java new file mode 100644 index 0000000..c2b29b0 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/remx_recepcao/model/InformaesDaRemessa.java @@ -0,0 +1,253 @@ +package br.gov.siscomex.portalunico.remx_recepcao.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 = "InformaesDaRemessa", propOrder = + { "indicadorOver", "infoFiscalizacao", "numeroMaster", "numeroRemessa", "pesoRemessa", "tratamentoAdm", "volumesRecebidos", "volumesRemessa" +}) + +@XmlRootElement(name="InformaesDaRemessa") +public class InformaesDaRemessa { + + @XmlElement(name="indicadorOver", required = true) + @ApiModelProperty(required = true, value = "Contém um indicador para sinalizar uma remessa over.
Domínio:
0 - Remessa manifestada
1 - Remessa Over (apenas para remessa expressa).") + /** + * Contém um indicador para sinalizar uma remessa over.
Domínio:
0 - Remessa manifestada
1 - Remessa Over (apenas para remessa expressa). + **/ + private Object indicadorOver = null; + + @XmlElement(name="infoFiscalizacao") + @ApiModelProperty(value = "Conterá informações de fiscalização. Obs.: pode ser informado quando do registro/retificação da DIR. Máximo de 500 caracteres, que podem ser letras, números, além de quaisquer caracteres referentes a codificação UTF-8.") + /** + * Conterá informações de fiscalização. Obs.: pode ser informado quando do registro/retificação da DIR. Máximo de 500 caracteres, que podem ser letras, números, além de quaisquer caracteres referentes a codificação UTF-8. + **/ + private String infoFiscalizacao = null; + + @XmlElement(name="numeroMaster", required = true) + @ApiModelProperty(required = true, value = "Contém o número do Master (11 caracteres numéricos) ou o número da Mala Postal (29 caracteres alfanuméricos).") + /** + * Contém o número do Master (11 caracteres numéricos) ou o número da Mala Postal (29 caracteres alfanuméricos). + **/ + private String numeroMaster = null; + + @XmlElement(name="numeroRemessa", required = true) + @ApiModelProperty(required = true, value = "Contém o número da remessa identificado na presença de carga (Informado pelo operador). Máximo de dezoito caracteres alfanuméricos.") + /** + * Contém o número da remessa identificado na presença de carga (Informado pelo operador). Máximo de dezoito caracteres alfanuméricos. + **/ + private String numeroRemessa = null; + + @XmlElement(name="pesoRemessa") + @ApiModelProperty(value = "Contém o peso em Kg da remessa. Número fracionário aceitando até 10 dígitos antes do ponto e 2 dígitos após") + /** + * Contém o peso em Kg da remessa. Número fracionário aceitando até 10 dígitos antes do ponto e 2 dígitos após + **/ + private Object pesoRemessa = null; + + @XmlElement(name="tratamentoAdm") + @ApiModelProperty(value = "Especifica se a mercadoria necessita de tratamento administrativo, encaminhando a mesma para seleção do órgão desejado.
1- Fiscalização ANVISA
2 - Fiscalização VIGIAGRO/MAPA
3 - Fiscalização RFB
4 - Fiscalização VIGIAGRO/MAPA e Anvisa
5 - Fiscalização VIGIAGRO/MAPA e RFB
6 - Fiscalização Anvisa e RFB
7 - Fiscalização VIGIAGRO/MAPA, Anvisa e RFB
8 - Fiscalização IBAMA
9 - Fiscalização IBAMA e ANVISA
10 - Fiscalização IBAMA e VIGIAGRO/MAPA
11 - Fiscalização IBAMA e RFB
12 - Fiscalização IBAMA, VIGIAGRO/MAPA e ANVISA
13 - Fiscalização IBAMA, VIGIAGRO/MAPA e RFB
14 - Fiscalização IBAMA, ANVISA e RFB
15 - Fiscalização IBAMA, ANVISA, VIGIAGRO/MAPA e RFB") + /** + * Especifica se a mercadoria necessita de tratamento administrativo, encaminhando a mesma para seleção do órgão desejado.
1- Fiscalização ANVISA
2 - Fiscalização VIGIAGRO/MAPA
3 - Fiscalização RFB
4 - Fiscalização VIGIAGRO/MAPA e Anvisa
5 - Fiscalização VIGIAGRO/MAPA e RFB
6 - Fiscalização Anvisa e RFB
7 - Fiscalização VIGIAGRO/MAPA, Anvisa e RFB
8 - Fiscalização IBAMA
9 - Fiscalização IBAMA e ANVISA
10 - Fiscalização IBAMA e VIGIAGRO/MAPA
11 - Fiscalização IBAMA e RFB
12 - Fiscalização IBAMA, VIGIAGRO/MAPA e ANVISA
13 - Fiscalização IBAMA, VIGIAGRO/MAPA e RFB
14 - Fiscalização IBAMA, ANVISA e RFB
15 - Fiscalização IBAMA, ANVISA, VIGIAGRO/MAPA e RFB + **/ + private Integer tratamentoAdm = null; + + @XmlElement(name="volumesRecebidos", required = true) + @ApiModelProperty(required = true, value = "Contém a quantidade de volumes recebidos na remessa. Máximo de 4 caracteres numéricos (0 até 9999).") + /** + * Contém a quantidade de volumes recebidos na remessa. Máximo de 4 caracteres numéricos (0 até 9999). + **/ + private Integer volumesRecebidos = null; + + @XmlElement(name="volumesRemessa") + @ApiModelProperty(value = "Contém a quantidade de volumes da remessa. Para remessas over é a quantidade de volumes informados na primeira presença de carga. Máximo de 4 caracteres numéricos (1 até 9999). ") + /** + * Contém a quantidade de volumes da remessa. Para remessas over é a quantidade de volumes informados na primeira presença de carga. Máximo de 4 caracteres numéricos (1 até 9999). + **/ + private Object volumesRemessa = null; + /** + * Contém um indicador para sinalizar uma remessa over. <br/>Domínio:<br/>0 - Remessa manifestada<br/>1 - Remessa Over (apenas para remessa expressa). + * @return indicadorOver + **/ + @JsonProperty("indicadorOver") + @NotNull + public Object getIndicadorOver() { + return indicadorOver; + } + + public void setIndicadorOver(Object indicadorOver) { + this.indicadorOver = indicadorOver; + } + + public InformaesDaRemessa indicadorOver(Object indicadorOver) { + this.indicadorOver = indicadorOver; + return this; + } + + /** + * Conterá informações de fiscalização. Obs.: pode ser informado quando do registro/retificação da DIR. Máximo de 500 caracteres, que podem ser letras, números, além de quaisquer caracteres referentes a codificação UTF-8. + * @return infoFiscalizacao + **/ + @JsonProperty("infoFiscalizacao") + public String getInfoFiscalizacao() { + return infoFiscalizacao; + } + + public void setInfoFiscalizacao(String infoFiscalizacao) { + this.infoFiscalizacao = infoFiscalizacao; + } + + public InformaesDaRemessa infoFiscalizacao(String infoFiscalizacao) { + this.infoFiscalizacao = infoFiscalizacao; + return this; + } + + /** + * Contém o número do Master (11 caracteres numéricos) ou o número da Mala Postal (29 caracteres alfanuméricos). + * @return numeroMaster + **/ + @JsonProperty("numeroMaster") + @NotNull + public String getNumeroMaster() { + return numeroMaster; + } + + public void setNumeroMaster(String numeroMaster) { + this.numeroMaster = numeroMaster; + } + + public InformaesDaRemessa numeroMaster(String numeroMaster) { + this.numeroMaster = numeroMaster; + return this; + } + + /** + * Contém o número da remessa identificado na presença de carga (Informado pelo operador). Máximo de dezoito caracteres alfanuméricos. + * @return numeroRemessa + **/ + @JsonProperty("numeroRemessa") + @NotNull + public String getNumeroRemessa() { + return numeroRemessa; + } + + public void setNumeroRemessa(String numeroRemessa) { + this.numeroRemessa = numeroRemessa; + } + + public InformaesDaRemessa numeroRemessa(String numeroRemessa) { + this.numeroRemessa = numeroRemessa; + return this; + } + + /** + * Contém o peso em Kg da remessa. Número fracionário aceitando até 10 dígitos antes do ponto e 2 dígitos após + * @return pesoRemessa + **/ + @JsonProperty("pesoRemessa") + public Object getPesoRemessa() { + return pesoRemessa; + } + + public void setPesoRemessa(Object pesoRemessa) { + this.pesoRemessa = pesoRemessa; + } + + public InformaesDaRemessa pesoRemessa(Object pesoRemessa) { + this.pesoRemessa = pesoRemessa; + return this; + } + + /** + * Especifica se a mercadoria necessita de tratamento administrativo, encaminhando a mesma para seleção do órgão desejado.<br/>1- Fiscalização ANVISA<br/>2 - Fiscalização VIGIAGRO/MAPA<br/>3 - Fiscalização RFB<br/>4 - Fiscalização VIGIAGRO/MAPA e Anvisa<br/>5 - Fiscalização VIGIAGRO/MAPA e RFB<br/>6 - Fiscalização Anvisa e RFB<br/>7 - Fiscalização VIGIAGRO/MAPA, Anvisa e RFB<br/>8 - Fiscalização IBAMA<br/>9 - Fiscalização IBAMA e ANVISA<br/>10 - Fiscalização IBAMA e VIGIAGRO/MAPA<br/>11 - Fiscalização IBAMA e RFB<br/>12 - Fiscalização IBAMA, VIGIAGRO/MAPA e ANVISA<br/>13 - Fiscalização IBAMA, VIGIAGRO/MAPA e RFB<br/>14 - Fiscalização IBAMA, ANVISA e RFB<br/>15 - Fiscalização IBAMA, ANVISA, VIGIAGRO/MAPA e RFB + * @return tratamentoAdm + **/ + @JsonProperty("tratamentoAdm") + public Integer getTratamentoAdm() { + return tratamentoAdm; + } + + public void setTratamentoAdm(Integer tratamentoAdm) { + this.tratamentoAdm = tratamentoAdm; + } + + public InformaesDaRemessa tratamentoAdm(Integer tratamentoAdm) { + this.tratamentoAdm = tratamentoAdm; + return this; + } + + /** + * Contém a quantidade de volumes recebidos na remessa. Máximo de 4 caracteres numéricos (0 até 9999). + * @return volumesRecebidos + **/ + @JsonProperty("volumesRecebidos") + @NotNull + public Integer getVolumesRecebidos() { + return volumesRecebidos; + } + + public void setVolumesRecebidos(Integer volumesRecebidos) { + this.volumesRecebidos = volumesRecebidos; + } + + public InformaesDaRemessa volumesRecebidos(Integer volumesRecebidos) { + this.volumesRecebidos = volumesRecebidos; + return this; + } + + /** + * Contém a quantidade de volumes da remessa. Para remessas over é a quantidade de volumes informados na primeira presença de carga. Máximo de 4 caracteres numéricos (1 até 9999). + * @return volumesRemessa + **/ + @JsonProperty("volumesRemessa") + public Object getVolumesRemessa() { + return volumesRemessa; + } + + public void setVolumesRemessa(Object volumesRemessa) { + this.volumesRemessa = volumesRemessa; + } + + public InformaesDaRemessa volumesRemessa(Object volumesRemessa) { + this.volumesRemessa = volumesRemessa; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InformaesDaRemessa {\n"); + + sb.append(" indicadorOver: ").append(toIndentedString(indicadorOver)).append("\n"); + sb.append(" infoFiscalizacao: ").append(toIndentedString(infoFiscalizacao)).append("\n"); + sb.append(" numeroMaster: ").append(toIndentedString(numeroMaster)).append("\n"); + sb.append(" numeroRemessa: ").append(toIndentedString(numeroRemessa)).append("\n"); + sb.append(" pesoRemessa: ").append(toIndentedString(pesoRemessa)).append("\n"); + sb.append(" tratamentoAdm: ").append(toIndentedString(tratamentoAdm)).append("\n"); + sb.append(" volumesRecebidos: ").append(toIndentedString(volumesRecebidos)).append("\n"); + sb.append(" volumesRemessa: ").append(toIndentedString(volumesRemessa)).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/remx_recepcao/model/ManifestoDePresenaDeCarga.java b/src/main/java/br/gov/siscomex/portalunico/remx_recepcao/model/ManifestoDePresenaDeCarga.java new file mode 100644 index 0000000..d266d8b --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/remx_recepcao/model/ManifestoDePresenaDeCarga.java @@ -0,0 +1,129 @@ +package br.gov.siscomex.portalunico.remx_recepcao.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.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "ManifestoDePresenaDeCarga", propOrder = + { "cnpjDeclarante", "numeroManifesto", "remessas" +}) + +@XmlRootElement(name="ManifestoDePresenaDeCarga") +public class ManifestoDePresenaDeCarga { + + @XmlElement(name="cnpjDeclarante", required = true) + @ApiModelProperty(example = "63198378000161", required = true, value = "Contém o CNPJ da empresa a qual o manifesto enviado pertence.
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'") + /** + * Contém o CNPJ da empresa a qual o manifesto enviado pertence.
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN' + **/ + private String cnpjDeclarante = null; + + @XmlElement(name="numeroManifesto", required = true) + @ApiModelProperty(example = "SRP201300000017", required = true, value = "Contém o número do manifesto para o qual se deseja infomar a presença de carga. O número do manifesto é composto por 15 caracteres alfanuméricos.
Tamanho: 15") + /** + * Contém o número do manifesto para o qual se deseja infomar a presença de carga. O número do manifesto é composto por 15 caracteres alfanuméricos.
Tamanho: 15 + **/ + private String numeroManifesto = null; + + @XmlElement(name="remessas") + @ApiModelProperty(value = "Lista de remessas (máximo: 3000 itens)") + @Valid + /** + * Lista de remessas (máximo: 3000 itens) + **/ + private List remessas = null; + /** + * Contém o CNPJ da empresa a qual o manifesto enviado pertence.<br/>Tamanho: 14 <br/>Formato: 'NNNNNNNNNNNNNN' + * @return cnpjDeclarante + **/ + @JsonProperty("cnpjDeclarante") + @NotNull + public String getCnpjDeclarante() { + return cnpjDeclarante; + } + + public void setCnpjDeclarante(String cnpjDeclarante) { + this.cnpjDeclarante = cnpjDeclarante; + } + + public ManifestoDePresenaDeCarga cnpjDeclarante(String cnpjDeclarante) { + this.cnpjDeclarante = cnpjDeclarante; + return this; + } + + /** + * Contém o número do manifesto para o qual se deseja infomar a presença de carga. O número do manifesto é composto por 15 caracteres alfanuméricos. <br/>Tamanho: 15 + * @return numeroManifesto + **/ + @JsonProperty("numeroManifesto") + @NotNull + public String getNumeroManifesto() { + return numeroManifesto; + } + + public void setNumeroManifesto(String numeroManifesto) { + this.numeroManifesto = numeroManifesto; + } + + public ManifestoDePresenaDeCarga numeroManifesto(String numeroManifesto) { + this.numeroManifesto = numeroManifesto; + return this; + } + + /** + * Lista de remessas (máximo: 3000 itens) + * @return remessas + **/ + @JsonProperty("remessas") + public List getRemessas() { + return remessas; + } + + public void setRemessas(List remessas) { + this.remessas = remessas; + } + + public ManifestoDePresenaDeCarga remessas(List remessas) { + this.remessas = remessas; + return this; + } + + public ManifestoDePresenaDeCarga addRemessasItem(InformaesDaRemessa remessasItem) { + this.remessas.add(remessasItem); + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ManifestoDePresenaDeCarga {\n"); + + sb.append(" cnpjDeclarante: ").append(toIndentedString(cnpjDeclarante)).append("\n"); + sb.append(" numeroManifesto: ").append(toIndentedString(numeroManifesto)).append("\n"); + sb.append(" remessas: ").append(toIndentedString(remessas)).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/remx_recepcao/model/ProtocoloDeEnvioDeDocumento.java b/src/main/java/br/gov/siscomex/portalunico/remx_recepcao/model/ProtocoloDeEnvioDeDocumento.java new file mode 100644 index 0000000..49bd318 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/remx_recepcao/model/ProtocoloDeEnvioDeDocumento.java @@ -0,0 +1,96 @@ +package br.gov.siscomex.portalunico.remx_recepcao.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; +import java.time.OffsetDateTime; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "ProtocoloDeEnvioDeDocumento", propOrder = + { "dataHoraTransmissao", "numeroProtocolo" +}) + +@XmlRootElement(name="ProtocoloDeEnvioDeDocumento") +public class ProtocoloDeEnvioDeDocumento { + + @XmlElement(name="dataHoraTransmissao", required = true) + @ApiModelProperty(required = true, value = "Data e Hora de transmissão
Formato: yyyy-MM-dd'T'HH:mm:ss.SSSZ") + /** + * Data e Hora de transmissão
Formato: yyyy-MM-dd'T'HH:mm:ss.SSSZ + **/ + private OffsetDateTime dataHoraTransmissao = null; + + @XmlElement(name="numeroProtocolo", required = true) + @ApiModelProperty(required = true, value = "Protocolo do Envio
Tamanho: 36") + /** + * Protocolo do Envio
Tamanho: 36 + **/ + private String numeroProtocolo = null; + /** + * Data e Hora de transmissão <br/>Formato: yyyy-MM-dd'T'HH:mm:ss.SSSZ + * @return dataHoraTransmissao + **/ + @JsonProperty("dataHoraTransmissao") + @NotNull + public OffsetDateTime getDataHoraTransmissao() { + return dataHoraTransmissao; + } + + public void setDataHoraTransmissao(OffsetDateTime dataHoraTransmissao) { + this.dataHoraTransmissao = dataHoraTransmissao; + } + + public ProtocoloDeEnvioDeDocumento dataHoraTransmissao(OffsetDateTime dataHoraTransmissao) { + this.dataHoraTransmissao = dataHoraTransmissao; + return this; + } + + /** + * Protocolo do Envio <br/>Tamanho: 36 + * @return numeroProtocolo + **/ + @JsonProperty("numeroProtocolo") + @NotNull + public String getNumeroProtocolo() { + return numeroProtocolo; + } + + public void setNumeroProtocolo(String numeroProtocolo) { + this.numeroProtocolo = numeroProtocolo; + } + + public ProtocoloDeEnvioDeDocumento numeroProtocolo(String numeroProtocolo) { + this.numeroProtocolo = numeroProtocolo; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtocoloDeEnvioDeDocumento {\n"); + + sb.append(" dataHoraTransmissao: ").append(toIndentedString(dataHoraTransmissao)).append("\n"); + sb.append(" numeroProtocolo: ").append(toIndentedString(numeroProtocolo)).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/tabx/api/DadosDaTabelaRegistrosApi.java b/src/main/java/br/gov/siscomex/portalunico/tabx/api/DadosDaTabelaRegistrosApi.java new file mode 100644 index 0000000..aa2ac84 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/api/DadosDaTabelaRegistrosApi.java @@ -0,0 +1,96 @@ +package br.gov.siscomex.portalunico.tabx.api; + +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 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 + * + *

TABX - Tabelas Comex

Introdução

A API do Tabelas Comex (TABX) reunirá todos os serviços para consulta dos metadados e manutenção dos dados das tabelas do Comércio Exterior que atendem o Portal Único.

URLs de Acesso

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

https://{ambiente}/tabx/api/ext/{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 da tabela" a URI é "ext/tabela/{nomeTabela}".

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

https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA

As operações que podem ser gerenciadas pela API do sistema são:

Metadados da Tabela

  • Listar tabelas;
  • Consultar metadados da tabela.

Dados da Tabela (Registros)

  • Consultar dados da tabela;
  • Incluir dado na tabela;
  • Alterar dado da tabela;
  • Excluir dado da tabela.

Obs 1:
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.

Obs 2:
Os serviços admitem os seguintes formatos de data/hora:
- Completo: yyyy-MM-dd'T'HH:mm:ss.SSSZ
- Sem timezone: yyyy-MM-dd'T'HH:mm:ss.SSS
- Sem timezone e sem milissegundos: yyyy-MM-dd'T'HH:mm:ss
Onde o padrão (default) é o formato completo.
Quando o campo data/hora não é preenchido por completo, os serviços o complementam com milissegundos '000' e timezone '-0300', caso seja necessário.


Exemplos de Consultas de Dados da Tabela
  • Consulta retornando dados vigentes da tabela principal (nível 0 - default):

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras não são retornados.

  • Consulta retornando dados vigentes da tabela principal e da(s) tabela(s) estrangeira(s) (nível 1):

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?nivel=1

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras também são retornados, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.

  • Consulta especificando campos de retorno da tabela principal:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?camposRetorno=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\"},{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"NOME\"}]

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes na data/hora corrente (default), mas apenas com os campos de retorno CODIGO e NOME.
    Os dados das tabelas estrangeiras não são retornados.

  • Consulta especificando campos de retorno da tabela estrangeira:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?camposRetorno=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\"},{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"NOME\"},{\"nomeTabela\":\"ORGAO_ANUENTE\",\"nome\":\"SIGLA\"}]&nivel=1

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes na data/hora corrente (default), mas apenas com os campos de retorno CODIGO e NOME.
    Os dados das tabelas estrangeiras são retornados, vigentes na data/hora corrente (default), mas apenas com o campo de retorno SIGLA.

  • Consulta especificando filtros da tabela principal:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?filtros=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"DATA_INICIO\",\"valores\":[\"2021-09-01T17:00:00.865-0300\"]},{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"DATA_FIM\",\"valores\":[\"2021-09-30T17:00:00.865-0300\"]}]

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes no período de vigência informado e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras não são retornados.

  • Consulta especificando filtros da tabela principal com múltiplos valores:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?filtros=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\",\"valores\":[\"01\",\"02\"]}]

    Nesse caso, o TABX retorna apenas os dados da tabela GRUPO_EXIGENCIA com os códigos informados, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras não são retornados.

  • Consulta especificando filtros da tabela estrangeira:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?filtros=[{\"nomeTabela\":\"ORGAO_ANUENTE\",\"nome\":\"SIGLA\",\"valores\":[\"RFB\"]}]&nivel=1

    Nesse caso, o TABX retorna apenas os dados da tabela GRUPO_EXIGENCIA com a sigla do órgão anuente informada, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras também são retornados, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.

  • Consulta especificando filtros da tabela estrangeira com múltiplos valores:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?filtros=[{\"nomeTabela\":\"ORGAO_ANUENTE\",\"nome\":\"SIGLA\",\"valores\":[\"RFB\",\"ANATEL\"]}]&nivel=1

    Nesse caso, o TABX retorna apenas os dados da tabela GRUPO_EXIGENCIA com as siglas dos órgãos anuentes informadas, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras também são retornados, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.

  • Consulta especificando campos de ordenação da tabela principal:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?camposOrdenacao=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\",\"tipoOrdenacao\":\"DESC\"}]

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras não são retornados.
    Os dados retornados são ordenados pelo campo CODIGO, tipo de ordenação DESC.

  • Consulta especificando campos de ordenação da tabela estrangeira:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?camposOrdenacao=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\",\"tipoOrdenacao\":\"DESC\"},{\"nomeTabela\":\"ORGAO_ANUENTE\",\"nome\":\"SIGLA\",\"tipoOrdenacao\":\"ASC\"}]&nivel=1

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras também são retornados, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados retornados são ordenados pelos campos CODIGO, tipo de ordenação DESC e SIGLA da tabela ORGAO_ANUENTE, tipo de ordenação ASC.
    Obs.: Os campos de ordenação definem a ordem dos dados retornados. Dentro de cada dado, os campos são ordenados seguindo a ordem dos campos definida nos metadados.

  • Consulta completa com todos os tipos de parâmetros:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?camposRetorno=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\"},{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"NOME\"},{\"nomeTabela\":\"ORGAO_ANUENTE\",\"nome\":\"SIGLA\"}]&filtros=[{\"nomeTabela\":\"ORGAO_ANUENTE\",\"nome\":\"SIGLA\",\"valores\":[\"RFB\",\"ANATEL\"]}]&camposOrdenacao=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\",\"tipoOrdenacao\":\"DESC\"}]&nivel=1&offset=1

    Nesse caso, o TABX retorna apenas os dados da tabela GRUPO_EXIGENCIA com as siglas dos órgãos anuentes informadas, vigentes na data/hora corrente (default), mas apenas com os campos de retorno CODIGO e NOME.
    Os dados das tabelas estrangeiras são retornados, vigentes na data/hora corrente (default), mas apenas com o campo de retorno SIGLA.
    Os dados retornados são ordenados pelo campo CODIGO, tipo de ordenação DESC.
Exemplo de Inclusão de Dado na Tabela
  • Inclusão de dado com todos os campos obrigatórios informados:

    POST https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA

    Campos:
    [{\"nome\":\"CODIGO\",\"valor\":\"01\"},
    {\"nome\":\"NOME\",\"valor\":\"NOME DO GRUPO 01\"},
    {\"nome\":\"CODIGO_ORGAO_ANUENTE\",\"valor\":\"RFB\"},
    {\"nome\":\"INDICADOR_DESPACHO_IMP\",\"valor\":\"S\"},
    {\"nome\":\"INDICADOR_DESPACHO_EXP\",\"valor\":\"S\"},
    {\"nome\":\"DATA_INICIO\",\"valor\":\"2023-12-01T17:00:00.865-0300\"},
    {\"nome\":\"DATA_FIM\",\"valor\":\"2023-12-31T17:00:00.865-0300\"}]
Exemplo de Alteração de Dado da Tabela
  • Alteração somente dos campos informados do dado com código de negócio '01':

    PUT https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA/01

    Campos:
    [{\"nome\":\"NOME\",\"valor\":\"NOME ALTERADO DO GRUPO 01\"},
    {\"nome\":\"CODIGO_ORGAO_ANUENTE\",\"valor\":\"ANATEL\"}]
Exemplo de Exclusão de Dado da Tabela
  • Exclusão do dado com código de negócio '01':

    DELETE https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA/01

+ * + */ +@Path("/") +@Api(value = "/", description = "") +public interface DadosDaTabelaRegistrosApi { + + /** + * Alterar dado da tabela. + * + * Use esta funcionalidade para alterar um dado da tabela. Disponível apenas para Intervenientes Privados. + * + */ + @PUT + @Path("/api/ext/tabela/{nomeTabela}/{codigo}") + @Consumes({ "application/json" }) + @ApiOperation(value = "Alterar dado da tabela.", notes = "Use esta funcionalidade para alterar um dado da tabela. Disponível apenas para Intervenientes Privados.", tags={ "Dados da Tabela (Registros)" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "OK") }) + public Response alterarUsingPUT(@ApiParam(value = "Campos da tabela para alteração." ,required=true)@Valid List body, @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 = "Código de negócio.
Tamanho mínimo: 1
Tamanho máximo: definido nos metadados da tabela",required=true) @PathParam("codigo") String codigo, @ApiParam(value = "Nome da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50",required=true) @PathParam("nomeTabela") String nomeTabela); + + /** + * Consultar dados da tabela. + * + * Use esta funcionalidade para consultar os dados da tabela. + * + */ + @GET + @Path("/api/ext/tabela/{nomeTabela}") + @Produces({ "application/json" }) + @ApiOperation(value = "Consultar dados da tabela.", notes = "Use esta funcionalidade para consultar os dados da tabela.", tags={ "Dados da Tabela (Registros)" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "OK", response = DadosTabelaApiRepresentation.class), + @ApiResponse(code = 400, message = "Requisição mal formada", response = Error.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão para acessar o recurso solicitado", response = Error.class), + @ApiResponse(code = 404, message = "Recurso não encontrado", response = Error.class), + @ApiResponse(code = 422, message = "Erro de negócio", response = Error.class), + @ApiResponse(code = 500, message = "Erro inesperado", response = Error.class) }) + public Response consultarUsingGET(@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 = "Nome da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50",required=true) @PathParam("nomeTabela") String nomeTabela, @ApiParam(value = "Campos de ordenação da consulta.
Modelo: CampoOrdenacaoApiRepresentation.") @QueryParam("camposOrdenacao") String camposOrdenacao, @ApiParam(value = "Campos de retorno da consulta.
Modelo: CampoRetornoApiRepresentation.") @QueryParam("camposRetorno") String camposRetorno, @ApiParam(value = "Filtros da consulta.
Modelo: FiltroCampoApiRepresentation.") @QueryParam("filtros") String filtros, @ApiParam(value = "Nível da consulta. Domínio:
0 - Apenas dados da tabela pesquisada (principal)
1 - Dados da tabela pesquisada e dados da(s) tabela(s) referenciada(s) pelo(s) campo(s) estrangeiros(s) (apenas primeiro nível de relacionamento)") @QueryParam("nivel") String nivel, @ApiParam(value = "Offset. Índice do primeiro elemento a ser retornado na pesquisa.
Tamanho mínimo: 1
Tamanho máximo: N") @QueryParam("offset") String offset); + + /** + * Excluir dado da tabela. + * + * Use esta funcionalidade para excluir um dado da tabela. Disponível apenas para Intervenientes Privados. + * + */ + @DELETE + @Path("/api/ext/tabela/{nomeTabela}/{codigo}") + @ApiOperation(value = "Excluir dado da tabela.", notes = "Use esta funcionalidade para excluir um dado da tabela. Disponível apenas para Intervenientes Privados.", tags={ "Dados da Tabela (Registros)" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "OK") }) + public Response excluirUsingDELETE(@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 = "Código de negócio.
Tamanho mínimo: 1
Tamanho máximo: definido nos metadados da tabela",required=true) @PathParam("codigo") String codigo, @ApiParam(value = "Nome da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50",required=true) @PathParam("nomeTabela") String nomeTabela); + + /** + * Incluir dado na tabela. + * + * Use esta funcionalidade para incluir um dado na tabela. Disponível apenas para Intervenientes Privados. + * + */ + @POST + @Path("/api/ext/tabela/{nomeTabela}") + @Consumes({ "application/json" }) + @ApiOperation(value = "Incluir dado na tabela.", notes = "Use esta funcionalidade para incluir um dado na tabela. Disponível apenas para Intervenientes Privados.", tags={ "Dados da Tabela (Registros)" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "OK") }) + public Response incluirUsingPOST(@ApiParam(value = "Campos da tabela para inclusão." ,required=true)@Valid List body, @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 = "Nome da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50",required=true) @PathParam("nomeTabela") String nomeTabela); +} + diff --git a/src/main/java/br/gov/siscomex/portalunico/tabx/api/MetadadosDaTabelaApi.java b/src/main/java/br/gov/siscomex/portalunico/tabx/api/MetadadosDaTabelaApi.java new file mode 100644 index 0000000..86a7414 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/api/MetadadosDaTabelaApi.java @@ -0,0 +1,67 @@ +package br.gov.siscomex.portalunico.tabx.api; + +import br.gov.siscomex.portalunico.tabx.model.Error; +import br.gov.siscomex.portalunico.tabx.model.TabelaApiRepresentation; +import br.gov.siscomex.portalunico.tabx.model.TabelaCamposApiRepresentation; +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; + +/** + * Tabelas Comex + * + *

TABX - Tabelas Comex

Introdução

A API do Tabelas Comex (TABX) reunirá todos os serviços para consulta dos metadados e manutenção dos dados das tabelas do Comércio Exterior que atendem o Portal Único.

URLs de Acesso

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

https://{ambiente}/tabx/api/ext/{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 da tabela" a URI é "ext/tabela/{nomeTabela}".

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

https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA

As operações que podem ser gerenciadas pela API do sistema são:

Metadados da Tabela

  • Listar tabelas;
  • Consultar metadados da tabela.

Dados da Tabela (Registros)

  • Consultar dados da tabela;
  • Incluir dado na tabela;
  • Alterar dado da tabela;
  • Excluir dado da tabela.

Obs 1:
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.

Obs 2:
Os serviços admitem os seguintes formatos de data/hora:
- Completo: yyyy-MM-dd'T'HH:mm:ss.SSSZ
- Sem timezone: yyyy-MM-dd'T'HH:mm:ss.SSS
- Sem timezone e sem milissegundos: yyyy-MM-dd'T'HH:mm:ss
Onde o padrão (default) é o formato completo.
Quando o campo data/hora não é preenchido por completo, os serviços o complementam com milissegundos '000' e timezone '-0300', caso seja necessário.


Exemplos de Consultas de Dados da Tabela
  • Consulta retornando dados vigentes da tabela principal (nível 0 - default):

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras não são retornados.

  • Consulta retornando dados vigentes da tabela principal e da(s) tabela(s) estrangeira(s) (nível 1):

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?nivel=1

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras também são retornados, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.

  • Consulta especificando campos de retorno da tabela principal:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?camposRetorno=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\"},{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"NOME\"}]

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes na data/hora corrente (default), mas apenas com os campos de retorno CODIGO e NOME.
    Os dados das tabelas estrangeiras não são retornados.

  • Consulta especificando campos de retorno da tabela estrangeira:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?camposRetorno=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\"},{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"NOME\"},{\"nomeTabela\":\"ORGAO_ANUENTE\",\"nome\":\"SIGLA\"}]&nivel=1

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes na data/hora corrente (default), mas apenas com os campos de retorno CODIGO e NOME.
    Os dados das tabelas estrangeiras são retornados, vigentes na data/hora corrente (default), mas apenas com o campo de retorno SIGLA.

  • Consulta especificando filtros da tabela principal:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?filtros=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"DATA_INICIO\",\"valores\":[\"2021-09-01T17:00:00.865-0300\"]},{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"DATA_FIM\",\"valores\":[\"2021-09-30T17:00:00.865-0300\"]}]

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes no período de vigência informado e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras não são retornados.

  • Consulta especificando filtros da tabela principal com múltiplos valores:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?filtros=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\",\"valores\":[\"01\",\"02\"]}]

    Nesse caso, o TABX retorna apenas os dados da tabela GRUPO_EXIGENCIA com os códigos informados, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras não são retornados.

  • Consulta especificando filtros da tabela estrangeira:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?filtros=[{\"nomeTabela\":\"ORGAO_ANUENTE\",\"nome\":\"SIGLA\",\"valores\":[\"RFB\"]}]&nivel=1

    Nesse caso, o TABX retorna apenas os dados da tabela GRUPO_EXIGENCIA com a sigla do órgão anuente informada, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras também são retornados, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.

  • Consulta especificando filtros da tabela estrangeira com múltiplos valores:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?filtros=[{\"nomeTabela\":\"ORGAO_ANUENTE\",\"nome\":\"SIGLA\",\"valores\":[\"RFB\",\"ANATEL\"]}]&nivel=1

    Nesse caso, o TABX retorna apenas os dados da tabela GRUPO_EXIGENCIA com as siglas dos órgãos anuentes informadas, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras também são retornados, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.

  • Consulta especificando campos de ordenação da tabela principal:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?camposOrdenacao=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\",\"tipoOrdenacao\":\"DESC\"}]

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras não são retornados.
    Os dados retornados são ordenados pelo campo CODIGO, tipo de ordenação DESC.

  • Consulta especificando campos de ordenação da tabela estrangeira:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?camposOrdenacao=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\",\"tipoOrdenacao\":\"DESC\"},{\"nomeTabela\":\"ORGAO_ANUENTE\",\"nome\":\"SIGLA\",\"tipoOrdenacao\":\"ASC\"}]&nivel=1

    Nesse caso, o TABX retorna todos os dados da tabela GRUPO_EXIGENCIA vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados das tabelas estrangeiras também são retornados, vigentes na data/hora corrente (default) e com todos os campos de retorno possíveis.
    Os dados retornados são ordenados pelos campos CODIGO, tipo de ordenação DESC e SIGLA da tabela ORGAO_ANUENTE, tipo de ordenação ASC.
    Obs.: Os campos de ordenação definem a ordem dos dados retornados. Dentro de cada dado, os campos são ordenados seguindo a ordem dos campos definida nos metadados.

  • Consulta completa com todos os tipos de parâmetros:

    GET https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA?camposRetorno=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\"},{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"NOME\"},{\"nomeTabela\":\"ORGAO_ANUENTE\",\"nome\":\"SIGLA\"}]&filtros=[{\"nomeTabela\":\"ORGAO_ANUENTE\",\"nome\":\"SIGLA\",\"valores\":[\"RFB\",\"ANATEL\"]}]&camposOrdenacao=[{\"nomeTabela\":\"GRUPO_EXIGENCIA\",\"nome\":\"CODIGO\",\"tipoOrdenacao\":\"DESC\"}]&nivel=1&offset=1

    Nesse caso, o TABX retorna apenas os dados da tabela GRUPO_EXIGENCIA com as siglas dos órgãos anuentes informadas, vigentes na data/hora corrente (default), mas apenas com os campos de retorno CODIGO e NOME.
    Os dados das tabelas estrangeiras são retornados, vigentes na data/hora corrente (default), mas apenas com o campo de retorno SIGLA.
    Os dados retornados são ordenados pelo campo CODIGO, tipo de ordenação DESC.
Exemplo de Inclusão de Dado na Tabela
  • Inclusão de dado com todos os campos obrigatórios informados:

    POST https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA

    Campos:
    [{\"nome\":\"CODIGO\",\"valor\":\"01\"},
    {\"nome\":\"NOME\",\"valor\":\"NOME DO GRUPO 01\"},
    {\"nome\":\"CODIGO_ORGAO_ANUENTE\",\"valor\":\"RFB\"},
    {\"nome\":\"INDICADOR_DESPACHO_IMP\",\"valor\":\"S\"},
    {\"nome\":\"INDICADOR_DESPACHO_EXP\",\"valor\":\"S\"},
    {\"nome\":\"DATA_INICIO\",\"valor\":\"2023-12-01T17:00:00.865-0300\"},
    {\"nome\":\"DATA_FIM\",\"valor\":\"2023-12-31T17:00:00.865-0300\"}]
Exemplo de Alteração de Dado da Tabela
  • Alteração somente dos campos informados do dado com código de negócio '01':

    PUT https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA/01

    Campos:
    [{\"nome\":\"NOME\",\"valor\":\"NOME ALTERADO DO GRUPO 01\"},
    {\"nome\":\"CODIGO_ORGAO_ANUENTE\",\"valor\":\"ANATEL\"}]
Exemplo de Exclusão de Dado da Tabela
  • Exclusão do dado com código de negócio '01':

    DELETE https://val.portalunico.siscomex.gov.br/tabx/api/ext/tabela/GRUPO_EXIGENCIA/01

+ * + */ +@Path("/") +@Api(value = "/", description = "") +public interface MetadadosDaTabelaApi { + + /** + * Consultar metadados da tabela. + * + * Use esta funcionalidade para consultar os metadados da tabela. + * + */ + @GET + @Path("/api/ext/tabela/{nomeTabela}/metadado") + @Produces({ "application/json" }) + @ApiOperation(value = "Consultar metadados da tabela.", notes = "Use esta funcionalidade para consultar os metadados da tabela.", tags={ "Metadados da Tabela" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "OK", response = TabelaCamposApiRepresentation.class), + @ApiResponse(code = 400, message = "Requisição mal formada", response = Error.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão para acessar o recurso solicitado", response = Error.class), + @ApiResponse(code = 404, message = "Recurso não encontrado", response = Error.class), + @ApiResponse(code = 422, message = "Erro de negócio", response = Error.class), + @ApiResponse(code = 500, message = "Erro inesperado", response = Error.class) }) + public Response consultarMetadadoUsingGET(@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 = "Nome da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50",required=true) @PathParam("nomeTabela") String nomeTabela); + + /** + * Listar tabelas. + * + * Use esta funcionalidade para listar tabelas. + * + */ + @GET + @Path("/api/ext/tabela") + @Produces({ "application/json" }) + @ApiOperation(value = "Listar tabelas.", notes = "Use esta funcionalidade para listar tabelas.", tags={ "Metadados da Tabela" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "OK", response = TabelaApiRepresentation.class), + @ApiResponse(code = 400, message = "Requisição mal formada", response = Error.class), + @ApiResponse(code = 403, message = "Usuário não tem permissão para acessar o recurso solicitado", response = Error.class), + @ApiResponse(code = 404, message = "Recurso não encontrado", response = Error.class), + @ApiResponse(code = 422, message = "Erro de negócio", response = Error.class), + @ApiResponse(code = 500, message = "Erro inesperado", response = Error.class) }) + public Response listarTabelasUsingGET(@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/tabx/model/CampoApiRepresentation.java b/src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoApiRepresentation.java new file mode 100644 index 0000000..2449a4a --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoApiRepresentation.java @@ -0,0 +1,507 @@ +package br.gov.siscomex.portalunico.tabx.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 = "CampoApiRepresentation", propOrder = + { "nome", "rotulo", "descricao", "tipo", "tamanho", "casasDecimais", "formato", "obrigatorio", "autoNumerado", "chaveNegocio", "campoEstrangeiro", "restricaoUnicidade", "possuiDominio", "nomeTabelaEstrangeira", "dominios" +}) + +@XmlRootElement(name="CampoApiRepresentation") +public class CampoApiRepresentation { + + @XmlElement(name="nome", required = true) + @ApiModelProperty(example = "INDICADOR_DESPACHO_EXP", required = true, value = "Nome do campo.
Tamanho mínimo: 1
Tamanho máximo: 40") + /** + * Nome do campo.
Tamanho mínimo: 1
Tamanho máximo: 40 + **/ + private String nome = null; + + @XmlElement(name="rotulo") + @ApiModelProperty(example = "Indicador de despacho de exportação", value = "Rótulo do campo.
Tamanho mínimo: 1
Tamanho máximo: 50") + /** + * Rótulo do campo.
Tamanho mínimo: 1
Tamanho máximo: 50 + **/ + private String rotulo = null; + + @XmlElement(name="descricao") + @ApiModelProperty(example = "Indicador de despacho de exportação", value = "Descrição do campo.
Tamanho mínimo: 1
Tamanho máximo: 100") + /** + * Descrição do campo.
Tamanho mínimo: 1
Tamanho máximo: 100 + **/ + private String descricao = null; + + +@XmlType(name="TipoEnum") +@XmlEnum(String.class) +public enum TipoEnum { + + @XmlEnumValue("INTEIRO") + @JsonProperty("INTEIRO") + INTEIRO(String.valueOf("INTEIRO")), + + @XmlEnumValue("DECIMAL") + @JsonProperty("DECIMAL") + DECIMAL(String.valueOf("DECIMAL")), + + @XmlEnumValue("STRING") + @JsonProperty("STRING") + STRING(String.valueOf("STRING")), + + @XmlEnumValue("DATA") + @JsonProperty("DATA") + DATA(String.valueOf("DATA")), + + @XmlEnumValue("DATA_HORA") + @JsonProperty("DATA_HORA") + DATA_HORA(String.valueOf("DATA_HORA")), + + @XmlEnumValue("BOOLEANO") + @JsonProperty("BOOLEANO") + BOOLEANO(String.valueOf("BOOLEANO")); + + + 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", required = true) + @ApiModelProperty(example = "STRING", required = true, value = "Tipo do campo.
Tamanho mínimo: 1
Tamanho máximo: 50") + /** + * Tipo do campo.
Tamanho mínimo: 1
Tamanho máximo: 50 + **/ + private TipoEnum tipo = null; + + @XmlElement(name="tamanho") + @ApiModelProperty(example = "1", value = "Tamanho do campo.
Valor mínimo: 1
Valor máximo: 9999") + /** + * Tamanho do campo.
Valor mínimo: 1
Valor máximo: 9999 + **/ + private Integer tamanho = null; + + @XmlElement(name="casasDecimais") + @ApiModelProperty(example = "0", value = "Casas decimais do campo.
Valor: 0 ou 1") + /** + * Casas decimais do campo.
Valor: 0 ou 1 + **/ + private Integer casasDecimais = null; + + @XmlElement(name="formato") + @ApiModelProperty(value = "Formato do campo.
Tamanho mínimo: 1
Tamanho máximo: 30") + /** + * Formato do campo.
Tamanho mínimo: 1
Tamanho máximo: 30 + **/ + private String formato = null; + + @XmlElement(name="obrigatorio", required = true) + @ApiModelProperty(example = "true", required = true, value = "Obrigatoriedade do campo.") + /** + * Obrigatoriedade do campo. + **/ + private Boolean obrigatorio = null; + + @XmlElement(name="autoNumerado", required = true) + @ApiModelProperty(example = "true", required = true, value = "Indicador de autonumerado.") + /** + * Indicador de autonumerado. + **/ + private Boolean autoNumerado = null; + + @XmlElement(name="chaveNegocio", required = true) + @ApiModelProperty(example = "false", required = true, value = "Indicador de chave de negócio.") + /** + * Indicador de chave de negócio. + **/ + private Boolean chaveNegocio = null; + + @XmlElement(name="campoEstrangeiro", required = true) + @ApiModelProperty(example = "false", required = true, value = "Indicador de campo estrangeiro.") + /** + * Indicador de campo estrangeiro. + **/ + private Boolean campoEstrangeiro = null; + + @XmlElement(name="restricaoUnicidade", required = true) + @ApiModelProperty(example = "true", required = true, value = "Indicador de restrição por unicidade.") + /** + * Indicador de restrição por unicidade. + **/ + private Boolean restricaoUnicidade = null; + + @XmlElement(name="possuiDominio", required = true) + @ApiModelProperty(example = "true", required = true, value = "Indicador de existência de domínio.") + /** + * Indicador de existência de domínio. + **/ + private Boolean possuiDominio = null; + + @XmlElement(name="nomeTabelaEstrangeira") + @ApiModelProperty(value = "Nome da tabela estrangeira.
Tamanho mínimo: 1
Tamanho máximo: 50") + /** + * Nome da tabela estrangeira.
Tamanho mínimo: 1
Tamanho máximo: 50 + **/ + private String nomeTabelaEstrangeira = null; + + @XmlElement(name="dominios") + @ApiModelProperty(value = "Domínios do campo.") + @Valid + /** + * Domínios do campo. + **/ + private List dominios = null; + /** + * Nome do campo.<br>Tamanho mínimo: 1<br>Tamanho máximo: 40 + * @return nome + **/ + @JsonProperty("nome") + @NotNull + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public CampoApiRepresentation nome(String nome) { + this.nome = nome; + return this; + } + + /** + * Rótulo do campo.<br>Tamanho mínimo: 1<br>Tamanho máximo: 50 + * @return rotulo + **/ + @JsonProperty("rotulo") + public String getRotulo() { + return rotulo; + } + + public void setRotulo(String rotulo) { + this.rotulo = rotulo; + } + + public CampoApiRepresentation rotulo(String rotulo) { + this.rotulo = rotulo; + return this; + } + + /** + * Descrição do campo.<br>Tamanho mínimo: 1<br>Tamanho máximo: 100 + * @return descricao + **/ + @JsonProperty("descricao") + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public CampoApiRepresentation descricao(String descricao) { + this.descricao = descricao; + return this; + } + + /** + * Tipo do campo.<br>Tamanho mínimo: 1<br>Tamanho máximo: 50 + * @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 CampoApiRepresentation tipo(TipoEnum tipo) { + this.tipo = tipo; + return this; + } + + /** + * Tamanho do campo.<br>Valor mínimo: 1<br>Valor máximo: 9999 + * @return tamanho + **/ + @JsonProperty("tamanho") + public Integer getTamanho() { + return tamanho; + } + + public void setTamanho(Integer tamanho) { + this.tamanho = tamanho; + } + + public CampoApiRepresentation tamanho(Integer tamanho) { + this.tamanho = tamanho; + return this; + } + + /** + * Casas decimais do campo.<br>Valor: 0 ou 1 + * @return casasDecimais + **/ + @JsonProperty("casasDecimais") + public Integer getCasasDecimais() { + return casasDecimais; + } + + public void setCasasDecimais(Integer casasDecimais) { + this.casasDecimais = casasDecimais; + } + + public CampoApiRepresentation casasDecimais(Integer casasDecimais) { + this.casasDecimais = casasDecimais; + return this; + } + + /** + * Formato do campo.<br>Tamanho mínimo: 1<br>Tamanho máximo: 30 + * @return formato + **/ + @JsonProperty("formato") + public String getFormato() { + return formato; + } + + public void setFormato(String formato) { + this.formato = formato; + } + + public CampoApiRepresentation formato(String formato) { + this.formato = formato; + return this; + } + + /** + * Obrigatoriedade do campo. + * @return obrigatorio + **/ + @JsonProperty("obrigatorio") + @NotNull + public Boolean isObrigatorio() { + return obrigatorio; + } + + public void setObrigatorio(Boolean obrigatorio) { + this.obrigatorio = obrigatorio; + } + + public CampoApiRepresentation obrigatorio(Boolean obrigatorio) { + this.obrigatorio = obrigatorio; + return this; + } + + /** + * Indicador de autonumerado. + * @return autoNumerado + **/ + @JsonProperty("autoNumerado") + @NotNull + public Boolean isAutoNumerado() { + return autoNumerado; + } + + public void setAutoNumerado(Boolean autoNumerado) { + this.autoNumerado = autoNumerado; + } + + public CampoApiRepresentation autoNumerado(Boolean autoNumerado) { + this.autoNumerado = autoNumerado; + return this; + } + + /** + * Indicador de chave de negócio. + * @return chaveNegocio + **/ + @JsonProperty("chaveNegocio") + @NotNull + public Boolean isChaveNegocio() { + return chaveNegocio; + } + + public void setChaveNegocio(Boolean chaveNegocio) { + this.chaveNegocio = chaveNegocio; + } + + public CampoApiRepresentation chaveNegocio(Boolean chaveNegocio) { + this.chaveNegocio = chaveNegocio; + return this; + } + + /** + * Indicador de campo estrangeiro. + * @return campoEstrangeiro + **/ + @JsonProperty("campoEstrangeiro") + @NotNull + public Boolean isCampoEstrangeiro() { + return campoEstrangeiro; + } + + public void setCampoEstrangeiro(Boolean campoEstrangeiro) { + this.campoEstrangeiro = campoEstrangeiro; + } + + public CampoApiRepresentation campoEstrangeiro(Boolean campoEstrangeiro) { + this.campoEstrangeiro = campoEstrangeiro; + return this; + } + + /** + * Indicador de restrição por unicidade. + * @return restricaoUnicidade + **/ + @JsonProperty("restricaoUnicidade") + @NotNull + public Boolean isRestricaoUnicidade() { + return restricaoUnicidade; + } + + public void setRestricaoUnicidade(Boolean restricaoUnicidade) { + this.restricaoUnicidade = restricaoUnicidade; + } + + public CampoApiRepresentation restricaoUnicidade(Boolean restricaoUnicidade) { + this.restricaoUnicidade = restricaoUnicidade; + return this; + } + + /** + * Indicador de existência de domínio. + * @return possuiDominio + **/ + @JsonProperty("possuiDominio") + @NotNull + public Boolean isPossuiDominio() { + return possuiDominio; + } + + public void setPossuiDominio(Boolean possuiDominio) { + this.possuiDominio = possuiDominio; + } + + public CampoApiRepresentation possuiDominio(Boolean possuiDominio) { + this.possuiDominio = possuiDominio; + return this; + } + + /** + * Nome da tabela estrangeira.<br>Tamanho mínimo: 1<br>Tamanho máximo: 50 + * @return nomeTabelaEstrangeira + **/ + @JsonProperty("nomeTabelaEstrangeira") + public String getNomeTabelaEstrangeira() { + return nomeTabelaEstrangeira; + } + + public void setNomeTabelaEstrangeira(String nomeTabelaEstrangeira) { + this.nomeTabelaEstrangeira = nomeTabelaEstrangeira; + } + + public CampoApiRepresentation nomeTabelaEstrangeira(String nomeTabelaEstrangeira) { + this.nomeTabelaEstrangeira = nomeTabelaEstrangeira; + return this; + } + + /** + * Domínios do campo. + * @return dominios + **/ + @JsonProperty("dominios") + public List getDominios() { + return dominios; + } + + public void setDominios(List dominios) { + this.dominios = dominios; + } + + public CampoApiRepresentation dominios(List dominios) { + this.dominios = dominios; + return this; + } + + public CampoApiRepresentation addDominiosItem(DominioCampoApiRepresentation dominiosItem) { + this.dominios.add(dominiosItem); + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CampoApiRepresentation {\n"); + + sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); + sb.append(" rotulo: ").append(toIndentedString(rotulo)).append("\n"); + sb.append(" descricao: ").append(toIndentedString(descricao)).append("\n"); + sb.append(" tipo: ").append(toIndentedString(tipo)).append("\n"); + sb.append(" tamanho: ").append(toIndentedString(tamanho)).append("\n"); + sb.append(" casasDecimais: ").append(toIndentedString(casasDecimais)).append("\n"); + sb.append(" formato: ").append(toIndentedString(formato)).append("\n"); + sb.append(" obrigatorio: ").append(toIndentedString(obrigatorio)).append("\n"); + sb.append(" autoNumerado: ").append(toIndentedString(autoNumerado)).append("\n"); + sb.append(" chaveNegocio: ").append(toIndentedString(chaveNegocio)).append("\n"); + sb.append(" campoEstrangeiro: ").append(toIndentedString(campoEstrangeiro)).append("\n"); + sb.append(" restricaoUnicidade: ").append(toIndentedString(restricaoUnicidade)).append("\n"); + sb.append(" possuiDominio: ").append(toIndentedString(possuiDominio)).append("\n"); + sb.append(" nomeTabelaEstrangeira: ").append(toIndentedString(nomeTabelaEstrangeira)).append("\n"); + sb.append(" dominios: ").append(toIndentedString(dominios)).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/tabx/model/CampoConsultaApiRepresentantion.java b/src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoConsultaApiRepresentantion.java new file mode 100644 index 0000000..8b3bee9 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoConsultaApiRepresentantion.java @@ -0,0 +1,119 @@ +package br.gov.siscomex.portalunico.tabx.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.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "CampoConsultaApiRepresentantion", propOrder = + { "nome", "valor", "dadosTabelaEstrangeira" +}) + +@XmlRootElement(name="CampoConsultaApiRepresentantion") +public class CampoConsultaApiRepresentantion { + + @XmlElement(name="nome", required = true) + @ApiModelProperty(example = "NOME", required = true, value = "Nome do campo.
Tamanho mínimo: 1
Tamanho máximo: 40") + /** + * Nome do campo.
Tamanho mínimo: 1
Tamanho máximo: 40 + **/ + private String nome = null; + + @XmlElement(name="valor") + @ApiModelProperty(example = "Grupo de exigência para material nacionalizado", value = "Valor atribuído ao campo.
Tamanho mínimo: 1
Tamanho máximo: definido nos metadados da tabela") + /** + * Valor atribuído ao campo.
Tamanho mínimo: 1
Tamanho máximo: definido nos metadados da tabela + **/ + private String valor = null; + + @XmlElement(name="dadosTabelaEstrangeira") + @ApiModelProperty(value = "") + @Valid + private DadosTabelaApiRepresentation dadosTabelaEstrangeira = null; + /** + * Nome do campo.<br>Tamanho mínimo: 1<br>Tamanho máximo: 40 + * @return nome + **/ + @JsonProperty("nome") + @NotNull + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public CampoConsultaApiRepresentantion nome(String nome) { + this.nome = nome; + return this; + } + + /** + * Valor atribuído ao campo.<br>Tamanho mínimo: 1<br>Tamanho máximo: definido nos metadados da tabela + * @return valor + **/ + @JsonProperty("valor") + public String getValor() { + return valor; + } + + public void setValor(String valor) { + this.valor = valor; + } + + public CampoConsultaApiRepresentantion valor(String valor) { + this.valor = valor; + return this; + } + + /** + * Get dadosTabelaEstrangeira + * @return dadosTabelaEstrangeira + **/ + @JsonProperty("dadosTabelaEstrangeira") + public DadosTabelaApiRepresentation getDadosTabelaEstrangeira() { + return dadosTabelaEstrangeira; + } + + public void setDadosTabelaEstrangeira(DadosTabelaApiRepresentation dadosTabelaEstrangeira) { + this.dadosTabelaEstrangeira = dadosTabelaEstrangeira; + } + + public CampoConsultaApiRepresentantion dadosTabelaEstrangeira(DadosTabelaApiRepresentation dadosTabelaEstrangeira) { + this.dadosTabelaEstrangeira = dadosTabelaEstrangeira; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CampoConsultaApiRepresentantion {\n"); + + sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); + sb.append(" valor: ").append(toIndentedString(valor)).append("\n"); + sb.append(" dadosTabelaEstrangeira: ").append(toIndentedString(dadosTabelaEstrangeira)).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/tabx/model/CampoInclusaoAlteracaoApiRepresentation.java b/src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoInclusaoAlteracaoApiRepresentation.java new file mode 100644 index 0000000..c2f949e --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoInclusaoAlteracaoApiRepresentation.java @@ -0,0 +1,94 @@ +package br.gov.siscomex.portalunico.tabx.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 = "CampoInclusaoAlteracaoApiRepresentation", propOrder = + { "nome", "valor" +}) + +@XmlRootElement(name="CampoInclusaoAlteracaoApiRepresentation") +public class CampoInclusaoAlteracaoApiRepresentation { + + @XmlElement(name="nome", required = true) + @ApiModelProperty(example = "NOME", required = true, value = "Nome do campo.
Tamanho mínimo: 1
Tamanho máximo: 40") + /** + * Nome do campo.
Tamanho mínimo: 1
Tamanho máximo: 40 + **/ + private String nome = null; + + @XmlElement(name="valor") + @ApiModelProperty(example = "Grupo de exigência para material nacionalizado", value = "Valor atribuído ao campo.
Tamanho mínimo: 1
Tamanho máximo: definido nos metadados da tabela") + /** + * Valor atribuído ao campo.
Tamanho mínimo: 1
Tamanho máximo: definido nos metadados da tabela + **/ + private String valor = null; + /** + * Nome do campo.<br>Tamanho mínimo: 1<br>Tamanho máximo: 40 + * @return nome + **/ + @JsonProperty("nome") + @NotNull + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public CampoInclusaoAlteracaoApiRepresentation nome(String nome) { + this.nome = nome; + return this; + } + + /** + * Valor atribuído ao campo.<br>Tamanho mínimo: 1<br>Tamanho máximo: definido nos metadados da tabela + * @return valor + **/ + @JsonProperty("valor") + public String getValor() { + return valor; + } + + public void setValor(String valor) { + this.valor = valor; + } + + public CampoInclusaoAlteracaoApiRepresentation valor(String valor) { + this.valor = valor; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CampoInclusaoAlteracaoApiRepresentation {\n"); + + sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); + sb.append(" valor: ").append(toIndentedString(valor)).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/tabx/model/CampoOrdenacaoApiRepresentation.java b/src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoOrdenacaoApiRepresentation.java new file mode 100644 index 0000000..62ac890 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoOrdenacaoApiRepresentation.java @@ -0,0 +1,165 @@ +package br.gov.siscomex.portalunico.tabx.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 = "CampoOrdenacaoApiRepresentation", propOrder = + { "nomeTabela", "nome", "tipoOrdenacao" +}) + +@XmlRootElement(name="CampoOrdenacaoApiRepresentation") +public class CampoOrdenacaoApiRepresentation { + + @XmlElement(name="nomeTabela", required = true) + @ApiModelProperty(example = "GRUPO_EXIGENCIA", required = true, value = "Nome da tabela.") + /** + * Nome da tabela. + **/ + private String nomeTabela = null; + + @XmlElement(name="nome", required = true) + @ApiModelProperty(example = "CODIGO", required = true, value = "Nome do campo.") + /** + * Nome do campo. + **/ + private String nome = null; + + +@XmlType(name="TipoOrdenacaoEnum") +@XmlEnum(String.class) +public enum TipoOrdenacaoEnum { + + @XmlEnumValue("ASC") + @JsonProperty("ASC") + ASC(String.valueOf("ASC")), + + @XmlEnumValue("DESC") + @JsonProperty("DESC") + DESC(String.valueOf("DESC")); + + + private String value; + + TipoOrdenacaoEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoOrdenacaoEnum fromValue(String v) { + for (TipoOrdenacaoEnum b : TipoOrdenacaoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoOrdenacaoEnum"); + } +} + + @XmlElement(name="tipoOrdenacao") + @ApiModelProperty(example = "DESC", value = "Tipo de ordenação.
Domínio:") + /** + * Tipo de ordenação.
Domínio: + **/ + private TipoOrdenacaoEnum tipoOrdenacao = null; + /** + * Nome da tabela. + * @return nomeTabela + **/ + @JsonProperty("nomeTabela") + @NotNull + public String getNomeTabela() { + return nomeTabela; + } + + public void setNomeTabela(String nomeTabela) { + this.nomeTabela = nomeTabela; + } + + public CampoOrdenacaoApiRepresentation nomeTabela(String nomeTabela) { + this.nomeTabela = nomeTabela; + return this; + } + + /** + * Nome do campo. + * @return nome + **/ + @JsonProperty("nome") + @NotNull + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public CampoOrdenacaoApiRepresentation nome(String nome) { + this.nome = nome; + return this; + } + + /** + * Tipo de ordenação.<br>Domínio: + * @return tipoOrdenacao + **/ + @JsonProperty("tipoOrdenacao") + public String getTipoOrdenacao() { + if (tipoOrdenacao == null) { + return null; + } + return tipoOrdenacao.value(); + } + + public void setTipoOrdenacao(TipoOrdenacaoEnum tipoOrdenacao) { + this.tipoOrdenacao = tipoOrdenacao; + } + + public CampoOrdenacaoApiRepresentation tipoOrdenacao(TipoOrdenacaoEnum tipoOrdenacao) { + this.tipoOrdenacao = tipoOrdenacao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CampoOrdenacaoApiRepresentation {\n"); + + sb.append(" nomeTabela: ").append(toIndentedString(nomeTabela)).append("\n"); + sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); + sb.append(" tipoOrdenacao: ").append(toIndentedString(tipoOrdenacao)).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/tabx/model/CampoRetornoApiRepresentation.java b/src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoRetornoApiRepresentation.java new file mode 100644 index 0000000..5c03bc0 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/model/CampoRetornoApiRepresentation.java @@ -0,0 +1,95 @@ +package br.gov.siscomex.portalunico.tabx.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 = "CampoRetornoApiRepresentation", propOrder = + { "nomeTabela", "nome" +}) + +@XmlRootElement(name="CampoRetornoApiRepresentation") +public class CampoRetornoApiRepresentation { + + @XmlElement(name="nomeTabela", required = true) + @ApiModelProperty(example = "GRUPO_EXIGENCIA", required = true, value = "Nome da tabela.") + /** + * Nome da tabela. + **/ + private String nomeTabela = null; + + @XmlElement(name="nome", required = true) + @ApiModelProperty(example = "DESCRICAO", required = true, value = "Nome do campo.") + /** + * Nome do campo. + **/ + private String nome = null; + /** + * Nome da tabela. + * @return nomeTabela + **/ + @JsonProperty("nomeTabela") + @NotNull + public String getNomeTabela() { + return nomeTabela; + } + + public void setNomeTabela(String nomeTabela) { + this.nomeTabela = nomeTabela; + } + + public CampoRetornoApiRepresentation nomeTabela(String nomeTabela) { + this.nomeTabela = nomeTabela; + return this; + } + + /** + * Nome do campo. + * @return nome + **/ + @JsonProperty("nome") + @NotNull + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public CampoRetornoApiRepresentation nome(String nome) { + this.nome = nome; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CampoRetornoApiRepresentation {\n"); + + sb.append(" nomeTabela: ").append(toIndentedString(nomeTabela)).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/tabx/model/DadoTabelaApiRepresentation.java b/src/main/java/br/gov/siscomex/portalunico/tabx/model/DadoTabelaApiRepresentation.java new file mode 100644 index 0000000..4d27b43 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/model/DadoTabelaApiRepresentation.java @@ -0,0 +1,74 @@ +package br.gov.siscomex.portalunico.tabx.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 = "DadoTabelaApiRepresentation", propOrder = + { "campos" +}) + +@XmlRootElement(name="DadoTabelaApiRepresentation") +public class DadoTabelaApiRepresentation { + + @XmlElement(name="campos") + @ApiModelProperty(value = "Campos da tabela.") + @Valid + /** + * Campos da tabela. + **/ + private List campos = null; + /** + * Campos da tabela. + * @return campos + **/ + @JsonProperty("campos") + public List getCampos() { + return campos; + } + + public void setCampos(List campos) { + this.campos = campos; + } + + public DadoTabelaApiRepresentation campos(List campos) { + this.campos = campos; + return this; + } + + public DadoTabelaApiRepresentation addCamposItem(CampoConsultaApiRepresentantion camposItem) { + this.campos.add(camposItem); + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadoTabelaApiRepresentation {\n"); + + sb.append(" campos: ").append(toIndentedString(campos)).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/tabx/model/DadosTabelaApiRepresentation.java b/src/main/java/br/gov/siscomex/portalunico/tabx/model/DadosTabelaApiRepresentation.java new file mode 100644 index 0000000..5046e6b --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/model/DadosTabelaApiRepresentation.java @@ -0,0 +1,102 @@ +package br.gov.siscomex.portalunico.tabx.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.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "DadosTabelaApiRepresentation", propOrder = + { "nomeTabela", "dados" +}) + +@XmlRootElement(name="DadosTabelaApiRepresentation") +public class DadosTabelaApiRepresentation { + + @XmlElement(name="nomeTabela", required = true) + @ApiModelProperty(example = "GRUPO_EXIGENCIA", required = true, value = "Nome da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50") + /** + * Nome da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50 + **/ + private String nomeTabela = null; + + @XmlElement(name="dados") + @ApiModelProperty(value = "Dados da tabela.") + @Valid + /** + * Dados da tabela. + **/ + private List dados = null; + /** + * Nome da tabela.<br>Tamanho mínimo: 1<br>Tamanho máximo: 50 + * @return nomeTabela + **/ + @JsonProperty("nomeTabela") + @NotNull + public String getNomeTabela() { + return nomeTabela; + } + + public void setNomeTabela(String nomeTabela) { + this.nomeTabela = nomeTabela; + } + + public DadosTabelaApiRepresentation nomeTabela(String nomeTabela) { + this.nomeTabela = nomeTabela; + return this; + } + + /** + * Dados da tabela. + * @return dados + **/ + @JsonProperty("dados") + public List getDados() { + return dados; + } + + public void setDados(List dados) { + this.dados = dados; + } + + public DadosTabelaApiRepresentation dados(List dados) { + this.dados = dados; + return this; + } + + public DadosTabelaApiRepresentation addDadosItem(DadoTabelaApiRepresentation dadosItem) { + this.dados.add(dadosItem); + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DadosTabelaApiRepresentation {\n"); + + sb.append(" nomeTabela: ").append(toIndentedString(nomeTabela)).append("\n"); + sb.append(" dados: ").append(toIndentedString(dados)).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/tabx/model/DominioCampoApiRepresentation.java b/src/main/java/br/gov/siscomex/portalunico/tabx/model/DominioCampoApiRepresentation.java new file mode 100644 index 0000000..950bcd2 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/model/DominioCampoApiRepresentation.java @@ -0,0 +1,95 @@ +package br.gov.siscomex.portalunico.tabx.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 = "DominioCampoApiRepresentation", propOrder = + { "codigo", "descricao" +}) + +@XmlRootElement(name="DominioCampoApiRepresentation") +public class DominioCampoApiRepresentation { + + @XmlElement(name="codigo", required = true) + @ApiModelProperty(example = "S", required = true, value = "Código do domínio do campo.
Tamanho mínimo: 1
Tamanho máximo: 3") + /** + * Código do domínio do campo.
Tamanho mínimo: 1
Tamanho máximo: 3 + **/ + private String codigo = null; + + @XmlElement(name="descricao", required = true) + @ApiModelProperty(example = "Sim", required = true, value = "Descrição do domínio do campo.
Tamanho mínimo: 1
Tamanho máximo: 100") + /** + * Descrição do domínio do campo.
Tamanho mínimo: 1
Tamanho máximo: 100 + **/ + private String descricao = null; + /** + * Código do domínio do campo.<br>Tamanho mínimo: 1<br>Tamanho máximo: 3 + * @return codigo + **/ + @JsonProperty("codigo") + @NotNull + public String getCodigo() { + return codigo; + } + + public void setCodigo(String codigo) { + this.codigo = codigo; + } + + public DominioCampoApiRepresentation codigo(String codigo) { + this.codigo = codigo; + return this; + } + + /** + * Descrição do domínio do campo.<br>Tamanho mínimo: 1<br>Tamanho máximo: 100 + * @return descricao + **/ + @JsonProperty("descricao") + @NotNull + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public DominioCampoApiRepresentation descricao(String descricao) { + this.descricao = descricao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DominioCampoApiRepresentation {\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/tabx/model/Error.java b/src/main/java/br/gov/siscomex/portalunico/tabx/model/Error.java new file mode 100644 index 0000000..43da820 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/model/Error.java @@ -0,0 +1,124 @@ +package br.gov.siscomex.portalunico.tabx.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; +import java.time.OffsetDateTime; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "Error", propOrder = + { "timestamp", "message", "path" +}) + +@XmlRootElement(name="Error") +/** + * Representação de Erros + **/ +@ApiModel(description="Representação de Erros") +public class Error { + + @XmlElement(name="timestamp") + @ApiModelProperty(value = "Data e hora em que ocorreu o problema (no formato ISO 8601)") + /** + * Data e hora em que ocorreu o problema (no formato ISO 8601) + **/ + private OffsetDateTime timestamp = null; + + @XmlElement(name="message") + @ApiModelProperty(example = "mensagen de erro", value = "Mensagem de erro") + /** + * Mensagem de erro + **/ + private String message = null; + + @XmlElement(name="path") + @ApiModelProperty(example = "caminho do erro", value = "Caminho do recurso com erro") + /** + * Caminho do recurso com erro + **/ + private String path = null; + /** + * Data e hora em que ocorreu o problema (<em>no formato ISO 8601</em>) + * @return timestamp + **/ + @JsonProperty("timestamp") + public OffsetDateTime getTimestamp() { + return timestamp; + } + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + public Error timestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + return this; + } + + /** + * Mensagem de erro + * @return message + **/ + @JsonProperty("message") + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Error message(String message) { + this.message = message; + return this; + } + + /** + * Caminho do recurso com erro + * @return path + **/ + @JsonProperty("path") + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public Error path(String path) { + this.path = path; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Error {\n"); + + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).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/tabx/model/FiltroCampoApiRepresentation.java b/src/main/java/br/gov/siscomex/portalunico/tabx/model/FiltroCampoApiRepresentation.java new file mode 100644 index 0000000..4ce816e --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/model/FiltroCampoApiRepresentation.java @@ -0,0 +1,129 @@ +package br.gov.siscomex.portalunico.tabx.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; +import java.util.ArrayList; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "FiltroCampoApiRepresentation", propOrder = + { "nomeTabela", "nome", "valores" +}) + +@XmlRootElement(name="FiltroCampoApiRepresentation") +public class FiltroCampoApiRepresentation { + + @XmlElement(name="nomeTabela", required = true) + @ApiModelProperty(example = "GRUPO_EXIGENCIA", required = true, value = "Nome da tabela.") + /** + * Nome da tabela. + **/ + private String nomeTabela = null; + + @XmlElement(name="nome", required = true) + @ApiModelProperty(example = "CODIGO", required = true, value = "Nome do campo.") + /** + * Nome do campo. + **/ + private String nome = null; + + @XmlElement(name="valores", required = true) + @ApiModelProperty(example = "[\"01\",\"02\"]", required = true, value = "Valores atribuído ao filtro.") + /** + * Valores atribuído ao filtro. + **/ + private List valores = new ArrayList<>(); + /** + * Nome da tabela. + * @return nomeTabela + **/ + @JsonProperty("nomeTabela") + @NotNull + public String getNomeTabela() { + return nomeTabela; + } + + public void setNomeTabela(String nomeTabela) { + this.nomeTabela = nomeTabela; + } + + public FiltroCampoApiRepresentation nomeTabela(String nomeTabela) { + this.nomeTabela = nomeTabela; + return this; + } + + /** + * Nome do campo. + * @return nome + **/ + @JsonProperty("nome") + @NotNull + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public FiltroCampoApiRepresentation nome(String nome) { + this.nome = nome; + return this; + } + + /** + * Valores atribuído ao filtro. + * @return valores + **/ + @JsonProperty("valores") + @NotNull + public List getValores() { + return valores; + } + + public void setValores(List valores) { + this.valores = valores; + } + + public FiltroCampoApiRepresentation valores(List valores) { + this.valores = valores; + return this; + } + + public FiltroCampoApiRepresentation addValoresItem(String valoresItem) { + this.valores.add(valoresItem); + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FiltroCampoApiRepresentation {\n"); + + sb.append(" nomeTabela: ").append(toIndentedString(nomeTabela)).append("\n"); + sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); + sb.append(" valores: ").append(toIndentedString(valores)).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/tabx/model/TabelaApiRepresentation.java b/src/main/java/br/gov/siscomex/portalunico/tabx/model/TabelaApiRepresentation.java new file mode 100644 index 0000000..5d41784 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/model/TabelaApiRepresentation.java @@ -0,0 +1,120 @@ +package br.gov.siscomex.portalunico.tabx.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 = "TabelaApiRepresentation", propOrder = + { "nome", "rotulo", "descricao" +}) + +@XmlRootElement(name="TabelaApiRepresentation") +public class TabelaApiRepresentation { + + @XmlElement(name="nome", required = true) + @ApiModelProperty(example = "GRUPO_EXIGENCIA", required = true, value = "Nome da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50") + /** + * Nome da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50 + **/ + private String nome = null; + + @XmlElement(name="rotulo") + @ApiModelProperty(example = "Grupo de Exigência", value = "Rótulo da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50") + /** + * Rótulo da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50 + **/ + private String rotulo = null; + + @XmlElement(name="descricao") + @ApiModelProperty(example = "Tabela de Grupo de Exigência", value = "Descrição da tabela.
Tamanho mínimo: 1
Tamanho máximo: 1000") + /** + * Descrição da tabela.
Tamanho mínimo: 1
Tamanho máximo: 1000 + **/ + private String descricao = null; + /** + * Nome da tabela.<br>Tamanho mínimo: 1<br>Tamanho máximo: 50 + * @return nome + **/ + @JsonProperty("nome") + @NotNull + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public TabelaApiRepresentation nome(String nome) { + this.nome = nome; + return this; + } + + /** + * Rótulo da tabela.<br>Tamanho mínimo: 1<br>Tamanho máximo: 50 + * @return rotulo + **/ + @JsonProperty("rotulo") + public String getRotulo() { + return rotulo; + } + + public void setRotulo(String rotulo) { + this.rotulo = rotulo; + } + + public TabelaApiRepresentation rotulo(String rotulo) { + this.rotulo = rotulo; + return this; + } + + /** + * Descrição da tabela.<br>Tamanho mínimo: 1<br>Tamanho máximo: 1000 + * @return descricao + **/ + @JsonProperty("descricao") + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public TabelaApiRepresentation descricao(String descricao) { + this.descricao = descricao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TabelaApiRepresentation {\n"); + + sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); + sb.append(" rotulo: ").append(toIndentedString(rotulo)).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/tabx/model/TabelaCamposApiRepresentation.java b/src/main/java/br/gov/siscomex/portalunico/tabx/model/TabelaCamposApiRepresentation.java new file mode 100644 index 0000000..47b11f5 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/tabx/model/TabelaCamposApiRepresentation.java @@ -0,0 +1,154 @@ +package br.gov.siscomex.portalunico.tabx.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.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "TabelaCamposApiRepresentation", propOrder = + { "nome", "rotulo", "descricao", "campos" +}) + +@XmlRootElement(name="TabelaCamposApiRepresentation") +public class TabelaCamposApiRepresentation { + + @XmlElement(name="nome", required = true) + @ApiModelProperty(example = "GRUPO_EXIGENCIA", required = true, value = "Nome da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50") + /** + * Nome da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50 + **/ + private String nome = null; + + @XmlElement(name="rotulo") + @ApiModelProperty(example = "Grupo de Exigência", value = "Rótulo da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50") + /** + * Rótulo da tabela.
Tamanho mínimo: 1
Tamanho máximo: 50 + **/ + private String rotulo = null; + + @XmlElement(name="descricao") + @ApiModelProperty(example = "Tabela de Grupo de Exigência", value = "Descrição da tabela.
Tamanho mínimo: 1
Tamanho máximo: 1000") + /** + * Descrição da tabela.
Tamanho mínimo: 1
Tamanho máximo: 1000 + **/ + private String descricao = null; + + @XmlElement(name="campos") + @ApiModelProperty(value = "Campos da tabela.") + @Valid + /** + * Campos da tabela. + **/ + private List campos = null; + /** + * Nome da tabela.<br>Tamanho mínimo: 1<br>Tamanho máximo: 50 + * @return nome + **/ + @JsonProperty("nome") + @NotNull + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public TabelaCamposApiRepresentation nome(String nome) { + this.nome = nome; + return this; + } + + /** + * Rótulo da tabela.<br>Tamanho mínimo: 1<br>Tamanho máximo: 50 + * @return rotulo + **/ + @JsonProperty("rotulo") + public String getRotulo() { + return rotulo; + } + + public void setRotulo(String rotulo) { + this.rotulo = rotulo; + } + + public TabelaCamposApiRepresentation rotulo(String rotulo) { + this.rotulo = rotulo; + return this; + } + + /** + * Descrição da tabela.<br>Tamanho mínimo: 1<br>Tamanho máximo: 1000 + * @return descricao + **/ + @JsonProperty("descricao") + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public TabelaCamposApiRepresentation descricao(String descricao) { + this.descricao = descricao; + return this; + } + + /** + * Campos da tabela. + * @return campos + **/ + @JsonProperty("campos") + public List getCampos() { + return campos; + } + + public void setCampos(List campos) { + this.campos = campos; + } + + public TabelaCamposApiRepresentation campos(List campos) { + this.campos = campos; + return this; + } + + public TabelaCamposApiRepresentation addCamposItem(CampoApiRepresentation camposItem) { + this.campos.add(camposItem); + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TabelaCamposApiRepresentation {\n"); + + sb.append(" nome: ").append(toIndentedString(nome)).append("\n"); + sb.append(" rotulo: ").append(toIndentedString(rotulo)).append("\n"); + sb.append(" descricao: ").append(toIndentedString(descricao)).append("\n"); + sb.append(" campos: ").append(toIndentedString(campos)).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/talpco/api/AgrupamentoDeLpcOsComLiVinculadaApi.java b/src/main/java/br/gov/siscomex/portalunico/talpco/api/AgrupamentoDeLpcOsComLiVinculadaApi.java index c4abc3c..01f527a 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/api/AgrupamentoDeLpcOsComLiVinculadaApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/api/AgrupamentoDeLpcOsComLiVinculadaApi.java @@ -28,7 +28,7 @@ */ @Path("/") @Api(value = "/", description = "") -public interface AgrupamentoDeLpcOsComLiVinculadaApi { +public interface AgrupamentoDeLpcosComLiVinculadaApi { /** * Altera os LPCOs que fazer parte de um agrupamento. @@ -39,7 +39,7 @@ public interface AgrupamentoDeLpcOsComLiVinculadaApi { @Consumes({ "application/json" }) @Produces({ "application/json" }) @ApiOperation(value = "Altera os LPCOs que fazer parte de um agrupamento.", notes = "", tags={ "Agrupamento de LPCOs com LI vinculada" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = AgrupamentoLpco.class), @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nemhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), @@ -84,6 +84,6 @@ public interface AgrupamentoDeLpcOsComLiVinculadaApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response getDadosAgrupamento(@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 = "Número de um LPCO que faz parte do agrupamento.
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 = Número sequencial do LPCO no ano") @QueryParam("numeroLpco") String numeroLpco, @ApiParam(value = "Chave de identificação do agrupamento.
Tamanho: 32
Formato: caracteres hexadecimais") @QueryParam("chaveAgrupamento") String chaveAgrupamento); + public Response getDadosAgrupamento1(@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 = "Número de um LPCO que faz parte do agrupamento.
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 = Número sequencial do LPCO no ano") @QueryParam("numeroLpco") String numeroLpco, @ApiParam(value = "Chave de identificação do agrupamento.
Tamanho: 32
Formato: caracteres hexadecimais") @QueryParam("chaveAgrupamento") String chaveAgrupamento); } diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/api/CadastroEdioEConsultasDeLpcOsApi.java b/src/main/java/br/gov/siscomex/portalunico/talpco/api/CadastroEdioEConsultasDeLpcOsApi.java index a5a575e..fe4c719 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/api/CadastroEdioEConsultasDeLpcOsApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/api/CadastroEdioEConsultasDeLpcOsApi.java @@ -6,6 +6,7 @@ import br.gov.siscomex.portalunico.talpco.model.ItemHistoricoLpcoResponse; import br.gov.siscomex.portalunico.talpco.model.LpcoDetalhado; import br.gov.siscomex.portalunico.talpco.model.MensagemLpcoRequest; +import br.gov.siscomex.portalunico.talpco.model.NovaTentativaPagamentoExternalDTO; import br.gov.siscomex.portalunico.talpco.model.PagamentoTaxa; import br.gov.siscomex.portalunico.talpco.model.PresencaCarga; import br.gov.siscomex.portalunico.talpco.model.RetificacaoLpcoRequest; @@ -37,7 +38,7 @@ */ @Path("/") @Api(value = "/", description = "") -public interface CadastroEdioEConsultasDeLpcOsApi { +public interface CadastroEdioEConsultasDeLpcosApi { /** * Alterar um pedido de LPCO. @@ -48,7 +49,7 @@ public interface CadastroEdioEConsultasDeLpcOsApi { @Consumes({ "application/json" }) @Produces({ "application/json" }) @ApiOperation(value = "Alterar um pedido de LPCO.", notes = "", tags={ "Cadastro, edição e consultas de LPCOs" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = LpcoDetalhado.class), @ApiResponse(code = 400, message = "Requisição mal formatada"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), @@ -74,7 +75,7 @@ public interface CadastroEdioEConsultasDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response consultar( @NotNull @ApiParam(value = "Tipo de operação do LPCO.
Tamanho máximo: 20
Domínio:
EXPORTACAO
IMPORTACAO",required=true) @QueryParam("tipo-operacao") String tipoOperacao, @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 = "Índice do primeiro elemento.", defaultValue="0") @DefaultValue("0") @QueryParam("offset") Integer offset, @ApiParam(value = "Número de um LPCO específico.
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 = Número sequencial do LPCO no ano") @QueryParam("numero") String numero, @ApiParam(value = "Código da situação em que o LPCO se encontra.
Tamanho mínimo: 1
Tamanho máximo:40
Domínio:
PARA_ANALISE
EM_ANALISE
INDEFERIDO
EM_EXIGENCIA
RESPOSTA_EXIGENCIA
CANCELADO
DEFERIDO
VENCIDO
ANULADO_REVOGADO
EM_VERIFICACAO
EM_INSPECAO
AGUARDANDO_PAGAMENTO
AUTORIZACAO_IMPORTACAO_EMITIDA
PARAMETRIZADO
CONFERENCIA_DOCUMENTAL
INSPECAO_FISICA
RECURSO_INDEFERIMENTO") @QueryParam("situacao") String situacao, @ApiParam(value = "Código da situação da solicitação de prorrogação atual do LPCO, se houver.
Tamanho máximo: 40
Domínio:
PARA_ANALISE
DEFERIDO
INDEFERIDO") @QueryParam("situacaoProrrogacao") String situacaoProrrogacao, @ApiParam(value = "Código da situação da solicitação de retificação atual do LPCO, se houver.
Tamanho máximo: 40
Domínio:
PARA_ANALISE
DEFERIDO
INDEFERIDO") @QueryParam("situacaoRetificacao") String situacaoRetificacao, @ApiParam(value = "Código do modelo de formulário do LPCO.
Tamanho: 6
Formato: ONNNNN
Lei de formação: O número do modelo de LPCO é composto por:
* O = Operação (E para exportação, I para importação)
* NNNNN = Número sequencial do LPCO no ano") @QueryParam("codigo-modelo") String codigoModelo, @ApiParam(value = "Sigla do órgão anuente do LPCO.
Tamanho mínimo: 1
Tamanho máximo: 30") @QueryParam("orgao-anuente") String orgaoAnuente, @ApiParam(value = "Número do CPF ou CNPJ do Importador ou Exportador no LPCO.
Tamanho: 11 (CPF) ou 14 (CNPJ)
Formato: NNNNNNNNNNN (CPF) ou NNNNNNNNNNNNNN (CNPJ)") @QueryParam("importador-exportador") String importadorExportador, @ApiParam(value = "Data inicial de filtro sobre a data o registro do pedido de LPCO, no formato ISO, com precisão de dias.
Formato: yyyy-MM-dd") @QueryParam("data-inicial-registro") String dataInicialRegistro, @ApiParam(value = "Data final de filtro sobre a data o registro do pedido de LPCO, no formato ISO, com precisão de dias.
Formato: yyyy-MM-dd") @QueryParam("data-final-registro") String dataFinalRegistro, @ApiParam(value = "Código ISO (duas letras) do país de destino (se houver).
Tamanho: 2") @QueryParam("pais-destino") String paisDestino, @ApiParam(value = "Código ISO (duas letras) do país do importador (se houver).
Tamanho: 2") @QueryParam("pais-importador") String paisImportador, @ApiParam(value = "Código da DU-E / DUIMP à qual o LPCO está vinculado.
Tamanho: 14 (DUE) ou 15 (DUIMP)") @QueryParam("due") String due, @ApiParam(value = "Número inicial do filtro sobre NCM contida no LPCO.
Tamanho: 8
Formato: NNNNNNNN") @QueryParam("ncm-inicial") String ncmInicial, @ApiParam(value = "Número final do filtro sobre NCM contida no LPCO.
Tamanho: 8
Formato: NNNNNNNN") @QueryParam("ncm-final") String ncmFinal, @ApiParam(value = "Filtra os LPCOs com carga em despacho.") @QueryParam("carga-despacho") Boolean cargaDespacho, @ApiParam(value = "Número do documento LPCO em seu órgão anuente, se houver.
Tamanho mínimo: 1
Tamanho máximo: 30") @QueryParam("numero-documento-orgao") String numeroDocumentoOrgao, @ApiParam(value = "Filtra apenas os LPCOs vinculados a alguma DU-E, no caso da exportação.") @QueryParam("operacao-vinculada") Boolean operacaoVinculada, @ApiParam(value = "Número da LI a qual o LPCO está vinculado, se for o caso.
Tamanho: 11
Formato: AANNNNNNNV (apenas dígitos, sem os caracteres separadores)
Lei de formação: O número da LI é composto por:
* AA = Ano do registro da LI
* NNNNNNN = Número sequencial da LI no ano* V = Dígito verificador") @QueryParam("numero-li") String numeroLi, @ApiParam(value = "Número do conhecimento de carga do LPCO, se houver. Disponível apenas em LPCOs com LI vinculada.
Tamanho máximo: 20") @QueryParam("numero-conhecimento") String numeroConhecimento, @ApiParam(value = "Filtra os LPCOs que já têm data de embarque informada (true) ou que ainda não têm data de embarque informada (false). Utilizado apenas para LPCOs com LI vinculada).") @QueryParam("carga-embarcada") Boolean cargaEmbarcada, @ApiParam(value = "Filtra os LPCOs que já têm data de presença de carga informada (true) ou que ainda não têm data de presença de carga informada (false). Utilizado apenas para LPCOs com LI vinculada).") @QueryParam("presenca-carga") Boolean presencaCarga, @ApiParam(value = "Canal do LPCO (apenas para LPCOs com LI vinculada).
Tamanho máximo: 20
Domínio:
VERDE
AMARELO
VERMELHO") @QueryParam("canal") String canal); + public Response consultar3( @NotNull @ApiParam(value = "Tipo de operação do LPCO.
Tamanho máximo: 20
Domínio:
EXPORTACAO
IMPORTACAO",required=true) @QueryParam("tipo-operacao") String tipoOperacao, @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 = "Índice do primeiro elemento.", defaultValue="0") @DefaultValue("0") @QueryParam("offset") Integer offset, @ApiParam(value = "Número de um LPCO específico.
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 = Número sequencial do LPCO no ano") @QueryParam("numero") String numero, @ApiParam(value = "Código da situação em que o LPCO se encontra.
Tamanho mínimo: 1
Tamanho máximo:40
Domínio:
PARA_ANALISE
EM_ANALISE
INDEFERIDO
EM_EXIGENCIA
RESPOSTA_EXIGENCIA
CANCELADO
DEFERIDO
VENCIDO
ANULADO_REVOGADO
EM_VERIFICACAO
EM_INSPECAO
AGUARDANDO_PAGAMENTO
AUTORIZACAO_IMPORTACAO_EMITIDA
PARAMETRIZADO
CONFERENCIA_DOCUMENTAL
INSPECAO_FISICA
RECURSO_INDEFERIMENTO
RECURSO_DIVERSO
") @QueryParam("situacao") String situacao, @ApiParam(value = "Código da situação da solicitação de prorrogação atual do LPCO, se houver.
Tamanho máximo: 40
Domínio:
PARA_ANALISE
AGUARDANDO_PAGAMENTO
DEFERIDO
INDEFERIDO") @QueryParam("situacaoProrrogacao") String situacaoProrrogacao, @ApiParam(value = "Código da situação da solicitação de retificação atual do LPCO, se houver.
Tamanho máximo: 40
Domínio:
PARA_ANALISE
AGUARDANDO_PAGAMENTO
DEFERIDO
INDEFERIDO") @QueryParam("situacaoRetificacao") String situacaoRetificacao, @ApiParam(value = "Código da situação da solicitação de compatibilização atual do LPCO, se houver.
Tamanho máximo: 40
Domínio:
PARA_ANALISE
AGUARDANDO_PAGAMENTO
DEFERIDO
INDEFERIDO") @QueryParam("situacaoCompatibilizacao") String situacaoCompatibilizacao, @ApiParam(value = "Código do modelo de formulário do LPCO.
Tamanho: 6
Formato: ONNNNN
Lei de formação: O número do modelo de LPCO é composto por:
* O = Operação (E para exportação, I para importação)
* NNNNN = Número sequencial do LPCO no ano") @QueryParam("codigo-modelo") String codigoModelo, @ApiParam(value = "Sigla do órgão anuente do LPCO.
Tamanho mínimo: 1
Tamanho máximo: 30") @QueryParam("orgao-anuente") String orgaoAnuente, @ApiParam(value = "Número do CPF ou CNPJ do Importador ou Exportador no LPCO.
Tamanho: 11 (CPF) ou 14 (CNPJ)
Formato: NNNNNNNNNNN (CPF) ou NNNNNNNNNNNNNN (CNPJ)") @QueryParam("importador-exportador") String importadorExportador, @ApiParam(value = "Data inicial de filtro sobre a data o registro do pedido de LPCO, no formato ISO, com precisão de dias.
Formato: yyyy-MM-dd") @QueryParam("data-inicial-registro") String dataInicialRegistro, @ApiParam(value = "Data final de filtro sobre a data o registro do pedido de LPCO, no formato ISO, com precisão de dias.
Formato: yyyy-MM-dd") @QueryParam("data-final-registro") String dataFinalRegistro, @ApiParam(value = "Código ISO (duas letras) do país de destino (se houver).
Tamanho: 2") @QueryParam("pais-destino") String paisDestino, @ApiParam(value = "Código ISO (duas letras) do país do importador (se houver).
Tamanho: 2") @QueryParam("pais-importador") String paisImportador, @ApiParam(value = "Código da DU-E / DUIMP à qual o LPCO está vinculado.
Tamanho: 14 (DUE) ou 15 (DUIMP)") @QueryParam("due") String due, @ApiParam(value = "Número inicial do filtro sobre NCM contida no LPCO.
Tamanho: 8
Formato: NNNNNNNN") @QueryParam("ncm-inicial") String ncmInicial, @ApiParam(value = "Número final do filtro sobre NCM contida no LPCO.
Tamanho: 8
Formato: NNNNNNNN") @QueryParam("ncm-final") String ncmFinal, @ApiParam(value = "Filtra os LPCOs com carga em despacho.") @QueryParam("carga-despacho") Boolean cargaDespacho, @ApiParam(value = "Número do documento LPCO em seu órgão anuente, se houver.
Tamanho mínimo: 1
Tamanho máximo: 30") @QueryParam("numero-documento-orgao") String numeroDocumentoOrgao, @ApiParam(value = "Filtra apenas os LPCOs vinculados a alguma DU-E, no caso da exportação.") @QueryParam("operacao-vinculada") Boolean operacaoVinculada, @ApiParam(value = "Número da LI a qual o LPCO está vinculado, se for o caso.
Tamanho: 11
Formato: AANNNNNNNV (apenas dígitos, sem os caracteres separadores)
Lei de formação: O número da LI é composto por:
* AA = Ano do registro da LI
* NNNNNNN = Número sequencial da LI no ano* V = Dígito verificador") @QueryParam("numero-li") String numeroLi, @ApiParam(value = "Número do conhecimento de carga do LPCO, se houver. Disponível apenas em LPCOs com LI vinculada.
Tamanho máximo: 20") @QueryParam("numero-conhecimento") String numeroConhecimento, @ApiParam(value = "Filtra os LPCOs que já têm data de embarque informada (true) ou que ainda não têm data de embarque informada (false). Utilizado apenas para LPCOs com LI vinculada).") @QueryParam("carga-embarcada") Boolean cargaEmbarcada, @ApiParam(value = "Filtra os LPCOs que já têm data de presença de carga informada (true) ou que ainda não têm data de presença de carga informada (false). Utilizado apenas para LPCOs com LI vinculada).") @QueryParam("presenca-carga") Boolean presencaCarga, @ApiParam(value = "Canal do LPCO (apenas para LPCOs com LI vinculada).
Tamanho máximo: 20
Domínio:
VERDE
AMARELO
VERMELHO") @QueryParam("canal") String canal); /** * Consultar Histórico de LPCO. @@ -163,6 +164,24 @@ public interface CadastroEdioEConsultasDeLpcOsApi { @ApiResponse(code = 500, message = "Erro interno no servidor") }) public Response inserirMensagem(@ApiParam(value = "Conteúdo da mensagem." ,required=true)@Valid MensagemLpcoRequest body, @ApiParam(value = "Número do LPCO onde será escrita a mensagem.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numero") String numero, @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); + /** + * Informar nova tentativa de pagamento de taxa. + * + */ + @POST + @Path("/ext/lpco/{numeroLpco}/nova-tentativa-pagamento") + @Consumes({ "application/json" }) + @ApiOperation(value = "Informar nova tentativa de pagamento de taxa.", notes = "", tags={ "Cadastro, edição e consultas de LPCOs" }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Operação realizada com sucesso"), + @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nemhum conteúdo retornado"), + @ApiResponse(code = 400, message = "Requisição mal formatada"), + @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 = 422, message = "Erro(s) de validação da camada de negócio"), + @ApiResponse(code = 500, message = "Erro interno no servidor") }) + public Response novaTentativaPagamento1(@ApiParam(value = "Indicador de pagamento da taxa." ,required=true)@Valid NovaTentativaPagamentoExternalDTO body, @ApiParam(value = "Número do 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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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); + /** * Detalhar um pedido de LPCO. * @@ -214,7 +233,7 @@ public interface CadastroEdioEConsultasDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response registrarEmbarqueCarga(@ApiParam(value = "Dados do embarque." ,required=true)@Valid EmbarqueCarga body, @ApiParam(value = "Número do 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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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); + public Response registrarEmbarqueCarga1(@ApiParam(value = "Dados do embarque." ,required=true)@Valid EmbarqueCarga body, @ApiParam(value = "Número do 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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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); /** * Registrar / alterar dados de presença de carga. diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/api/CompatibilizaoDeProdutosDeLpcOsApi.java b/src/main/java/br/gov/siscomex/portalunico/talpco/api/CompatibilizaoDeProdutosDeLpcOsApi.java index 68f1aed..58ce626 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/api/CompatibilizaoDeProdutosDeLpcOsApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/api/CompatibilizaoDeProdutosDeLpcOsApi.java @@ -30,7 +30,7 @@ */ @Path("/") @Api(value = "/", description = "") -public interface CompatibilizaoDeProdutosDeLpcOsApi { +public interface CompatibilizaoDeProdutosDeLpcosApi { /** * Aceitar solicitação de compatibilização de LPCO. @@ -43,14 +43,14 @@ public interface CompatibilizaoDeProdutosDeLpcOsApi { @Consumes({ "application/json" }) @Produces({ "application/json" }) @ApiOperation(value = "Aceitar solicitação de compatibilização de LPCO.", notes = "

Disponível apenas para a Administração Pública.

", tags={ "Compatibilização de produtos de LPCOs" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = CompatibilizacaoLpcoResponse.class), @ApiResponse(code = 400, message = "Requisição mal formatada"), @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 = 422, message = "Erro(s) de validação da camada de negócio"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response aceitarSolicitacaoCompatibilizacao(@ApiParam(value = "Número do LPCO para o qual será aceita a solicitação de compatibilização.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid JustificativaAceitarCompatibilizacaoRequest body); + public Response aceitarSolicitacaoCompatibilizacao1(@ApiParam(value = "Número do LPCO para o qual será aceita a solicitação de compatibilização.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid JustificativaAceitarCompatibilizacaoRequest body); /** * Cancelar solicitação de compatibilização de LPCO. @@ -68,7 +68,7 @@ public interface CompatibilizaoDeProdutosDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response cancelarSolicitacaoCompatibilizacao(@ApiParam(value = "Número do LPCO para o qual será cancelada a solicitação de compatibilização.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid JustificativaCompatibilizacaoRequest body); + public Response cancelarSolicitacaoCompatibilizacao1(@ApiParam(value = "Número do LPCO para o qual será cancelada a solicitação de compatibilização.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid JustificativaCompatibilizacaoRequest body); /** * Solicitar compatibilização de LPCO. @@ -86,7 +86,7 @@ public interface CompatibilizaoDeProdutosDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response inserirSolicitacaoCompatibilizacao(@ApiParam(value = "Número do LPCO a ser compatibilizado.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid SolicitacaoCompatibilizacaoRequest body); + public Response inserirSolicitacaoCompatibilizacao1(@ApiParam(value = "Número do LPCO a ser compatibilizado.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid SolicitacaoCompatibilizacaoRequest body); /** * Negar solicitação de compatibilização de LPCO. @@ -106,7 +106,7 @@ public interface CompatibilizaoDeProdutosDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response negarSolicitacaoCompatibilizacao(@ApiParam(value = "Número do LPCO para o qual será negada a solicitação de compatibilização.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid JustificativaNegarCompatibilizacaoRequest body); + public Response negarSolicitacaoCompatibilizacao1(@ApiParam(value = "Número do LPCO para o qual será negada a solicitação de compatibilização.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid JustificativaNegarCompatibilizacaoRequest body); /** * Detalhar solicitação de compatibilização pendentes de análise. diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/api/ExignciasDeLpcOsApi.java b/src/main/java/br/gov/siscomex/portalunico/talpco/api/ExignciasDeLpcOsApi.java index 3d52555..7a943fb 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/api/ExignciasDeLpcOsApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/api/ExignciasDeLpcOsApi.java @@ -27,7 +27,7 @@ */ @Path("/") @Api(value = "/", description = "") -public interface ExignciasDeLpcOsApi { +public interface ExignciasDeLpcosApi { /** * Cancelar uma exigência de LPCO. @@ -40,14 +40,14 @@ public interface ExignciasDeLpcOsApi { @Consumes({ "application/json" }) @Produces({ "application/json" }) @ApiOperation(value = "Cancelar uma exigência de LPCO.", notes = "

Disponível apenas para a Administração Pública.

", tags={ "Exigências de LPCOs" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ExigenciaLpcoResponse.class), @ApiResponse(code = 400, message = "Requisição mal formatada"), @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 = 422, message = "Erro(s) de validação da camada de negócio"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response cancelar(@ApiParam(value = "Número do LPCO que possui a exigência.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @ApiParam(value = "Número sequencial da exigência sendo cancelada.",required=true) @PathParam("numeracaoExigencia") Long numeracaoExigencia, @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 = "" )@Valid ExigenciaLpcoRequest body); + public Response cancelar1(@ApiParam(value = "Número do LPCO que possui a exigência.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @ApiParam(value = "Número sequencial da exigência sendo cancelada.",required=true) @PathParam("numeracaoExigencia") Long numeracaoExigencia, @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 = "" )@Valid ExigenciaLpcoRequest body); /** * Informar cumprimento de exigência de LPCO. @@ -65,7 +65,7 @@ public interface ExignciasDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response cumprir(@ApiParam(value = "Número do LPCO que possui a exigência.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @ApiParam(value = "Número sequencial da exigência sendo cumprida.",required=true) @PathParam("numeracaoExigencia") Long numeracaoExigencia, @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 = "" )@Valid ExigenciaLpcoRequest body); + public Response cumprir1(@ApiParam(value = "Número do LPCO que possui a exigência.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @ApiParam(value = "Número sequencial da exigência sendo cumprida.",required=true) @PathParam("numeracaoExigencia") Long numeracaoExigencia, @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 = "" )@Valid ExigenciaLpcoRequest body); /** * Incluir uma exigência para o LPCO. @@ -85,7 +85,7 @@ public interface ExignciasDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response incluir(@ApiParam(value = "Número do LPCO para o qual será incluída a exigência.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid ExigenciaLpcoRequest body); + public Response incluir1(@ApiParam(value = "Número do LPCO para o qual será incluída a exigência.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid ExigenciaLpcoRequest body); /** * Listar as exigências de um LPCO. @@ -119,6 +119,6 @@ public interface ExignciasDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response solicitarAlteracao(@ApiParam(value = "",required=true) @PathParam("numeroLpco") String numeroLpco, @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); + public Response solicitarAlteracao1(@ApiParam(value = "",required=true) @PathParam("numeroLpco") String numeroLpco, @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/talpco/api/ModelosETemplatesDeLpcOsApi.java b/src/main/java/br/gov/siscomex/portalunico/talpco/api/ModelosETemplatesDeLpcOsApi.java index db0e94e..6c2abec 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/api/ModelosETemplatesDeLpcOsApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/api/ModelosETemplatesDeLpcOsApi.java @@ -25,7 +25,7 @@ */ @Path("/") @Api(value = "/", description = "") -public interface ModelosETemplatesDeLpcOsApi { +public interface ModelosETemplatesDeLpcosApi { /** * Consultar lista de modelos de LPCO de um órgão anuente. @@ -35,7 +35,7 @@ public interface ModelosETemplatesDeLpcOsApi { @Path("/ext/lpco/modelo/consulta/{codigoOrgao}") @Produces({ "application/json" }) @ApiOperation(value = "Consultar lista de modelos de LPCO de um órgão anuente.", notes = "", tags={ "Modelos e templates de LPCOs" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ModeloLpcoResumido.class, responseContainer = "List"), @ApiResponse(code = 204, message = "Operação realizada com sucesso. Nemhum conteúdo retornado"), @ApiResponse(code = 400, message = "Requisição mal formatada"), @@ -43,7 +43,7 @@ public interface ModelosETemplatesDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response consulta(@ApiParam(value = "Código do órgão anuente responsável pelo modelo.
Tamanho mínimo: 1
Tamanho máximo: 30",required=true) @PathParam("codigoOrgao") String codigoOrgao, @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 de referência opcional que serve para retornar o estado do modelo LPCO em um momento do passado. Se não informada, utiliza-se o momento atual. A data deve ser informada no padrão ISO 8601 com precisão mínima de minutos.
Formato: dd-MM-yyyy'T'HH:mm:ss:SSSZ") @QueryParam("dataReferencia") String dataReferencia); + public Response consulta(@ApiParam(value = "Código do órgão anuente responsável pelo modelo.
Tamanho mínimo: 1
Tamanho máximo: 30",required=true) @PathParam("codigoOrgao") String codigoOrgao, @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 de referência opcional que serve para retornar o estado do modelo LPCO em um momento do passado. Se não informada, utiliza-se o momento atual. A data deve ser informada no padrão ISO 8601 com precisão mínima de minutos.
Formato: dd-MM-yyyy'T'HH:mm:ss:SSSZ") @QueryParam("dataReferencia") String dataReferencia); /** * Retornar informações de um modelo de LPCO, incluindo a listas de campos a serem preenchidos. diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/api/ProrrogaesDeLpcOsApi.java b/src/main/java/br/gov/siscomex/portalunico/talpco/api/ProrrogaesDeLpcOsApi.java index 3185407..7dc122e 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/api/ProrrogaesDeLpcOsApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/api/ProrrogaesDeLpcOsApi.java @@ -29,7 +29,7 @@ */ @Path("/") @Api(value = "/", description = "") -public interface ProrrogaesDeLpcOsApi { +public interface ProrrogaesDeLpcosApi { /** * Aceitar solicitação de prorrogação de LPCO. @@ -41,7 +41,7 @@ public interface ProrrogaesDeLpcOsApi { @Path("/ext/lpco/prorrogacao/{numLpco}/aceitar") @Consumes({ "application/json" }) @ApiOperation(value = "Aceitar solicitação de prorrogação de LPCO.", notes = "

Disponível apenas para a Administração Pública.

", tags={ "Prorrogações de LPCOs" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso"), @ApiResponse(code = 400, message = "Requisição mal formatada"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), @@ -65,7 +65,7 @@ public interface ProrrogaesDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response alterarProrrogacao(@ApiParam(value = "Número do LPCO para o qual será alterada a solicitação de prorrogação.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numLpco") String numLpco, @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 = "" )@Valid ProrrogacaoLpcoRequest body); + public Response alterarProrrogacao1(@ApiParam(value = "Número do LPCO para o qual será alterada a solicitação de prorrogação.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numLpco") String numLpco, @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 = "" )@Valid ProrrogacaoLpcoRequest body); /** * Cancelar solicitação de prorrogação de LPCO. @@ -81,7 +81,7 @@ public interface ProrrogaesDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response cancelarProrrogacao(@ApiParam(value = "Número do LPCO para o qual será cancelada a solicitação de prorrogação.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numLpco") String numLpco, @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); + public Response cancelarProrrogacao1(@ApiParam(value = "Número do LPCO para o qual será cancelada a solicitação de prorrogação.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numLpco") String numLpco, @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); /** * Negar solicitação de prorrogação de LPCO. @@ -118,7 +118,7 @@ public interface ProrrogaesDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response obterDadosProrrogacao(@ApiParam(value = "Número do LPCO a ser verificado.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numLpco") String numLpco, @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); + public Response obterDadosProrrogacao1(@ApiParam(value = "Número do LPCO a ser verificado.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numLpco") String numLpco, @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); /** * Solicitar prorrogação de LPCO. @@ -135,6 +135,6 @@ public interface ProrrogaesDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response solicitarProrrogacao(@ApiParam(value = "Número do LPCO para o qual será solicitada a prorrogação.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numLpco") String numLpco, @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 = "" )@Valid ProrrogacaoLpcoRequest body); + public Response solicitarProrrogacao1(@ApiParam(value = "Número do LPCO para o qual será solicitada a prorrogação.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numLpco") String numLpco, @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 = "" )@Valid ProrrogacaoLpcoRequest body); } diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/api/RetificaesDeLpcOsApi.java b/src/main/java/br/gov/siscomex/portalunico/talpco/api/RetificaesDeLpcOsApi.java index 128c497..59cdbbc 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/api/RetificaesDeLpcOsApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/api/RetificaesDeLpcOsApi.java @@ -32,7 +32,7 @@ */ @Path("/") @Api(value = "/", description = "") -public interface RetificaesDeLpcOsApi { +public interface RetificaesDeLpcosApi { /** * Aceitar solicitação de retificação de LPCO. @@ -45,14 +45,14 @@ public interface RetificaesDeLpcOsApi { @Consumes({ "application/json" }) @Produces({ "application/json" }) @ApiOperation(value = "Aceitar solicitação de retificação de LPCO.", notes = "

Disponível apenas para a Administração Pública.

", tags={ "Retificações de LPCOs" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = LpcoDetalhado.class), @ApiResponse(code = 400, message = "Requisição mal formatada"), @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 = 422, message = "Erro(s) de validação da camada de negócio"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response aceitarSolicitacaoAlteracao(@ApiParam(value = "Número do LPCO para o qual será aceita a solicitação de retificação.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid RetificacaoLpcoAceitarRequest body); + public Response aceitarSolicitacaoAlteracao1(@ApiParam(value = "Número do LPCO para o qual será aceita a solicitação de retificação.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid RetificacaoLpcoAceitarRequest body); /** * Cancelar solicitação de retificação de LPCO. @@ -70,7 +70,7 @@ public interface RetificaesDeLpcOsApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response cancelarSolicitacaoAlteracao(@ApiParam(value = "Número do LPCO para o qual será cancelada a solicitação de retificação.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid RetificacaoLpcoCancelarRequest body); + public Response cancelarSolicitacaoAlteracao1(@ApiParam(value = "Número do LPCO para o qual será cancelada a solicitação de retificação.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numeroLpco") String numeroLpco, @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 = "" )@Valid RetificacaoLpcoCancelarRequest body); /** * Solicitar retificação de LPCO. diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/api/SituaoDeLpcoApi.java b/src/main/java/br/gov/siscomex/portalunico/talpco/api/SituaoDeLpcoApi.java index 23bda03..6ff0c83 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/api/SituaoDeLpcoApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/api/SituaoDeLpcoApi.java @@ -38,14 +38,14 @@ public interface SituaoDeLpcoApi { @Consumes({ "application/json" }) @Produces({ "application/json" }) @ApiOperation(value = "Alterar a situação de um LPCO.", notes = "", tags={ "Situação de LPCO" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = AlterarSituacaoLpcoResponse.class), @ApiResponse(code = 400, message = "Requisição mal formatada"), @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 = 422, message = "Erro(s) de validação da camada de negócio"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response alterarSituacao(@ApiParam(value = "Número do LPCO que terá a situação alterada.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numero") String numero, @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 = "" )@Valid AlterarSituacaoLpcoRequest body); + public Response alterarSituacao1(@ApiParam(value = "Número do LPCO que terá a situação alterada.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numero") String numero, @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 = "" )@Valid AlterarSituacaoLpcoRequest body); /** * Consultar as Possíveis Situações de Destino de LPCO. @@ -62,6 +62,6 @@ public interface SituaoDeLpcoApi { @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"), @ApiResponse(code = 500, message = "Erro interno no servidor") }) - public Response listarSituacoesDestino(@ApiParam(value = "Número do LPCO para o qual serão listadas as situações de destino.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numero") String numero, @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); + public Response listarSituacoesDestino1(@ApiParam(value = "Número do LPCO para o qual serão listadas as situações de destino.
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 = Número sequencial do LPCO no ano",required=true) @PathParam("numero") String numero, @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/talpco/model/AlterarSituacaoLpcoRequest.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/AlterarSituacaoLpcoRequest.java index 92b93d8..4c1fa3d 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/AlterarSituacaoLpcoRequest.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/AlterarSituacaoLpcoRequest.java @@ -124,21 +124,21 @@ public static SituacaoEnum fromValue(String v) { /** * Indica se haverá necessidade de inspeção de carga **/ - private Boolean requerInspecao = false; + private Boolean requerInspecao = null; @XmlElement(name="decisaoJudicial") @ApiModelProperty(example = "false", value = "Indicador de decisão judicial utilizado no deferimento") /** * Indicador de decisão judicial utilizado no deferimento **/ - private Boolean decisaoJudicial = false; + private Boolean decisaoJudicial = null; @XmlElement(name="faltaPagamentoTaxa") @ApiModelProperty(example = "false", value = "Indicador de pagamento de taxa não efetuado") /** * Indicador de pagamento de taxa não efetuado **/ - private Boolean faltaPagamentoTaxa = false; + private Boolean faltaPagamentoTaxa = null; @XmlType(name="CanalEnum") diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/CampoFormulario.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/CampoFormulario.java index 438dd86..1407b5c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/CampoFormulario.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/CampoFormulario.java @@ -288,9 +288,9 @@ public enum CodigoEnum { @JsonProperty("RECINTO_ARMAZENAMENTO CAMPO_CONTROLE_DE_SALDO") RECINTO_ARMAZENAMENTO_CAMPO_CONTROLE_DE_SALDO(String.valueOf("RECINTO_ARMAZENAMENTO CAMPO_CONTROLE_DE_SALDO")), - @XmlEnumValue("LPCO_VINCULADO DENOMINACAO_PRODUTO PESO_LIQUIDO_ITEM") - @JsonProperty("LPCO_VINCULADO DENOMINACAO_PRODUTO PESO_LIQUIDO_ITEM") - LPCO_VINCULADO_DENOMINACAO_PRODUTO_PESO_LIQUIDO_ITEM(String.valueOf("LPCO_VINCULADO DENOMINACAO_PRODUTO PESO_LIQUIDO_ITEM")), + @XmlEnumValue("LPCO_VINCULADO DENOMINACAO_PRODUTO PESO_LIQUIDO_ITEM MOTIVO_SITUACAO_ESPECIAL") + @JsonProperty("LPCO_VINCULADO DENOMINACAO_PRODUTO PESO_LIQUIDO_ITEM MOTIVO_SITUACAO_ESPECIAL") + LPCO_VINCULADO_DENOMINACAO_PRODUTO_PESO_LIQUIDO_ITEM_MOTIVO_SITUACAO_ESPECIAL(String.valueOf("LPCO_VINCULADO DENOMINACAO_PRODUTO PESO_LIQUIDO_ITEM MOTIVO_SITUACAO_ESPECIAL")), @XmlEnumValue("ATT_") @JsonProperty("ATT_") @@ -467,9 +467,9 @@ public static TipoEnum fromValue(String v) { private ValidacaoCampoLpco validacao = null; @XmlElement(name="condicaoPreenchimento") - @ApiModelProperty(example = "ATT_1 >= 10 && ATT_1 <=100", value = "Indica em qual condição este campo pode ser preenchido") + @ApiModelProperty(example = "1) 'ATT_1 == 04 || == 05 || == 06', 2) 'ATT_1 > 10 && < 100'", value = "Indica em qual condição este campo pode ser preenchido. Os operadores condicionais são '<', '<=', '>', '>=', '==', '!=', '&&', '||', e o campo será preenchido com a sentença completa, conforme os exemplos") /** - * Indica em qual condição este campo pode ser preenchido + * Indica em qual condição este campo pode ser preenchido. Os operadores condicionais são '<', '<=', '>', '>=', '==', '!=', '&&', '||', e o campo será preenchido com a sentença completa, conforme os exemplos **/ private String condicaoPreenchimento = null; @@ -602,7 +602,7 @@ public CampoFormulario validacao(ValidacaoCampoLpco validacao) { } /** - * Indica em qual condição este campo pode ser preenchido + * Indica em qual condição este campo pode ser preenchido. Os operadores condicionais são '<', '<=', '>', '>=', '==', '!=', '&&', '||', e o campo será preenchido com a sentença completa, conforme os exemplos * @return condicaoPreenchimento **/ @JsonProperty("condicaoPreenchimento") diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/CompatibilizacaoLpcoResponse.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/CompatibilizacaoLpcoResponse.java index 918d273..6184c1b 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/CompatibilizacaoLpcoResponse.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/CompatibilizacaoLpcoResponse.java @@ -16,7 +16,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "CompatibilizacaoLpcoResponse", propOrder = - { "numero", "situacao", "dataRegistro", "justificativa", "listaAlteracoes" + { "numero", "situacao", "dataRegistro", "justificativa", "listaAlteracoes", "situacaoPagamentoTaxa" }) @XmlRootElement(name="CompatibilizacaoLpcoResponse") @@ -59,6 +59,11 @@ public class CompatibilizacaoLpcoResponse { * Lista de alterações realizadas na compatibilização **/ private List listaAlteracoes = new ArrayList<>(); + + @XmlElement(name="situacaoPagamentoTaxa") + @ApiModelProperty(value = "") + @Valid + private SituacaoPagamentoTaxa situacaoPagamentoTaxa = null; /** * Número do pedido de compatibilização * @return numero @@ -158,6 +163,24 @@ public CompatibilizacaoLpcoResponse addListaAlteracoesItem(DadosAlteracoesLpco l return this; } + /** + * Get situacaoPagamentoTaxa + * @return situacaoPagamentoTaxa + **/ + @JsonProperty("situacaoPagamentoTaxa") + public SituacaoPagamentoTaxa getSituacaoPagamentoTaxa() { + return situacaoPagamentoTaxa; + } + + public void setSituacaoPagamentoTaxa(SituacaoPagamentoTaxa situacaoPagamentoTaxa) { + this.situacaoPagamentoTaxa = situacaoPagamentoTaxa; + } + + public CompatibilizacaoLpcoResponse situacaoPagamentoTaxa(SituacaoPagamentoTaxa situacaoPagamentoTaxa) { + this.situacaoPagamentoTaxa = situacaoPagamentoTaxa; + return this; + } + @Override public String toString() { @@ -169,6 +192,7 @@ public String toString() { sb.append(" dataRegistro: ").append(toIndentedString(dataRegistro)).append("\n"); sb.append(" justificativa: ").append(toIndentedString(justificativa)).append("\n"); sb.append(" listaAlteracoes: ").append(toIndentedString(listaAlteracoes)).append("\n"); + sb.append(" situacaoPagamentoTaxa: ").append(toIndentedString(situacaoPagamentoTaxa)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ConsultarLpcoResponse.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ConsultarLpcoResponse.java index cd1ce09..e279746 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ConsultarLpcoResponse.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ConsultarLpcoResponse.java @@ -93,14 +93,14 @@ public class ConsultarLpcoResponse { /** * Indica se existe uma solicitação de prorrogação deste LPCO que ainda não foi analisada pelo órgão anuente. **/ - private Boolean prorrogacaoPendente = false; + private Boolean prorrogacaoPendente = null; @XmlElement(name="retificacaoPendente", required = true) @ApiModelProperty(example = "false", required = true, value = "Indica se existe uma solicitação de retificação deste LPCO que ainda não foi analisada pelo órgão anuente.") /** * Indica se existe uma solicitação de retificação deste LPCO que ainda não foi analisada pelo órgão anuente. **/ - private Boolean retificacaoPendente = false; + private Boolean retificacaoPendente = null; @XmlElement(name="dataSituacaoAtual", required = true) @ApiModelProperty(example = "2019-09-02T10:04:38.123Z", required = true, value = "Data em que o LPCO passou para sua situação atual
Formato: Formato: dd-MM-yyyy'T'HH:mm:ss:SSSZ") diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ExigenciaLpcoResponse.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ExigenciaLpcoResponse.java index 416112a..1740e73 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ExigenciaLpcoResponse.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ExigenciaLpcoResponse.java @@ -14,7 +14,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ExigenciaLpcoResponse", propOrder = - { "numero", "exigencia", "dataExigencia", "resposta", "dataResposta", "situacao", "numeroCancelado", "aviso" + { "numero", "exigencia", "dataExigencia", "resposta", "dataResposta", "situacao", "numeroCancelado", "aviso", "situacaoPagamentoTaxa" }) @XmlRootElement(name="ExigenciaLpcoResponse") @@ -77,6 +77,11 @@ public class ExigenciaLpcoResponse { * Aviso sobre a operação realizada **/ private String aviso = null; + + @XmlElement(name="situacaoPagamentoTaxa") + @ApiModelProperty(value = "") + @Valid + private SituacaoPagamentoTaxa situacaoPagamentoTaxa = null; /** * Número sequencial da exigência * @return numero @@ -225,6 +230,24 @@ public ExigenciaLpcoResponse aviso(String aviso) { return this; } + /** + * Get situacaoPagamentoTaxa + * @return situacaoPagamentoTaxa + **/ + @JsonProperty("situacaoPagamentoTaxa") + public SituacaoPagamentoTaxa getSituacaoPagamentoTaxa() { + return situacaoPagamentoTaxa; + } + + public void setSituacaoPagamentoTaxa(SituacaoPagamentoTaxa situacaoPagamentoTaxa) { + this.situacaoPagamentoTaxa = situacaoPagamentoTaxa; + } + + public ExigenciaLpcoResponse situacaoPagamentoTaxa(SituacaoPagamentoTaxa situacaoPagamentoTaxa) { + this.situacaoPagamentoTaxa = situacaoPagamentoTaxa; + return this; + } + @Override public String toString() { @@ -239,6 +262,7 @@ public String toString() { sb.append(" situacao: ").append(toIndentedString(situacao)).append("\n"); sb.append(" numeroCancelado: ").append(toIndentedString(numeroCancelado)).append("\n"); sb.append(" aviso: ").append(toIndentedString(aviso)).append("\n"); + sb.append(" situacaoPagamentoTaxa: ").append(toIndentedString(situacaoPagamentoTaxa)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/JustificativaAceitarCompatibilizacaoRequest.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/JustificativaAceitarCompatibilizacaoRequest.java index d24e425..92ee1c3 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/JustificativaAceitarCompatibilizacaoRequest.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/JustificativaAceitarCompatibilizacaoRequest.java @@ -12,7 +12,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "JustificativaAceitarCompatibilizacaoRequest", propOrder = - { "justificativa", "decisaoJudicial" + { "justificativa", "decisaoJudicial", "motivoAnalise" }) @XmlRootElement(name="JustificativaAceitarCompatibilizacaoRequest") @@ -34,7 +34,14 @@ public class JustificativaAceitarCompatibilizacaoRequest { /** * Indicador de decisão judicial **/ - private Boolean decisaoJudicial = false; + private Boolean decisaoJudicial = null; + + @XmlElement(name="motivoAnalise") + @ApiModelProperty(example = "A01", value = "Código do motivo de análise. Pode ser informado somente se existirem motivos de análise cadastrados no Tabelas Comex. Caso contrário, deve ser nulo.
") + /** + * Código do motivo de análise. Pode ser informado somente se existirem motivos de análise cadastrados no Tabelas Comex. Caso contrário, deve ser nulo.
+ **/ + private String motivoAnalise = null; /** * Justificativa para a operação. Tamanho mínimo: 1<br>Tamanho máximo: 3900 * @return justificativa @@ -71,6 +78,24 @@ public JustificativaAceitarCompatibilizacaoRequest decisaoJudicial(Boolean decis return this; } + /** + * Código do motivo de análise. Pode ser informado somente se existirem motivos de análise cadastrados no Tabelas Comex. Caso contrário, deve ser nulo.<br> + * @return motivoAnalise + **/ + @JsonProperty("motivoAnalise") + public String getMotivoAnalise() { + return motivoAnalise; + } + + public void setMotivoAnalise(String motivoAnalise) { + this.motivoAnalise = motivoAnalise; + } + + public JustificativaAceitarCompatibilizacaoRequest motivoAnalise(String motivoAnalise) { + this.motivoAnalise = motivoAnalise; + return this; + } + @Override public String toString() { @@ -79,6 +104,7 @@ public String toString() { sb.append(" justificativa: ").append(toIndentedString(justificativa)).append("\n"); sb.append(" decisaoJudicial: ").append(toIndentedString(decisaoJudicial)).append("\n"); + sb.append(" motivoAnalise: ").append(toIndentedString(motivoAnalise)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/JustificativaNegarCompatibilizacaoRequest.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/JustificativaNegarCompatibilizacaoRequest.java index cd3b9b0..7b45c1c 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/JustificativaNegarCompatibilizacaoRequest.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/JustificativaNegarCompatibilizacaoRequest.java @@ -34,7 +34,7 @@ public class JustificativaNegarCompatibilizacaoRequest { /** * Indica se o pagamento de taxa não efetuado **/ - private Boolean faltaPagamentoTaxa = false; + private Boolean faltaPagamentoTaxa = null; @XmlElement(name="motivoAnalise") @ApiModelProperty(example = "A01", value = "Código do motivo de análise. Pode ser informado somente se existirem motivos de análise cadastrados no Tabelas Comex. Caso contrário, deve ser nulo.
") diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/LpcoDetalhado.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/LpcoDetalhado.java index ebe3db5..4f33446 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/LpcoDetalhado.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/LpcoDetalhado.java @@ -18,7 +18,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "LpcoDetalhado", propOrder = - { "dataInicioVigencia", "dataFimVigencia", "numero", "codigoModelo", "dataInicioVigenciaModelo", "orgao", "situacao", "dataSituacaoAtual", "informacaoAdicional", "chaveAcesso", "prorrogacaoPendente", "retificacaoPendente", "dataRegistro", "listaCamposFormulario", "listaNcm", "listaVinculos", "saldos", "numeroLI", "numeroConhecimento", "modalTransporte", "dataHoraEmbarque", "dataHoraPresencaCarga", "canal" + { "dataInicioVigencia", "dataFimVigencia", "mensagem", "numero", "codigoModelo", "dataInicioVigenciaModelo", "orgao", "situacao", "dataSituacaoAtual", "informacaoAdicional", "chaveAcesso", "prorrogacaoPendente", "retificacaoPendente", "dataRegistro", "listaCamposFormulario", "listaNcm", "listaVinculos", "saldos", "numeroConhecimento", "modalTransporte", "dataHoraEmbarque", "dataHoraPresencaCarga", "canal", "situacaoPagamentoTaxa" }) @XmlRootElement(name="LpcoDetalhado") @@ -42,6 +42,13 @@ public class LpcoDetalhado { **/ private String dataFimVigencia = null; + @XmlElement(name="mensagem") + @ApiModelProperty(example = "A alteração de situação do LPCO foi efetivada mas o sistema LI retornou uma mensagem de negócio. Em alguns casos é possível que o status da anuência não tenha sido atualizado. Favor verificar a mensagem completa no histórico do LPCO.", value = "Mensagem do sistema
") + /** + * Mensagem do sistema
+ **/ + private String mensagem = null; + @XmlElement(name="numero", required = true) @ApiModelProperty(example = "E1900000001", required = true, value = "Número do 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 = Número sequencial do LPCO no ano") /** @@ -101,14 +108,14 @@ public class LpcoDetalhado { /** * Indica se há um pedido de prorrogação do LPCO ainda pendente **/ - private Boolean prorrogacaoPendente = false; + private Boolean prorrogacaoPendente = null; @XmlElement(name="retificacaoPendente", required = true) @ApiModelProperty(example = "true", required = true, value = "Indica se há um pedido de retificação do LPCO ainda pendente") /** * Indica se há um pedido de retificação do LPCO ainda pendente **/ - private Boolean retificacaoPendente = false; + private Boolean retificacaoPendente = null; @XmlElement(name="dataRegistro", required = true) @ApiModelProperty(example = "2019-08-29T14:03:52.123Z", required = true, value = "Momento no qual o LPCO foi registrado
Formato: dd-MM-yyyy'T'HH:mm:ss:SSSZ") @@ -149,13 +156,6 @@ public class LpcoDetalhado { **/ private List saldos = null; - @XmlElement(name="numeroLI") - @ApiModelProperty(example = "2300012349", value = "Número da LI a qual o LPCO está vinculado, se for o caso.
Tamanho: 11
Formato: AANNNNNNNV (apenas dígitos, sem os caracteres separadores)
Lei de formação: O número da LI é composto por:
* AA = Ano do registro da LI
* NNNNNNN = Número sequencial da LI no ano* V = Dígito verificador") - /** - * Número da LI a qual o LPCO está vinculado, se for o caso.
Tamanho: 11
Formato: AANNNNNNNV (apenas dígitos, sem os caracteres separadores)
Lei de formação: O número da LI é composto por:
* AA = Ano do registro da LI
* NNNNNNN = Número sequencial da LI no ano* V = Dígito verificador - **/ - private Long numeroLI = null; - @XmlElement(name="numeroConhecimento") @ApiModelProperty(example = "99999999999999999999", value = "Número do conhecimento de carga do LPCO, se houver. Disponível apenas em LPCOs com LI vinculada.
Tamanho máximo: 20") /** @@ -276,6 +276,11 @@ public static CanalEnum fromValue(String v) { * Canal. Disponível apenas em LPCOs com LI vinculada.
Tamanho máximo: 20 **/ private CanalEnum canal = null; + + @XmlElement(name="situacaoPagamentoTaxa") + @ApiModelProperty(value = "") + @Valid + private SituacaoPagamentoTaxa situacaoPagamentoTaxa = null; /** * Data de início de vigência do LPCO.<br>Formato: dd-MM-yyyy'T'HH:mm:ss:SSSZ * @return dataInicioVigencia @@ -312,6 +317,24 @@ public LpcoDetalhado dataFimVigencia(String dataFimVigencia) { return this; } + /** + * Mensagem do sistema<br> + * @return mensagem + **/ + @JsonProperty("mensagem") + public String getMensagem() { + return mensagem; + } + + public void setMensagem(String mensagem) { + this.mensagem = mensagem; + } + + public LpcoDetalhado mensagem(String mensagem) { + this.mensagem = mensagem; + return this; + } + /** * Número do 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 = Número sequencial do LPCO no ano * @return numero @@ -613,24 +636,6 @@ public LpcoDetalhado addSaldosItem(Cotas saldosItem) { return this; } - /** - * Número da LI a qual o LPCO está vinculado, se for o caso.<br>Tamanho: 11<br>Formato: AANNNNNNNV (apenas dígitos, sem os caracteres separadores)<br>Lei de formação: O número da LI é composto por:<br>* AA = Ano do registro da LI<br>* NNNNNNN = Número sequencial da LI no ano* V = Dígito verificador - * @return numeroLI - **/ - @JsonProperty("numeroLI") - public Long getNumeroLI() { - return numeroLI; - } - - public void setNumeroLI(Long numeroLI) { - this.numeroLI = numeroLI; - } - - public LpcoDetalhado numeroLI(Long numeroLI) { - this.numeroLI = numeroLI; - return this; - } - /** * Número do conhecimento de carga do LPCO, se houver. Disponível apenas em LPCOs com LI vinculada.<br>Tamanho máximo: 20 * @return numeroConhecimento @@ -727,6 +732,24 @@ public LpcoDetalhado canal(CanalEnum canal) { return this; } + /** + * Get situacaoPagamentoTaxa + * @return situacaoPagamentoTaxa + **/ + @JsonProperty("situacaoPagamentoTaxa") + public SituacaoPagamentoTaxa getSituacaoPagamentoTaxa() { + return situacaoPagamentoTaxa; + } + + public void setSituacaoPagamentoTaxa(SituacaoPagamentoTaxa situacaoPagamentoTaxa) { + this.situacaoPagamentoTaxa = situacaoPagamentoTaxa; + } + + public LpcoDetalhado situacaoPagamentoTaxa(SituacaoPagamentoTaxa situacaoPagamentoTaxa) { + this.situacaoPagamentoTaxa = situacaoPagamentoTaxa; + return this; + } + @Override public String toString() { @@ -735,6 +758,7 @@ public String toString() { sb.append(" dataInicioVigencia: ").append(toIndentedString(dataInicioVigencia)).append("\n"); sb.append(" dataFimVigencia: ").append(toIndentedString(dataFimVigencia)).append("\n"); + sb.append(" mensagem: ").append(toIndentedString(mensagem)).append("\n"); sb.append(" numero: ").append(toIndentedString(numero)).append("\n"); sb.append(" codigoModelo: ").append(toIndentedString(codigoModelo)).append("\n"); sb.append(" dataInicioVigenciaModelo: ").append(toIndentedString(dataInicioVigenciaModelo)).append("\n"); @@ -750,12 +774,12 @@ public String toString() { sb.append(" listaNcm: ").append(toIndentedString(listaNcm)).append("\n"); sb.append(" listaVinculos: ").append(toIndentedString(listaVinculos)).append("\n"); sb.append(" saldos: ").append(toIndentedString(saldos)).append("\n"); - sb.append(" numeroLI: ").append(toIndentedString(numeroLI)).append("\n"); sb.append(" numeroConhecimento: ").append(toIndentedString(numeroConhecimento)).append("\n"); sb.append(" modalTransporte: ").append(toIndentedString(modalTransporte)).append("\n"); sb.append(" dataHoraEmbarque: ").append(toIndentedString(dataHoraEmbarque)).append("\n"); sb.append(" dataHoraPresencaCarga: ").append(toIndentedString(dataHoraPresencaCarga)).append("\n"); sb.append(" canal: ").append(toIndentedString(canal)).append("\n"); + sb.append(" situacaoPagamentoTaxa: ").append(toIndentedString(situacaoPagamentoTaxa)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ModeloLpcoCompleto.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ModeloLpcoCompleto.java index ad23fc8..b1bcc90 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ModeloLpcoCompleto.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ModeloLpcoCompleto.java @@ -63,14 +63,14 @@ public class ModeloLpcoCompleto { /** * Indica se o sistema permite que seja informado o campo informacaoAdicional durante o cadastro de LPCOs do modelo **/ - private Boolean exibirInformacaoAdicional = false; + private Boolean exibirInformacaoAdicional = null; @XmlElement(name="requerCatalogoProduto", required = true) @ApiModelProperty(example = "false", required = true, value = "Indica se a informação de mercadorias será via Catálogo de Produtos") /** * Indica se a informação de mercadorias será via Catálogo de Produtos **/ - private Boolean requerCatalogoProduto = false; + private Boolean requerCatalogoProduto = null; @XmlElement(name="dataInicioVigencia", required = true) @ApiModelProperty(example = "2019-09-02T10:04:38.123Z", required = true, value = "Data de início de vigência do modelo
Formato: Formato: dd-MM-yyyy'T'HH:mm:ss:SSSZ") diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/NovaTentativaPagamentoExternalDTO.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/NovaTentativaPagamentoExternalDTO.java new file mode 100644 index 0000000..effb78c --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/NovaTentativaPagamentoExternalDTO.java @@ -0,0 +1,150 @@ +package br.gov.siscomex.portalunico.talpco.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 = "NovaTentativaPagamentoExternalDTO", propOrder = + { "tipoTaxa", "observacao" +}) + +@XmlRootElement(name="NovaTentativaPagamentoExternalDTO") +public class NovaTentativaPagamentoExternalDTO { + + +@XmlType(name="TipoTaxaEnum") +@XmlEnum(String.class) +public enum TipoTaxaEnum { + + @XmlEnumValue("REGISTRO_LPCO") + @JsonProperty("REGISTRO_LPCO") + REGISTRO_LPCO(String.valueOf("REGISTRO_LPCO")), + + @XmlEnumValue("RETIFICACAO") + @JsonProperty("RETIFICACAO") + RETIFICACAO(String.valueOf("RETIFICACAO")), + + @XmlEnumValue("PRORROGACAO") + @JsonProperty("PRORROGACAO") + PRORROGACAO(String.valueOf("PRORROGACAO")), + + @XmlEnumValue("COMPATIBILIZACAO") + @JsonProperty("COMPATIBILIZACAO") + COMPATIBILIZACAO(String.valueOf("COMPATIBILIZACAO")), + + @XmlEnumValue("RESPOSTA_EXIGENCIA") + @JsonProperty("RESPOSTA_EXIGENCIA") + RESPOSTA_EXIGENCIA(String.valueOf("RESPOSTA_EXIGENCIA")); + + + private String value; + + TipoTaxaEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TipoTaxaEnum fromValue(String v) { + for (TipoTaxaEnum b : TipoTaxaEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoTaxaEnum"); + } +} + + @XmlElement(name="tipoTaxa", required = true) + @ApiModelProperty(example = "REGISTRO_LPCO", required = true, value = "Tipo de taxa que foi paga.") + /** + * Tipo de taxa que foi paga. + **/ + private TipoTaxaEnum tipoTaxa = null; + + @XmlElement(name="observacao") + @ApiModelProperty(example = "Pagamento realizado", value = "Observação associada ao pagamento. Obrigatório quando para tipoPagamento=PAGAMENTO_REALIZADO ou tipoPagamento=DISPENSA_PAGAMENTO, dispensado nos demais casos.") + /** + * Observação associada ao pagamento. Obrigatório quando para tipoPagamento=PAGAMENTO_REALIZADO ou tipoPagamento=DISPENSA_PAGAMENTO, dispensado nos demais casos. + **/ + private String observacao = null; + /** + * Tipo de taxa que foi paga. + * @return tipoTaxa + **/ + @JsonProperty("tipoTaxa") + @NotNull + public String getTipoTaxa() { + if (tipoTaxa == null) { + return null; + } + return tipoTaxa.value(); + } + + public void setTipoTaxa(TipoTaxaEnum tipoTaxa) { + this.tipoTaxa = tipoTaxa; + } + + public NovaTentativaPagamentoExternalDTO tipoTaxa(TipoTaxaEnum tipoTaxa) { + this.tipoTaxa = tipoTaxa; + return this; + } + + /** + * Observação associada ao pagamento. Obrigatório quando para tipoPagamento=PAGAMENTO_REALIZADO ou tipoPagamento=DISPENSA_PAGAMENTO, dispensado nos demais casos. + * @return observacao + **/ + @JsonProperty("observacao") + public String getObservacao() { + return observacao; + } + + public void setObservacao(String observacao) { + this.observacao = observacao; + } + + public NovaTentativaPagamentoExternalDTO observacao(String observacao) { + this.observacao = observacao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NovaTentativaPagamentoExternalDTO {\n"); + + sb.append(" tipoTaxa: ").append(toIndentedString(tipoTaxa)).append("\n"); + sb.append(" observacao: ").append(toIndentedString(observacao)).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/talpco/model/ProrrogacaoLpcoAceitarRequest.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ProrrogacaoLpcoAceitarRequest.java index bd28633..8f153f5 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ProrrogacaoLpcoAceitarRequest.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ProrrogacaoLpcoAceitarRequest.java @@ -12,7 +12,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ProrrogacaoLpcoAceitarRequest", propOrder = - { "novaDataFimVigencia", "justificativa", "decisaoJudicial" + { "novaDataFimVigencia", "justificativa", "decisaoJudicial", "motivoAnalise" }) @XmlRootElement(name="ProrrogacaoLpcoAceitarRequest") @@ -41,7 +41,14 @@ public class ProrrogacaoLpcoAceitarRequest { /** * Indicador de decisão judicial **/ - private Boolean decisaoJudicial = false; + private Boolean decisaoJudicial = null; + + @XmlElement(name="motivoAnalise") + @ApiModelProperty(example = "A01", value = "Código do motivo de análise. Pode ser informado somente se existirem motivos de análise cadastrados no Tabelas Comex. Caso contrário, deve ser nulo.
") + /** + * Código do motivo de análise. Pode ser informado somente se existirem motivos de análise cadastrados no Tabelas Comex. Caso contrário, deve ser nulo.
+ **/ + private String motivoAnalise = null; /** * Novo fim de vigência a ser solicitado para o LPCO se for uma solicitação de prorrogação<br>Formato: yyyy-MM-dd * @return novaDataFimVigencia @@ -96,6 +103,24 @@ public ProrrogacaoLpcoAceitarRequest decisaoJudicial(Boolean decisaoJudicial) { return this; } + /** + * Código do motivo de análise. Pode ser informado somente se existirem motivos de análise cadastrados no Tabelas Comex. Caso contrário, deve ser nulo.<br> + * @return motivoAnalise + **/ + @JsonProperty("motivoAnalise") + public String getMotivoAnalise() { + return motivoAnalise; + } + + public void setMotivoAnalise(String motivoAnalise) { + this.motivoAnalise = motivoAnalise; + } + + public ProrrogacaoLpcoAceitarRequest motivoAnalise(String motivoAnalise) { + this.motivoAnalise = motivoAnalise; + return this; + } + @Override public String toString() { @@ -105,6 +130,7 @@ public String toString() { sb.append(" novaDataFimVigencia: ").append(toIndentedString(novaDataFimVigencia)).append("\n"); sb.append(" justificativa: ").append(toIndentedString(justificativa)).append("\n"); sb.append(" decisaoJudicial: ").append(toIndentedString(decisaoJudicial)).append("\n"); + sb.append(" motivoAnalise: ").append(toIndentedString(motivoAnalise)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ProrrogacaoLpcoNegarRequest.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ProrrogacaoLpcoNegarRequest.java index dfd4152..196e10e 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ProrrogacaoLpcoNegarRequest.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ProrrogacaoLpcoNegarRequest.java @@ -41,7 +41,7 @@ public class ProrrogacaoLpcoNegarRequest { /** * Indica se o pagamento de taxa não efetuado **/ - private Boolean faltaPagamentoTaxa = false; + private Boolean faltaPagamentoTaxa = null; @XmlElement(name="motivoAnalise") @ApiModelProperty(example = "A01", value = "Código do motivo de análise. Pode ser informado somente se existirem motivos de análise cadastrados no Tabelas Comex. Caso contrário, deve ser nulo.
") diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ProrrogacaoLpcoResponse.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ProrrogacaoLpcoResponse.java index 82cd9dc..f7654a4 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ProrrogacaoLpcoResponse.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ProrrogacaoLpcoResponse.java @@ -14,7 +14,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ProrrogacaoLpcoResponse", propOrder = - { "situacao", "novaDataFimVigencia", "dataInicioVigencia", "dataFimVigencia", "dataCadastroSolicitacao", "dataUltimaAlteracao", "justificativa" + { "situacao", "novaDataFimVigencia", "dataInicioVigencia", "dataFimVigencia", "dataCadastroSolicitacao", "dataUltimaAlteracao", "justificativa", "situacaoPagamentoTaxa" }) @XmlRootElement(name="ProrrogacaoLpcoResponse") @@ -70,6 +70,11 @@ public class ProrrogacaoLpcoResponse { * Justificativa da solicitação de prorrogação.
Tamanho mínimo: 0
Tamanho máximo: 400 **/ private String justificativa = null; + + @XmlElement(name="situacaoPagamentoTaxa") + @ApiModelProperty(value = "") + @Valid + private SituacaoPagamentoTaxa situacaoPagamentoTaxa = null; /** * Get situacao * @return situacao @@ -199,6 +204,24 @@ public ProrrogacaoLpcoResponse justificativa(String justificativa) { return this; } + /** + * Get situacaoPagamentoTaxa + * @return situacaoPagamentoTaxa + **/ + @JsonProperty("situacaoPagamentoTaxa") + public SituacaoPagamentoTaxa getSituacaoPagamentoTaxa() { + return situacaoPagamentoTaxa; + } + + public void setSituacaoPagamentoTaxa(SituacaoPagamentoTaxa situacaoPagamentoTaxa) { + this.situacaoPagamentoTaxa = situacaoPagamentoTaxa; + } + + public ProrrogacaoLpcoResponse situacaoPagamentoTaxa(SituacaoPagamentoTaxa situacaoPagamentoTaxa) { + this.situacaoPagamentoTaxa = situacaoPagamentoTaxa; + return this; + } + @Override public String toString() { @@ -212,6 +235,7 @@ public String toString() { sb.append(" dataCadastroSolicitacao: ").append(toIndentedString(dataCadastroSolicitacao)).append("\n"); sb.append(" dataUltimaAlteracao: ").append(toIndentedString(dataUltimaAlteracao)).append("\n"); sb.append(" justificativa: ").append(toIndentedString(justificativa)).append("\n"); + sb.append(" situacaoPagamentoTaxa: ").append(toIndentedString(situacaoPagamentoTaxa)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ReferenciaExportadorEFabricanteDoProduto.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ReferenciaExportadorEFabricanteDoProduto.java index 91cffeb..93c68f8 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ReferenciaExportadorEFabricanteDoProduto.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ReferenciaExportadorEFabricanteDoProduto.java @@ -29,7 +29,7 @@ public class ReferenciaExportadorEFabricanteDoProduto { /** * Indica se é o exportador é igual ao fabricante do produto.
**/ - private Boolean exportadorIgualFabricante = false; + private Boolean exportadorIgualFabricante = null; @XmlElement(name="operadorEstrangeiro") @ApiModelProperty(value = "") diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ReferenciaFabricante.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ReferenciaFabricante.java index fe4bdf1..8d78a25 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ReferenciaFabricante.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ReferenciaFabricante.java @@ -36,7 +36,7 @@ public class ReferenciaFabricante { /** * Indica se é um fabricante conhecido.
**/ - private Boolean conhecido = false; + private Boolean conhecido = null; @XmlElement(name="cpfCnpj") @ApiModelProperty(example = "03141554900", value = "CPF / CNPJ do fabricante. Só deve ser informado se for um fabricante nacional (codigoPais = BR).
Tamanho: 11 (CPF) ou 14 (CNPJ)") diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/RetificacaoLpcoAceitarRequest.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/RetificacaoLpcoAceitarRequest.java index da4b78b..68db49e 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/RetificacaoLpcoAceitarRequest.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/RetificacaoLpcoAceitarRequest.java @@ -12,7 +12,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "RetificacaoLpcoAceitarRequest", propOrder = - { "justificativa", "decisaoJudicial" + { "justificativa", "decisaoJudicial", "motivoAnalise" }) @XmlRootElement(name="RetificacaoLpcoAceitarRequest") @@ -34,7 +34,14 @@ public class RetificacaoLpcoAceitarRequest { /** * Indicador de decisão judicial **/ - private Boolean decisaoJudicial = false; + private Boolean decisaoJudicial = null; + + @XmlElement(name="motivoAnalise") + @ApiModelProperty(example = "A01", value = "Código do motivo de análise. Pode ser informado somente se existirem motivos de análise cadastrados no Tabelas Comex. Caso contrário, deve ser nulo.
") + /** + * Código do motivo de análise. Pode ser informado somente se existirem motivos de análise cadastrados no Tabelas Comex. Caso contrário, deve ser nulo.
+ **/ + private String motivoAnalise = null; /** * Justificativa para a operação. Tamanho mínimo: 1<br>Tamanho máximo: 3900 * @return justificativa @@ -71,6 +78,24 @@ public RetificacaoLpcoAceitarRequest decisaoJudicial(Boolean decisaoJudicial) { return this; } + /** + * Código do motivo de análise. Pode ser informado somente se existirem motivos de análise cadastrados no Tabelas Comex. Caso contrário, deve ser nulo.<br> + * @return motivoAnalise + **/ + @JsonProperty("motivoAnalise") + public String getMotivoAnalise() { + return motivoAnalise; + } + + public void setMotivoAnalise(String motivoAnalise) { + this.motivoAnalise = motivoAnalise; + } + + public RetificacaoLpcoAceitarRequest motivoAnalise(String motivoAnalise) { + this.motivoAnalise = motivoAnalise; + return this; + } + @Override public String toString() { @@ -79,6 +104,7 @@ public String toString() { sb.append(" justificativa: ").append(toIndentedString(justificativa)).append("\n"); sb.append(" decisaoJudicial: ").append(toIndentedString(decisaoJudicial)).append("\n"); + sb.append(" motivoAnalise: ").append(toIndentedString(motivoAnalise)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/RetificacaoLpcoNegarRequest.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/RetificacaoLpcoNegarRequest.java index 3d04fda..4a2d090 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/RetificacaoLpcoNegarRequest.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/RetificacaoLpcoNegarRequest.java @@ -34,7 +34,7 @@ public class RetificacaoLpcoNegarRequest { /** * Indica se o pagamento de taxa não efetuado **/ - private Boolean faltaPagamentoTaxa = false; + private Boolean faltaPagamentoTaxa = null; @XmlElement(name="motivoAnalise") @ApiModelProperty(example = "A01", value = "Código do motivo de análise. Pode ser informado somente se existirem motivos de análise cadastrados no Tabelas Comex. Caso contrário, deve ser nulo.
") diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/RetificacaoLpcoResponse.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/RetificacaoLpcoResponse.java index ebd5f40..49f51aa 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/RetificacaoLpcoResponse.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/RetificacaoLpcoResponse.java @@ -16,7 +16,7 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "RetificacaoLpcoResponse", propOrder = - { "situacao", "dataRegistro", "justificativa", "listaAlteracoes" + { "situacao", "dataRegistro", "justificativa", "listaAlteracoes", "situacaoPagamentoTaxa" }) @XmlRootElement(name="RetificacaoLpcoResponse") @@ -52,6 +52,11 @@ public class RetificacaoLpcoResponse { * Lista de alterações realizadas na retificação **/ private List listaAlteracoes = new ArrayList<>(); + + @XmlElement(name="situacaoPagamentoTaxa") + @ApiModelProperty(value = "") + @Valid + private SituacaoPagamentoTaxa situacaoPagamentoTaxa = null; /** * Get situacao * @return situacao @@ -132,6 +137,24 @@ public RetificacaoLpcoResponse addListaAlteracoesItem(DadosAlteracoesLpco listaA return this; } + /** + * Get situacaoPagamentoTaxa + * @return situacaoPagamentoTaxa + **/ + @JsonProperty("situacaoPagamentoTaxa") + public SituacaoPagamentoTaxa getSituacaoPagamentoTaxa() { + return situacaoPagamentoTaxa; + } + + public void setSituacaoPagamentoTaxa(SituacaoPagamentoTaxa situacaoPagamentoTaxa) { + this.situacaoPagamentoTaxa = situacaoPagamentoTaxa; + } + + public RetificacaoLpcoResponse situacaoPagamentoTaxa(SituacaoPagamentoTaxa situacaoPagamentoTaxa) { + this.situacaoPagamentoTaxa = situacaoPagamentoTaxa; + return this; + } + @Override public String toString() { @@ -142,6 +165,7 @@ public String toString() { sb.append(" dataRegistro: ").append(toIndentedString(dataRegistro)).append("\n"); sb.append(" justificativa: ").append(toIndentedString(justificativa)).append("\n"); sb.append(" listaAlteracoes: ").append(toIndentedString(listaAlteracoes)).append("\n"); + sb.append(" situacaoPagamentoTaxa: ").append(toIndentedString(situacaoPagamentoTaxa)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/SituacaoLpco.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/SituacaoLpco.java index 0da479a..9689e7a 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/SituacaoLpco.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/SituacaoLpco.java @@ -96,7 +96,11 @@ public enum IdEnum { @XmlEnumValue("RECURSO_INDEFERIMENTO") @JsonProperty("RECURSO_INDEFERIMENTO") - RECURSO_INDEFERIMENTO(String.valueOf("RECURSO_INDEFERIMENTO")); + RECURSO_INDEFERIMENTO(String.valueOf("RECURSO_INDEFERIMENTO")), + + @XmlEnumValue("RECURSO_DIVERSO") + @JsonProperty("RECURSO_DIVERSO") + RECURSO_DIVERSO(String.valueOf("RECURSO_DIVERSO")); private String value; @@ -202,7 +206,11 @@ public enum DescricaoEnum { @XmlEnumValue("Recurso de indeferimento") @JsonProperty("Recurso de indeferimento") - RECURSO_DE_INDEFERIMENTO(String.valueOf("Recurso de indeferimento")); + RECURSO_DE_INDEFERIMENTO(String.valueOf("Recurso de indeferimento")), + + @XmlEnumValue("Recursos diversos") + @JsonProperty("Recursos diversos") + RECURSOS_DIVERSOS(String.valueOf("Recursos diversos")); private String value; diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/SituacaoPagamentoTaxa.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/SituacaoPagamentoTaxa.java new file mode 100644 index 0000000..a925617 --- /dev/null +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/SituacaoPagamentoTaxa.java @@ -0,0 +1,193 @@ +package br.gov.siscomex.portalunico.talpco.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 = "SituacaoPagamentoTaxa", propOrder = + { "id", "descricao" +}) + +@XmlRootElement(name="SituacaoPagamentoTaxa") +/** + * Situações possíveis em que se encontra o pagamento quando há taxa + **/ +@ApiModel(description="Situações possíveis em que se encontra o pagamento quando há taxa") +public class SituacaoPagamentoTaxa { + + +@XmlType(name="IdEnum") +@XmlEnum(String.class) +public enum IdEnum { + + @XmlEnumValue("SEM_ERRO") + @JsonProperty("SEM_ERRO") + SEM_ERRO(String.valueOf("SEM_ERRO")), + + @XmlEnumValue("ERRO_SEM_TENTATIVA") + @JsonProperty("ERRO_SEM_TENTATIVA") + ERRO_SEM_TENTATIVA(String.valueOf("ERRO_SEM_TENTATIVA")), + + @XmlEnumValue("ERRO_COM_TENTATIVA") + @JsonProperty("ERRO_COM_TENTATIVA") + ERRO_COM_TENTATIVA(String.valueOf("ERRO_COM_TENTATIVA")); + + + private String value; + + IdEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IdEnum fromValue(String v) { + for (IdEnum b : IdEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to IdEnum"); + } +} + + @XmlElement(name="id", required = true) + @ApiModelProperty(example = "SEM_ERRO", required = true, value = "Identificador da situação") + /** + * Identificador da situação + **/ + private IdEnum id = null; + + +@XmlType(name="DescricaoEnum") +@XmlEnum(String.class) +public enum DescricaoEnum { + + @XmlEnumValue("Sem erro") + @JsonProperty("Sem erro") + SEM_ERRO(String.valueOf("Sem erro")), + + @XmlEnumValue("Com erro sem nova tentativa") + @JsonProperty("Com erro sem nova tentativa") + COM_ERRO_SEM_NOVA_TENTATIVA(String.valueOf("Com erro sem nova tentativa")), + + @XmlEnumValue("Com erro e com nova tentativa") + @JsonProperty("Com erro e com nova tentativa") + COM_ERRO_E_COM_NOVA_TENTATIVA(String.valueOf("Com erro e com nova tentativa")); + + + private String value; + + DescricaoEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DescricaoEnum fromValue(String v) { + for (DescricaoEnum b : DescricaoEnum.values()) { + if (String.valueOf(b.value).equals(v)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + v + "' to DescricaoEnum"); + } +} + + @XmlElement(name="descricao") + @ApiModelProperty(example = "Sem erro", value = "Descrição da situação") + /** + * Descrição da situação + **/ + private DescricaoEnum descricao = null; + /** + * Identificador da situação + * @return id + **/ + @JsonProperty("id") + @NotNull + public String getId() { + if (id == null) { + return null; + } + return id.value(); + } + + public void setId(IdEnum id) { + this.id = id; + } + + public SituacaoPagamentoTaxa id(IdEnum id) { + this.id = id; + return this; + } + + /** + * Descrição da situação + * @return descricao + **/ + @JsonProperty("descricao") + public String getDescricao() { + if (descricao == null) { + return null; + } + return descricao.value(); + } + + public void setDescricao(DescricaoEnum descricao) { + this.descricao = descricao; + } + + public SituacaoPagamentoTaxa descricao(DescricaoEnum descricao) { + this.descricao = descricao; + return this; + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SituacaoPagamentoTaxa {\n"); + + sb.append(" id: ").append(toIndentedString(id)).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/talpco/model/SituacaoRetificacaoLpco.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/SituacaoRetificacaoLpco.java index 1fa3468..99d85ec 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/SituacaoRetificacaoLpco.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/SituacaoRetificacaoLpco.java @@ -32,7 +32,7 @@ public enum IdEnum { @XmlEnumValue("PARA_ANALISE") @JsonProperty("PARA_ANALISE") - ANALISE(String.valueOf("PARA_ANALISE")); + PARA_ANALISE(String.valueOf("PARA_ANALISE")); private String value; @@ -74,7 +74,7 @@ public enum DescricaoEnum { @XmlEnumValue("Para análise") @JsonProperty("Para análise") - LISE(String.valueOf("Para análise")); + PARA_AN_LISE(String.valueOf("Para análise")); private String value; diff --git a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ValidacaoCampoLpco.java b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ValidacaoCampoLpco.java index dc46834..b724678 100644 --- a/src/main/java/br/gov/siscomex/portalunico/talpco/model/ValidacaoCampoLpco.java +++ b/src/main/java/br/gov/siscomex/portalunico/talpco/model/ValidacaoCampoLpco.java @@ -30,14 +30,14 @@ public class ValidacaoCampoLpco { /** * Indica se o campo é obrigatório. Caso seja um atributo condicionado e esteja marcado como obrigatório, ele deverá ser preenchido se a condição for cumprida. **/ - private Boolean obrigatorio = false; + private Boolean obrigatorio = null; @XmlElement(name="permiteMultiplosValores", required = true) @ApiModelProperty(example = "true", required = true, value = "Indica se o campo permite mais do que um valor") /** * Indica se o campo permite mais do que um valor **/ - private Boolean permiteMultiplosValores = false; + private Boolean permiteMultiplosValores = null; @XmlElement(name="mascara") @ApiModelProperty(example = "A9999", value = "Máscara de restrição de entrada de dados do campo. Definições: 9: dígito numérico; A: dígito alfanumérico; *: dígito numérico ou alfanumérico") diff --git a/src/main/java/br/gov/siscomex/portalunico/ttce/api/ServiosParaOImportadorApi.java b/src/main/java/br/gov/siscomex/portalunico/ttce/api/ServiosParaOImportadorApi.java index b421613..6c2f9ff 100644 --- a/src/main/java/br/gov/siscomex/portalunico/ttce/api/ServiosParaOImportadorApi.java +++ b/src/main/java/br/gov/siscomex/portalunico/ttce/api/ServiosParaOImportadorApi.java @@ -33,7 +33,7 @@ public interface ServiosParaOImportadorApi { @Path("/ext/tratamentos-tributarios/importacao/") @Produces({ "application/zip" }) @ApiOperation(value = "Serviço que retorna um arquivo para auxiliar o importador a preencher a lista de 'tributos' no JSON do serviço para inclusão de itens na DUIMP. Este arquivo é gerado diariamente com os tratamentos tributários vigentes e contem os fundamentos legais normais que contenham atributos adicionais e todos os fundamentos legais opcionais (com ou sem atributos adicionais). O retorno deste serviço é um arquivo ZIP com um arquivo JSON.", notes = "Serviço que retorna um arquivo para auxiliar o importador a preencher a lista de 'tributos' no JSON do serviço para inclusão de itens na DUIMP. Este arquivo é gerado diariamente com os tratamentos tributários vigentes e contem os fundamentos legais normais que contenham atributos adicionais e todos os fundamentos legais opcionais (com ou sem atributos adicionais). O retorno deste serviço é um arquivo ZIP com um arquivo JSON.", tags={ "Serviços para o importador" }) - @ApiResponses(value = { + @ApiResponses(value = { @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DadosTratamentosTributariosImportacaoDTO.class), @ApiResponse(code = 400, message = "Requisição mal formatada"), @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"),