package br.com.centralit.citcorpore.metainfo.complementos; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import br.com.centralit.citcorpore.bean.AcordoNivelServicoDTO; import br.com.centralit.citcorpore.bean.PrioridadeAcordoNivelServicoDTO; import br.com.centralit.citcorpore.bean.PrioridadeServicoUnidadeDTO; import br.com.centralit.citcorpore.bean.ResultadosEsperadosDTO; import br.com.centralit.citcorpore.bean.TempoAcordoNivelServicoDTO; import br.com.centralit.citcorpore.bean.UnidadeDTO; import br.com.centralit.citcorpore.bean.ValorAjusteGlosaDTO; import br.com.centralit.citcorpore.integracao.AcordoNivelServicoDao; import br.com.centralit.citcorpore.integracao.PrioridadeAcordoNivelServicoDao; import br.com.centralit.citcorpore.integracao.PrioridadeServicoUnidadeDao; import br.com.centralit.citcorpore.integracao.ResultadosEsperadosDAO; import br.com.centralit.citcorpore.integracao.TempoAcordoNivelServicoDao; import br.com.centralit.citcorpore.integracao.UnidadeDao; import br.com.centralit.citcorpore.integracao.ValorAjusteGlosaDAO; import br.com.citframework.excecao.ServiceException; import br.com.citframework.integracao.TransactionControler; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.WebUtil; public class ComplementoSLA_Insert { public String execute(HashMap mapFields, TransactionControler transactionControler) throws ServiceException, Exception{ String idAcordoNivelServicoStr = (String)mapFields.get("IDACORDONIVELSERVICO"); Integer idAcordoNivelServico = 0; try{ idAcordoNivelServico = Integer.parseInt(idAcordoNivelServicoStr); }catch (Exception e) { } Integer[] hhCaptura = new Integer[5]; Integer[] hhResolucao = new Integer[5]; Integer[] mmCaptura = new Integer[5]; Integer[] mmResolucao = new Integer[5]; for(int i = 1; i <= 5; i++){ hhCaptura[i - 1] = 0; hhResolucao[i - 1] = 0; mmCaptura[i - 1] = 0; mmResolucao[i - 1] = 0; try{ hhCaptura[i - 1] = new Integer((String)mapFields.get("HH-1-" + i)); }catch (Exception e) { } try{ hhResolucao[i - 1] = new Integer((String)mapFields.get("HH-2-" + i)); }catch (Exception e) { } try{ mmCaptura[i - 1] = new Integer((String)mapFields.get("MM-1-" + i)); }catch (Exception e) { } try{ mmResolucao[i - 1] = new Integer((String)mapFields.get("MM-2-" + i)); }catch (Exception e) { } } TempoAcordoNivelServicoDao tempoAcordoNivelServicoDao = new TempoAcordoNivelServicoDao(); tempoAcordoNivelServicoDao.setTransactionControler(transactionControler); for(int i = 1; i <= 5; i++){ TempoAcordoNivelServicoDTO tempoAcordoNivelServicoDTO = new TempoAcordoNivelServicoDTO(); tempoAcordoNivelServicoDTO.setIdAcordoNivelServico(idAcordoNivelServico); tempoAcordoNivelServicoDTO.setIdFase(1); tempoAcordoNivelServicoDTO.setIdPrioridade(i); tempoAcordoNivelServicoDTO.setTempoHH(hhCaptura[i - 1]); tempoAcordoNivelServicoDTO.setTempoMM(mmCaptura[i - 1]); tempoAcordoNivelServicoDao.create(tempoAcordoNivelServicoDTO); } for(int i = 1; i <= 5; i++){ TempoAcordoNivelServicoDTO tempoAcordoNivelServicoDTO = new TempoAcordoNivelServicoDTO(); tempoAcordoNivelServicoDTO.setIdAcordoNivelServico(idAcordoNivelServico); tempoAcordoNivelServicoDTO.setIdFase(2); tempoAcordoNivelServicoDTO.setIdPrioridade(i); tempoAcordoNivelServicoDTO.setTempoHH(hhResolucao[i - 1]); tempoAcordoNivelServicoDTO.setTempoMM(mmResolucao[i - 1]); tempoAcordoNivelServicoDao.create(tempoAcordoNivelServicoDTO); } String idServicoContratoStr = (String)mapFields.get("IDSERVICOCONTRATO"); Integer idServicoContrato = null; if (idServicoContratoStr != null && !idServicoContratoStr.trim().equalsIgnoreCase("")){ idServicoContrato = new Integer(idServicoContratoStr); } if (idServicoContrato != null){ UnidadeDao unidadeDao = new UnidadeDao(); PrioridadeServicoUnidadeDao prioridadeServicoUnidadeDao = new PrioridadeServicoUnidadeDao(); prioridadeServicoUnidadeDao.setTransactionControler(transactionControler); Collection colUnidades = unidadeDao.list(); if (colUnidades != null){ for(Iterator it = colUnidades.iterator(); it.hasNext();){ UnidadeDTO unidadeDTO = (UnidadeDTO)it.next(); String prioridade = (String)mapFields.get("IDUNIDADE_" + unidadeDTO.getIdUnidade()); if (prioridade != null && !prioridade.trim().equalsIgnoreCase("")){ PrioridadeServicoUnidadeDTO prioridadeServicoUnidadeDTO = new PrioridadeServicoUnidadeDTO(); prioridadeServicoUnidadeDTO.setIdPrioridade(new Integer(prioridade)); prioridadeServicoUnidadeDTO.setIdUnidade(unidadeDTO.getIdUnidade()); prioridadeServicoUnidadeDTO.setDataInicio(UtilDatas.getDataAtual()); prioridadeServicoUnidadeDTO.setIdServicoContrato(idServicoContrato); //prioridadeServicoUnidadeDTO = (PrioridadeServicoUnidadeDTO) prioridadeServicoUnidadeDao.create(prioridadeServicoUnidadeDTO); PrioridadeServicoUnidadeDTO prioridadeServicoUnidadeAux = prioridadeServicoUnidadeDao.restore(idServicoContrato, unidadeDTO.getIdUnidade()); if (prioridadeServicoUnidadeAux != null){ prioridadeServicoUnidadeDao.update(prioridadeServicoUnidadeDTO); }else{ prioridadeServicoUnidadeDTO = (PrioridadeServicoUnidadeDTO) prioridadeServicoUnidadeDao.create(prioridadeServicoUnidadeDTO); } } } } }else{ UnidadeDao unidadeDao = new UnidadeDao(); PrioridadeAcordoNivelServicoDao prioridadeAcordoNivelServicoDao = new PrioridadeAcordoNivelServicoDao(); prioridadeAcordoNivelServicoDao.setTransactionControler(transactionControler); Collection colUnidades = unidadeDao.list(); if (colUnidades != null){ for(Iterator it = colUnidades.iterator(); it.hasNext();){ UnidadeDTO unidadeDTO = (UnidadeDTO)it.next(); String prioridade = (String)mapFields.get("IDUNIDADE_" + unidadeDTO.getIdUnidade()); if (prioridade != null && !prioridade.trim().equalsIgnoreCase("")){ PrioridadeAcordoNivelServicoDTO prioridadeAcordoNivelServicoDTO = new PrioridadeAcordoNivelServicoDTO(); prioridadeAcordoNivelServicoDTO.setIdPrioridade(new Integer(prioridade)); prioridadeAcordoNivelServicoDTO.setIdUnidade(unidadeDTO.getIdUnidade()); prioridadeAcordoNivelServicoDTO.setDataInicio(UtilDatas.getDataAtual()); prioridadeAcordoNivelServicoDTO.setIdAcordoNivelServico(idAcordoNivelServico); prioridadeAcordoNivelServicoDTO = (PrioridadeAcordoNivelServicoDTO) prioridadeAcordoNivelServicoDao.create(prioridadeAcordoNivelServicoDTO); } } } } String tipoAcordo = (String) mapFields.get("TIPO"); if(tipoAcordo != null && tipoAcordo.equalsIgnoreCase("F")){ String valorSerializado = (String) mapFields.get("VALORAJUSTESERIALIZADO"); if(valorSerializado!=null){ List<ValorAjusteGlosaDTO> listResp = (List) WebUtil.deserializeCollectionFromString(ValorAjusteGlosaDTO.class, valorSerializado); if(listResp != null){ ValorAjusteGlosaDAO valorAjusteDAO = new ValorAjusteGlosaDAO(); valorAjusteDAO.setTransactionControler(transactionControler); for (ValorAjusteGlosaDTO valorObject : listResp) { valorObject.setIdAcordoNivelServico(idAcordoNivelServico); valorObject.setIdServicoContrato(idServicoContrato); valorAjusteDAO.create(valorObject); } } } } if(tipoAcordo != null && tipoAcordo.equalsIgnoreCase("R")){ String resultadoSerializado = (String) mapFields.get("RESULTADOSESPERADOSSERIALIZADO"); if(resultadoSerializado!=null){ List<ResultadosEsperadosDTO> listResp = (List) WebUtil.deserializeCollectionFromString(ResultadosEsperadosDTO.class, resultadoSerializado); if(listResp != null){ ResultadosEsperadosDAO resultadosEsperadosDAO = new ResultadosEsperadosDAO(); resultadosEsperadosDAO.setTransactionControler(transactionControler); for (ResultadosEsperadosDTO resultObject : listResp) { resultObject.setIdAcordoNivelServico(idAcordoNivelServico); resultObject.setIdServicoContrato(idServicoContrato); resultadosEsperadosDAO.create(resultObject); } } } } String TEMPOAUTO_STR = (String)mapFields.get("TEMPOAUTO"); Double TEMPOAUTO_VAL = null; if (TEMPOAUTO_STR != null && !TEMPOAUTO_STR.trim().equalsIgnoreCase("")){ TEMPOAUTO_STR = TEMPOAUTO_STR.replaceAll("\\.", ""); TEMPOAUTO_STR = TEMPOAUTO_STR.replaceAll("\\,", "."); try{ TEMPOAUTO_VAL = new Double(TEMPOAUTO_STR); }catch(Exception e){} } String IDPRIORIDADEAUTO1_STR = (String)mapFields.get("IDPRIORIDADEAUTO1"); Integer IDPRIORIDADEAUTO1_INT = null; if (IDPRIORIDADEAUTO1_STR != null && !IDPRIORIDADEAUTO1_STR.trim().equalsIgnoreCase("")){ try{ IDPRIORIDADEAUTO1_INT = new Integer(IDPRIORIDADEAUTO1_STR); }catch(Exception e){} } String IDGRUPO1_STR = (String)mapFields.get("IDGRUPO1"); Integer IDGRUPO1_INT = null; if (IDGRUPO1_STR != null && !IDGRUPO1_STR.trim().equalsIgnoreCase("")){ try{ IDGRUPO1_INT = new Integer(IDGRUPO1_STR); }catch(Exception e){} } AcordoNivelServicoDao acordoNivelServicoDao = new AcordoNivelServicoDao(); acordoNivelServicoDao.setTransactionControler(transactionControler); AcordoNivelServicoDTO acordoNivelServicoAux = new AcordoNivelServicoDTO(); acordoNivelServicoAux.setTempoAuto(TEMPOAUTO_VAL); acordoNivelServicoAux.setIdPrioridadeAuto1(IDPRIORIDADEAUTO1_INT); acordoNivelServicoAux.setIdGrupo1(IDGRUPO1_INT); acordoNivelServicoAux.setIdAcordoNivelServico(idAcordoNivelServico); acordoNivelServicoDao.updateTemposAcoes(acordoNivelServicoAux); return "OK"; } }