/// <summary> /// Método responsável por inicializar os valores dos campos do popup a partir do último histórico de uma tarefa, caso não tenha inicializa valores padrões. /// </summary> /// <param name="oidCronogramaTarefa">Oid da Tarefa</param> /// <param name="nbEstimativaInicial">Estimativa Inicial (Hora) da tarefa</param> public virtual void InicializarHistoricoTarefa(CronogramaTarefaDecorator cronogramaTarefaItem, string login) { view.Desabilitar(); view.TxJustificativaDeReducao = ""; loginColaborador = login; InicializadorEstimativaDto inicializador = GetInicializadorEstimativaInicial(login); horaInicial = inicializador.HoraInicialEstimativa; HoraInicialSugerida = inicializador.HoraInicialEstimativa; view.DtRealizado = inicializador.DataEstimativa; DiaTrabalhoAtual = inicializador.DiaAtual; DataSugerida = inicializador.DataEstimativa; SelecionarPeriodoTrabalhoDiaAtual(); cronogramaTarefa = cronogramaTarefaItem; horaEstimativaInicial = cronogramaTarefa.EstimativaInicial; view.OidSituacaoPlanejamento = cronogramaTarefa.OidSituacaoPlanejamentoTarefa; view.TxComentario = ""; horaRealizada = new TimeSpan(0); horaRestante = cronogramaTarefa.NbEstimativaRestante.ToTimeSpan(); horaFinal = horaInicial; estimativaTotal = new TimeSpan(horaRestante.Ticks); AtualizarValoresHorariosDaView(); view.Habilitar(); //sempre iniciar desativado o painel de justificativa view.AlterarEstadoAtivacaoPainelJustificativa(false); }
public ActionResult UltimoHistorico(string login, DateTime?data, Guid?oidTarefa) { if (!string.IsNullOrWhiteSpace(login)) { InicializadorEstimativaDto retorno = null; if (data.HasValue) { retorno = TarefaHistoricoTrabalhoBo.SelecionarInicializadorEstimativaColaboradorParaDataEspecifica(login, data.Value); } else { retorno = TarefaHistoricoTrabalhoBo.SelecionarInicializadorEstimativaDto(login, DateTime.Now.Date); } if (retorno == null) { return(new HttpNotFoundResult()); } return(new JsonNetResult(retorno)); } if (oidTarefa.HasValue) { var resultado = TarefaHistoricoTrabalhoBo.ConsultarTarefaHistoricoAtualPorOidTarefaDto(oidTarefa.Value); if (resultado == null) { return(new HttpNotFoundResult()); } return(Json(resultado, JsonRequestBehavior.AllowGet)); } return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Parâmetro inválido.")); }
public void DadoQueOUltimoEsforcoEstimadoPeloColaboradorSejaNoDiaAs(DateTime dataAtual, string horaInicio) { inicializadorDeEstimativa = new InicializadorEstimativaDto() { DataEstimativa = dataAtual, DiaAtual = diaTrabalhoAtual, HoraInicialEstimativa = ConversorTimeSpan.ConverterHorasDeStringParaTimeSpan(horaInicio) }; planejamentoServiceStub.RetornoInicializadorEstimativa = inicializadorDeEstimativa; }
/// <summary> /// Método responsável por selecionar o dia de trabalho atual /// </summary> /// <param name="dataSelecionada">data para selecionar o dia atual</param> public void SelecionarDiaTrabalho(DateTime dataSelecionada) { InicializadorEstimativaDto inicializador = servicoPlanejamento.ConsultarHorarioUltimaTarefaDiaColaborador(LoginColaborador, dataSelecionada); DiaTrabalhoAtual = inicializador.DiaAtual; horaInicial = inicializador.HoraInicialEstimativa; SelecionarPeriodoTrabalhoDiaAtual(); CalcularHoraFinal(); AtualizarValoresHorariosDaView(); }
/// <summary> /// Método responsável por selecionar o dia de trabalho atual /// </summary> /// <param name="dataSelecionada">data para selecionar o dia atual</param> public void SelecionarDiaTrabalho(DateTime dataSelecionada) { if (string.IsNullOrEmpty(Login)) { throw new Exception("Deveria ter sido preenchido o login do colaborador"); } InicializadorEstimativaDto inicializador = planejamentoServiceClient.ConsultarHorarioUltimaTarefaDiaColaborador(Login, dataSelecionada); DiaTrabalhoAtual = inicializador.DiaAtual; horaInicial = inicializador.HoraInicialEstimativa; SelecionarPeriodoTrabalhoDiaAtual(); CalcularHoraFinal(); }
public void InicializarDados() { situacoesPlanejamentoAtivas = new List <SituacaoPlanejamentoDTO>(); situacoesPlanejamentoInativas = new List <SituacaoPlanejamentoDTO>(); CriarSituacoesPlanejamento(); SelecionarSituacaoPlanejamentoPadrao(); CriarCronogramas(); SelecionarCronograma(1); tarefas = new List <CronogramaTarefaGridItem>(); CriarColaboradores(); CriarCronogramaColaboradoresConfig(); RetornoInicializadorEstimativa = new InicializadorEstimativaDto(); RetornoUltimaTarefaHistoricoTrabalho = new TarefaHistoricoTrabalhoDto(); RetornoUltimaTarefaDiaColaborador = new InicializadorEstimativaDto(); }
/// <summary> /// Método para preencher uma inicialização do dia selecionado /// </summary> /// <param name="semanaTrabalho">semana de trabalho do colaborador</param> /// <param name="dataSelecionada">data de selecao</param> /// <returns></returns> private static InicializadorEstimativaDto PreencherInicializacaoDiaSelecionado(SemanaTrabalho semanaTrabalho, DateTime dataSelecionada) { InicializadorEstimativaDto inicializadorDto = new InicializadorEstimativaDto(); if (SemanaTrabalhoBo.DiaAtualPossuiPeriodoTrabalho(semanaTrabalho, dataSelecionada.DayOfWeek)) { inicializadorDto.DataEstimativa = dataSelecionada; DiaTrabalho dia = SemanaTrabalhoDao.SelecionarDiaTrabalho(semanaTrabalho, dataSelecionada.DayOfWeek); long ticks = dia.PeriodosDeTrabalho.Min(o => ConversorTimeSpan.ConverterHorasDeStringParaTicks(o.HoraInicial)); inicializadorDto.HoraInicialEstimativa = new TimeSpan(ticks); } else { inicializadorDto = new InicializadorEstimativaDto() { DataEstimativa = dataSelecionada, HoraInicialEstimativa = new TimeSpan(8, 0, 0) } }; inicializadorDto.DiaAtual = TarefaHistoricoTrabalhoDao.ConsultarDiaAtualDeTrabalhoDto(dataSelecionada.DayOfWeek, semanaTrabalho); return(inicializadorDto); }
/// <summary> /// Método responsável por efetuar a seleção da hora de inicio da estimativa de uma tarefa para o colaborador /// </summary> /// <param name="contexto">sessão atual do banco</param> /// <param name="loginColaborador">login do colaborador atual</param> /// <returns>tarefaHistorico preenchida com</returns> public static InicializadorEstimativaDto SelecionarInicializadorEstimativaDto(string loginColaborador, DateTime dataSolicitacao, SemanaTrabalho semanaTrabalho) { WexDb contexto = ContextFactoryManager.CriarWexDb(); TarefaHistoricoTrabalho ultimoHistoricoTrabalho = TarefaHistoricoTrabalhoDao.ConsultarUltimoEsforcoRealizadoColaborador(contexto, loginColaborador, dataSolicitacao); InicializadorEstimativaDto inicializadorEstimativaDto = new InicializadorEstimativaDto(); DateTime dataSelecionada; if (!ValidarTarefaHistoricoTrabalho(ultimoHistoricoTrabalho)) { dataSelecionada = dataSolicitacao.Date; SelecionarDataDiaUtilInicial(semanaTrabalho, ref dataSelecionada); return(PreencherInicializacaoDiaSelecionado(semanaTrabalho, dataSelecionada)); } bool ultrapassouLimiteDia = ultimoHistoricoTrabalho.HoraFinal.Days > 0; dataSelecionada = new DateTime(ultimoHistoricoTrabalho.DtRealizado.Ticks); if (ultrapassouLimiteDia) { dataSelecionada = SelecionarDataProximoDiaUtil(semanaTrabalho, dataSelecionada); return(PreencherInicializacaoDiaSelecionado(semanaTrabalho, dataSelecionada)); } SelecionarDataDiaUtilInicial(semanaTrabalho, ref dataSelecionada); if (dataSelecionada.Equals(dataSolicitacao.Date)) { if (dataSelecionada.Equals(ultimoHistoricoTrabalho.DtRealizado)) { inicializadorEstimativaDto.DataEstimativa = dataSelecionada; inicializadorEstimativaDto.HoraInicialEstimativa = ultimoHistoricoTrabalho.HoraFinal; inicializadorEstimativaDto.DiaAtual = TarefaHistoricoTrabalhoDao.ConsultarDiaAtualDeTrabalhoDto(dataSelecionada.DayOfWeek, semanaTrabalho); return(inicializadorEstimativaDto); } return(PreencherInicializacaoDiaSelecionado(semanaTrabalho, dataSelecionada)); } else { if (SemanaTrabalhoBo.DiaAtualPossuiPeriodoTrabalho(semanaTrabalho, dataSelecionada.DayOfWeek)) { DiaTrabalho dia = SemanaTrabalhoDao.SelecionarDiaTrabalho(semanaTrabalho, dataSelecionada.DayOfWeek); long ticks = dia.PeriodosDeTrabalho.Max(o => ConversorTimeSpan.ConverterHorasDeStringParaTicks(o.HoraFinal)); TimeSpan horaFinalExpediente = new TimeSpan(ticks); if (ultimoHistoricoTrabalho.HoraFinal >= horaFinalExpediente) { dataSelecionada = SelecionarDataProximoDiaUtil(semanaTrabalho, dataSelecionada); return(PreencherInicializacaoDiaSelecionado(semanaTrabalho, dataSelecionada)); } if (dataSelecionada.Equals(ultimoHistoricoTrabalho.DtRealizado)) { inicializadorEstimativaDto.DataEstimativa = dataSelecionada; inicializadorEstimativaDto.HoraInicialEstimativa = ultimoHistoricoTrabalho.HoraFinal; inicializadorEstimativaDto.DiaAtual = TarefaHistoricoTrabalhoDao.ConsultarDiaAtualDeTrabalhoDto(dataSelecionada.DayOfWeek, semanaTrabalho); return(inicializadorEstimativaDto); } return(PreencherInicializacaoDiaSelecionado(semanaTrabalho, dataSelecionada)); } else { inicializadorEstimativaDto.DataEstimativa = dataSolicitacao.Date; inicializadorEstimativaDto.HoraInicialEstimativa = new TimeSpan(8, 0, 0); inicializadorEstimativaDto.DiaAtual = TarefaHistoricoTrabalhoDao.ConsultarDiaAtualDeTrabalhoDto(dataSolicitacao.DayOfWeek, semanaTrabalho); } return(inicializadorEstimativaDto); } }