예제 #1
0
        public async Task <long> Salvar(long idPedidoVenda, CaixaViewModel caixaEscolhida, GrupoCorredorArmazenagemViewModel grupoCorredorArmazenagem, int numeroVolume, long idEmpresa, decimal peso, decimal cubagem)
        {
            long idPedidoVendaVolume = 0;

            try
            {
                var pedidoVendaVolumeRepository = _uow.PedidoVendaVolumeRepository.ObterPorIdPedidoVenda(idPedidoVenda)
                                                  .Where(x => x.IdGrupoCorredorArmazenagem == grupoCorredorArmazenagem.IdGrupoCorredorArmazenagem && x.NroVolume == numeroVolume &&
                                                         x.PesoVolume == peso && x.CubagemVolume == cubagem).FirstOrDefault();

                if (pedidoVendaVolumeRepository != null)
                {
                    return(pedidoVendaVolumeRepository.IdPedidoVendaVolume);
                }

                int numeroCentena = await GerarNumeroCentena(idEmpresa, idPedidoVenda);

                var pedidoVendaVolume = new PedidoVendaVolume()
                {
                    IdPedidoVenda              = idPedidoVenda,
                    IdCaixaCubagem             = caixaEscolhida.IdCaixa,
                    IdGrupoCorredorArmazenagem = grupoCorredorArmazenagem.IdGrupoCorredorArmazenagem,
                    DataHoraInicioSeparacao    = null,
                    DataHoraFimSeparacao       = null,
                    IdPedidoVendaStatus        = PedidoVendaStatusEnum.EnviadoSeparacao,
                    NroCentena     = numeroCentena,
                    NroVolume      = numeroVolume,
                    PesoVolume     = peso,
                    CorredorInicio = grupoCorredorArmazenagem.CorredorInicial,
                    CorredorFim    = grupoCorredorArmazenagem.CorredorFinal,
                    EtiquetaVolume = caixaEscolhida.TextoEtiqueta,
                    IdImpressora   = grupoCorredorArmazenagem.IdImpressora,
                    CubagemVolume  = cubagem
                };


                _uow.PedidoVendaVolumeRepository.Add(pedidoVendaVolume);
                await _uow.SaveChangesAsync();

                idPedidoVendaVolume = pedidoVendaVolume.IdPedidoVendaVolume;
            }
            catch (Exception ex)
            {
                _log.Error(String.Format("Erro ao salvar o volume do pedido de venda {0}.", idPedidoVenda), ex);
            }

            return(idPedidoVendaVolume);
        }
예제 #2
0
        public void ImprimirEtiquetaVolume(PedidoVendaVolume volume, long idImpressora)
        {
            var requisicaoImpressao = new ImprimirEtiquetaVolumeSeparacaoRequest();

            var pedidoVenda              = volume.PedidoVenda;
            var cliente                  = pedidoVenda.Pedido.Cliente;
            var representante            = pedidoVenda.Representante;
            var pedido                   = pedidoVenda.Pedido;
            var transportadora           = pedidoVenda.Transportadora;
            var caixa                    = volume.CaixaCubagem;
            var grupoCorredorArmazenagem = volume.GrupoCorredorArmazenagem;

            requisicaoImpressao.ClienteNomeFantasia             = cliente.NomeFantasia;
            requisicaoImpressao.ClienteEndereco                 = cliente.Endereco;
            requisicaoImpressao.ClienteEnderecoNumero           = cliente.Numero;
            requisicaoImpressao.ClienteCEP                      = cliente.CEP;
            requisicaoImpressao.ClienteCidade                   = cliente.Cidade;
            requisicaoImpressao.ClienteUF                       = cliente.UF;
            requisicaoImpressao.ClienteTelefone                 = cliente.Telefone;
            requisicaoImpressao.ClienteCodigo                   = cliente.CodigoIntegracao.ToString();
            requisicaoImpressao.RepresentanteCodigo             = representante.CodigoIntegracao.ToString();
            requisicaoImpressao.PedidoCodigo                    = pedido.NroPedido.ToString();
            requisicaoImpressao.PedidoDataCriacao               = pedido.DataCriacao;
            requisicaoImpressao.PedidoPagamentoCodigoIntegracao = pedido.PagamentoCodigoIntegracao;
            requisicaoImpressao.PedidoPagamentoIsDebito         = pedido.PagamentoIsDebitoIntegracao;
            requisicaoImpressao.PedidoPagamentoIsCredito        = pedido.PagamentoIsCreditoIntegracao;
            requisicaoImpressao.PedidoPagamentoIsDinheiro       = pedido.PagamentoIsDinheiroIntegracao;
            requisicaoImpressao.PedidoIsRequisicao              = pedido.IsRequisicao;
            requisicaoImpressao.Centena              = volume.NroCentena.ToString();
            requisicaoImpressao.TransportadoraSigla  = transportadora.CodigoTransportadora;
            requisicaoImpressao.TransportadoraCodigo = transportadora.CodigoIntegracao.ToString();
            requisicaoImpressao.TransportadoraNome   = transportadora.NomeFantasia;
            requisicaoImpressao.CorredoresInicio     = grupoCorredorArmazenagem.CorredorInicial.ToString();
            requisicaoImpressao.CorredoresFim        = grupoCorredorArmazenagem.CorredorFinal.ToString();
            requisicaoImpressao.CaixaTextoEtiqueta   = caixa.TextoEtiqueta;
            requisicaoImpressao.Volume       = volume.NroVolume.ToString();
            requisicaoImpressao.IdImpressora = idImpressora;

            ImprimirEtiquetaVolumeSeparacao(requisicaoImpressao, volume.PedidoVenda.IdEmpresa);
        }