package br.com.centralit.citcorpore.metainfo.complementos; import java.util.Collection; import java.util.HashMap; import java.util.List; import br.com.centralit.citcorpore.bean.TempoAcordoNivelServicoDTO; import br.com.centralit.citcorpore.integracao.ResultadosEsperadosDAO; import br.com.centralit.citcorpore.integracao.TempoAcordoNivelServicoDao; import br.com.centralit.citcorpore.integracao.ValorAjusteGlosaDAO; import br.com.citframework.excecao.ServiceException; import br.com.citframework.integracao.TransactionControler; import br.com.citframework.util.WebUtil; @SuppressWarnings({"unchecked", "rawtypes"}) public class ComplementoSLA_Restore { /** * @param mapFields * @param transactionControler * @return String * @throws ServiceException * @throws Exception * @author rodrigo.acorse */ public String execute(HashMap mapFields, TransactionControler transactionControler) throws ServiceException, Exception { return execute(mapFields, transactionControler, null); } /** * @param mapFields * @param transactionControler * @param language * @return String * @throws ServiceException * @throws Exception */ public String execute(HashMap mapFields, TransactionControler transactionControler, String language) throws ServiceException, Exception{ Object idAcordoNivelServicoStr = mapFields.get("IDACORDONIVELSERVICO"); Integer idAcordoNivelServico = 0; try{ idAcordoNivelServico = Integer.parseInt(idAcordoNivelServicoStr.toString()); }catch (Exception e) { } TempoAcordoNivelServicoDao tempoAcordoNivelServicoDao = new TempoAcordoNivelServicoDao(); for(int i = 1; i <= 5; i++){ Collection colAux1 = tempoAcordoNivelServicoDao.findByIdAcordoAndFaseAndIdPrioridade(idAcordoNivelServico, 1, i); if (colAux1 != null && colAux1.size() > 0){ TempoAcordoNivelServicoDTO tempoAcordoNivelServicoDTO = (TempoAcordoNivelServicoDTO) ((List)colAux1).get(0); mapFields.put("HH-1-" + i, "" + tempoAcordoNivelServicoDTO.getTempoHH()); mapFields.put("MM-1-" + i, "" + tempoAcordoNivelServicoDTO.getTempoMM()); } colAux1 = tempoAcordoNivelServicoDao.findByIdAcordoAndFaseAndIdPrioridade(idAcordoNivelServico, 2, i); if (colAux1 != null && colAux1.size() > 0){ TempoAcordoNivelServicoDTO tempoAcordoNivelServicoDTO = (TempoAcordoNivelServicoDTO) ((List)colAux1).get(0); mapFields.put("HH-2-" + i, "" + tempoAcordoNivelServicoDTO.getTempoHH()); mapFields.put("MM-2-" + i, "" + tempoAcordoNivelServicoDTO.getTempoMM()); } } Object idServicoContratoStr = mapFields.get("IDSERVICOCONTRATO"); Integer idServicoContrato = 0; try{ idServicoContrato = Integer.parseInt(idServicoContratoStr.toString()); }catch (Exception e) { } ValorAjusteGlosaDAO valorAjusteGlosaDAO = new ValorAjusteGlosaDAO(); ResultadosEsperadosDAO resultadosEsperadosDAO = new ResultadosEsperadosDAO(); if(idServicoContrato != null && idAcordoNivelServico != null){ String tipoAcordo = (String) mapFields.get("TIPO"); if(tipoAcordo != null && tipoAcordo.equalsIgnoreCase("F")){ Collection resp = valorAjusteGlosaDAO.consultaQuantidadesPorAcordoEServicoContrato(idServicoContrato, idAcordoNivelServico); if(resp!=null && !resp.isEmpty()){ if (language != null && !language.equals("")) { mapFields.put("VALORAJUSTESERIALIZADO", WebUtil.serializeObjects(resp, language)); } else { mapFields.put("VALORAJUSTESERIALIZADO", WebUtil.serializeObjects(resp)); } } } if(tipoAcordo != null && tipoAcordo.equalsIgnoreCase("R")){ Collection resp = resultadosEsperadosDAO.consultaResultadosPorAcordoEServicoContrato(idServicoContrato, idAcordoNivelServico); if(resp!=null && !resp.isEmpty()){ if (language != null && !language.equals("")) { mapFields.put("RESULTADOSESPERADOSSERIALIZADO", WebUtil.serializeObjects(resp, language)); } else { mapFields.put("RESULTADOSESPERADOSSERIALIZADO", WebUtil.serializeObjects(resp)); } } } } return "OK"; } }