public boolean runWithEntity(IEntity<?> entity) { super.beforeRun(); boolean result = false; /* Verifica se a entidade é compatível */ /* Verifica se a entidade passada eh um DocumentoCobranca ou pertence eh descendente */ if (ClassUtils.isAssignable(entity.getInfo().getType(), Contrato.class)) { Contrato oContrato = (Contrato) entity.getObject(); this.cpfCnpj = oContrato.getPessoa().getDocumento(); /* Alguns dados poderao ser inicializados aqui */ this.categoriaContratoId = IDAO.ENTITY_UNSAVED; /* Define as datas de vencimento e recebimento amplas */ Calendar dataInicial = CalendarUtils.getCalendar(1900, Calendar.JANUARY, 1); Calendar dataAtual = CalendarUtils.getCalendar(); this.dataVencimentoInicial = (Calendar) dataInicial.clone(); this.dataVencimentoFinal = (Calendar) dataAtual.clone(); this.dataRecebimentoInicial = (Calendar) dataInicial.clone(); this.dataRecebimentoFinal = (Calendar) dataAtual.clone(); /* Não executa nada, pois o processo gera um PDF e é importante * que o operador defina as propriedades do relatório antes de gerar o PDF */ result = true; } else if (ClassUtils.isAssignable(entity.getInfo().getType(), Pessoa.class)) { Pessoa oPessoa = (Pessoa) entity.getObject(); this.cpfCnpj = oPessoa.getDocumento(); /* Alguns dados poderao ser inicializados aqui */ this.categoriaContratoId = IDAO.ENTITY_UNSAVED; /* Define as datas de vencimento e recebimento amplas */ Calendar dataInicial = CalendarUtils.getCalendar(1900, Calendar.JANUARY, 1); Calendar dataAtual = CalendarUtils.getCalendar(); this.dataVencimentoInicial = (Calendar) dataInicial.clone(); this.dataVencimentoFinal = (Calendar) dataAtual.clone(); this.dataRecebimentoInicial = (Calendar) dataInicial.clone(); this.dataRecebimentoFinal = (Calendar) dataAtual.clone(); /* Não executa nada, pois o processo gera um PDF e é importante * que o operador defina as propriedades do relatório antes de gerar o PDF */ result = true; } else { this.getMessageList() .add( new BusinessMessage( IRunnableEntityProcess.class, "ENTITY_NOT_COMPATIBLE", PROCESS_NAME, entity.getInfo().getType().getName())); } return result; }
@Override public void start() throws ProcessException { super.start(); // dataLancamentoInicial.set(Calendar.DATE, // dataLancamentoInicial.getActualMinimum(Calendar.DATE)); dataVencimentoInicial.set(Calendar.DATE, dataVencimentoInicial.getActualMinimum(Calendar.DATE)); dataRecebimentoInicial.set( Calendar.DATE, dataRecebimentoInicial.getActualMinimum(Calendar.DATE)); }