package gcom.gui.atendimentopublico.ordemservico;
import gcom.cadastro.unidade.UnidadeRepavimentadoraCustoPavimentoCalcada;
import gcom.cadastro.unidade.UnidadeRepavimentadoraCustoPavimentoRua;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
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;
/**
* [UC1108] Filtrar Custo de Pavimento por Repavimentadora
*
* @author Hugo Leonardo
* @date 23/12/2010
*/
public class ExibirManterCustoPavimentoPorRepavimentadoraAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping.findForward("exibirManterCustoPavimentoPorRepavimentadora");
// Obt�m a inst�ncia da fachada
// Fachada fachada = Fachada.getInstancia();
HttpSession sessao = httpServletRequest.getSession(false);
// Limpa o atributo se o usu�rio voltou para o manter
if (sessao.getAttribute("colecaoCustoPavimentoRua") != null) {
// sessao.removeAttribute("colecaoCustoPavimentoRua");
}
if (sessao.getAttribute("colecaoCustoPavimentoCalcada") != null) {
// sessao.removeAttribute("colecaoCustoPavimentoCalcada");
}
Collection<UnidadeRepavimentadoraCustoPavimentoRua> colecaoCustoPavimentoRua = (Collection<UnidadeRepavimentadoraCustoPavimentoRua>) httpServletRequest.getAttribute("colecaoUnidadeRepavimentadoraCustoPavimentoRua");
Collection<UnidadeRepavimentadoraCustoPavimentoCalcada> colecaoCustoPavimentoCalcada = (Collection<UnidadeRepavimentadoraCustoPavimentoCalcada>) httpServletRequest.getAttribute("colecaoUnidadeRepavimentadoraCustoPavimentoCalcada");
// Rua
if (colecaoCustoPavimentoRua != null && !colecaoCustoPavimentoRua.isEmpty()) {
if (httpServletRequest.getParameter("atualizarRua") != null) {
retorno = actionMapping.findForward("atualizarUnidadeRepavimentadoraCustoPavimentoRua");
UnidadeRepavimentadoraCustoPavimentoRua unidadeCustoPavimentoRua = (UnidadeRepavimentadoraCustoPavimentoRua) colecaoCustoPavimentoRua.iterator().next();
sessao.setAttribute("objetoUnidadeCustoPavimentoRua", unidadeCustoPavimentoRua);
} else {
sessao.removeAttribute("objetoUnidadeCustoPavimentoRua");
httpServletRequest.setAttribute("colecaoCustoPavimentoRua", colecaoCustoPavimentoRua);
}
} else if (colecaoCustoPavimentoCalcada == null || colecaoCustoPavimentoCalcada.isEmpty()){
// Caso a pesquisa n�o retorne nenhum objeto comunica ao usu�rio;
throw new ActionServletException("atencao.pesquisa.nenhumresultado");
}
// Cal�ada
if (colecaoCustoPavimentoCalcada != null && !colecaoCustoPavimentoCalcada.isEmpty()) {
if (httpServletRequest.getParameter("atualizarCalcada") != null) {
retorno = actionMapping.findForward("atualizarUnidadeRepavimentadoraCustoPavimentoCalcada");
UnidadeRepavimentadoraCustoPavimentoCalcada unidadeCustoPavimentoCalcada = (UnidadeRepavimentadoraCustoPavimentoCalcada) colecaoCustoPavimentoCalcada.iterator().next();
sessao.setAttribute("objetoUnidadeCustoPavimentoCalcada", unidadeCustoPavimentoCalcada);
} else {
sessao.removeAttribute("objetoUnidadeCustoPavimentoCalcada");
httpServletRequest.setAttribute("colecaoCustoPavimentoCalcada", colecaoCustoPavimentoCalcada);
}
} else if (colecaoCustoPavimentoRua == null || colecaoCustoPavimentoRua.isEmpty()){
// Caso a pesquisa n�o retorne nenhum objeto comunica ao usu�rio;
throw new ActionServletException("atencao.pesquisa.nenhumresultado");
}
return retorno;
}
}