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); }
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); }