@RoleAdmin @RoleAdminMissao @RoleAdminMissaoComplexo public static void excluir(Long id) { Afastamento afastamento = Afastamento.findById(id); afastamento.delete(); listarPorCondutor(afastamento.condutor.id); }
@RoleAdmin @RoleAdminMissao @RoleAdminMissaoComplexo public static void incluir(Long idCondutor) { Condutor condutor = Condutor.findById(idCondutor); Afastamento afastamento = new Afastamento(); afastamento.condutor = condutor; render(afastamento); }
@RoleAdmin @RoleAdminMissao @RoleAdminMissaoComplexo public static void editar(Long id) { Afastamento afastamento = Afastamento.findById(id); render(afastamento); }
@RoleAdmin @RoleAdminMissao @RoleAdminMissaoComplexo public static void salvar(@Valid Afastamento afastamento) throws Exception { String template; if ((afastamento.dataHoraInicio != null) && (afastamento.dataHoraFim != null) && (!afastamento.descricao.equals(""))) { if (!afastamento.ordemDeDatasCorreta()) { Validation.addError("dataHoraInicio", "afastamentos.dataHoraInicio.validation"); } } template = afastamento.id > 0 ? "Afastamentos/editar.html" : "Afastamentos/incluir.html"; if (Validation.hasErrors()) { List<Condutor> condutores = Condutor.listarTodos(AutorizacaoGI.titular().getOrgaoUsuario()); renderTemplate(template, afastamento, condutores); } else { List<Missao> missoes = Missao.retornarMissoes( "condutor.id", afastamento.condutor.id, afastamento.condutor.cpOrgaoUsuario.getId(), afastamento.dataHoraInicio, afastamento.dataHoraFim); String listaMissoes = ""; String delimitador = ""; for (Missao item : missoes) { listaMissoes += delimitador; listaMissoes += item.getSequence(); delimitador = ","; } if (missoes.size() > 0) { Validation.addError("LinkErroCondutor", listaMissoes); renderTemplate(template, afastamento); } else { afastamento.save(); listarPorCondutor(afastamento.condutor.id); } } }
public static void listarAgendaPorCondutor( @As( lang = {"*"}, value = {"dd/MM/yyyy"}) Calendar dataPesquisa, Long idCondutor) throws ParseException { String registros = ""; Calendar dataHoraPesquisa = Calendar.getInstance(); SimpleDateFormat formatar = new SimpleDateFormat("dd/MM/yyyy HH:mm"); String strDataPesquisa = null; if (dataPesquisa != null) { dataHoraPesquisa = dataPesquisa; } strDataPesquisa = String.format("%02d", dataHoraPesquisa.get(Calendar.DAY_OF_MONTH)) + "/" + String.format("%02d", dataHoraPesquisa.get(Calendar.MONTH) + 1) + "/" + String.format("%04d", dataHoraPesquisa.get(Calendar.YEAR)); dataHoraPesquisa.setTime(formatar.parse(strDataPesquisa + " 00:00")); List<EscalaDeTrabalho> escalas = EscalaDeTrabalho.buscarPorCondutores(idCondutor, strDataPesquisa); List<EscalaDeTrabalho> escalasFiltradas = filtrarPorOrgao(escalas, EscalaDeTrabalho.class); List<Afastamento> afastamentos = Afastamento.buscarPorCondutores(idCondutor, strDataPesquisa); List<Afastamento> afastamentosFiltrados = filtrarPorOrgao(afastamentos, Afastamento.class); List<Plantao> plantoes = Plantao.buscarPorCondutores(idCondutor, strDataPesquisa); List<Plantao> plantoesFiltrados = filtrarPorOrgao(plantoes, Plantao.class); List<Missao> missoes = Missao.buscarPorCondutores(idCondutor, strDataPesquisa); List<Missao> missoesFiltradas = filtrarPorOrgao(missoes, Missao.class); String delim = ""; // for (EscalaDeTrabalho escala : escalas) { for (EscalaDeTrabalho escala : escalasFiltradas) { SimpleDateFormat formatar1 = new SimpleDateFormat("dd/MM/yyyy HH:mm"); String srtDataPesquisa = formatar1.format(dataHoraPesquisa.getTime()); DiaDaSemana diaDePesquisa = DiaDaSemana.getDiaDaSemana(srtDataPesquisa); SimpleDateFormat formatoData1 = new SimpleDateFormat("yyyy,M,d,H,m,s"); Calendar dataHoraInicioTemp = Calendar.getInstance(); Calendar dataHoraFimTemp = recuperarDataEHora( escala.dataVigenciaInicio, HORA_FINAL_DIA, MINUTO_FINAL_DIA, SEGUNDO_FINAL_DIA); for (DiaDeTrabalho dia : escala.diasDeTrabalho) { if (diaDePesquisa.equals(dia.diaEntrada)) { dataHoraInicioTemp = recuperarDataEHora( dataHoraPesquisa, dia.horaEntrada.get(Calendar.HOUR_OF_DAY), dia.horaEntrada.get(Calendar.MINUTE), dia.horaEntrada.get(Calendar.SECOND)); if (diaDePesquisa.equals(dia.diaSaida)) { dataHoraFimTemp = recuperarDataEHora( dataHoraPesquisa, dia.horaSaida.get(Calendar.HOUR_OF_DAY), dia.horaSaida.get(Calendar.MINUTE), dia.horaSaida.get(Calendar.SECOND)); } else { dataHoraFimTemp = recuperarDataEHora( dataHoraPesquisa, HORA_FINAL_EXPEDIENTE, MINUTO_FINAL_EXPEDIENTE, SEGUNDO_FINAL_EXPEDIENTE); } registros += delim; registros += "[ \'" + "Escalas" + "\', \'" + escala.condutor.getNome() + "\', new Date(" + formatoData1.format(dataHoraInicioTemp.getTime()) + "), new Date("; registros += formatoData1.format(dataHoraFimTemp.getTime()) + ") ]"; delim = ", "; } } } String registrosEscala = registros; // registros = gerarTimeLine(dataHoraPesquisa,registrosEscala, afastamentos, plantoes, missoes, // new ArrayList<ServicoVeiculo>(), "condutor"); registros = gerarTimeLine( dataHoraPesquisa, registrosEscala, afastamentosFiltrados, plantoesFiltrados, missoesFiltradas, new ArrayList<ServicoVeiculo>(), "condutor"); renderArgs.put("dataPesquisa", dataHoraPesquisa); render(registros, idCondutor); }
public static void listarPorCondutor(Long idCondutor) { Condutor condutor = Condutor.findById(idCondutor); List<Afastamento> afastamentos = Afastamento.buscarTodosPorCondutor(condutor); MenuMontador.instance().RecuperarMenuCondutores(idCondutor, ItemMenu.AFASTAMENTOS); render(afastamentos, condutor); }