示例#1
0
        public IEnumerable <ItemTransporteDTO> obterItensNaoEncaminhados()
        {
            var itens = conn.Query <ItemTransporteDTO>(sqlItemTransporteDTO + " where item.codSituacaoAtual = 10").ToList();

            List <Local> locaisColetaItens = new List <Local>();

            foreach (var item in itens)
            {
                locaisColetaItens.Add(new Local()
                {
                    Endereco  = item.EnderecoColeta,
                    Municipio = item.MunicipioColeta,
                    Uf        = item.UfColeta
                });
            }

            CentroDistribuicao[] cdsProximos = FacadeRotas.centrosDistribuicaoMaisProximos(locaisColetaItens.ToArray());

            var i = 0;

            foreach (var cd in cdsProximos)
            {
                ItemTransporteDTO item = itens[i];

                item.Cd = 0;

                if (cd != null)
                {
                    item.Cd = cd.Codigo;
                }
                i++;
            }

            return(itens);
        }
示例#2
0
        public async Task <RoteiroColetaDTO> getRoteiroCalculado(String tipo, [FromBody] ParadaRoteiroColetaDTO[] paradas, [FromServices] IHttpContextAccessor accessor)
        {
            String cpfLogado = accessor.HttpContext.User.Identity.Name;

            SupervisorLogistica sup = (new DAOSupervisorLogistica()).obter(cpfLogado);

            RoteiroColetaDTO roteiro = null;

            if (sup != null)
            {
                if (tipo == "auto")
                {
                    roteiro = FacadeRotas.gerarRoteiroAutomatico(paradas, sup.CentroDistribuicao);
                }
                else
                {
                    roteiro = FacadeRotas.gerarRoteiroManual(paradas, sup.CentroDistribuicao);
                }
            }

            return(roteiro);
        }