public static void ImpEtiquetaLayout(List <TRegistro_Objeto> obj, string Porta, CamadaDados.Diversos.TRegistro_CadTerminal rTerminal, bool sobra = false) { if (!System.IO.Directory.Exists("c:\\aliance.net")) { System.IO.Directory.CreateDirectory("c:\\aliance.net"); } //carrega layouts TList_CadLayoutEtiqueta lLyaout = new TList_CadLayoutEtiqueta(); if (rTerminal.Id_layout != decimal.Zero) { lLyaout = TCN_CadLayoutEtiqueta.Busca(rTerminal.Id_layout.ToString(), string.Empty, null); } if (lLyaout.Count <= 0) { return; } lLyaout.ForEach(p => { p.lCampos = TCN_CamposLayout.Busca(string.Empty, p.Id_layoutstr, string.Empty, null); }); decimal total_etiqueta = obj.Sum(p => p.Qtd_etiqueta); //desagrupar quantidades e definir posicoes List <TRegistro_Objeto> prod_un = new List <TRegistro_Objeto>(); int pos = 0; obj.ForEach(p => { for (int i = 1; i <= p.Qtd_etiqueta; i++) { pos++; prod_un.Add(new TRegistro_Objeto() { Codigo = p.Codigo, Cod_barra = p.Cod_barra, Produto = p.Produto, Vl_preco = p.Vl_preco, posicao = pos }); //1 1 2 if (pos == 3) //2 2 3 { pos = 0; //3 3 3 } } }); decimal total_imprimido = decimal.Zero; //lista de impressao StringBuilder w = new StringBuilder(); lLyaout.ForEach(p => { TList_CamposEtiqueta lcamp = new TList_CamposEtiqueta(); p.lCampos.ForEach(o => { lcamp.Add(o); }); pos = 0; prod_un.ForEach(pro => { pos++; if (string.IsNullOrEmpty(w.ToString())) { w.AppendLine("I8,A,001"); w.AppendLine(); w.AppendLine(); w.AppendLine("Q" + p.alturaetiqueta.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + ",0" + p.larguraetiqueta.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true))); w.AppendLine("rN"); w.AppendLine("S4"); w.AppendLine("D7"); w.AppendLine("ZT"); w.AppendLine("JF"); w.AppendLine("OD"); w.AppendLine("f100"); w.AppendLine("N"); } string prod1 = string.Empty; string prod2 = string.Empty; string prod3 = pro.Produto; if (pro.Produto.Trim().Length > 20) { prod1 = pro.Produto.Trim().Substring(0, 20); pro.Produto = pro.Produto.Remove(0, 20); if (pro.Produto.Trim().Length > 20) { prod2 = pro.Produto.Trim().Substring(0, 20); pro.Produto = pro.Produto.Remove(0, 20); } else { prod2 = pro.Produto; } } else { prod1 = pro.Produto; } pro.Produto = prod3; lcamp.ForEach(o => { string tp = string.Empty; if (o.Status.Equals("CAMPO")) { tp = "A"; } else { tp = "B"; } if (o.ds_campo.Equals("DESCRICAO") && o.coluna.Equals(pro.posicao)) { w.AppendLine(tp + o.posx.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + "," + o.posy.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + ",0,2,1,1,N,\"" + prod1.Trim() + "\""); } if (o.ds_campo.Equals("DESCRICAO2") && o.coluna.Equals(pro.posicao)) { w.AppendLine(tp + o.posx.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + "," + o.posy.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + ",0,2,1,1,N,\"" + prod2.Trim() + "\""); } else if (o.ds_campo.Equals("VALOR") && o.coluna.Equals(pro.posicao)) { w.AppendLine(tp + o.posx.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + "," + o.posy.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + ",0,2,1,1,N,\"" //A24,56 + " Cd:" + pro.Codigo.ToString() + "\""); //+ pro.Vl_preco.ToString("C2", new System.Globalization.CultureInfo("pt-BR", true)) + " Cd:" + pro.Codigo.ToString() + "\""); } else if (o.ds_campo.Equals("COD_BAR") && o.coluna.Equals(pro.posicao)) { w.AppendLine(tp + o.posx.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + "," + o.posy.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + ",0,E30,2,4,56,B,\"" + pro.Cod_barra.Trim() + "\"");//B40,88 } }); if (pos == 3 || (decimal.Subtract(total_etiqueta, decimal.Add(total_imprimido, pos)) == decimal.Zero)) { System.IO.FileInfo f = new System.IO.FileInfo("c:\\aliance.net\\etiqueta.txt"); System.IO.StreamWriter we = f.CreateText(); try { w.AppendLine("P1"); we.WriteLine(w.ToString()); } finally { we.Flush(); we.Dispose(); f.CopyTo(Porta.Trim()); pos = 0; w.Clear(); total_imprimido += 3; } } }); }); }
public TList_CamposEtiqueta Select(TpBusca[] vBusca, Int32 vTop, string vNM_Campo, string vOrder) { TList_CamposEtiqueta lista = new TList_CamposEtiqueta(); SqlDataReader reader = null; bool podeFecharBco = false; if (Banco_Dados == null) { this.CriarBanco_Dados(false); podeFecharBco = true; } reader = this.ExecutarBusca(this.SqlCodeBusca(vBusca, Convert.ToInt16(vTop), "", "", vOrder)); try { while (reader.Read()) { TRegistro_CamposEtiqueta cadMenu = new TRegistro_CamposEtiqueta(); if (!reader.IsDBNull(reader.GetOrdinal("id_layout"))) { cadMenu.Id_layout = reader.GetDecimal(reader.GetOrdinal("id_layout")); } if (!reader.IsDBNull(reader.GetOrdinal("id_campo"))) { cadMenu.Id_campo = reader.GetDecimal(reader.GetOrdinal("id_campo")); } if (!reader.IsDBNull(reader.GetOrdinal("ds_campo"))) { cadMenu.ds_campo = reader.GetString(reader.GetOrdinal("ds_campo")).Trim(); } if (!reader.IsDBNull(reader.GetOrdinal("posx"))) { cadMenu.posx = reader.GetDecimal(reader.GetOrdinal("posx")); } if (!reader.IsDBNull(reader.GetOrdinal("posy"))) { cadMenu.posy = reader.GetDecimal(reader.GetOrdinal("posy")); } if (!reader.IsDBNull(reader.GetOrdinal("tp_campo"))) { cadMenu.St_campo = reader.GetString(reader.GetOrdinal("tp_campo")); } if (!reader.IsDBNull(reader.GetOrdinal("Tp_Fonte"))) { cadMenu.Tp_Fonte = reader.GetString(reader.GetOrdinal("Tp_Fonte")); } if (!reader.IsDBNull(reader.GetOrdinal("coluna"))) { cadMenu.coluna = reader.GetDecimal(reader.GetOrdinal("coluna")); } lista.Add(cadMenu); } } finally { reader.Close(); reader.Dispose(); if (podeFecharBco) { this.deletarBanco_Dados(); } } return(lista); }
public static void ImpEtiquetaLayout(decimal Codigo, string Produto, string Cod_barra, decimal Vl_preco, int Qtd_etiqueta, string Porta, CamadaDados.Diversos.TRegistro_CadTerminal rTerminal, bool sobra = false) { if (!System.IO.Directory.Exists("c:\\aliance.net")) { System.IO.Directory.CreateDirectory("c:\\aliance.net"); } System.IO.FileInfo f = new System.IO.FileInfo("c:\\aliance.net\\etiqueta.txt"); System.IO.StreamWriter w = f.CreateText(); decimal falta = decimal.Zero; try { TList_CadLayoutEtiqueta lLyaout = new TList_CadLayoutEtiqueta(); if (rTerminal.Id_layout != decimal.Zero) { lLyaout = TCN_CadLayoutEtiqueta.Busca(rTerminal.Id_layout.ToString(), string.Empty, null); } lLyaout.ForEach(p => { p.lCampos = TCN_CamposLayout.Busca(string.Empty, p.Id_layoutstr, string.Empty, null); }); decimal qtidade = decimal.Zero; decimal qtd = decimal.Zero; if (!string.IsNullOrEmpty(Qtd_etiqueta.ToString())) { qtidade = Convert.ToDecimal(Qtd_etiqueta.ToString()); } lLyaout.ForEach(p => { qtd = decimal.Divide(qtidade, p.nr_Coluna); String[] str = qtd.ToString().Split(','); if (str.Length > 1) { if (Convert.ToDecimal(str[0]) > 1) { qtd = Convert.ToDecimal(str[0]); } else { qtd = 1; } //{ //} } falta = Qtd_etiqueta - qtd * p.nr_Coluna; w.WriteLine("I8,A,001"); w.WriteLine(); w.WriteLine(); w.WriteLine("Q" + p.alturaetiqueta.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + ",0" + p.larguraetiqueta.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true))); // altura espaco 176,024 w.WriteLine("rN"); w.WriteLine("S4"); w.WriteLine("D7"); w.WriteLine("ZT"); w.WriteLine("JF"); w.WriteLine("OD"); w.WriteLine("f100"); w.WriteLine("N"); TList_CamposEtiqueta lcamp = new TList_CamposEtiqueta(); //if (sobra) //{ p.lCampos.ForEach(o => { if (o.coluna <= Qtd_etiqueta) { lcamp.Add(o); } }); //} //else //{ // p.lCampos.ForEach(o => // { // lcamp.Add(o); // }); //} int cont = 0; string prod1 = string.Empty; string prod2 = string.Empty; string prod3 = Produto; if (Produto.Trim().Length > 20) { prod1 = Produto.Trim().Substring(0, 20); Produto = Produto.Remove(0, 20); if (Produto.Trim().Length > 20) { prod2 = Produto.Trim().Substring(0, 20); Produto = Produto.Remove(0, 20); //if (Produto.Trim().Length > 20) //{ // prod3 = Produto.Trim().Substring(0, 20); // Produto = Produto.Remove(0, 20); //} //else prod3 = Produto; } else { prod2 = Produto; // f } } else { prod1 = Produto; } Produto = prod3; lcamp.ForEach(o => { string tp = string.Empty; if (o.Status.Equals("CAMPO")) { tp = "A"; } else { tp = "B"; } cont = 0; //string prod1 = string.Empty; //string prod2 = string.Empty; //string prod3 = string.Empty; //if (Produto.Trim().Length > 20) //{ // prod1 = Produto.Trim().Substring(0, 20); // Produto = Produto.Remove(0, 20); // if (Produto.Trim().Length > 20) // { // cont = 1; // prod2 = Produto.Trim().Substring(0, 20); // Produto = Produto.Remove(0, 20); // if (Produto.Trim().Length > 20) // { // prod3 = Produto.Trim().Substring(0, 20); // Produto = Produto.Remove(0, 20); // } // else prod3 = Produto; // } // else prod2 = Produto; // f //} //else prod1 = Produto; cont++; if (o.ds_campo.Equals("DESCRICAO")) { w.WriteLine(tp + o.posx.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + "," + o.posy.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + ",0," + o.Tp_Fonte + ",1,1,N,\"" + prod1.Trim() + "\""); //A24,8 //w.WriteLine("A304,8,0,2,1,1,N,\"" + prod1.Trim() + "\""); //w.WriteLine("A584,8,0,2,1,1,N,\"" + prod1.Trim() + "\""); } if (o.ds_campo.Equals("DESCRICAO2")) { w.WriteLine(tp + o.posx.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + "," + o.posy.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + ",0," + o.Tp_Fonte + ",1,1,N,\"" + prod2.Trim() + "\""); //A24,32 cont = 0; //w.WriteLine("A304,32,0,2,1,1,N,\"" + prod2.Trim() + "\""); //w.WriteLine("A584,32,0,2,1,1,N,\"" + prod2.Trim() + "\""); } else if (o.ds_campo.Equals("VALOR")) { w.WriteLine(tp + o.posx.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + "," + o.posy.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + ",0," + o.Tp_Fonte + ",1,1,N,\"" //A24,56 + Vl_preco.ToString("C2", new System.Globalization.CultureInfo("pt-BR", true)) + " Cd:" + Codigo.ToString() + "\""); } else if (o.ds_campo.Equals("COD_BAR")) { w.WriteLine(tp + o.posx.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + "," + o.posy.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)) + ",0,E30,2," + o.Tp_Fonte + ",56,B,\"" + Cod_barra.Trim() + "\"");//B40,88 } }); }); w.WriteLine("P" + qtd); w.Flush(); f.CopyTo(Porta.Trim()); } finally { w.Dispose(); f = null; } try { if (falta > decimal.Zero) { ImpEtiquetaLayout(Codigo, Produto, Cod_barra, Vl_preco, Convert.ToInt32(falta.ToString("N0", new System.Globalization.CultureInfo("en-US"))), Porta, rTerminal, true); } } finally { } }