package gcom.gui.micromedicao; import gcom.cadastro.imovel.FiltroImovel; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.imovel.bean.ImovelMicromedicao; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.micromedicao.consumo.ConsumoHistorico; import gcom.micromedicao.consumo.FiltroConsumoHistorico; import gcom.micromedicao.medicao.FiltroMedicaoHistorico; import gcom.micromedicao.medicao.MedicaoHistorico; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; 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 pre-exibi��o da pagina de inserir bairro * * @author S�vio Luiz * @created 28 de Junho de 2004 */ public class ExibirEfetuarAnaliseExcecoesLeiturasConsumosAction 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) { ActionForward retorno = actionMapping.findForward("efetuarAnaliseExcecoesLeiturasConsumosJsp"); Fachada fachada = Fachada.getInstancia(); // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); //Collection<ImovelMicromedicao> imoveisMicromedicao = new ArrayList(); //imoveisMicromedicao = (Collection<ImovelMicromedicao>) httpServletRequest.getAttribute("imoveisFiltrados"); Collection imoveisFiltradosInicial = (Collection) sessao.getAttribute("imoveisFiltrados"); Collection imovelPesquisa = null; Collection medicaoPesquisa = null; Collection consumoPesquisa = null; Collection imoveisFiltrados = new ArrayList(); SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); FiltroImovel filtroImovel = new FiltroImovel(); FiltroMedicaoHistorico filtroMedicaoHistorico = new FiltroMedicaoHistorico(); FiltroConsumoHistorico filtroConsumoHistorico = new FiltroConsumoHistorico(); Iterator iterator = imoveisFiltradosInicial.iterator(); Imovel imovel = null; MedicaoHistorico medicaoHistorico = null; ConsumoHistorico consumoHistorico = null; ImovelMicromedicao imovelMicromedicao = null; while(iterator.hasNext()){ Integer idImovel = (Integer)iterator.next(); filtroImovel.limparListaParametros(); filtroMedicaoHistorico.limparListaParametros(); filtroConsumoHistorico.limparListaParametros(); //---- Montar objeto ImovelMicromedicao para mostrar na tela efetuarExcecoesLeitura //-----Imovel q fara parte do objeto filtroImovel.adicionarCaminhoParaCarregamentoEntidade("localidade"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("setorComercial"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("quadra.rota.faturamentoGrupo"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("imovelPerfil"); filtroImovel.adicionarParametro(new ParametroSimples(FiltroImovel.ID, idImovel)); imovelPesquisa = fachada.pesquisar(filtroImovel, Imovel.class.getName()); if(!imovelPesquisa.isEmpty()){ imovel = (Imovel)imovelPesquisa.iterator().next(); } //------Medicao que fara parte do objeto filtroMedicaoHistorico.adicionarCaminhoParaCarregamentoEntidade("medicaoTipo"); filtroMedicaoHistorico.adicionarCaminhoParaCarregamentoEntidade("leituraAnormalidadeFaturamento"); filtroMedicaoHistorico.adicionarParametro(new ParametroSimples(FiltroMedicaoHistorico.IMOVEL_ID, idImovel, ParametroSimples.CONECTOR_OR)); filtroMedicaoHistorico.adicionarParametro(new ParametroSimples(FiltroMedicaoHistorico.LIGACAO_AGUA_ID, idImovel)); //Faz o teste do ano mes faturamento para pegar a medicao do ano de referencia if(imovel != null && imovel.getQuadra() != null && imovel.getQuadra().getRota() != null && imovel.getQuadra().getRota().getFaturamentoGrupo() != null){ filtroMedicaoHistorico.adicionarParametro(new ParametroSimples(FiltroMedicaoHistorico.ANO_MES_REFERENCIA_FATURAMENTO, sistemaParametro.getAnoMesFaturamento())); } medicaoPesquisa = fachada.pesquisar(filtroMedicaoHistorico, MedicaoHistorico.class.getName()); if(!medicaoPesquisa.isEmpty()){ medicaoHistorico = (MedicaoHistorico)medicaoPesquisa.iterator().next(); } //-------Consumo Historico filtroConsumoHistorico.adicionarCaminhoParaCarregamentoEntidade("consumoAnormalidade"); filtroConsumoHistorico.adicionarParametro(new ParametroSimples(FiltroConsumoHistorico.IMOVEL_ID, idImovel)); // Faz o teste do ano mes faturamento para pegar a medicao do ano de referencia if(imovel != null && imovel.getQuadra() != null && imovel.getQuadra().getRota() != null && imovel.getQuadra().getRota().getFaturamentoGrupo() != null){ filtroConsumoHistorico.adicionarParametro(new ParametroSimples( FiltroConsumoHistorico.ANO_MES_FATURAMENTO, sistemaParametro.getAnoMesFaturamento())); } consumoPesquisa = fachada.pesquisar(filtroConsumoHistorico, ConsumoHistorico.class.getName()); if(!consumoPesquisa.isEmpty()){ consumoHistorico = (ConsumoHistorico)consumoPesquisa.iterator().next(); } imovelMicromedicao = new ImovelMicromedicao(); imovelMicromedicao.setImovel(imovel); imovelMicromedicao.setMedicaoHistorico(medicaoHistorico); imovelMicromedicao.setConsumoHistorico(consumoHistorico); imoveisFiltrados.add(imovelMicromedicao); } sessao.setAttribute("imoveisFiltrados", imoveisFiltrados); return retorno; } }