package gcom.gui.cadastro.endereco; import gcom.atendimentopublico.ordemservico.OSProgramacaoCalibragem; import gcom.cadastro.endereco.FiltroLogradouro; import gcom.cadastro.endereco.FiltroOSProgramaCalibragem; import gcom.cadastro.endereco.Logradouro; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.gui.ManutencaoRegistroActionForm; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * Action respons�vel pela atualiza��o de um logradouro na base * * @author S�vio Luiz */ public class AtualizarLogradouroGrauImportanciaAction extends GcomAction { /** * Description of the Method * * @param actionMapping * Description of the Parameter * @param actionForm * Description of the Parameter * @param httpServletRequest * Description of the Parameter * @param httpServletResponse * Description of the Parameter * @return Description of the Return Value */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ManutencaoRegistroActionForm manutencaoRegistroActionForm = (ManutencaoRegistroActionForm) actionForm; // Obt�m os ids de remo��o String[] ids = manutencaoRegistroActionForm.getIdRegistrosRemocao(); Integer qtIds = ids.length; ActionForward retorno = actionMapping.findForward("telaSucesso"); //DynaValidatorForm pesquisarActionForm = (DynaValidatorForm) actionForm; Fachada fachada = Fachada.getInstancia(); // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); Usuario usuarioLogado = (Usuario)sessao.getAttribute(Usuario.USUARIO_LOGADO); // mensagem de erro quando o usu�rio tenta excluir sem ter selecionado // nenhum // registro if (ids == null || ids.length == 0) { throw new ActionServletException( "atencao.registros.nao_selecionados_atualizacao"); } // =========================================================================== Logradouro logradouro = null; Map<String, String[]> requestMap = httpServletRequest.getParameterMap(); int count = 0; String idsAtualizados = ""; int[] arr ; arr = new int[qtIds]; for(int i =0; i < qtIds; i++){ String idLogradouro = (String) ids[i]; if (idLogradouro != null) { FiltroLogradouro filtroLogradouro = new FiltroLogradouro(); filtroLogradouro.adicionarParametro(new ParametroSimples( FiltroLogradouro.ID, new Integer(idLogradouro))); filtroLogradouro.adicionarCaminhoParaCarregamentoEntidade("programaCalibragem"); filtroLogradouro.adicionarParametro(new ParametroSimples( FiltroLogradouro.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection logradouroEncontrado = fachada.pesquisar(filtroLogradouro, Logradouro.class.getName()); if (logradouroEncontrado != null && !logradouroEncontrado.isEmpty()) { logradouro = ((Logradouro) ((List) logradouroEncontrado).get(0)); } else { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "logradouro"); } } if (requestMap.get("grauImportancia_" + idLogradouro) != null && !((requestMap.get("grauImportancia_" + idLogradouro))[0]).equals("")){ FiltroOSProgramaCalibragem filtroOSProgramaCalibragem = new FiltroOSProgramaCalibragem(); filtroOSProgramaCalibragem.adicionarParametro(new ParametroSimples(FiltroOSProgramaCalibragem.ID,new Integer((requestMap.get("grauImportancia_" + idLogradouro))[0]))); Collection collOSProgramaCalibragem = fachada.pesquisar(filtroOSProgramaCalibragem, OSProgramacaoCalibragem.class.getName()); OSProgramacaoCalibragem programaCalibragem = (OSProgramacaoCalibragem)Util.retonarObjetoDeColecao(collOSProgramaCalibragem); logradouro.setProgramaCalibragem(programaCalibragem); }else{ throw new ActionServletException( "atencao.campo_selecionado.obrigatorio", null, "Grau de Import�ncia"); } arr[count] = logradouro.getId(); count++; fachada.atualizarGrauImportancia(logradouro, logradouro.getProgramaCalibragem().getId(),usuarioLogado); } for(int j = 0; j < arr.length; j++){ if(j==arr.length-1){ idsAtualizados += arr[j]; }else{ idsAtualizados += arr[j]+","; } } sessao.removeAttribute("indicadorImportanciaLogradouro"); montarPaginaSucesso(httpServletRequest, "Logradouro de c�digo " + idsAtualizados + " atualizado com sucesso.", "Realizar outra Manuten��o de Logradouro", "exibirManterLogradouroAction.do?menu=sim&implog=sim"); return retorno; } }