package gcom.gui.faturamento;
import gcom.fachada.Fachada;
import gcom.faturamento.FaturamentoSituacaoComando;
import gcom.faturamento.FiltroFaturamentoSituacaoComando;
import gcom.gui.GcomAction;
import gcom.util.Util;
import gcom.util.filtro.ParametroSimples;
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;
public class ExibirAtualizarSituacaoEspecialFaturamentoAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
HttpSession sessao = httpServletRequest.getSession(false);
AtualizarSituacaoEspecialFaturamentoActionForm atualizarSituacaoEspecialFaturamentoActionForm = (AtualizarSituacaoEspecialFaturamentoActionForm) actionForm;
String id = obterIdRegistroASerAtualizado(httpServletRequest, sessao);
FaturamentoSituacaoComando faturamentoSituacaoComando= null;
if (Util.verificarNaoVazio(id) && Integer.parseInt(id) > 0) {
faturamentoSituacaoComando = obterRegistroASerAtualizadoAPartirId(id);
copiarObjetoParaForm(
atualizarSituacaoEspecialFaturamentoActionForm,faturamentoSituacaoComando);
sessao.setAttribute("atualizarFaturamentoSituacaoComando", faturamentoSituacaoComando);
if (sessao.getAttribute("colecaoFaturamentoSituacaoComando") == null) {
sessao.setAttribute("caminhoRetornoVoltar",
"/gsan/exibirFiltrarSituacaoEspecialFaturamentoAction.do");
} else {
sessao.setAttribute("caminhoRetornoVoltar",
"/gsan/filtrarSituacaoEspecialFaturamentoAction.do");
}
}
return actionMapping.findForward("situacaoEspecialFaturamentoAtualizar");
}
/**
* Esse m�todo copia os atributos do objeto para o form,
* afim de que os dados possam ser exibidos na tela de altera��o.
*
*@since 13/08/2009
*@author Marlon Patrick
*/
private void copiarObjetoParaForm(
AtualizarSituacaoEspecialFaturamentoActionForm atualizarSituacaoEspecialFaturamentoActionForm,
FaturamentoSituacaoComando faturamentoSituacaoComando) {
if ( faturamentoSituacaoComando != null) {
if(faturamentoSituacaoComando.getId()!=null){
atualizarSituacaoEspecialFaturamentoActionForm.
setIdFaturamentoSituacaoComando(faturamentoSituacaoComando.getId().toString());
}
if(faturamentoSituacaoComando.getImovel()!= null
&& faturamentoSituacaoComando.getImovel().getId()!=null){
atualizarSituacaoEspecialFaturamentoActionForm.
setMatricula(faturamentoSituacaoComando.getImovel().getId().toString());
atualizarSituacaoEspecialFaturamentoActionForm.
setIdImovel(faturamentoSituacaoComando.getImovel().getId().toString());
}
if(faturamentoSituacaoComando.getLocalidadeInicial()!=null
&& faturamentoSituacaoComando.getLocalidadeInicial().getId()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setLocalidadeOrigemID(faturamentoSituacaoComando.getLocalidadeInicial().getId().toString());
}
if(faturamentoSituacaoComando.getLocalidadeFinal()!=null
&& faturamentoSituacaoComando.getLocalidadeFinal().getId()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setLocalidadeDestinoID(faturamentoSituacaoComando.getLocalidadeFinal().getId().toString());
}
if(faturamentoSituacaoComando.getCodigoSetorComercialInicial()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setSetorComercialOrigemCD(faturamentoSituacaoComando.getCodigoSetorComercialInicial().toString());
}
if(faturamentoSituacaoComando.getCodigoSetorComercialFinal()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setSetorComercialDestinoCD(faturamentoSituacaoComando.getCodigoSetorComercialFinal().toString());
}
if(faturamentoSituacaoComando.getNumeroQuadraInicial()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setQuadraOrigemNM(faturamentoSituacaoComando.getNumeroQuadraInicial().toString());
}
if(faturamentoSituacaoComando.getNumeroQuadraFinal()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setQuadraDestinoNM(faturamentoSituacaoComando.getNumeroQuadraFinal().toString());
}
if(faturamentoSituacaoComando.getNumeroLoteInicial()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setLoteOrigem(faturamentoSituacaoComando.getNumeroLoteInicial().toString());
}
if(faturamentoSituacaoComando.getNumeroLoteFinal()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setLoteDestino(faturamentoSituacaoComando.getNumeroLoteFinal().toString());
}
if(faturamentoSituacaoComando.getNumeroSubLoteInicial()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setSubloteOrigem(faturamentoSituacaoComando.getNumeroLoteInicial().toString());
}
if(faturamentoSituacaoComando.getNumeroSubLoteFinal()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setSubloteDestino(faturamentoSituacaoComando.getNumeroLoteFinal().toString());
}
if(faturamentoSituacaoComando.getCodigoRotaInicial()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setCdRotaInicial(faturamentoSituacaoComando.getCodigoRotaInicial().toString());
}
if(faturamentoSituacaoComando.getCodigoRotaFinal()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setCdRotaFinal(faturamentoSituacaoComando.getCodigoRotaFinal().toString());
}
if(faturamentoSituacaoComando.getSequencialRotaInicial()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setSequencialRotaInicial(faturamentoSituacaoComando.getSequencialRotaInicial().toString());
}
if(faturamentoSituacaoComando.getSequencialRotaFinal()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setSequencialRotaFinal(faturamentoSituacaoComando.getSequencialRotaFinal().toString());
}
if(faturamentoSituacaoComando.getCategoria1()!=null
&& faturamentoSituacaoComando.getCategoria1().getId()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setCategoria1ID(faturamentoSituacaoComando.getCategoria1().getId().toString());
}
if(faturamentoSituacaoComando.getCategoria2()!=null
&& faturamentoSituacaoComando.getCategoria2().getId()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setCategoria2ID(faturamentoSituacaoComando.getCategoria2().getId().toString());
}
if(faturamentoSituacaoComando.getCategoria3()!=null
&& faturamentoSituacaoComando.getCategoria3().getId()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setCategoria3ID(faturamentoSituacaoComando.getCategoria3().getId().toString());
}
if(faturamentoSituacaoComando.getCategoria4()!=null
&& faturamentoSituacaoComando.getCategoria4().getId()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setCategoria4ID(faturamentoSituacaoComando.getCategoria4().getId().toString());
}
if(faturamentoSituacaoComando.getIndicadorConsumo()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setIndicadorConsumoImovel(faturamentoSituacaoComando.getIndicadorConsumo().toString());
}
if(faturamentoSituacaoComando.getQuantidadeImoveis()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setQuantidadeImoveisAtualizados(faturamentoSituacaoComando.getQuantidadeImoveis().toString());
}
if(faturamentoSituacaoComando.getFaturamentoSituacaoTipo()!=null
&& Util.verificarNaoVazio(faturamentoSituacaoComando.getFaturamentoSituacaoTipo()
.getDescricao())){
atualizarSituacaoEspecialFaturamentoActionForm
.setTipoSituacaoEspecialFaturamento(faturamentoSituacaoComando.
getFaturamentoSituacaoTipo().getDescricao());
}
if(faturamentoSituacaoComando.getFaturamentoSituacaoMotivo()!=null
&& Util.verificarNaoVazio(faturamentoSituacaoComando.getFaturamentoSituacaoMotivo()
.getDescricao())){
atualizarSituacaoEspecialFaturamentoActionForm
.setMotivoSituacaoEspecialFaturamento(
faturamentoSituacaoComando.getFaturamentoSituacaoMotivo().getDescricao());
}
if(faturamentoSituacaoComando.getAnoMesInicialSituacaoFaturamento()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setMesAnoReferenciaFaturamentoInicial(Util.formatarAnoMesParaMesAno(
faturamentoSituacaoComando.getAnoMesInicialSituacaoFaturamento().toString()));
}
if(faturamentoSituacaoComando.getAnoMesFinalSituacaoFaturamento()!=null){
atualizarSituacaoEspecialFaturamentoActionForm
.setMesAnoReferenciaFaturamentoFinal(Util.formatarAnoMesParaMesAno(
faturamentoSituacaoComando.getAnoMesFinalSituacaoFaturamento().toString()));
}
if(Util.verificarNaoVazio(faturamentoSituacaoComando.getObservacao())){
atualizarSituacaoEspecialFaturamentoActionForm
.setObservacao(faturamentoSituacaoComando.
getObservacao());
}
}
}
/**
* Esse m�todo monta o filtro para consultar o registro a ser atualizado
* baseado no seu id. Havendo resultado ele retorna o objeto, caso contr�rio retorna null.
*
*@since 13/08/2009
*@author Marlon Patrick
*/
private FaturamentoSituacaoComando obterRegistroASerAtualizadoAPartirId(String id) {
Fachada fachada = Fachada.getInstancia();
FaturamentoSituacaoComando faturamentoSituacaoComando = null;
FiltroFaturamentoSituacaoComando filtroFaturamentoSituacaoComando= new FiltroFaturamentoSituacaoComando();
filtroFaturamentoSituacaoComando.
adicionarCaminhoParaCarregamentoEntidade(FiltroFaturamentoSituacaoComando.IMOVEL);
filtroFaturamentoSituacaoComando.
adicionarCaminhoParaCarregamentoEntidade(FiltroFaturamentoSituacaoComando.LOCALIDADE_INICIAL);
filtroFaturamentoSituacaoComando.
adicionarCaminhoParaCarregamentoEntidade(FiltroFaturamentoSituacaoComando.LOCALIDADE_FINAL);
filtroFaturamentoSituacaoComando.
adicionarCaminhoParaCarregamentoEntidade(FiltroFaturamentoSituacaoComando.CATEGORIA_1);
filtroFaturamentoSituacaoComando.
adicionarCaminhoParaCarregamentoEntidade(FiltroFaturamentoSituacaoComando.CATEGORIA_2);
filtroFaturamentoSituacaoComando.
adicionarCaminhoParaCarregamentoEntidade(FiltroFaturamentoSituacaoComando.CATEGORIA_3);
filtroFaturamentoSituacaoComando.
adicionarCaminhoParaCarregamentoEntidade(FiltroFaturamentoSituacaoComando.CATEGORIA_4);
filtroFaturamentoSituacaoComando.
adicionarCaminhoParaCarregamentoEntidade(FiltroFaturamentoSituacaoComando.FATURAMENTO_SITUACAO_TIPO);
filtroFaturamentoSituacaoComando.
adicionarCaminhoParaCarregamentoEntidade(FiltroFaturamentoSituacaoComando.FATURAMENTO_SITUACAO_MOTIVO);
filtroFaturamentoSituacaoComando.adicionarParametro(new ParametroSimples(
FiltroFaturamentoSituacaoComando.ID, id));
Collection<FaturamentoSituacaoComando> colecaoFaturamentoSituacaoComando = fachada.pesquisar(
filtroFaturamentoSituacaoComando, FaturamentoSituacaoComando.class.getName());
if ( !Util.isVazioOrNulo(colecaoFaturamentoSituacaoComando)) {
faturamentoSituacaoComando= colecaoFaturamentoSituacaoComando.iterator().next();
}
return faturamentoSituacaoComando;
}
/**
* Esse m�todo faz a verifica��o tanto na sess�o quanto no request
* na tentativa de encontrar o atributo ou parametro que represente
* o id do objeto a ser atualizado.
*
*@since 13/08/2009
*@author Marlon Patrick
*/
private String obterIdRegistroASerAtualizado(HttpServletRequest httpServletRequest, HttpSession sessao) {
String id = null;
if (httpServletRequest.getParameter("idRegistroAtualizacao") == null){
id = ((FaturamentoSituacaoComando) sessao.getAttribute("faturamentoSituacaoComando")).getId().toString();
}else{
id = httpServletRequest.getParameter("idRegistroAtualizacao");
}
if (id == null) {
if (httpServletRequest.getAttribute("idRegistroAtualizacao") == null) {
id = (String) sessao.getAttribute("idRegistroAtualizacao");
} else {
id = httpServletRequest.getAttribute("idRegistroAtualizacao").toString();
}
} else {
sessao.setAttribute("i", true);
}
if (httpServletRequest.getParameter("manter") != null) {
sessao.setAttribute("manter", true);
} else if (httpServletRequest.getParameter("filtrar") != null) {
sessao.removeAttribute("manter");
}
return id;
}
}