package br.com.centralit.citcorpore.ajaxForms; import java.util.ArrayList; import java.util.Collection; 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.HTMLElement; import br.com.centralit.citajax.html.HTMLForm; import br.com.centralit.citajax.html.HTMLSelect; import br.com.centralit.citcorpore.bean.EmpregadoDTO; import br.com.centralit.citcorpore.bean.ProjetoDTO; import br.com.centralit.citcorpore.bean.TimeSheetDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.centralit.citcorpore.negocio.ClienteService; import br.com.centralit.citcorpore.negocio.EmpregadoService; import br.com.centralit.citcorpore.negocio.ProjetoService; import br.com.centralit.citcorpore.negocio.TimeSheetService; import br.com.centralit.citcorpore.util.WebUtil; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.Constantes; public class TimeSheetAvulso extends AjaxFormAction { public Class getBeanClass() { return TimeSheetDTO.class; } public void load(DocumentHTML document, HttpServletRequest arg1, HttpServletResponse arg2) throws Exception { UsuarioDTO usuario = WebUtil.getUsuario(arg1); if (usuario == null){ document.alert("Sess�o expirada! Favor efetuar logon novamente!"); document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + arg1.getContextPath() + "'"); return; } HTMLSelect comboClientes = (HTMLSelect) document.getSelectById("idCliente"); ClienteService clienteService = (ClienteService) ServiceLocator.getInstance().getService(ClienteService.class, null); Collection colClientes = clienteService.list(); comboClientes.addOption("", "--"); comboClientes.addOptions(colClientes, "idCliente", "nomeFantasia", null); } public void idCliente_onchange(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { TimeSheetDTO timeSheet = (TimeSheetDTO) document.getBean(); ProjetoService projetoService = (ProjetoService) ServiceLocator.getInstance().getService(ProjetoService.class, null); ProjetoDTO prjPesq = new ProjetoDTO(); prjPesq.setIdCliente(timeSheet.getIdCliente()); prjPesq.setSituacao("A"); Collection colProjetos = new ArrayList(); if (timeSheet.getIdCliente() != null){ colProjetos = projetoService.find(prjPesq); } HTMLSelect comboProjeto = (HTMLSelect) document.getSelectById("idProjeto"); comboProjeto.removeAllOptions(); comboProjeto.addOption("", "--"); comboProjeto.addOptions(colProjetos, "idProjeto", "nomeProjeto", null); document.alert("Selecione o Projeto!"); } public void TimeSheetAvulso_onsave(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { TimeSheetService timeSheetService = (TimeSheetService) ServiceLocator.getInstance().getService(TimeSheetService.class, null); TimeSheetDTO timeSheetBean = (TimeSheetDTO)document.getBean(); UsuarioDTO usuario = WebUtil.getUsuario(request); if (usuario == null){ document.alert("Sess�o expirada! Favor efetuar logon novamente!"); document.executeScript("window.location = '" + request.getContextPath() + "'"); return; } timeSheetBean.setIdEmpregado(new Integer(usuario.getIdUsuario())); if (timeSheetBean.getData()==null){ document.alert("Informe uma data correta!"); HTMLElement txtData = document.getElementById("data"); txtData.setFocus(); return; } EmpregadoService empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null); EmpregadoDTO empregadoBean = new EmpregadoDTO(); empregadoBean.setIdEmpregado(timeSheetBean.getIdEmpregado()); empregadoBean = (EmpregadoDTO) empregadoService.restore(empregadoBean); if (empregadoBean == null){ document.alert("ERRO: N�o foi possivel recuperar dados do empregado logado!"); return; } timeSheetBean.setCustoPorHora(empregadoBean.getCustoPorHora()); timeSheetService.create(timeSheetBean); document.alert("TimeSheet registrado com sucesso!"); HTMLForm form = document.getForm("form"); form.clear(); } }