package gcom.gui.micromedicao.hidrometro; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.micromedicao.hidrometro.FiltroHidrometroLocalArmazenagem; import gcom.micromedicao.hidrometro.FiltroHidrometroMotivoMovimentacao; import gcom.micromedicao.hidrometro.Hidrometro; import gcom.micromedicao.hidrometro.HidrometroLocalArmazenagem; import gcom.micromedicao.hidrometro.HidrometroMotivoMovimentacao; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Collection; import java.util.GregorianCalendar; 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; /** * < <Descri��o da Classe>> * * @author Administrador */ public class ExibirConfirmarMovimentarHidrometroAction extends GcomAction { /** * < <Descri��o do m�todo>> * * @param actionMapping * Descri��o do par�metro * @param actionForm * Descri��o do par�metro * @param httpServletRequest * Descri��o do par�metro * @param httpServletResponse * Descri��o do par�metro * @return Descri��o do retorno */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Obt�m o action form ConfirmarMovimentarHidrometroActionForm confirmarMovimentarHidrometroActionForm = (ConfirmarMovimentarHidrometroActionForm) actionForm; //Define a��o de retorno ActionForward retorno = actionMapping .findForward("confirmarMovimentarHidrometro"); //Obt�m a sess�o HttpSession sessao = httpServletRequest.getSession(false); //Obt�m a facahda Fachada fachada = Fachada.getInstancia(); Collection colecaoHidrometroSelecionado = (Collection) sessao .getAttribute("colecaoHidrometroSelecionado"); httpServletRequest.setAttribute("qtdeHidrometrosMovimentados",colecaoHidrometroSelecionado.size()); //Obt�m a descri��o do local de armazenagem Hidrometro hidrometro = (Hidrometro) Util .retonarObjetoDeColecao(colecaoHidrometroSelecionado); String codigoDescricaoLocalArmazenagemAtual = hidrometro .getHidrometroLocalArmazenagem().getId().toString(); codigoDescricaoLocalArmazenagemAtual = codigoDescricaoLocalArmazenagemAtual + " - " + hidrometro.getHidrometroLocalArmazenagem().getDescricao(); //Obt�m o objetoCosulta vindo na sess�o String objetoConsulta = (String) httpServletRequest .getParameter("objetoConsulta"); httpServletRequest.setAttribute("nomeCampo", "idLocalArmazenagemDestino"); //Verifica se o objeto � diferente de nulo if (objetoConsulta != null && !objetoConsulta.trim().equalsIgnoreCase("") && (Integer.parseInt(objetoConsulta)) == 1) { //Filtro para obter o local de armazenagem ativo de id informado FiltroHidrometroLocalArmazenagem filtroHidrometroLocalArmazenagem = new FiltroHidrometroLocalArmazenagem(); filtroHidrometroLocalArmazenagem .adicionarParametro(new ParametroSimples( FiltroHidrometroLocalArmazenagem.ID, new Integer( confirmarMovimentarHidrometroActionForm .getIdLocalArmazenagemDestino()), ParametroSimples.CONECTOR_AND)); filtroHidrometroLocalArmazenagem .adicionarParametro(new ParametroSimples( FiltroHidrometroLocalArmazenagem.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); //Pesquisa de acordo com os par�metros informados no filtro Collection colecaoHidrometroLocalArmazenagem = fachada.pesquisar( filtroHidrometroLocalArmazenagem, HidrometroLocalArmazenagem.class.getName()); //Verifica se a pesquisa retornou algum objeto para a cole��o if (colecaoHidrometroLocalArmazenagem != null && !colecaoHidrometroLocalArmazenagem.isEmpty()) { //Obt�m o objeto da cole��o pesquisada HidrometroLocalArmazenagem hidrometroLocalArmazenagem = (HidrometroLocalArmazenagem) Util .retonarObjetoDeColecao(colecaoHidrometroLocalArmazenagem); //Exibe o c�digo e a descri��o pesquisa na p�gina httpServletRequest.setAttribute("corLocalArmazenagem", "valor"); confirmarMovimentarHidrometroActionForm .setIdLocalArmazenagemDestino(hidrometroLocalArmazenagem .getId().toString()); confirmarMovimentarHidrometroActionForm .setLocalArmazenagemDescricaoDestino(hidrometroLocalArmazenagem .getDescricao()); httpServletRequest.setAttribute("nomeCampo", "dataMovimentacao"); } else { //Exibe mensagem de c�digo inexiste e limpa o campo de c�digo httpServletRequest.setAttribute("corLocalArmazenagem", "exception"); confirmarMovimentarHidrometroActionForm .setIdLocalArmazenagemDestino(""); confirmarMovimentarHidrometroActionForm .setLocalArmazenagemDescricaoDestino("LOCAL DE ARMAZENAGEM INEXISTENTE"); } } //Cria��o e defini��o do filto de hidr�metro motivo da movimenta��o FiltroHidrometroMotivoMovimentacao filtroHidrometroMotivoMovimentacao = new FiltroHidrometroMotivoMovimentacao(); filtroHidrometroMotivoMovimentacao .adicionarParametro(new ParametroSimples( FiltroHidrometroMotivoMovimentacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroHidrometroMotivoMovimentacao .setCampoOrderBy(FiltroHidrometroMotivoMovimentacao.DESCRICAO); //Obt�m os motivos da movimenta��o Collection colecaoHidrometroMotivoMovimentacao = fachada.pesquisar( filtroHidrometroMotivoMovimentacao, HidrometroMotivoMovimentacao.class.getName()); //Envia objeto no request httpServletRequest.setAttribute("colecaoHidrometroMotivoMovimentacao", colecaoHidrometroMotivoMovimentacao); //Envia objeto pela sess�o sessao.setAttribute("codigoDescricaoLocalArmazenagemAtual", codigoDescricaoLocalArmazenagemAtual); //Data Corrente SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy"); Calendar dataCorrente = new GregorianCalendar(); httpServletRequest.setAttribute("dataMovimentacao", formatoData .format(dataCorrente.getTime())); httpServletRequest.setAttribute("dataAtual", formatoData .format(dataCorrente.getTime())); SimpleDateFormat formatoHora = new SimpleDateFormat("HH:mm"); Calendar horaCorrente = new GregorianCalendar(); httpServletRequest.setAttribute("horaMovimentacao", formatoHora .format(horaCorrente.getTime())); return retorno; } }