bug#12779

dev:wilian
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@87590 d1611594-4594-4d17-8e1d-87c2c4800839
master
wilian 2018-12-03 13:23:09 +00:00
parent 68d8f853ed
commit 76a75aa751
3 changed files with 36 additions and 11 deletions

View File

@ -1,12 +1,20 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.job;
import java.util.Calendar;
import java.util.Date;
import org.apache.log4j.Logger;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.context.ApplicationContext;
import com.rjconsultores.ventaboletos.constantes.Constantes;
import com.rjconsultores.ventaboletos.entidad.Constante;
import com.rjconsultores.ventaboletos.service.CalculoComissaoService;
import com.rjconsultores.ventaboletos.service.ConstanteService;
import com.rjconsultores.ventaboletos.service.CtrlFechamentoCaixaService;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
public class GeneracionRetencaoDiariaComissaoJob implements Job {
@ -14,14 +22,35 @@ public class GeneracionRetencaoDiariaComissaoJob implements Job {
private static Logger log = Logger.getLogger(GeneracionRetencaoDiariaComissaoJob.class);
private CalculoComissaoService calculoComissaoService;
private CtrlFechamentoCaixaService ctrlFechamentoCaixaService;
private ConstanteService constanteService;
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
log.info("Inicio Job retencao diaria da comissao");
ApplicationContext appContext = AppContext.getApplicationContext();
calculoComissaoService = (CalculoComissaoService) appContext.getBean("calculoComissaoService");
calculoComissaoService.retencaoAutomaticaComissao();
ctrlFechamentoCaixaService = (CtrlFechamentoCaixaService) appContext.getBean("ctrlFechamentoCaixaService");
constanteService = (ConstanteService) appContext.getBean("constanteService");
Constante reterComissao = constanteService.buscarPorNomeConstante(Constantes.RETER_COMISSAO_ADM_FECHAMENTO_CAIXA);
if(reterComissao == null || !"1".equals(reterComissao.getValorconstante()) ) {
log.info("Sistema nao configurado para reter a comissao diariamente apos o fechamento do caixa");
return;
}
Calendar cDataRetencao = Calendar.getInstance();
cDataRetencao.add(Calendar.DAY_OF_MONTH, -1);
Date feccorte = cDataRetencao.getTime();
log.info("Verificando fechamento dos caixas, data: " + DateUtil.getStringDate(feccorte, "dd/MM/yyyy"));
if(!ctrlFechamentoCaixaService.autorizarExecutarRotinaRetencao(feccorte)) {
log.info("Fechamento dos caixas não disponiveis para retencao da comissao");
return;
}
log.info("fechamento dos caixas concluido, executar rotina de retencao da comissao");
log.info("Inicio Job retencao diaria da comissao");
calculoComissaoService.retencaoAutomaticaComissao(feccorte);
log.info("Fim Job retencao diaria da comissao");
}

View File

@ -39,7 +39,6 @@ public class MyAppInit implements org.zkoss.zk.ui.util.WebAppInit {
private static final String HORA_GENERACION_CORRIDA = "HORA_GENERACION_CORRIDA";
private static final String HORA_EXEC_CONFERENCIA_MOVIMENTO = "HORA_EXEC_CONFERENCIA_MOVIMENTO";
private static final String HORA_EXEC_MONITORAMENTO_REDUCAOZ = "HORA_EXEC_MONITORAMENTO_REDUCAOZ";
private static final String HORA_EXEC_RETENCAO_DIARIA_COMISSAO = "HORA_EXEC_RETENCAO_DIARIA_COMISSAO";
private static Logger log = Logger.getLogger(MyAppInit.class);
SchedulerFactory schedFact = new StdSchedulerFactory();
Scheduler sched;
@ -284,16 +283,12 @@ public class MyAppInit implements org.zkoss.zk.ui.util.WebAppInit {
*/
private void jobGeneracionRetencaoDiariaComissao() {
try {
Integer[] hora = horaExecucion(HORA_EXEC_RETENCAO_DIARIA_COMISSAO);
if(hora ==null){
log.info("Não existe hora cadastrada para o job GeneracionRetencaoDiariaComissaoJob. Verificar a constante HORA_EXEC_RETENCAO_DIARIA_COMISSAO");
return;
}
log.info("Início cadastro do job GeneracionRetencaoDiariaComissaoJob");
sched = schedFact.getScheduler();
//Trigger trigger = TriggerUtils.makeMinutelyTrigger("generacionRetencaoDiariaComissaoTrigger", 5, 5);
Trigger trigger = TriggerUtils.makeHourlyTrigger("generacionRetencaoDiariaComissaoTrigger");
JobDetail jobDetail = new JobDetail("GeneracionRetencaoDiariaComissaoJob", null, GeneracionRetencaoDiariaComissaoJob.class);
Trigger trigger = TriggerUtils.makeDailyTrigger("generacionRetencaoDiariaComissaoTrigger", hora[0], hora[1]);
log.info("GeneracionRetencaoDiariaComissaoJob hora execucão: " + hora[0] + ":" + hora[1] );
log.info("GeneracionRetencaoDiariaComissaoJob em execucão a cada hora");
trigger.setName("generacionRetencaoDiariaComissaoTrigger");
JobDetail job = sched.getJobDetail(jobDetail.getName(), jobDetail.getGroup());
log.info("Job=" + jobDetail.getName() + "." + jobDetail.getGroup());

View File

@ -473,6 +473,7 @@
<value>com.rjconsultores.ventaboletos.entidad.PricingEspecificoCategoria</value>
<value>com.rjconsultores.ventaboletos.entidad.EmpresaEmail</value>
<value>com.rjconsultores.ventaboletos.entidad.EmpresaEmailConfig</value>
<value>com.rjconsultores.ventaboletos.entidad.CtrlFechamentoCaixa</value>
</list>
</property>