package gcom.gui.atendimentopublico.registroatendimento; import gcom.atendimentopublico.registroatendimento.RAReiteracao; import gcom.atendimentopublico.registroatendimento.RegistroAtendimento; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.ClienteEndereco; import gcom.cadastro.unidade.UnidadeOrganizacional; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.usuario.Usuario; 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; /** * <<Descri��o da Classe>> * * @author lms * @date 20/09/2006 */ public class ReiterarRegistroAtendimentoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); ReiterarRegistroAtendimentoActionForm form = (ReiterarRegistroAtendimentoActionForm) actionForm; RegistroAtendimento registroAtendimento = fachada.obterDadosRegistroAtendimento(Integer.parseInt(httpServletRequest.getParameter("numeroRA"))).getRegistroAtendimento(); RAReiteracao raReiteracao = new RAReiteracao(); String protocoloAtendimento = (String)sessao.getAttribute("protocoloAtendimento"); raReiteracao.setNumeroProtocoloAtendimento(protocoloAtendimento); Cliente cliente = null; UnidadeOrganizacional unidade = null; if(form.getIdClienteSolicitante() != null && !form.getIdClienteSolicitante().equals("")){ cliente = new Cliente(); cliente.setId(new Integer(form.getIdClienteSolicitante())); }else if(form.getIdUnidadeSolicitante() != null && !form.getIdUnidadeSolicitante().equals("")){ unidade = new UnidadeOrganizacional(); unidade.setId(new Integer(form.getIdUnidadeSolicitante())); }else{ raReiteracao.setSolicitante(form.getNomeSolicitante()); } raReiteracao.setUnidadeOrganizacional(unidade); raReiteracao.setCliente(cliente); raReiteracao.setRegistroAtendimento(registroAtendimento); // raReiteracao.setPontoReferencia(form.getPontoReferencia()); raReiteracao.setObservacao(form.getObservacao()); if (sessao.getAttribute("colecaoEnderecos") != null) { Collection enderecos = (Collection) sessao.getAttribute("colecaoEnderecos"); if (!enderecos.isEmpty()) { ClienteEndereco endereco = (ClienteEndereco)enderecos.iterator().next(); raReiteracao.setComplementoEndereco(endereco.getComplemento()); raReiteracao.setIndicadorEnderecoCorrespondencia(endereco.getIndicadorEnderecoCorrespondencia()); raReiteracao.setLogradouroBairro(endereco.getLogradouroBairro()); raReiteracao.setLogradouroCep(endereco.getLogradouroCep()); raReiteracao.setNumeroImovel(new Integer(endereco.getNumero().trim())); raReiteracao.setPerimetroInicial(endereco.getPerimetroInicial()); raReiteracao.setPerimetroFinal(endereco.getPerimetroFinal()); } // else{ // throw new ActionServletException("atencao.campo_selecionado.obrigatorio", null, "Endere�o"); // } } // else{ // throw new ActionServletException("atencao.campo_selecionado.obrigatorio", null, "Endere�o"); // } Collection colecaoFonesSolicitante = (Collection)sessao.getAttribute("colecaoFonesSolicitante"); if(colecaoFonesSolicitante == null || colecaoFonesSolicitante.isEmpty()){ throw new ActionServletException("atencao.campo_selecionado.obrigatorio", null, "Fones do Solicitante"); } //gera a ordem de servi�o fachada.reiterarRegistroAtendimento(registroAtendimento, usuario, raReiteracao, colecaoFonesSolicitante); //Exibe a p�gina de sucesso montarPaginaSucesso(httpServletRequest, "Registro de Atendimento de n�mero " + registroAtendimento.getId() + " reiterado com sucesso.", "", "exibirGerarOrdemServicoAction.do", "exibirConsultarRegistroAtendimentoAction.do?numeroRA=" + registroAtendimento.getId(), "Voltar"); return retorno; } }