package br.com.centralit.citcorpore.quartz.job;
import java.util.Collection;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import br.com.centralit.citcorpore.bean.PesquisaSatisfacaoDTO;
import br.com.centralit.citcorpore.bean.SolicitacaoServicoDTO;
import br.com.centralit.citcorpore.integracao.PesquisaSatisfacaoDAO;
import br.com.centralit.citcorpore.integracao.SolicitacaoServicoDao;
import br.com.centralit.citcorpore.util.Enumerados;
import br.com.centralit.citcorpore.util.ParametroUtil;
import br.com.centralit.citcorpore.util.Util;
import br.com.citframework.util.UtilDatas;
public class AvaliarSolicitacoesNaoRespondidas implements Job {
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
String avaliacaoAutomatica = ParametroUtil.getValorParametroCitSmartHashMap(Enumerados.ParametroSistema.AVALIA��O_AUTOMATICA, "");
if(avaliacaoAutomatica.equals("S")){
try {
System.out.println("DISPARADO AVALIA��O AUTOM�TICA");
PesquisaSatisfacaoDTO pesquisaSatisfacaoDTO;
PesquisaSatisfacaoDAO pesquisaSatisfacaoDAO = new PesquisaSatisfacaoDAO();
SolicitacaoServicoDao solicitacaoServicoDao = new SolicitacaoServicoDao();
// Nota padr�o para avalia��o autom�tica do atendimento de solicita��es
Enumerados.Nota nota = null;
String notaAvaliacaoAutomatica = ParametroUtil.getValorParametroCitSmartHashMap(Enumerados.ParametroSistema.NOTA_AVALIA��O_AUTOMATICA, "");
if(notaAvaliacaoAutomatica.equals("BOM")){
nota = Enumerados.Nota.BOM;
}else if(notaAvaliacaoAutomatica.equals("OTIMO")){
nota = Enumerados.Nota.OTIMO;
}else if(notaAvaliacaoAutomatica.equals("REGULAR")){
nota = Enumerados.Nota.REGULAR;
}else if(notaAvaliacaoAutomatica.equals("RUIM")){
nota = Enumerados.Nota.RUIM;
}
// Calculando a data limite para resposta do usu�rio
Integer pQtdeDias = Integer.parseInt(ParametroUtil.getValorParametroCitSmartHashMap(br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.QTDE_DIAS_RESP_PESQ_SASTISFACAO, "7"));
java.sql.Date dataLimite = UtilDatas.getSqlDate(UtilDatas.incrementaDiasEmData(Util.getDataAtual(), -(new Integer(pQtdeDias))));
// Date dataLimite = Util.subtraiDiaData(Util.converteStringToDataUtil(Util.converteDataUtilToString(Util.getDataAtual()), "yyyy-MM-dd 23:59:59"), pQtdeDias);
String comentario = "Pesquisa respondida automaticamente pelo sistema citsmart.";
// As Solicita��es n�o respondidas e que foram conclu�das at� a data limite ser�o respondidas automaticamente pelo sistema
// Trazer as Solicita��es n�o respondidas
Collection<SolicitacaoServicoDTO> listaIdSolicitacoesNResp = solicitacaoServicoDao.listaIDSolicitacaoNaoRespondida(dataLimite);
for (SolicitacaoServicoDTO solicitacaoServicoDTO : listaIdSolicitacoesNResp) {
// Gravar pesquisa para Cada Solicita��o de Servi�os n�o avaliada
pesquisaSatisfacaoDTO = new PesquisaSatisfacaoDTO();
pesquisaSatisfacaoDTO.setIdSolicitacaoServico(solicitacaoServicoDTO.getIdSolicitacaoServico());
pesquisaSatisfacaoDTO.setNota(nota.getNota());
pesquisaSatisfacaoDTO.setComentario(comentario);
pesquisaSatisfacaoDAO.create(pesquisaSatisfacaoDTO);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}