/** * Método do 2º step-method * * @param valorFaturamento * @param motivo * @param usuario * @return o faturamento do prestador a ser salvo * @throws ValidateException */ public AbstractFaturamento criarFaturamentoComAlteracao( AbstractFaturamento faturamento, BigDecimal valorFaturamentoAcres, BigDecimal valorFaturamentoDecres, String motivo, UsuarioInterface usuario) throws ValidateException { AlteracaoFaturamento alteracao = new AlteracaoFaturamento(); if (valorFaturamentoAcres == null) { valorFaturamentoAcres = BigDecimal.ZERO; } if (valorFaturamentoDecres == null) { valorFaturamentoDecres = BigDecimal.ZERO; } if (valorFaturamentoAcres.compareTo(BigDecimal.ZERO) == 0 && valorFaturamentoDecres.compareTo(BigDecimal.ZERO) == 0) { throw new RuntimeException("Caro usuário informe um valor."); } alteracao.setValorIncremento(valorFaturamentoAcres); alteracao.setValorDecremento(valorFaturamentoDecres); alteracao.setStatus(AlteracaoFaturamento.STATUS_ATIVO); alteracao.setData(new Date()); alteracao.setMotivo(motivo); alteracao.setUsuario(usuario); if (faturamento == null) { if (tipo == FATURAMENTO_NORMAL) faturamento = new Faturamento(); else faturamento = new FaturamentoPassivo(); faturamento.setValorBruto(BigDecimal.ZERO); faturamento.setValorLiquido(BigDecimal.ZERO); faturamento.setPrestador(prestador); faturamento.setNome(prestador.getPessoaJuridica().getFantasia()); faturamento.setInformacaoFinanceira(prestador.getInformacaoFinanceira()); faturamento.setCategoria(prestador.getTipoPrestador()); faturamento.setGeradoPosteriormente(true); faturamento.setMotivoGeracaoPosterior(motivo); faturamento.setDataGeracao(new Date()); faturamento.setCompetencia(Utils.gerarCompetencia(competencia)); alteracao.setFaturamento(faturamento); faturamento.getAlteracoesFaturamento().add(alteracao); } else { alteracao.setFaturamento(faturamento); faturamento.getAlteracoesFaturamento().add(alteracao); } faturamento.setValorBruto(faturamento.getValorBruto().add(alteracao.getSaldo())); if (faturamento.getValorBruto().compareTo(BigDecimal.ZERO) < 0) { throw new RuntimeException( "Caro usuario, o saldo das alterações não pode deixar o valor do faturamento zerado."); } faturamento.getGuiasFaturaveis().size(); return faturamento; }
private static void processarArquivo() throws Exception { StringBuffer buffer = new StringBuffer(); buffer.append("PRESTADOR;GUIA;TIPO DE GUIA;DATA ATENDIMENTO;SITUACAO;VALOR"); buffer.append(NOVA_LINHA); for (Prestador prestador : mapaGuiasPorPrestador.keySet()) { for (GuiaSimples guia : mapaGuiasPorPrestador.get(prestador)) { buffer.append(prestador.getPessoaJuridica().getFantasia()); buffer.append(NOVO_CAMPO); buffer.append(guia.getAutorizacao()); buffer.append(NOVO_CAMPO); buffer.append(guia.getTipo()); buffer.append(NOVO_CAMPO); buffer.append(Utils.format(guia.getDataAtendimento())); buffer.append(NOVO_CAMPO); buffer.append(guia.getSituacao().getDescricao()); buffer.append(NOVO_CAMPO); buffer.append(guia.getValorTotal()); buffer.append(NOVA_LINHA); } } Utils.criarArquivo("c:\\Guias_Por_Prestador.csv", "", buffer); }