private ContadorEstatistico AtualizarContadorEvento(ContadorEstatistico Contador, int NumEquipamentosEspera)
        {
            this.Duracao = (Funcionario.Experiencia * gerarValorAleatorio(1, 10));
            Contador.IncrementaEmbalarEquipamentoParaEnvio(TempoEntrada, TempoEntradaEmFilaEspera, Duracao, NumEquipamentosEspera);

            return(Contador);
        }
Exemplo n.º 2
0
        private ContadorEstatistico AtualizarContadorEvento(ContadorEstatistico Contador, int NEquipamentoFilaEspera)
        {
            this.Duracao = gerarValorAleatorio(1, 7, this.Funcionario.Experiencia);
            Contador.IncrementaReceberEquipamento(TempoEntrada, TempoEntradaEmFilaEspera, Duracao, NEquipamentoFilaEspera);

            return(Contador);
        }
Exemplo n.º 3
0
        public ContadorEstatistico AtualizarContadorEvento(ContadorEstatistico Contador, int NumEquipamentosEspera)
        {
            //Determina o tempo de testes com base da experienca e do valor aleatorio entre 40 e 60 u tempo
            Duracao = (Funcionario.Experiencia) * (float)(Reparacao.Testes) + (gerarValorAleatorio(2, 4));
            Contador.IncrementaExecutaTestes(TempoEntrada, TempoEntradaEmFilaEspera, Duracao, NumEquipamentosEspera);

            return(Contador);
        }
Exemplo n.º 4
0
        //vai atualizando o contador estatistico
        public ContadorEstatistico AtualizarContadorEvento(ContadorEstatistico Contador, int NumEquipamentosEspera)
        {
            var distribuicaoStock = gerarValorAleatorio(0, 100);

            if (distribuicaoStock >= 30)
            {
                Duracao = gerarValorAleatorio(3, 5);
            }

            else if (distribuicaoStock <= 30)
            {
                Duracao = (float)(Funcionario.Experiencia) * (float)(gerarValorAleatorio(4, 9));
            }

            Contador.IncrementaFazPedidoRecebeMaterial(TempoEntrada, TempoEntradaEmFilaEspera, Duracao, NumEquipamentosEspera);

            return(Contador);
        }
Exemplo n.º 5
0
        private void GerarEvento(List <ColaboradorArmazem> Funcionarios, List <FazPedidoRecebeMaterial> ListaEspera, List <IEvento> ListaEventos, ContadorEstatistico contador)
        {
            if (ListaEspera.Count() > 0 && Funcionarios.Any(x => x.Ocupado == false))
            {
                ListaEspera = ListaEspera.OrderBy(x => x.TempoEntradaEmFilaEspera).ToList();

                var novoEvento = ListaEspera.FirstOrDefault();
                ListaEspera.RemoveAt(0);

                novoEvento.Funcionario  = Funcionarios.FirstOrDefault(x => x.Ocupado == false);
                novoEvento.TempoEntrada = contador.TempoAtual;

                ListaEventos.Add(novoEvento);
                novoEvento.AtualizarEstadoFuncionario(Funcionarios.ToList(), true);
            }
        }
Exemplo n.º 6
0
        private void AvancarProximoEvento(List <Tecnico> Funcionarios, List <ProcederReparacao> ListaEspera, ContadorEstatistico Contador, List <IEvento> ListaEventos)
        {
            if (Funcionarios.Where(x => x.Ocupado == false).Count() > 0)
            {
                var evento = new ProcederReparacao()
                {
                    Equipamento = this.Equipamento,
                    Funcionario = Funcionarios.Where(x => x.Ocupado == false).FirstOrDefault(),
                    TempoEntradaEmFilaEspera = Contador.TempoAtual,
                    TempoEntrada             = Contador.TempoAtual
                };

                evento.AtualizarEstadoFuncionario(Funcionarios.ToList(), true);
                ListaEventos.Add(evento);
            }
            else
            {
                var evento = new ProcederReparacao()
                {
                    Equipamento = Equipamento,
                    TempoEntradaEmFilaEspera = Contador.TempoAtual
                };
                ListaEspera.Add(evento);
            }
        }
        private void GerarEvento(List <ColaboradorLogistica> Funcionarios, List <EmbalarEquipamentoParaEnvio> ListaEspera, List <IEvento> ListaEventos, ContadorEstatistico contador)
        {
            if (ListaEspera.Count() > 0 && Funcionarios.Any(x => x.Ocupado == false))
            {
                ListaEspera = ListaEspera.OrderBy(x => x.TempoEntradaEmFilaEspera).ToList();

                var novoEvento = ListaEspera.FirstOrDefault();
                ListaEspera.RemoveAt(0);

                novoEvento.Funcionario  = Funcionarios.FirstOrDefault(x => x.Ocupado == false);
                novoEvento.TempoEntrada = contador.TempoAtual;
                novoEvento.AtualizarEstadoFuncionario(Funcionarios.ToList(), true);
                ListaEventos.Add(novoEvento);
            }
        }
