public Boolean validate() throws ValidateException { if ((this.getIdInss() != null)) { Inss imposto = ImplDAO.getFromBase(this); if (!(Utils.compararCompetencia(imposto.getCompetencia(), this.getCompetencia()) == 0)) throw new ValidateException("Não é possível alterar a competência de um imposto."); if (Utils.compararCompetencia(this.getCompetencia(), new Date()) <= 0) throw new ValidateException("Não é possível alterar os valores deste imposto."); } else { SearchAgent sa = new SearchAgent(); sa.addParameter(new Equals("competencia", this.getCompetencia())); List<Inss> impostos = sa.list(Inss.class); if (!impostos.isEmpty()) throw new ValidateException("Já existe um imposto cadastrado para esta competência."); } return super.validate(); }
/** * Método do 1º step-method * * @param comp * @param prest * @throws ValidateException */ public AbstractFaturamento informarDados(String comp, Prestador prest, Integer tipoFaturamento) throws ValidateException { SearchAgent sa = new SearchAgent(); sa.addParameter(new Equals("competencia", Utils.gerarCompetencia(comp))); List<AbstractFaturamento> faturamentos = sa.list(getKlass(tipoFaturamento)); if (faturamentos.isEmpty()) { throw new ValidateException("O faturamento desta competência ainda não foi processado"); } sa.addParameter(new Equals("status", Constantes.FATURAMENTO_ABERTO)); faturamentos = sa.list(Faturamento.class); if (faturamentos.isEmpty()) { throw new ValidateException("O faturamento desta competência não está na situação Aberto"); } AbstractFaturamento faturamento = null; if (tipoFaturamento == FATURAMENTO_NORMAL) faturamento = prest.getFaturamento(Utils.gerarCompetencia(comp)); if (tipoFaturamento == FATURAMENTO_PASSIVO) faturamento = prest.getFaturamentoPassivo(Utils.gerarCompetencia(comp)); boolean isPrestadorTemFaturamento = faturamento == null ? false : true; if (isPrestadorTemFaturamento) { if (faturamento.getStatus() == Constantes.FATURAMENTO_FECHADO) { throw new ValidateException( "O faturamento do Prestador desta competência não está na situação Aberto"); } } competencia = comp; prestador = prest; tipo = tipoFaturamento; return faturamento; }
/** * Método responsável pela busca das GRGs no fluxos de relatórios de GRGs e * deferimento/indeferimento de GRGs. * * @author Luciano Rocha * @since 23/11/2012 * @param autorizacao * @param dataInicial * @param dataFinal * @param prestador * @param situacao * @param usuario * @return * @throws ValidateException */ @SuppressWarnings("unchecked") public static List<GuiaRecursoGlosa> buscaGuiasRecursoGlosas( String autorizacao, String dataInicial, String dataFinal, Prestador prestador, String situacao, UsuarioInterface usuario) throws ValidateException { SearchAgent sa = new SearchAgent(); Boolean pesquisouAutorizacao = null; Date dataInicialFormatada = Utils.parse(dataInicial); Date dataFinalFormatada = new Date(); if (dataFinal != null) { dataFinalFormatada = Utils.parse(dataFinal); } if (!Utils.isStringVazia(autorizacao)) { sa.addParameter(new Equals("autorizacao", autorizacao.trim())); pesquisouAutorizacao = true; } else if (prestador != null && !usuario.isPrestador()) { sa.addParameter(new Equals("guiaOrigem.prestador", prestador)); pesquisouAutorizacao = false; } if (dataInicial != null) { sa.addParameter(new GreaterEquals("situacao.dataSituacao", dataInicialFormatada)); sa.addParameter(new LowerEquals("situacao.dataSituacao", dataFinalFormatada)); if (pesquisouAutorizacao == null) { validaDatas(dataInicialFormatada, dataFinalFormatada); validaLimiteIntervaloDeDatas(dataInicial, dataFinal); } } if (pesquisouAutorizacao == null) { sa.addParameter(new Equals("situacao.descricao", situacao)); } List<GuiaRecursoGlosa> recursos = sa.list(GuiaRecursoGlosa.class); validateGuiasCampos(recursos, dataInicialFormatada, dataFinalFormatada, pesquisouAutorizacao); if (pesquisouAutorizacao == null && prestador != null) { sa.addParameter(new Equals("guiaOrigem.prestador", prestador)); } if (recursos == null || recursos.size() < 1) { sa.clearAllParameters(); sa.addParameter(new Equals("situacao.descricao", situacao)); } recursos = sa.list(GuiaRecursoGlosa.class); return recursos; }