public void execute(ServiceData serviceData) throws ServiceException { log.debug("::Iniciando execução do servico CancelarDocumentoPagamentoService"); try { log.debug("Preparando os argumentos"); IEntity<? extends DocumentoPagamento> inDocumento = (IEntity<? extends DocumentoPagamento>) serviceData.getArgumentList().getProperty(IN_DOCUMENTO); Calendar inDataCancelamento = (Calendar) serviceData.getArgumentList().getProperty(IN_DATA_CANCELAMENTO); IGerenciadorDocumentoPagamento gerenciador = this.retrieveGerenciadorPorDocumento((DocumentoPagamento) inDocumento.getObject()); log.debug("Executando o método cancelarDocumento avulso do gerenciador"); gerenciador.cancelarDocumento(inDocumento, inDataCancelamento, serviceData); log.debug("Adicionando a mensagem de sucesso: cancelarDocumento"); this.addInfoMessage(serviceData, "CANCELAR_DOCUMENTO_SUCESSO", inDocumento.toString()); } catch (BusinessException e) { log.fatal(e.getErrorList()); /* O Serviço não precisa adicionar mensagem local. O Manager já indica qual srv falhou e os parâmetros. */ throw new ServiceException(e.getErrorList()); } catch (Exception e) { log.fatal(e.getMessage()); /* Indica que o serviço falhou por causa de uma exceção do hibernate. */ throw new ServiceException(MessageList.createSingleInternalError(e)); } }
@Test public void quitar() throws Exception { /* * Cria os parâmetros necessários para o serviço. */ Conta conta = UtilsCrud.objectRetrieve(this.serviceManager, Conta.class, 1l, null); Contrato contrato = UtilsCrud.objectRetrieve(this.serviceManager, Contrato.class, 1l, null); Operacao operacao = UtilsCrud.objectRetrieve(this.serviceManager, Operacao.class, 1l, null); CentroCusto centroCusto = UtilsCrud.objectRetrieve(this.serviceManager, CentroCusto.class, 1l, null); ItemCusto itemCusto = UtilsCrud.objectRetrieve(this.serviceManager, ItemCusto.class, 1l, null); ClassificacaoContabil classificacaoContabil = UtilsCrud.objectRetrieve(this.serviceManager, ClassificacaoContabil.class, 1l, null); Calendar data = CalendarUtils.getCalendar(2007, Calendar.SEPTEMBER, 18); BigDecimal valor = DecimalUtils.TEN; Lancamento lancamento = UtilsLancamento.inserir( this.serviceManager, conta, contrato, data, data, "", operacao, Transacao.CREDITO, centroCusto, classificacaoContabil, itemCusto, valor, null, false, null); /* * Executa o serviço. */ ServiceData sd = new ServiceData(QuitarLancamentoService.SERVICE_NAME, null); sd.getArgumentList().setProperty(QuitarLancamentoService.IN_CONTA, conta); sd.getArgumentList().setProperty(QuitarLancamentoService.IN_DATA, data); sd.getArgumentList().setProperty(QuitarLancamentoService.IN_LANCAMENTO, lancamento); sd.getArgumentList().setProperty(QuitarLancamentoService.IN_VALOR, valor); this.serviceManager.execute(sd); /* * Recarrega o lançamento para atualização. */ lancamento = UtilsCrud.objectRetrieve(this.serviceManager, Lancamento.class, lancamento.getId(), null); lancamentoMovimento = (LancamentoMovimento) sd.getFirstOutput(); assertEquals(conta.toString(), lancamentoMovimento.getConta().toString()); assertEquals(data, lancamentoMovimento.getData()); assertEquals(lancamento.toString(), lancamentoMovimento.getLancamento().toString()); assertEquals( LancamentoMovimentoCategoria.QUITADO, lancamentoMovimento.getLancamentoMovimentoCategoria()); assertEquals(valor, lancamentoMovimento.getValor()); assertEquals(DecimalUtils.getBigDecimal(0), lancamento.getSaldo()); }
@Test public void testExecute() throws BusinessException { // String documento = "04175308000129"; String documento = ""; Calendar dataInicial = CalendarUtils.getCalendar(2009, Calendar.MARCH, 1); Calendar dataFinal = CalendarUtils.getCalendar(2009, Calendar.MARCH, 31); // List<ItemCusto> itemCustoList = UtilsCrud.objectList(this.serviceManager, ItemCusto.class, // "nome like 'Material%'", null); Situacao situacao = Situacao.TODOS; ServiceData sd = new ServiceData(ListarPosicaoContratoService.SERVICE_NAME, null); sd.getArgumentList().setProperty(ListarPosicaoContratoService.IN_DOCUMENTO_OPT, documento); sd.getArgumentList().setProperty(ListarPosicaoContratoService.IN_CONTA_LIST_OPT, new Long[0]); // sd.getArgumentList().setProperty(ListarPosicaoContratoService.IN_ITEM_CUSTO_LIST_OPT, // itemCustoList); sd.getArgumentList().setProperty(ListarPosicaoContratoService.IN_DATA_INICIAL_OPT, dataInicial); sd.getArgumentList().setProperty(ListarPosicaoContratoService.IN_DATA_FINAL_OPT, dataFinal); sd.getArgumentList().setProperty(ListarPosicaoContratoService.IN_SITUACAO_OPT, situacao); this.serviceManager.execute(sd); List<Lancamento> list = sd.getFirstOutput(); assertTrue(list.size() > 0); System.out.printf("%-6s ", "ID"); System.out.printf("%-30s ", "Nome"); System.out.printf("%-30s ", "Descrição"); System.out.printf("%10s ", "Valor"); System.out.println(); // System.out.println("------ ------------------------------ "); for (Lancamento lancamento : list) { System.out.printf("%6s ", lancamento.getId()); System.out.printf("%-30s ", lancamento.getContrato().getPessoa().getNome()); System.out.printf("%-30s ", lancamento.getDescricao()); System.out.printf("%10.2f ", lancamento.getSaldo()); System.out.println(); // System.out.println( // lancamento.getId() + " | " + // CalendarUtils.formatDate(lancamento.getData()) + " | " + // lancamento.getLancamentoItens().get(0).getItemCusto()); } }
public void execute() { log.debug("Iniciando RelatorioRecebimentoProcess..."); try { ServiceData sd = new ServiceData(RelatorioRecebimentoService.SERVICE_NAME, null); sd.getArgumentList() .setProperty(RelatorioRecebimentoService.IN_ITEM_CUSTO_ID_LIST, this.itemCustoIdList); sd.getArgumentList() .setProperty(RelatorioRecebimentoService.IN_ITEM_CUSTO_NOT, this.itemCustoNot); sd.getArgumentList() .setProperty( RelatorioRecebimentoService.IN_ESCRITORIO_CONTABIL_ID_LIST, this.escritorioContabilIdList); sd.getArgumentList() .setProperty( RelatorioRecebimentoService.IN_CATEGORIA_CONTRATO_ID, this.categoriaContratoId); sd.getArgumentList() .setProperty(RelatorioRecebimentoService.IN_TIPO_CONTRATO, this.tipoContrato); // sd.getArgumentList().setProperty(RelatorioRecebimentoService.IN_DATA_LANCAMENTO_INICIAL, // this.dataLancamentoInicial); // sd.getArgumentList().setProperty(RelatorioRecebimentoService.IN_DATA_LANCAMENTO_FINAL, // this.dataLancamentoFinal); sd.getArgumentList() .setProperty( RelatorioRecebimentoService.IN_DATA_VENCIMENTO_INICIAL, this.dataVencimentoInicial); sd.getArgumentList() .setProperty( RelatorioRecebimentoService.IN_DATA_VENCIMENTO_FINAL, this.dataVencimentoFinal); sd.getArgumentList() .setProperty( RelatorioRecebimentoService.IN_DATA_RECEBIMENTO_INICIAL, this.dataRecebimentoInicial); sd.getArgumentList() .setProperty( RelatorioRecebimentoService.IN_DATA_RECEBIMENTO_FINAL, this.dataRecebimentoFinal); sd.getArgumentList() .setProperty( RelatorioRecebimentoService.IN_QUANTIDADE_ITENS_INICIAL, this.quantidadeItensInicial); sd.getArgumentList() .setProperty( RelatorioRecebimentoService.IN_QUANTIDADE_ITENS_FINAL, this.quantidadeItensFinal); sd.getArgumentList().setProperty(RelatorioRecebimentoService.IN_CPF_CNPJ, this.cpfCnpj); sd.getArgumentList() .setProperty(RelatorioRecebimentoService.IN_MUNICIPIO_ID_OPT, this.municipioId); sd.getArgumentList() .setProperty(RelatorioRecebimentoService.IN_NOT_MUNICIPIO_OPT, this.notMunicipio); sd.getArgumentList().setProperty(RelatorioRecebimentoService.IN_CONTA_ID_OPT, this.contaId); sd.getArgumentList() .setProperty( RelatorioRecebimentoService.IN_CONTRATO_REPRESENTANTE_ID_OPT, this.contratoRepresentanteId); sd.getArgumentList() .setProperty(RelatorioRecebimentoService.IN_OUTPUT_STREAM, this.outputStream); sd.getArgumentList() .setProperty( RelatorioRecebimentoService.IN_APPLICATION_USER_OPT, this.getUserSession().getUser().getObject()); this.getProcessManager().getServiceManager().execute(sd); sd.getFirstOutput(); } catch (BusinessException e) { /* Armazenando a lista de erros */ this.getMessageList().addAll(e.getErrorList()); } }
@SuppressWarnings("unchecked") public void execute(ServiceData serviceData) throws ServiceException { log.debug("::Iniciando a execução do serviço ListarLancamentoMovimentoService"); try { log.debug("Preparando os argumentos"); /* Obrigatórios */ String inPropriedadeData = (String) serviceData.getArgumentList().getProperty(IN_PROPRIEDADE_DATA); int inOrdem = (Integer) serviceData.getArgumentList().getProperty(IN_ORDEM); /* Opcionais */ Long[] inContasId = (serviceData.getArgumentList().containsProperty(IN_CONTAS_ID_OPT) ? (Long[]) serviceData.getArgumentList().getProperty(IN_CONTAS_ID_OPT) : null); Calendar inDataInicial = (serviceData.getArgumentList().containsProperty(IN_DATA_INICIAL_OPT) ? (Calendar) serviceData.getArgumentList().getProperty(IN_DATA_INICIAL_OPT) : CalendarUtils.getCalendarBaseDate()); Calendar inDataFinal = (serviceData.getArgumentList().containsProperty(IN_DATA_FINAL_OPT) ? (Calendar) serviceData.getArgumentList().getProperty(IN_DATA_FINAL_OPT) : null); Long inLancamentoId = (serviceData.getArgumentList().containsProperty(IN_LANCAMENTO_ID_OPT) ? (Long) serviceData.getArgumentList().getProperty(IN_LANCAMENTO_ID_OPT) : null); Long inDocumentoId = (serviceData.getArgumentList().containsProperty(IN_DOCUMENTO_ID_OPT) ? (Long) serviceData.getArgumentList().getProperty(IN_DOCUMENTO_ID_OPT) : null); Long inContratoId = (serviceData.getArgumentList().containsProperty(IN_CONTRATO_ID_OPT) ? (Long) serviceData.getArgumentList().getProperty(IN_CONTRATO_ID_OPT) : null); Long inItemCustoId = (serviceData.getArgumentList().containsProperty(IN_ITEM_CUSTO_ID_OPT) ? (Long) serviceData.getArgumentList().getProperty(IN_ITEM_CUSTO_ID_OPT) : null); Long inDocumentoCobrancaCategoriaId = (serviceData.getArgumentList().containsProperty(IN_DOCUMENTO_COBRANCA_CATEGORIA_ID_OPT) ? (Long) serviceData.getArgumentList().getProperty(IN_DOCUMENTO_COBRANCA_CATEGORIA_ID_OPT) : null); String inCpfCnpj = (serviceData.getArgumentList().containsProperty(IN_CPF_CNPJ_OPT) ? (String) serviceData.getArgumentList().getProperty(IN_CPF_CNPJ_OPT) : null); LancamentoMovimentoCategoria inTipoOperacao = (serviceData.getArgumentList().containsProperty(IN_TIPO_OPERACAO_OPT) ? (LancamentoMovimentoCategoria) serviceData.getArgumentList().getProperty(IN_TIPO_OPERACAO_OPT) : null); Transacao inTransacao = (serviceData.getArgumentList().containsProperty(IN_TIPO_TRANSACAO_OPT) ? (Transacao) serviceData.getArgumentList().getProperty(IN_TIPO_TRANSACAO_OPT) : null); log.debug("Buscando registros"); /* Montando a clausula SELECT */ String sqlSelect = QueryLancamentoMovimento.SELECT; sqlSelect += " left outer join movimento.lancamento.lancamentos as lancamentos "; /* Montando a clausula WHERE */ String sqlWhere = " where (true = true)"; if (inContasId != null) { String listaContas = ""; for (int i = 0; i < inContasId.length; i++) { if (i > 0) listaContas += ", "; listaContas += inContasId[i].toString(); } sqlWhere += " and (lancamentoMovimento." + LancamentoMovimento.CONTA + " in (" + listaContas + "))"; } if (inLancamentoId != null) sqlWhere += " and (lancamentoMovimento." + LancamentoMovimento.LANCAMENTO_MOVIMENTO_CATEGORIA + " = " + inLancamentoId + ")"; if (inDocumentoId != null) sqlWhere += " and (lancamentoMovimento." + LancamentoMovimento.LANCAMENTO_MOVIMENTO_CATEGORIA + "." + Lancamento.DOCUMENTO_PAGAMENTO + " = " + Long.toString(inDocumentoId) + ")"; if (inContratoId != null) sqlWhere += " and (lancamentomovimento." + LancamentoMovimento.LANCAMENTO_MOVIMENTO_CATEGORIA + "." + Lancamento.CONTRATO + " = " + Long.toString(inContratoId) + ")"; if (inItemCustoId != null) sqlWhere += " and (lancamentos." + LancamentoItem.ITEM_CUSTO + " = " + Long.toString(inItemCustoId) + ")"; if (inDocumentoCobrancaCategoriaId != null && inDocumentoCobrancaCategoriaId != 0) sqlWhere += " and (lancamentoMovimento." + LancamentoMovimento.LANCAMENTO_MOVIMENTO_CATEGORIA + "." + Lancamento.DOCUMENTO_PAGAMENTO + "." + DocumentoCobranca.DOCUMENTO_COBRANCA_CATEGORIA + " = " + Long.toString(inDocumentoCobrancaCategoriaId) + ")"; if (inCpfCnpj != null) sqlWhere += " and (lancamentoMovimento." + LancamentoMovimento.LANCAMENTO_MOVIMENTO_CATEGORIA + "." + Lancamento.CONTRATO + "." + Contrato.PESSOA + "." + Pessoa.DOCUMENTO + "='" + inCpfCnpj + "')"; if (inDataFinal != null) sqlWhere += " and (lancamentoMovimento." + inPropriedadeData + " between '" + CalendarUtils.formatToSQLDate(inDataInicial) + "' and '" + CalendarUtils.formatToSQLDate(inDataFinal) + "')"; if (inTransacao == Transacao.CREDITO) sqlWhere += " and (lancamentoMovimento.valor>=0)"; else if (inTransacao == Transacao.DEBITO) sqlWhere += " and (lancamentoMovimento.valor<0)"; /* * Atribui as condições do filtro da Operação * Para cada Tipo de Operação, há duas operações a serem filtradas. * Exemplo: Lançar e Extorno de Lançado. */ if (inTipoOperacao == LancamentoMovimentoCategoria.QUITADO) { sqlWhere += " and ((lancamentoMovimento." + LancamentoMovimento.LANCAMENTO_MOVIMENTO_CATEGORIA + " = " + LancamentoMovimentoCategoria.QUITADO + ") or (lancamentoMovimento." + LancamentoMovimento.LANCAMENTO_MOVIMENTO_CATEGORIA + " = " + LancamentoMovimentoCategoria.QUITADO_ESTORNADO + "))"; } if (inTipoOperacao == LancamentoMovimentoCategoria.CANCELADO) { sqlWhere += " and ((lancamentoMovimento." + LancamentoMovimento.LANCAMENTO_MOVIMENTO_CATEGORIA + " = " + LancamentoMovimentoCategoria.CANCELADO + ") or (lancamentoMovimento." + LancamentoMovimento.LANCAMENTO_MOVIMENTO_CATEGORIA + " = " + LancamentoMovimentoCategoria.CANCELADO_ESTORNADO + "))"; } /* Montando a clausula ORDER */ String sqlOrder = " order by"; if (inOrdem == ORDEM_DATA) { sqlOrder += " lancamentoMovimento." + inPropriedadeData + ", lancamentoMovimento." + IDAO.PROPERTY_ID_NAME; } if (inOrdem == ORDEM_LANCAMENTO) { sqlOrder += " lancamentoMovimento." + LancamentoMovimento.LANCAMENTO_MOVIMENTO_CATEGORIA + ", lancamentoMovimento." + inPropriedadeData + ", lancamentoMovimento." + IDAO.PROPERTY_ID_NAME; } if (inOrdem == ORDEM_NOME) { sqlOrder += " lancametoMovimento." + LancamentoMovimento.LANCAMENTO_MOVIMENTO_CATEGORIA + "." + Lancamento.CONTRATO + "." + Contrato.PESSOA + "." + Pessoa.NOME + ", lancamentoMovimento." + LancamentoMovimento.LANCAMENTO + ", lancamentoMovimento." + inPropriedadeData + ", lancamentoMovimento." + IDAO.PROPERTY_ID_NAME; } /* Executando serviço da query */ String sql = sqlSelect.concat(sqlWhere).concat(sqlOrder); Query query = serviceData.getCurrentSession().createQuery(sql); List<QueryLancamentoMovimento> beanList = query.list(); log.debug("::Fim da execução do serviço"); serviceData.getOutputData().add(beanList); } catch (BusinessException e) { log.fatal(e.getErrorList()); /* O Serviço não precisa adicionar mensagem local. O Manager já indica qual srv falhou e os parâmetros. */ throw new ServiceException(e.getErrorList()); } catch (Exception e) { log.fatal(e.getMessage()); /* Indica que o serviço falhou por causa de uma exceção do hibernate. */ throw new ServiceException(MessageList.createSingleInternalError(e)); } }