Exemplo n.º 8
0
        private void AvancaEventoAposTeste(List <ColaboradorLogistica> Funcionarios, List <EmbalarEquipamentoParaEnvio> ListaEspera, ContadorEstatistico Contador, List <IEvento> ListaEventos)
        {
            if (Funcionarios.Where(x => x.Ocupado == false).Count() > 0)
            {
                var evento = new EmbalarEquipamentoParaEnvio()
                {
                    Equipamento = this.Equipamento,
                    Funcionario = Funcionarios.Where(x => x.Ocupado == false).FirstOrDefault(),
                    TempoEntradaEmFilaEspera = Contador.TempoAtual,
                    TempoEntrada             = Contador.TempoAtual
                };

                evento.AtualizarEstadoFuncionario(Funcionarios.ToList(), true);
                ListaEventos.Add(evento);
            }
            else
            {
                var evento = new EmbalarEquipamentoParaEnvio()
                {
                    Equipamento = Equipamento,
                    TempoEntradaEmFilaEspera = Contador.TempoAtual
                };
                ListaEspera.Add(evento);
            }
        }
Exemplo n.º 9
0
        private void GerarEvento(List <Tecnico> Funcionarios, List <ProcederDiagnostico> ListaEspera, List <IEvento> ListaEventos, ContadorEstatistico contador)
        {
            if (ListaEspera.Count() > 0 && Funcionarios.Any(x => x.Ocupado == false))
            {
                ListaEspera = ListaEspera.OrderBy(x => x.TempoEntradaEmFilaEspera)
                              .OrderBy(x => x.Equipamento.EquipamentoUrgencia || x.Equipamento.EquipamentoReclamacao)
                              .ToList();

                var novoEvento = ListaEspera.FirstOrDefault();
                ListaEspera.RemoveAt(0);

                novoEvento.Funcionario  = Funcionarios.FirstOrDefault(x => x.Ocupado == false);
                novoEvento.TempoEntrada = contador.TempoAtual;
                ListaEventos.Add(novoEvento);
                novoEvento.AtualizarEstadoFuncionario(Funcionarios.ToList(), true);
            }
        }
Exemplo n.º 10
0
        private ContadorEstatistico AtualizarContadorEvento(ContadorEstatistico Contador, int NumEquipamentosEspera)
        {
            Contador.IncrementaProcederDiagnostico(TempoEntrada, TempoEntradaEmFilaEspera, Duracao, NumEquipamentosEspera);

            return(Contador);
        }
Exemplo n.º 11
0
        private void GerarFazPedidoRecebeMaterial(List <ColaboradorArmazem> Funcionarios, List <FazPedidoRecebeMaterial> ListaEspera, ContadorEstatistico Contador, List <IEvento> ListaEventos)
        {
            if (Funcionarios.Where(x => x.Ocupado == false).Count() > 0)
            {
                var evento = new FazPedidoRecebeMaterial()
                {
                    Equipamento = this.Equipamento,
                    Funcionario = Funcionarios.Where(x => x.Ocupado == false).FirstOrDefault(),
                    TempoEntradaEmFilaEspera = Contador.TempoAtual,
                    TempoEntrada             = Contador.TempoAtual
                };

                evento.AtualizarEstadoFuncionario(Funcionarios.ToList(), true);
                ListaEventos.Add(evento);
            }
            else
            {
                var evento = new FazPedidoRecebeMaterial()
                {
                    Equipamento = Equipamento,
                    TempoEntradaEmFilaEspera = Contador.TempoAtual
                };
                ListaEspera.Add(evento);
            }
        }
Exemplo n.º 12
0
        public void GerarEvento(List <ColaboradorLogistica> Funcionarios, List <ReceberEquipamento> ListaEspera, ContadorEstatistico Contador, List <IEvento> ListaEventos, int NEquipamentos)
        {
            if (Funcionarios.Where(x => x.Ocupado == false).Count() > 0 && Contador.NumEquipamentos < NEquipamentos)
            {
                ReceberEquipamento novoEvento;
                if (ListaEspera.Any())
                {
                    novoEvento             = ListaEspera.First();
                    novoEvento.Funcionario = Funcionarios.FirstOrDefault(x => x.Ocupado == false);

                    ListaEspera.RemoveAt(0);
                }
                else
                {
                    novoEvento = new ReceberEquipamento()
                    {
                        TempoEntradaEmFilaEspera = Contador.TempoAtual,
                        TempoEntrada             = Contador.TempoAtual + gerarValorAleatorio(0, 2, 1),
                        Funcionario = Funcionarios.FirstOrDefault(x => x.Ocupado == false)
                    };
                }

                ListaEventos.Add(novoEvento);
                novoEvento.AtualizarEstadoFuncionario(Funcionarios.ToList(), true);
            }
            else
            {
                var novoRecebeEquipamento = new ReceberEquipamento()
                {
                    TempoEntradaEmFilaEspera = Contador.TempoAtual,
                };

                ListaEspera.Add(novoRecebeEquipamento);
            }
        }