package br.com.centralit.citcorpore.ajaxForms;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.centralit.citajax.html.AjaxFormAction;
import br.com.centralit.citajax.html.DocumentHTML;
import br.com.centralit.citajax.html.HTMLForm;
import br.com.centralit.citcorpore.bean.AgendaAtvPeriodicasDTO;
import br.com.centralit.citcorpore.bean.AtividadePeriodicaDTO;
import br.com.centralit.citcorpore.bean.EventoDTO;
import br.com.centralit.citcorpore.bean.EventosDTO;
import br.com.centralit.citcorpore.bean.UsuarioDTO;
import br.com.centralit.citcorpore.negocio.AtividadePeriodicaService;
import br.com.centralit.citcorpore.negocio.EventosService;
import br.com.centralit.citcorpore.negocio.ProgramacaoAtividadeService;
import br.com.centralit.citcorpore.util.Enumerados.TipoDate;
import br.com.centralit.citcorpore.util.WebUtil;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.Constantes;
import br.com.citframework.util.UtilDatas;
import com.google.gson.Gson;
public class Eventos extends AjaxFormAction {
public Class getBeanClass() {
return AgendaAtvPeriodicasDTO.class;
}
@SuppressWarnings("unchecked")
public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
AgendaAtvPeriodicasDTO agendaAtvPeriodicasDTO = (AgendaAtvPeriodicasDTO)document.getBean();
agendaAtvPeriodicasDTO.setIdGrupoAtvPeriodica(0);
String ID_GRUPO_ATV_PER = (String)request.getSession().getAttribute("ID_GRUPO_ATV_PER");
String idGrupoPesquisa = (String)request.getSession().getAttribute("idGrupoPesquisa");
if (ID_GRUPO_ATV_PER == null){
ID_GRUPO_ATV_PER = "";
}
if (!ID_GRUPO_ATV_PER.equalsIgnoreCase("")){
try{
agendaAtvPeriodicasDTO.setIdGrupoAtvPeriodica(new Integer(ID_GRUPO_ATV_PER));
agendaAtvPeriodicasDTO.setIdGrupoPesquisa(new Integer(idGrupoPesquisa));
}catch (Exception e) {
e.printStackTrace();
}
}
java.util.Date dataInicio = new java.util.Date(agendaAtvPeriodicasDTO.getStart() * 1000); //A api fullcalendar - divide por 1000
java.util.Date dataFim = new java.util.Date(agendaAtvPeriodicasDTO.getEnd() * 1000); //A api fullcalendar - divide por 1000
List lst = new ArrayList();
int qtdeDias = UtilDatas.dataDiff(dataInicio, dataFim);
AtividadePeriodicaService atividadePeriodicaService = (AtividadePeriodicaService) ServiceLocator.getInstance().getService(AtividadePeriodicaService.class, null);
ProgramacaoAtividadeService programacaoAtividadeService = (ProgramacaoAtividadeService) ServiceLocator.getInstance().getService(ProgramacaoAtividadeService.class, null);
UsuarioDTO usr = WebUtil.getUsuario(request);
agendaAtvPeriodicasDTO.setIdEmpregado(usr.getIdEmpregado());
Collection<AtividadePeriodicaDTO> colAtividades = atividadePeriodicaService.findByIdGrupoAtvPeriodica(agendaAtvPeriodicasDTO);
if (colAtividades != null){
for (AtividadePeriodicaDTO atividadePeriodicaDto : colAtividades) {
Collection<EventoDTO> colEventos = programacaoAtividadeService.findEventosAgenda(atividadePeriodicaDto, dataInicio, qtdeDias);
if (colEventos != null) {
for (EventoDTO eventoDto : colEventos) {
String tit = atividadePeriodicaDto.getTituloAtividade();
if (tit == null){
tit = "--";
}
tit = tit.replaceAll("'", "");
eventoDto.setUrl("javascript:validaEvento('" + eventoDto.getIdExecucao() + "',"
+ atividadePeriodicaDto.getIdAtividadePeriodica() + ", "
+ eventoDto.getIdProgramacao() + ", "
+"'" + tit + "',"
+"'" + UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, eventoDto.getData(), WebUtil.getLanguage(request)) + "',"
+"'" + eventoDto.getNumeroOS() + "',"
+"'" + eventoDto.getDescricaoAtividadeOS() + "',"
+"'" + eventoDto.getHoraInicio() +"');");
lst.add(eventoDto);
}
}
}
}
Gson gson = new Gson();
String json = gson.toJson(lst);
request.setAttribute("json_response", json);
}
public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuario = (UsuarioDTO) request.getSession().getAttribute(Constantes.getValue("USUARIO_SESSAO"));
if (usuario == null){
document.alert("O usu�rio n�o est� logado! Favor logar no sistema!");
return;
}
EventosDTO eventos = (EventosDTO) document.getBean();
//eventos.setIdUsuario(Integer.valueOf(usuario.getIdUsuario()));
eventos.setIdEmpresa(usuario.getIdEmpresa());
EventosService eventosService = (EventosService) ServiceLocator.getInstance().getService(EventosService.class, null);
if (eventos.getIdEvento() == null || eventos.getIdEvento().intValue() == 0){
eventos.setDataCriacao(UtilDatas.getDataAtual());
eventosService.create(eventos);
} else {
eventosService.update(eventos);
}
HTMLForm form = document.getForm("form");
form.clear();
document.alert("Registro gravado com sucesso!");
}
public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
EventosDTO eventos = (EventosDTO) document.getBean();
EventosService eventosService = (EventosService) ServiceLocator.getInstance().getService(EventosService.class, null);
eventos = (EventosDTO) eventosService.restore(eventos);
HTMLForm form = document.getForm("form");
form.clear();
form.setValues(eventos);
}
}