package gcom.gui.cadastro.imovel; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.FiltroCategoria; import gcom.cadastro.imovel.Subcategoria; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.interceptor.RegistradorOperacao; import gcom.seguranca.acesso.Operacao; import gcom.seguranca.acesso.OperacaoEfetuada; import gcom.seguranca.acesso.usuario.Usuario; import gcom.seguranca.acesso.usuario.UsuarioAcao; import gcom.seguranca.acesso.usuario.UsuarioAcaoUsuarioHelper; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Iterator; 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 da subcategoria * * [UC0059] Atualizar Subcategoria * * @author Fernanda Paiva * @date 4/01/2006 */ public class AtualizarSubcategoriaAction 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) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("telaSucesso"); FiltrarSubcategoriaActionForm filtrarSubcategoriaActionForm = (FiltrarSubcategoriaActionForm) actionForm; HttpSession sessao = httpServletRequest.getSession(false); Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); // ------------ REGISTRAR TRANSA��O ---------------- RegistradorOperacao registradorOperacao = new RegistradorOperacao( Operacao.OPERACAO_SUBCATEGORIA_ATUALIZAR, new UsuarioAcaoUsuarioHelper(usuario, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO)); Operacao operacao = new Operacao(); operacao.setId(Operacao.OPERACAO_SUBCATEGORIA_ATUALIZAR); OperacaoEfetuada operacaoEfetuada = new OperacaoEfetuada(); operacaoEfetuada.setOperacao(operacao); // ------------ REGISTRAR TRANSA��O ---------------- Fachada fachada = Fachada.getInstancia(); Subcategoria subcategoria = (Subcategoria) sessao .getAttribute("subcategoria"); String codigoSubcategoria = filtrarSubcategoriaActionForm .getCodigoSubcategoria(); String idCategoria = (String) filtrarSubcategoriaActionForm .getIdCategoria(); Short indicadorDeUso = new Short(filtrarSubcategoriaActionForm .getIndicadorUso()); String descricaoAbreviada = filtrarSubcategoriaActionForm.getDescricaoAbreviada(); String numeroFatorFiscalizacao = filtrarSubcategoriaActionForm.getNumeroFatorFiscalizacao() ; String indicadorSazonalidade = filtrarSubcategoriaActionForm.getIndicadorSazonalidade(); Short indicadorTarifaConsumo = null; if(filtrarSubcategoriaActionForm.getIndicadorTarifaConsumo() != null && !filtrarSubcategoriaActionForm.getIndicadorTarifaConsumo().equalsIgnoreCase("")){ indicadorTarifaConsumo = new Short(filtrarSubcategoriaActionForm.getIndicadorTarifaConsumo()) ; } String codigoTarifaSocial = null; if ( filtrarSubcategoriaActionForm.getCodigoTarifaSocial() != null && !filtrarSubcategoriaActionForm.getCodigoTarifaSocial().equalsIgnoreCase("")){ codigoTarifaSocial = filtrarSubcategoriaActionForm.getCodigoTarifaSocial(); } Integer codigoGrupoSubcategoria = null; if(filtrarSubcategoriaActionForm.getCodigoGrupoSubcategoria() != null && !filtrarSubcategoriaActionForm.getCodigoGrupoSubcategoria().equalsIgnoreCase("")){ codigoGrupoSubcategoria = new Integer(filtrarSubcategoriaActionForm.getCodigoGrupoSubcategoria()); } Categoria categoria = null; if (idCategoria != null && !idCategoria.equals("")) { FiltroCategoria filtroCategoria = new FiltroCategoria(); filtroCategoria.adicionarParametro(new ParametroSimples( FiltroCategoria.CODIGO, idCategoria)); filtroCategoria.adicionarParametro(new ParametroSimples( FiltroCategoria.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection categorias = fachada.pesquisar(filtroCategoria, Categoria.class.getName()); if (categorias != null && !categorias.isEmpty()) { // A categoria foi encontrada Iterator categoriaIterator = categorias.iterator(); categoria = (Categoria) categoriaIterator.next(); } else { throw new ActionServletException( "atencao.pesquisa_inexistente", null, "Categoria"); } } // seta os campos para serem atualizados subcategoria.setId(new Integer(filtrarSubcategoriaActionForm .getIdSubcategoria())); subcategoria.setCategoria(categoria); subcategoria.setCodigo(Integer.parseInt(codigoSubcategoria)); subcategoria.setDescricao(filtrarSubcategoriaActionForm .getDescricaoSubcategoria()); subcategoria.setIndicadorUso(indicadorDeUso); subcategoria.setDescricaoAbreviada(descricaoAbreviada); subcategoria.setCodigoTarifaSocial(codigoTarifaSocial); subcategoria.setCodigoGrupoSubcategoria(codigoGrupoSubcategoria); subcategoria.setNumeroFatorFiscalizacao(new Short(numeroFatorFiscalizacao)); subcategoria.setIndicadorTarifaConsumo(indicadorTarifaConsumo); subcategoria.setIndicadorSazonalidade(new Short(indicadorSazonalidade)); // ------------ REGISTRAR TRANSA��O ---------------- subcategoria.setOperacaoEfetuada(operacaoEfetuada); subcategoria.adicionarUsuario(usuario, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO); registradorOperacao.registrarOperacao(subcategoria); // ------------ REGISTRAR TRANSA��O ---------------- Subcategoria subcategoriaVelha = (Subcategoria) sessao .getAttribute("subcategoria"); fachada.atualizarSubcategoria(subcategoria, subcategoriaVelha); montarPaginaSucesso(httpServletRequest, "Subcategoria de c�digo " + subcategoria.getCodigo() + " da categoria " + subcategoria.getCategoria().getDescricao() + " atualizada com sucesso.", "Realizar outra Manuten��o de Subcategoria", "exibirManterSubcategoriaAction.do?menu=sim"); return retorno; } }