package gcom.gui.micromedicao; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.SetorComercial; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.micromedicao.ArquivoTextoRoteiroEmpresaDivisao; import gcom.micromedicao.FiltroArquivoTextoRoteiroEmpresa; import gcom.micromedicao.FiltroArquivoTextoRoteiroEmpresaDivisao; import gcom.micromedicao.SituacaoTransmissaoLeitura; 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; /** * UC1027 - Exibir Consultar Arquivo Texto Leitura Divis�o. * * @author Hugo Leonardo * @created 04/06/2010 * */ public class ExibirConsultarArquivoTextoLeituraDivisaoPopupAction extends GcomAction { /** * * * @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("exibirConsultarArquivoTextoLeituraDivisaoPopupAction"); HttpSession sessao = httpServletRequest.getSession(false); ConsultarArquivoTextoLeituraDivisaoPopupActionForm form = (ConsultarArquivoTextoLeituraDivisaoPopupActionForm) actionForm; FiltroArquivoTextoRoteiroEmpresaDivisao filtroArquivoTextoRoteiroEmpresaDivisao = null; String idArqRoteiroEmpresa = null; if (httpServletRequest.getParameter("idArquivoTextoRoteiroEmpresa") != null || sessao.getAttribute("idArquivoTextoRoteiroEmpresaDivisao") != null) { if(httpServletRequest.getParameter("idArquivoTextoRoteiroEmpresa") != null){ idArqRoteiroEmpresa = (String) httpServletRequest.getParameter("idArquivoTextoRoteiroEmpresa"); sessao.setAttribute("idArquivoTextoRoteiroEmpresaDivisao", idArqRoteiroEmpresa); }else{ idArqRoteiroEmpresa = (String) sessao.getAttribute("idArquivoTextoRoteiroEmpresaDivisao"); } // pesquisa Arquivo Texto Roteiro Empresa Divis�o filtroArquivoTextoRoteiroEmpresaDivisao = new FiltroArquivoTextoRoteiroEmpresaDivisao(); filtroArquivoTextoRoteiroEmpresaDivisao.adicionarParametro(new ParametroSimples( FiltroArquivoTextoRoteiroEmpresaDivisao.ARQUIVO_TEXTO_ROTEIRO_EMPRESA_ID, idArqRoteiroEmpresa)); String[] orderby = new String[] { FiltroArquivoTextoRoteiroEmpresaDivisao.NUMERO_SEQUENCIA_LEITURA, FiltroArquivoTextoRoteiroEmpresaDivisao.SITUACAO_TRANS_LEITURA}; filtroArquivoTextoRoteiroEmpresaDivisao.adicionarCaminhoParaCarregamentoEntidade( FiltroArquivoTextoRoteiroEmpresaDivisao.ARQUIVO_TEXTO_ROTEIRO_EMPRESA); filtroArquivoTextoRoteiroEmpresaDivisao.adicionarCaminhoParaCarregamentoEntidade( FiltroArquivoTextoRoteiroEmpresa.SITUACAO_TRANS_LEITURA); filtroArquivoTextoRoteiroEmpresaDivisao.adicionarCaminhoParaCarregamentoEntidade( "arquivoTextoRoteiroEmpresa.localidade"); filtroArquivoTextoRoteiroEmpresaDivisao.adicionarCaminhoParaCarregamentoEntidade( "arquivoTextoRoteiroEmpresa.rota"); filtroArquivoTextoRoteiroEmpresaDivisao.adicionarCaminhoParaCarregamentoEntidade( "leiturista"); filtroArquivoTextoRoteiroEmpresaDivisao.adicionarCaminhoParaCarregamentoEntidade( "leiturista.cliente"); filtroArquivoTextoRoteiroEmpresaDivisao.adicionarCaminhoParaCarregamentoEntidade( "leiturista.funcionario"); filtroArquivoTextoRoteiroEmpresaDivisao.setCampoOrderBy(orderby); Collection colecaoArquivoTextoRoteiroEmpresaDivisao = Fachada.getInstancia() .pesquisar(filtroArquivoTextoRoteiroEmpresaDivisao, ArquivoTextoRoteiroEmpresaDivisao.class.getName()); if(colecaoArquivoTextoRoteiroEmpresaDivisao != null && !colecaoArquivoTextoRoteiroEmpresaDivisao.isEmpty()){ ArquivoTextoRoteiroEmpresaDivisao arquivoTextoRoteiroEmpresaDivisao = (ArquivoTextoRoteiroEmpresaDivisao) Util.retonarObjetoDeColecao(colecaoArquivoTextoRoteiroEmpresaDivisao); //Caso a situa��o de transmiss�o leitura do arquivo texto roteiro empresa n�o esteja com a situa��o de "Liberado" //ent�o exibe uma mensagem para liberar o arquivo. if(arquivoTextoRoteiroEmpresaDivisao.getArquivoTextoRoteiroEmpresa() != null && arquivoTextoRoteiroEmpresaDivisao.getArquivoTextoRoteiroEmpresa() != null && !arquivoTextoRoteiroEmpresaDivisao.getArquivoTextoRoteiroEmpresa().getSituacaoTransmissaoLeitura().getId().equals(SituacaoTransmissaoLeitura.EM_CAMPO)){ throw new ActionServletException("atencao.arquivo_texto_roteiro_empresa_nao_em_campo"); } String idLocalidade = arquivoTextoRoteiroEmpresaDivisao.getArquivoTextoRoteiroEmpresa().getLocalidade().getId().toString(); String nomeLocalidade = arquivoTextoRoteiroEmpresaDivisao.getArquivoTextoRoteiroEmpresa().getLocalidade().getDescricao(); String idSetorComercial = arquivoTextoRoteiroEmpresaDivisao.getArquivoTextoRoteiroEmpresa().getCodigoSetorComercial1().toString(); String codigoRota = arquivoTextoRoteiroEmpresaDivisao.getArquivoTextoRoteiroEmpresa().getRota().getCodigo().toString(); // localidade form.setLocalidadeID(""+ idLocalidade); form.setLocalidadeNome(""+ nomeLocalidade); // setor comercial FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.ID, idSetorComercial)); Collection<SetorComercial> setorComercialPesquisada = Fachada.getInstancia().pesquisar( filtroSetorComercial, SetorComercial.class.getName()); if (setorComercialPesquisada != null && !setorComercialPesquisada.isEmpty()) { SetorComercial setorComercial = (SetorComercial) Util.retonarObjetoDeColecao(setorComercialPesquisada); form.setCodigoSetorComercial(""+ setorComercial.getCodigo()); } // rota form.setCodigoRota(""+ codigoRota); sessao.setAttribute("colecaoArquivoTextoRoteiroEmpresaDivisao", colecaoArquivoTextoRoteiroEmpresaDivisao); }else{ throw new ActionServletException("atencao.arquivo_texto_roteiro_empresa_divisao"); } } sessao.setAttribute("achou","1"); form.setIdsRegistros(new String[0]); return retorno; } }