package gcom.gui.atendimentopublico.ordemservico; import gcom.atendimentopublico.ordemservico.FiltroServicoCobrancaValor; import gcom.atendimentopublico.ordemservico.ServicoCobrancaValor; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.FiltroCategoria; import gcom.cadastro.imovel.FiltroSubCategoria; import gcom.cadastro.imovel.Subcategoria; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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; /** * Descri��o da classe * * @author R�mulo Aur�lio - Hugo Leonardo * @date 30/10/2006 - 22/04/2010 */ public class ExibirAtualizarValorCobrancaServicoAction extends GcomAction { /** * [UC0393] Atualizar Valor de Cobran�a do Servi�o * * Este caso de uso permite alterar um valor de cobran�a de servi�o * * @author R�mulo Aur�lio - Hugo Loenardo * @date 31/10/2006 - 22/04/2010 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("atualizarValorCobrancaServico"); HttpSession sessao = httpServletRequest.getSession(false); AtualizarValorCobrancaServicoActionForm form = (AtualizarValorCobrancaServicoActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); ServicoCobrancaValor servicoCobrancaValor = null; String idServicoCobrancaValor = (String) sessao.getAttribute("idRegistroAtualizar"); if(idServicoCobrancaValor != null && !idServicoCobrancaValor.equals("")){ FiltroServicoCobrancaValor filtroServicoCobrancaValor = new FiltroServicoCobrancaValor(); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade("servicoTipo"); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade(FiltroServicoCobrancaValor.CATEGORIA_ENTIDADE); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade(FiltroServicoCobrancaValor.SUBCATEGORIA_ENTIDADE); filtroServicoCobrancaValor.adicionarParametro( new ParametroSimples(FiltroServicoCobrancaValor.ID, new Integer(idServicoCobrancaValor))); servicoCobrancaValor = (ServicoCobrancaValor) fachada.pesquisar(filtroServicoCobrancaValor, ServicoCobrancaValor.class.getName()).iterator().next(); idServicoCobrancaValor = servicoCobrancaValor.getId().toString(); } if(servicoCobrancaValor == null){ FiltroServicoCobrancaValor filtroServicoCobrancaValor = new FiltroServicoCobrancaValor(); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade("servicoTipo"); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade(FiltroServicoCobrancaValor.CATEGORIA_ENTIDADE); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade(FiltroServicoCobrancaValor.SUBCATEGORIA_ENTIDADE); filtroServicoCobrancaValor.adicionarParametro( new ParametroSimples(FiltroServicoCobrancaValor.ID, new Integer(form.getIdServicoCobrancaValor()))); servicoCobrancaValor = (ServicoCobrancaValor) fachada.pesquisar(filtroServicoCobrancaValor, ServicoCobrancaValor.class.getName()).iterator().next(); } if((httpServletRequest.getParameter("manter")!=null && httpServletRequest.getParameter("manter").toString().equals("sim")) ||(httpServletRequest.getAttribute("manter")!=null && httpServletRequest.getAttribute("manter").toString().equals("sim"))){ form.setIdServicoCobrancaValor(servicoCobrancaValor.getId().toString()); form.setTipoServico(servicoCobrancaValor.getServicoTipo().getId().toString()); form.setNomeTipoServico(servicoCobrancaValor.getServicoTipo().getDescricao()); form.setIndicadorMedido(""+ servicoCobrancaValor.getIndicadorMedido()); form.setIndicativoTipoSevicoEconomias(servicoCobrancaValor.getIndicadorConsideraEconomias().toString()); String dataVigenciaInicial = Util.formatarData(servicoCobrancaValor.getDataVigenciaInicial()); String dataVigenciaFinal = Util.formatarData(servicoCobrancaValor.getDataVigenciaFinal()); String valorServico = Util.formatarMoedaReal(servicoCobrancaValor.getValor()); if(servicoCobrancaValor.getId() != null && !servicoCobrancaValor.getId().equals("")){ form.setIdServicoCobrancaValor(servicoCobrancaValor.getId().toString()); } if(servicoCobrancaValor.getServicoTipo().getId() != null && !servicoCobrancaValor.getServicoTipo().getId().equals("")){ form.setTipoServico(servicoCobrancaValor.getServicoTipo().getId().toString()); } if(servicoCobrancaValor.getServicoTipo().getDescricao() != null && !servicoCobrancaValor.getServicoTipo().getDescricao().equals("")){ form.setNomeTipoServico(servicoCobrancaValor.getServicoTipo().getDescricao()); } if(servicoCobrancaValor.getSubCategoria() != null && !servicoCobrancaValor.getSubCategoria().getId().equals("-1") && form.getIdSubCategoria()==null || (httpServletRequest.getParameter("desfazer")!=null && httpServletRequest.getParameter("desfazer").toString().equalsIgnoreCase("S"))){ form.setIdSubCategoria(servicoCobrancaValor.getSubCategoria().getId().toString()); } if(servicoCobrancaValor.getCategoria() != null && !servicoCobrancaValor.getCategoria().getId().equals("-1") && form.getIdCategoria()==null || (httpServletRequest.getParameter("desfazer")!=null && httpServletRequest.getParameter("desfazer").toString().equalsIgnoreCase("S"))){ form.setIdCategoria(servicoCobrancaValor.getCategoria().getId().toString()); } if(servicoCobrancaValor.getHidrometroCapacidade() != null && servicoCobrancaValor.getHidrometroCapacidade().getId() != null && !servicoCobrancaValor.getHidrometroCapacidade().getId().equals("")){ form.setCapacidadeHidrometro(servicoCobrancaValor.getHidrometroCapacidade().getId().toString()); } if(servicoCobrancaValor.getImovelPerfil() != null && servicoCobrancaValor.getImovelPerfil().getId() != null && !servicoCobrancaValor.getImovelPerfil().getId().equals("-1")){ form.setPerfilImovel(servicoCobrancaValor.getImovelPerfil().getId().toString()); form.setIndicadorMedido(""+ servicoCobrancaValor.getIndicadorMedido()); } if(servicoCobrancaValor.getSubCategoria() != null && servicoCobrancaValor.getSubCategoria().getId() != null && !servicoCobrancaValor.getSubCategoria().getId().equals("-1")){ form.setIdSubCategoria(servicoCobrancaValor.getSubCategoria().getId().toString()); } if(servicoCobrancaValor.getValor() != null && !servicoCobrancaValor.getValor().equals("")){ form.setValorServico(valorServico); } if(servicoCobrancaValor.getDataVigenciaInicial() != null && !servicoCobrancaValor.getDataVigenciaInicial().equals("")){ form.setDataVigenciaInicial(dataVigenciaInicial); } if(servicoCobrancaValor.getDataVigenciaFinal() != null && !servicoCobrancaValor.getDataVigenciaFinal().equals("")){ form.setDataVigenciaFinal(dataVigenciaFinal); } if(servicoCobrancaValor.getIndicadorConsideraEconomias() != null && !servicoCobrancaValor.getIndicadorConsideraEconomias().equals("")){ form.setIndicativoTipoSevicoEconomias(servicoCobrancaValor.getIndicadorConsideraEconomias().toString()); } if(servicoCobrancaValor.getQuantidadeEconomiasInicial() != null && !servicoCobrancaValor.getQuantidadeEconomiasInicial().equals("")){ form.setQuantidadeEconomiasInicial(servicoCobrancaValor.getQuantidadeEconomiasInicial().toString()); } if(servicoCobrancaValor.getQuantidadeEconomiasFinal() != null && !servicoCobrancaValor.getQuantidadeEconomiasFinal().equals("")){ form.setQuantidadeEconomiasFinal(servicoCobrancaValor.getQuantidadeEconomiasFinal().toString()); } if(servicoCobrancaValor.getIndicadorGeracaoDebito()!=null && !servicoCobrancaValor.getIndicadorConsideraEconomias().toString().equals("")){ form.setIndicadorGeracaoDebito(servicoCobrancaValor.getIndicadorGeracaoDebito().toString()); } } Date timeStamp = servicoCobrancaValor.getUltimaAlteracao(); sessao.setAttribute("idServicoCobrancaValor", idServicoCobrancaValor); sessao.setAttribute("servicoCobrancaValor", servicoCobrancaValor); sessao.setAttribute("timeStamp", timeStamp); sessao.setAttribute("servicoTipo", servicoCobrancaValor.getServicoTipo()); sessao.setAttribute("subCategoria", servicoCobrancaValor.getSubCategoria()); sessao.setAttribute("imovelPerfil", servicoCobrancaValor.getImovelPerfil()); sessao.setAttribute("indicadorMedido", servicoCobrancaValor.getIndicadorMedido()); sessao.setAttribute("hidrometroCapacidade", servicoCobrancaValor.getHidrometroCapacidade()); sessao.setAttribute("valor", servicoCobrancaValor.getValor()); sessao.setAttribute("dataVigenciaInicial", servicoCobrancaValor.getDataVigenciaInicial()); sessao.setAttribute("dataVigenciaFinal", servicoCobrancaValor.getDataVigenciaFinal()); sessao.setAttribute("indicadorConsideraEconomias", servicoCobrancaValor.getIndicadorConsideraEconomias()); sessao.setAttribute("quantidadeEconomiasInicial", servicoCobrancaValor.getQuantidadeEconomiasInicial()); sessao.setAttribute("quantidadeEconomiasFinal", servicoCobrancaValor.getQuantidadeEconomiasFinal()); httpServletRequest.setAttribute("idServicoCobrancaValor", form.getIdServicoCobrancaValor()); // Pesquisar Categoria this.pesquisarCategoria(httpServletRequest, form); // pesquisar SubCategoria this.pesquisarSubCategoria(httpServletRequest, form); if(form.getIndicadorMedido()!=null && form.getIndicadorMedido().equals(ConstantesSistema.SIM.toString())){ if((form.getIdCategoria()!=null && !form.getIdCategoria().equals(ConstantesSistema.NUMERO_NAO_INFORMADO+"")) || (form.getIdSubCategoria()!=null && !form.getIdSubCategoria().equals(ConstantesSistema.NUMERO_NAO_INFORMADO+""))){ sessao.setAttribute("capacidadeObrigatoria","sim"); }else{ sessao.setAttribute("capacidadeObrigatoria","nao"); } }else{ sessao.setAttribute("capacidadeObrigatoria","nao"); } if(form.getIndicadorGeracaoDebito()!=null && form.getIndicadorGeracaoDebito().equals(ConstantesSistema.SIM.toString())){ sessao.setAttribute("valorObrigatorio","sim"); }else{ sessao.setAttribute("valorObrigatorio","nao"); } return retorno; } // Verificar exist�ncia de dados (CATEGORIA) private void pesquisarCategoria(HttpServletRequest httpServletRequest, AtualizarValorCobrancaServicoActionForm form) { FiltroCategoria filtroCategoria = new FiltroCategoria(); filtroCategoria.setConsultaSemLimites(true); filtroCategoria.adicionarParametro(new ParametroSimples(FiltroCategoria.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoCategoria = this.getFachada().pesquisar(filtroCategoria, Categoria.class.getName()); if(colecaoCategoria == null || colecaoCategoria.isEmpty()){ throw new ActionServletException("atencao.naocadastrado", null, "Categorias"); }else{ httpServletRequest.setAttribute("colecaoCategoria", colecaoCategoria); } } // Verificar exist�ncia de dados (SUBCATEGORIA) private void pesquisarSubCategoria(HttpServletRequest httpServletRequest, AtualizarValorCobrancaServicoActionForm form) { String idCategoria = form.getIdCategoria(); Collection colecaoSubCategoria = null; if(idCategoria != null && !idCategoria.equalsIgnoreCase("-1")){ FiltroSubCategoria filtroSubCategoria = new FiltroSubCategoria(FiltroSubCategoria.DESCRICAO); filtroSubCategoria.adicionarParametro(new ParametroSimples(FiltroSubCategoria.CATEGORIA_ID, idCategoria)); filtroSubCategoria.adicionarParametro(new ParametroSimples(FiltroSubCategoria.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoSubCategoria = this.getFachada().pesquisar(filtroSubCategoria, Subcategoria.class.getName()); if(colecaoSubCategoria == null || colecaoSubCategoria.isEmpty()){ throw new ActionServletException("atencao.naocadastrado", null, "SubCategorias"); }else{ httpServletRequest.setAttribute("colecaoSubCategoria", colecaoSubCategoria); } } } }