package gcom.gui.cadastro.localidade;
import gcom.cadastro.localidade.Quadra;
import gcom.cadastro.localidade.bean.InserirQuadraHelper;
import gcom.fachada.Fachada;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.seguranca.acesso.usuario.Usuario;
import java.util.Collection;
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;
/***
* @author Administrador, Ivan Sergio
* @date 16/02/2009
* @alteracao 16/02/2009 - CRC1178 - Adicionado o Indicador de Incremento do Lote
*/
public class AtualizarQuadraAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
//Seta o retorno
ActionForward retorno = actionMapping.findForward("telaSucesso");
//Obt�m a inst�ncia da fachada
Fachada fachada = Fachada.getInstancia();
//Obt�m a sess�o
HttpSession sessao = httpServletRequest.getSession(false);
AtualizarQuadraActionForm atualizarQuadraActionForm = (AtualizarQuadraActionForm) actionForm;
Quadra quadraParaManter = (Quadra) sessao.getAttribute("quadraManter");
//CARREGANDO O OBJETO INSERIR_QUADRA_HELPER
InserirQuadraHelper helper = this.carregarInserirQuadraHelper(atualizarQuadraActionForm);
//VALIDANDO OS DADOS DA QUADRA
Quadra quadraAtualizar = fachada.validarQuadra(helper);
quadraAtualizar.setId(quadraParaManter.getId());
quadraAtualizar.setUltimaAlteracao(quadraParaManter.getUltimaAlteracao());
quadraAtualizar.setIndicadorBloqueio(new Short(atualizarQuadraActionForm.getIndicadorBloqueio()));
//OBTENDO AS FACES DA QUADRA
Collection colecaoQuadraFace = (Collection) sessao.getAttribute("colecaoQuadraFace");
Usuario usuarioLogado = (Usuario)sessao.getAttribute(Usuario.USUARIO_LOGADO);
if(quadraAtualizar.getRota() != null){
if(quadraAtualizar.getRota().getIndicadorRotaAlternativa().shortValue() == 2){
fachada.atualizarQuadra(quadraAtualizar, usuarioLogado, colecaoQuadraFace);
}else{
throw new ActionServletException(
"atencao.rota_alternativa_nao_pode_associar_quadra");
}
}
montarPaginaSucesso(httpServletRequest,
"Quadra de n�mero " + helper.getQuadraNM() +
" do setor comercial " + helper.getSetorComercialCD() +
"-" + quadraAtualizar.getSetorComercial().getDescricao() +
" da localidade " + helper.getLocalidadeID() +
"-" + quadraAtualizar.getSetorComercial().getLocalidade().getDescricao() +
" atualizada com sucesso.",
"Realizar outra Manuten��o de Quadra", "exibirFiltrarQuadraAction.do?desfazer=S");
sessao.removeAttribute("quadraManter");
sessao.removeAttribute("colecaoPerfilQuadra");
sessao.removeAttribute("colecaoSistemaEsgoto");
sessao.removeAttribute("colecaoZeis");
sessao.removeAttribute("colecaoBacia");
sessao.removeAttribute("colecaoQuadraFace");
return retorno;
}
private InserirQuadraHelper carregarInserirQuadraHelper(AtualizarQuadraActionForm atualizarQuadraActionForm){
InserirQuadraHelper helper = new InserirQuadraHelper();
helper.setQuadraId(atualizarQuadraActionForm.getQuadraID());
helper.setIndicadorUso(atualizarQuadraActionForm.getIndicadorUso());
helper.setLocalidadeID(atualizarQuadraActionForm.getLocalidadeID());
helper.setSetorComercialCD(atualizarQuadraActionForm.getSetorComercialCD());
helper.setQuadraNM(atualizarQuadraActionForm.getQuadraNM());
helper.setPerfilQuadraID(atualizarQuadraActionForm.getPerfilQuadra());
helper.setAreaTipoID(atualizarQuadraActionForm.getAreaTipoID());
helper.setIndicadorRedeAgua(atualizarQuadraActionForm.getIndicadorRedeAguaAux());
helper.setIndicadorRedeEsgoto(atualizarQuadraActionForm.getIndicadorRedeEsgotoAux());
helper.setSistemaEsgotoID(atualizarQuadraActionForm.getSistemaEsgotoID());
helper.setBaciaID(atualizarQuadraActionForm.getBaciaID());
helper.setDistritoOperacionalID(atualizarQuadraActionForm.getDistritoOperacionalID());
helper.setSetorCensitarioID(atualizarQuadraActionForm.getSetorCensitarioID());
helper.setZeisID(atualizarQuadraActionForm.getZeisID());
helper.setRotaCD(atualizarQuadraActionForm.getCodigoRota());
/*
* 08/03/2012
*
* Adi��o do id da rota no helper para pesquisa
*/
helper.setRotaID(atualizarQuadraActionForm.getRotaID());
// fim da altera��o
helper.setIndicadorIncrementoLote(atualizarQuadraActionForm.getIndicadorIncrementoLote());
helper.setBairroCD(atualizarQuadraActionForm.getBairroID());
helper.setMunicipioID(atualizarQuadraActionForm.getMunicipioID());
return helper;
}
}