Exemple #1
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);
        }
Exemple #2
0
        public void ImprimirEtiquetaVolumeSeparacao(ImprimirEtiquetaVolumeSeparacaoRequest requisicao, long idEmpresa)
        {
            var clienteNome          = requisicao.ClienteNomeFantasia?.Trim().Normalizar().Truncate(39);
            var clienteEndereco      = $"{requisicao.ClienteEndereco}, {requisicao.ClienteEnderecoNumero}".Trim().Normalizar().Truncate(39);
            var clienteCEP           = Convert.ToUInt64(requisicao.ClienteCEP).ToString(@"00000-000").Truncate(36);
            var clienteCidade        = requisicao.ClienteCidade?.Trim().Normalizar();
            var clienteEstado        = requisicao.ClienteUF?.Trim().Normalizar();
            var clienteTelefone      = string.Format("{0:(##) #####-####}", requisicao.ClienteTelefone);
            var clienteCodigo        = requisicao.ClienteCodigo?.Trim().Normalizar();
            var representanteCodigo  = requisicao.RepresentanteCodigo?.Trim().Normalizar();
            var pedidoCodigo         = requisicao.PedidoCodigo?.PadLeft(6, '0')?.Trim().Normalizar();
            var centena              = requisicao.Centena?.PadLeft(4, '0')?.Trim().Normalizar();
            var transportadoraSigla  = requisicao.TransportadoraSigla?.Trim().Normalizar();
            var transportadoraCodigo = requisicao.TransportadoraCodigo.PadLeft(3, '0')?.Trim().Normalizar();
            var transportadoraNome   = requisicao.TransportadoraNome?.Trim().Normalizar();
            var volume                     = requisicao.Volume.PadLeft(3, '0')?.Trim().Normalizar();
            var caixaTextoEtiqueta         = requisicao.CaixaTextoEtiqueta?.Trim().Normalizar();
            var corredoresInicio           = requisicao.CorredoresInicio.PadLeft(2, '0')?.Trim().Normalizar();
            var corredoresIntervalo        = $"{corredoresInicio} a {requisicao.CorredoresFim.PadLeft(2, '0')}"?.Trim().Normalizar();
            var codigoBarras               = $"{pedidoCodigo}{transportadoraCodigo}{volume}";
            var infoTransportadoraDataHora = $"{transportadoraCodigo} Etiqueta: {DateTime.Now.ToShortTimeString()}";

            var stringEtiqueta = new StringBuilder();

            stringEtiqueta.AppendLine($"^XA");

            stringEtiqueta.AppendLine($"^LL860");
            stringEtiqueta.AppendLine($@"^FO196,50^FB510,4,0,L,0^A0B,32,25^FD{clienteNome}\&{clienteEndereco}\&{clienteCEP}-{clienteCidade}-{clienteEstado}\&Tel.:{clienteTelefone}^FS");

            stringEtiqueta.AppendLine($"^FO354,35^ADB,4,3^FDREPRESENTANTE   CLIENTE  PEDIDO   CENTENA  ^FS");
            stringEtiqueta.AppendLine($"^FO377,400^ADB,30,15^FD{representanteCodigo}^FS");
            stringEtiqueta.AppendLine($"^FO383,75^ADB,25,13^FD{clienteCodigo}" + "   " + pedidoCodigo + "         " + "^FS");

            stringEtiqueta.AppendLine($"^FO377,55^ADB,30,15^FD{centena}^FS");

            stringEtiqueta.AppendLine($"^FO425,445^GB,130,100,4^FS");
            stringEtiqueta.AppendLine($"^FO440,450^A0B,100,80^FR^FD{transportadoraSigla}^FS");
            stringEtiqueta.AppendLine($@"^FO440,50^FB390,4,0,L,0^A0B,30,20^FD{infoTransportadoraDataHora}\&{transportadoraNome}^FS");

            if (requisicao.PedidoIsRequisicao)
            {
                stringEtiqueta.AppendLine($"^FO440,70^A0B,90,80^FR^FDR^FS");
            }
            else if (requisicao.PedidoPagamentoIsDinheiro)
            {
                stringEtiqueta.AppendLine($"^FO440,70^A0B,90,80^FR^FDD^FS");
            }
            else if (requisicao.PedidoPagamentoIsDebito || requisicao.PedidoPagamentoIsCredito)
            {
                stringEtiqueta.AppendLine($"^FO440,70^A0B,90,80^FR^FDC^FS");
            }

            stringEtiqueta.AppendLine($"^FO650,130^BY2,164^BCB,70,Y,N^FD{codigoBarras}^FS");

            stringEtiqueta.AppendLine($"^FO550,260^A0B,20,20^FDCAIXA^FS");
            stringEtiqueta.AppendLine($"^FO570,260^A0B,80,70^FR^FD{caixaTextoEtiqueta}^FS");

            stringEtiqueta.AppendLine($"^FO550,347^A0B,20,20^FDINICIO^FS");
            stringEtiqueta.AppendLine($"^FO570,315^A0B,80,70^FR^FD{corredoresInicio}^FS");

            stringEtiqueta.AppendLine($"^FO550,450^A0B,20,20^FDINTERVALO^FS");
            stringEtiqueta.AppendLine($"^FO580,420^A0B,55,45^FR^FD{corredoresIntervalo}^FS");

            stringEtiqueta.AppendLine($"^FO550,180^A0B,20,20^FDVOLUME^FS");
            stringEtiqueta.AppendLine($"^FO565,50^A0B,80,100^FD{volume}^FS");

            var empresa = _unitOfWork.EmpresaConfigRepository.ConsultarPorIdEmpresa(idEmpresa);

            //Adcionando o logo somente para empresas com essa informação preenchida no cadastro
            if (empresa != null && empresa.NomeLogoEtiqueta != null)
            {
                stringEtiqueta.AppendLine($"^FO70,214^{empresa.NomeLogoEtiqueta.Trim()},1,1^FS");
                stringEtiqueta.AppendLine($"^FO75,75^{empresa.NomeLogoEtiqueta.Trim()},1,1^FS");
            }

            // Linhas Horizontais
            stringEtiqueta.AppendLine($"^FO184,40^GBO,860,2^FS");
            stringEtiqueta.AppendLine($"^FO344,40^GBO,860,2^FS");
            stringEtiqueta.AppendLine($"^FO424,40^GBO,860,2^FS");
            stringEtiqueta.AppendLine($"^FO544,40^GBO,860,2^FS");
            stringEtiqueta.AppendLine($"^FO635,40^GBO,860,2^FS");

            // Linhas Verticais
            stringEtiqueta.AppendLine($"^FO545,250^GB90,0,2^FS");
            stringEtiqueta.AppendLine($"^FO545,310^GB90,0,2^FS");
            stringEtiqueta.AppendLine($"^FO545,400^GB90,0,2^FS");

            stringEtiqueta.AppendLine($"^XZ");

            var arrayBytesEtiqueta = Encoding.ASCII.GetBytes(stringEtiqueta.ToString());

            _impressoraService.Imprimir(arrayBytesEtiqueta, requisicao.IdImpressora);
        }