private void DoPrintTicketInfoSpecial(DataRow drBtn, DataTable dtPrint)
 {
     try
     {
         BarTender.Application btdb = new BarTender.Application();
         string strPrintPath        = Application.StartupPath + @"\打印模板\" + drBtn["TicketTempName"].ToString() + ".btw";
         try
         {
             foreach (DataRow drPrint in dtPrint.Rows)
             {
                 StaticFunctions.PrintItem(btdb, drPrint, strPrintPath, strKeyFiled, frmImageFilePath);
             }
         }
         catch (Exception err)
         {
             MessageBox.Show("打印出错:" + err.Message);
         }
         finally
         {
             btdb.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
         }
     }
     catch (Exception)
     {
         MessageBox.Show("初始化打印出错,可能未安装BarTender.");
     }
 }
Exemple #2
0
        private void button_start_Click(object sender, EventArgs e)
        {
            flag     = true;
            this.db2 = new databaseSQL();
            this.db2.SSHConnectMySql();
            //this.labelapp = new LabelManager2.Application(); //创建lppa.exe进程
            //this.btEngine = new Engine();
            //this.btEngine.Start();//启动BT引擎
            this.btapp = new BarTender.Application();

            textBox_log.Text = "启动BT引擎\r\n";
            if (!textBox_path.Text.Trim().Equals(""))
            {
                //timer1.Enabled = true;
                task_thread = new Thread(get_task);
                task_thread.IsBackground = true;
                task_thread.Start();

                button_start.Enabled   = false;
                button_selfile.Enabled = false;
                button_stop.Enabled    = true;
            }
            else
            {
                MessageBox.Show("请指定一个打印BT模板文件!");
                this.textBox_path.Focus();
                return;
            }
        }
Exemple #3
0
        private void button5_Click(object sender, EventArgs e)
        {
            try
            {
                label45.Text = "";
                string idnumber = this.textBox3.Text;
                if (idnumber != null && idnumber.Length == 18)
                {
                    DisplayPersonTeShuInfo(idnumber);

                    string nameCodenew = textBox1.Text + " " + Regex.Replace(textBox3.Text, "(\\d{6})\\d{10}(\\d{2})", "$1**********$2");
                    if (nameCodenew.IndexOf('*') < 0)
                    {
                        nameCodenew = textBox1.Text + " " + textBox3.Text.Substring(0, 6) + "**********" + textBox3.Text.Substring(16, 2);
                    }
                    string    codenew = "";
                    int       fnum    = Int32.Parse(this.numericUpDown1.Value.ToString());
                    DataTable dttjjk  = grjddao.selectTjjk(idnumber);
                    if (dttjjk != null && dttjjk.Rows.Count > 0)
                    {
                        codenew = dttjjk.Rows[0]["bar_code"].ToString();

                        //调用Bartender
                        btApp = new BarTender.Application();
                        //获取打印模板,指定打印机
                        btFormat = btApp.Formats.Open(@str + "\\cs1.btw", false, "");
                        // 同样标签的份数
                        btFormat.PrintSetup.IdenticalCopiesOfLabel = fnum;
                        // 序列标签数
                        btFormat.PrintSetup.NumberSerializedLabels = 1;
                        //设置参数 code
                        btFormat.SetNamedSubStringValue("code", codenew);
                        btFormat.SetNamedSubStringValue("nameCode", nameCodenew);
                        //打印开始 第2个参数是 是否显示打印机属性的。可以设置打印机路径
                        btFormat.PrintOut(false, false);
                        //关闭摸板文件,并且关闭文件流
                        btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
                        //打印完毕
                        btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                    }
                    else
                    {
                        MessageBox.Show("此身份证号没有登记过,请检查!");
                    }
                }
                else
                {
                    MessageBox.Show("身份证号不正确,请检查!");
                }
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message + "---" + ee.StackTrace);
            }
        }
Exemple #4
0
        //打印条码
        public void OnPrintSampleBarcode(string barcode, int pageCount, string nameCode)
        {
            bool addjkbool = false;

            if (grjdxx != null)
            {
                DataTable dt = grjddao.judgeRepeat(textBox3.Text);
                if (dt.Rows.Count < 1)
                {
                    grjdxx.archive_no = basicInfoSettings.xcuncode + grjdxx.Cardcode.Substring(14);
                    grjdxx.photo_code = grjdxx.Cardcode + ".jpg";
                    bool istrue = grjddao.addgrjdInfo(grjdxx);
                }
                jkBean jk = new jkBean();
                jk.aichive_no = grjdxx.archive_no;
                jk.id_number  = grjdxx.Cardcode;
                jk.bar_code   = barcode;
                jk.Pic1       = grjdxx.CardPic;
                jk.Pic2       = grjdxx.Cardcode + ".jpg";
                addjkbool     = grjddao.addJkInfo(jk);

                textBox5.Text = jk.aichive_no;
                textBox6.Text = barcode;
            }
            try
            {
                if (addjkbool)
                {
                    //调用Bartender
                    btApp = new BarTender.Application();
                    //获取打印模板,指定打印机
                    btFormat = btApp.Formats.Open(@str + "\\cs1.btw", false, "");
                    // 同样标签的份数
                    btFormat.PrintSetup.IdenticalCopiesOfLabel = pageCount;
                    // 序列标签数
                    btFormat.PrintSetup.NumberSerializedLabels = 1;
                    //设置参数 code
                    btFormat.SetNamedSubStringValue("code", barcode);
                    btFormat.SetNamedSubStringValue("nameCode", nameCode);
                    //打印开始 第2个参数是 是否显示打印机属性的。可以设置打印机路径
                    btFormat.PrintOut(false, false);
                    //关闭摸板文件,并且关闭文件流
                    btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
                    //打印完毕
                    btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("打印机设备连接不正确,请重新连接或重启!");
                //throw e;
            }
        }
Exemple #5
0
        public string BarTenderPrintLS <T>(IEnumerable <T> lists, BarTenderPrintConfigModelXX config)
        {
            string printerName  = config.PrinterName;                           // 打印机名称
            string templateName = config.TemplateSelectedItem.TemplateFullName; //通用模板名称

            BarTender.Application btApp = new BarTender.Application();
            try
            {
                // StringBuilder stringBuilder = new StringBuilder();
                BarTender.Format btFormat = btApp.Formats.Open(templateName, false, "");
                btFormat.PrintSetup.Printer = printerName;
                btFormat.PrintSetup.NumberSerializedLabels = 1;
                btFormat.PrintSetup.IdenticalCopiesOfLabel = 1;
                string nameValues = "," + btFormat.NamedSubStrings.GetAll("|", ",");
                Regex  rg         = new Regex(@",([^|]*)", RegexOptions.IgnoreCase);
                var    fieldLists = GetTendarFieldName(nameValues.Replace(Environment.NewLine, ""), rg);


                foreach (var entry in lists)
                {
                    SetTemplateNamedSubStringValueToPart(btFormat, fieldLists, entry);
                    var s1 = btFormat.PrintOut(false, false);
                    if (s1 != 0)
                    {
                        btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                        return("打印结果不正常,打开模板手动打印取消警告窗口");
                    }
                    else
                    {
                        WriteRowHashValueLog(entry);
                    }
                }
                return("打印成功");
            }
            catch (Exception ex)
            {
                btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                throw new Exception(ex.Message);
            }
            finally
            {
                if (btApp != null)
                {
                    btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                }
            }
        }
 public void printBarcode()
 {
     try
     {
         BarTender.Format      btFormat;
         BarTender.Application btApp = new BarTender.Application();
         btFormat = btApp.Formats.Open(modelPath, false, "");
         btFormat.PrintSetup.IdenticalCopiesOfLabel = 1;             //单词执行打印一共需要打印几份一样的标签
         btFormat.PrintSetup.NumberSerializedLabels = 1;             //set the number of the sequenced
         btFormat.PrintOut(false, false);
         btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); //save or not save
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
Exemple #7
0
        private static void OnCreated(object source, FileSystemEventArgs e)
        {
            //String tempPath = "D:\\箱标签\\箱标签.btw";
            String tempPath = btwPath + "\\箱标签.btw";

            BarTender.Application btApp;
            BarTender.Format      btFormat;
            btApp         = new BarTender.Application();
            btApp.Visible = false;
            btFormat      = btApp.Formats.Open(@tempPath, false, "");
            print(e.FullPath, btFormat);
            btFormat.Close(BarTender.BtSaveOptions.btSaveChanges);
            btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
            //Console.WriteLine("文件新建事件处理逻辑 {0}  {1}  {2}", e.ChangeType, e.FullPath, e.Name);
            //Console.WriteLine(e.FullPath);
            //Console.WriteLine(e.Name);
            //File.Move(e.FullPath, "E" + e.FullPath.Substring(1));
            File.Move(downLoadPath + "\\" + e.Name, bakUpPath + "\\" + e.Name);
            File.Delete(e.FullPath);
        }
Exemple #8
0
        private void Form1_Load(object sender, EventArgs e)
        {
            btAPP = new BarTender.Application();    //初始化Bartender对象

            //this.Text = ""; //设置标题栏文本为空
            //ControlBox = false; //不在窗体标题栏中显示控件
            //this.FormBorderStyle = FormBorderStyle.None;



            TreeNode treeNoderoot1 = this.treeView1.Nodes.Add("一月份订单");

            for (int i = 1; i < 32; i++)
            {
                treeNoderoot1.Nodes.Add(i.ToString() + "号订单");
            }

            TreeNode treeNoderoot2 = this.treeView1.Nodes.Add("二月份订单");

            for (int i = 1; i < 32; i++)
            {
                treeNoderoot2.Nodes.Add(i.ToString() + "号订单");
            }

            TreeNode treeNoderoot3 = this.treeView1.Nodes.Add("三月份订单");

            for (int i = 1; i < 32; i++)
            {
                treeNoderoot3.Nodes.Add(i.ToString() + "号订单");
            }

            TreeNode treeNoderoot4 = this.treeView1.Nodes.Add("四月份订单");

            for (int i = 1; i < 32; i++)
            {
                treeNoderoot4.Nodes.Add(i.ToString() + "号订单");
            }

            TreeNode treeNoderoot5 = this.treeView1.Nodes.Add("五月份订单");

            for (int i = 1; i < 32; i++)
            {
                treeNoderoot5.Nodes.Add(i.ToString() + "号订单");
            }

            TreeNode treeNoderoot6 = this.treeView1.Nodes.Add("六月份订单");

            for (int i = 1; i < 32; i++)
            {
                treeNoderoot6.Nodes.Add(i.ToString() + "号订单");
            }

            TreeNode treeNoderoot7 = this.treeView1.Nodes.Add("七月份订单");

            for (int i = 1; i < 32; i++)
            {
                treeNoderoot7.Nodes.Add(i.ToString() + "号订单");
            }

            TreeNode treeNoderoot8 = this.treeView1.Nodes.Add("八月份订单");

            for (int i = 1; i < 32; i++)
            {
                treeNoderoot8.Nodes.Add(i.ToString() + "号订单");
            }

            TreeNode treeNoderoot9 = this.treeView1.Nodes.Add("九月份订单");

            for (int i = 1; i < 32; i++)
            {
                treeNoderoot9.Nodes.Add(i.ToString() + "号订单");
            }

            TreeNode treeNoderoot10 = this.treeView1.Nodes.Add("十月份订单");

            for (int i = 1; i < 32; i++)
            {
                treeNoderoot10.Nodes.Add(i.ToString() + "号订单");
            }

            TreeNode treeNoderoot11 = this.treeView1.Nodes.Add("十一月份订单");

            for (int i = 1; i < 32; i++)
            {
                treeNoderoot11.Nodes.Add(i.ToString() + "号订单");
            }

            TreeNode treeNoderoot12 = this.treeView1.Nodes.Add("十二月份订单");

            for (int i = 1; i < 32; i++)
            {
                treeNoderoot12.Nodes.Add(i.ToString() + "号订单");
            }

            treeView1.SelectedNode = null;

            this.listView1.GridLines     = true;         //表格是否显示网格线
            this.listView1.FullRowSelect = true;         //是否选中整行
            this.listView1.View          = View.Details; //设置显示方式
            this.listView1.Scrollable    = true;         //是否自动显示滚动条
            this.listView1.MultiSelect   = false;        //是否选中多行
            //this.listView1.ForeColor = Color.Red;
            this.listView1.Columns.Add("#", 40, HorizontalAlignment.Center);
            this.listView1.Columns.Add("订单编号", 60, HorizontalAlignment.Center);
            this.listView1.Columns.Add("订单日期", 80, HorizontalAlignment.Center);
            this.listView1.Columns.Add("业务伙伴名称", 150, HorizontalAlignment.Center);
            this.listView1.Columns.Add("U8物料编码", 120, HorizontalAlignment.Center);
            this.listView1.Columns.Add("产品描述", 160, HorizontalAlignment.Center);
            this.listView1.Columns.Add("封装形式", 60, HorizontalAlignment.Center);
            this.listView1.Columns.Add("芯片版本", 60, HorizontalAlignment.Center);
            this.listView1.Columns.Add("计划数量", 80, HorizontalAlignment.Center);
            this.listView1.Columns.Add("备品数", 60, HorizontalAlignment.Center);
            this.listView1.Columns.Add("项目编号/  客户编码", 180, HorizontalAlignment.Center);
            this.listView1.Columns.Add("交货日期", 100, HorizontalAlignment.Center);
            this.listView1.Columns.Add("测试", 40, HorizontalAlignment.Center);
            this.listView1.Columns.Add("程序版本", 100, HorizontalAlignment.Center);
            this.listView1.Columns.Add("校验和", 100, HorizontalAlignment.Center);
            this.listView1.Columns.Add("印字种类", 160, HorizontalAlignment.Center);
            this.listView1.Columns.Add("外盒标签", 100, HorizontalAlignment.Center);
            this.listView1.Columns.Add("销售员姓名", 100, HorizontalAlignment.Center);
            this.listView1.Columns.Add("工程师", 100, HorizontalAlignment.Center);
            this.listView1.Columns.Add("包装形式", 100, HorizontalAlignment.Center);
            this.listView1.Columns.Add("料管标签", 100, HorizontalAlignment.Center);
            this.listView1.Columns.Add("备注2", 300, HorizontalAlignment.Center);
            this.listView1.Columns.Add("生产订单状态", 100, HorizontalAlignment.Center);
            this.listView1.Columns.Add("完成数量", 100, HorizontalAlignment.Center);
            this.listView1.Columns.Add("销售单号", 100, HorizontalAlignment.Center);
            this.listView1.Columns.Add("客户代码", 100, HorizontalAlignment.Center);
            this.listView1.Columns.Add("程序路径", 500, HorizontalAlignment.Center);

            this.listView1.BeginUpdate();   //数据更新,UI暂时挂起,直到EndUpdate绘制控件,可以有效避免闪烁并大大提高加载速度

            //for (int i = 0; i < 10; i++)   //添加10行数据
            //{
            //    ListViewItem lvi = new ListViewItem();

            //    //lvi.ImageIndex = i;     //通过与imageList绑定,显示imageList中第i项图标

            //    lvi.Text = "subitem" + i;

            //    lvi.SubItems.Add("第2列,第" + i + "行");

            //    lvi.SubItems.Add("第3列,第" + i + "行");

            //    this.listView1.Items.Add(lvi);
            //}

            //添加表格内容

            //for (int i = 0; i < 6; i++)
            //{
            //    ListViewItem item = new ListViewItem();
            //    item.SubItems.Clear();
            //    item.SubItems[0].Text = "产品" + i.ToString();
            //    item.SubItems.Add(i.ToString());
            //    item.SubItems.Add((i + 7).ToString());
            //    item.SubItems.Add((i * i).ToString());
            //    listView1.Items.Add(item);
            //}


            this.listView1.EndUpdate();  //结束数据处理,UI界面一次性绘制。
            //this.listView1.BackColor = Color.AliceBlue;
            //this.listView1.BackColor = Color.Beige;
            this.listView1.BackColor = Color.Gainsboro;


            //this.listView1.ContextMenuStrip = contextMenuStrip1;  //这里不能直接赋值,不然没法控制显示条件

            this.toolStripStatusLabel1.Text = System.DateTime.Now.ToString();
            timer1.Interval = 1000;
            timer1.Start();
            timer2.Start();
        }
Exemple #9
0
        public string BarTenderPrintA4 <T>(IEnumerable <T> lists, BarTenderPrintConfigModelXX config, int totalPages)
        {
            string printerName       = config.PrinterName;                                                                                                   // 打印机名称
            int    templateTotalPage = config.TemplateSelectedItem.TemplateTotalPage;                                                                        //一张A4纸里面的小张数
            int    pages             = (int)Math.Ceiling(totalPages / (double)templateTotalPage);                                                            // 应该打印A4纸张数
            int    initPages         = pages;                                                                                                                //原始打印张数
            int    remainCount       = totalPages % templateTotalPage;                                                                                       // 最后一个模板张数

            string templateName    = config.TemplateSelectedItem.TemplateFullName;                                                                           //通用模板名称
            string newtemplateName = remainCount == 0 ? Path.Combine(config.TemplateSelectedItem.TemplateFolderPath, $"1{config.TemplateSelectedItem.TemplateFileName.Substring(1)}")
                : Path.Combine(config.TemplateSelectedItem.TemplateFolderPath, $"{remainCount}{config.TemplateSelectedItem.TemplateFileName.Substring(1)}"); // 最后一个模板名称

            BarTender.Application btApp = new BarTender.Application();
            try
            {
                #region  整数张数数据打印

                // 最多纸张模板
                BarTender.Format btFormat = btApp.Formats.Open(templateName, false, "");
                btFormat.PrintSetup.Printer = printerName;
                btFormat.PrintSetup.NumberSerializedLabels = 1;
                btFormat.PrintSetup.IdenticalCopiesOfLabel = 1;
                string nameValues = "," + btFormat.NamedSubStrings.GetAll("|", ",");
                Regex  rg         = new Regex(@",([^|]*)", RegexOptions.IgnoreCase);
                var    fieldLists = GetTendarFieldName(nameValues.Replace(Environment.NewLine, ""), rg);

                // 剩余部分模板
                BarTender.Format btFormat1   = null;
                List <string>    fieldLists1 = new List <string>();
                if (remainCount > 0)
                {
                    btFormat1 = btApp.Formats.Open(newtemplateName, false, "");
                    btFormat1.PrintSetup.Printer = printerName;
                    btFormat1.PrintSetup.NumberSerializedLabels = 1;
                    btFormat1.PrintSetup.IdenticalCopiesOfLabel = 1;
                    string nameValues1 = "," + btFormat1.NamedSubStrings.GetAll("|", ",");
                    Regex  rg1         = new Regex(@",([^|]*)", RegexOptions.IgnoreCase);
                    fieldLists1 = GetTendarFieldName(nameValues1.Replace(Environment.NewLine, ""), rg1);
                }


                //对各个部分赋值
                int beginPartId = 0;

                //StringBuilder logStrings = new StringBuilder();
                foreach (var entry in lists)
                {
                    //某行记录的打印张数,直接写日志
                    int printCount = GetPrintCountAndWriteLog(entry);

                    // 如果本次打印张数超过一张A4纸上
                    while (printCount + beginPartId >= templateTotalPage)
                    {
                        for (int z = beginPartId; z < templateTotalPage; z++)
                        {
                            SetTemplateNamedSubStringValueToPartN(btFormat, fieldLists, entry, z);
                        }

                        printCount  = printCount + beginPartId - templateTotalPage;
                        beginPartId = 0;
                        pages--;
                        var s1 = btFormat.PrintOut(false, false);
                        if (s1 != 0)
                        {
                            btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                            return("打印结果不正常,打开模板手动打印取消警告窗口");
                        }
                    }

                    //单条记录完全打印最后新开一张A4打印的数据(先部分赋值,和剩下行记录数据一起打印)
                    if (printCount > 0)
                    {
                        for (int z = beginPartId; z < printCount + beginPartId; z++)
                        {
                            if (pages == 1 && remainCount > 0) //最后一页把值赋到第二个模板上
                            {
                                SetTemplateNamedSubStringValueToPartN(btFormat1, fieldLists1, entry, z);
                            }
                            else
                            {
                                SetTemplateNamedSubStringValueToPartN(btFormat, fieldLists, entry, z);
                            }
                        }
                        beginPartId += printCount;
                    }
                }

                // 如果是最后一张A4的打印情况下, 新开模板赋值打印
                if (pages == 1)
                {
                    if (remainCount == 0)
                    {
                        var s111 = btFormat.PrintOut(false, false);
                        btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
                        if (s111 != 0)
                        {
                            btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                            return("打印结果不正常,打开模板手动打印取消警告窗口");
                        }
                    }
                    else
                    {
                        var s222 = btFormat1.PrintOut(false, false);
                        btFormat1.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
                        btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
                        if (s222 != 0)
                        {
                            btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                            return("打印结果不正常,打开模板手动打印取消警告窗口");
                        }
                    }
                }
                #endregion
                // 写日志
                //new CommonService().ExecuteSqlAsyncReturns(logStrings.ToString());
                return("打印成功");
            }
            catch (Exception ex)
            {
                btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                throw new Exception(ex.Message);
            }
            finally
            {
                if (btApp != null)
                {
                    btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                }
            }
        }
Exemple #10
0
        public bool BarTenderOilSampleEntryMergePrint(BarTenderPrintConfigModel config, ObservableCollection <OilSampleEntryModel> data, int printTotalNum, List <BarTenderTemplateModel> barTenderTemplates)
        {
            string printerName = config.PrinterName;

            string templateName = barTenderTemplates.FirstOrDefault(m => m.TemplatePerPage == printTotalNum && m.TemplateTotalPage == 4).TemplateFullName;
            List <OilSampleFlowPrintLogModel> logs = new List <OilSampleFlowPrintLogModel>();

            BarTender.Application btApp = new BarTender.Application();
            try
            {
                BarTender.Format btFormat = btApp.Formats.Open(templateName, false, "");
                btFormat.PrintSetup.Printer = printerName;
                string nameValues = "," + btFormat.NamedSubStrings.GetAll("|", ",");
                Regex  rg         = new Regex(@",([^|]*)", RegexOptions.IgnoreCase);
                var    list       = GetTendarFieldName(nameValues.Replace(Environment.NewLine, ""), rg);
                btFormat.PrintSetup.NumberSerializedLabels = 1;
                btFormat.PrintSetup.IdenticalCopiesOfLabel = 1;
                int z = 0;
                for (int i = 0; i < data.Count; i++)
                {
                    var    entry   = data[i];
                    string batchNo = new OilSampleService().GetOilSampleEntryBatchNo(entry.Id);
                    if (string.IsNullOrEmpty(batchNo))
                    {
                        var seq = new CommonService().GetCurrentDateNextSerialNumber(entry.ProductionDate, "OilSamplePrintBatchNo");
                        batchNo = entry.ProductionDate.ToString("yyMMdd") + seq.ToString().PadLeft(3, '0');
                    }
                    entry.BatchNo = batchNo;
                    logs.Add(new OilSampleFlowPrintLogModel
                    {
                        FormsonId    = entry.Id,
                        FormmainId   = entry.FormmainId,
                        EntryId      = entry.EntryId,
                        PrintCount   = entry.CurrencyPrintCount,
                        PrintedCount = entry.PrintedCount + entry.CurrencyPrintCount,
                        BatchNo      = entry.BatchNo,
                        TypeId       = config.TemplateTypeId,
                        TypeDesc     = config.TemplateTypeName
                    });

                    for (int j = 0; j < entry.CurrencyPrintCount; j++)
                    {
                        z++;
                        if (entry.PrintedCount + entry.CurrencyPrintCount >= entry.PrintTotalCount && j == entry.CurrencyPrintCount - 1 && entry.TotalWeight % entry.WeightPerBucket != 0)
                        {
                            entry.WeightPerBucket = (float)Math.Round(entry.TotalWeight % entry.WeightPerBucket, 2);
                        }
                        switch (z)
                        {
                        case 1: SetTemplateNamedSubStringValueToPart1(btFormat, list, entry); break;

                        case 2: SetTemplateNamedSubStringValueToPart2(btFormat, list, entry); break;

                        case 3: SetTemplateNamedSubStringValueToPart3(btFormat, list, entry); break;

                        case 4: SetTemplateNamedSubStringValueToPart4(btFormat, list, entry); break;

                        default: break;
                        }
                    }
                }

                var s = btFormat.PrintOut(false, false);

                // 写日志
                foreach (var item in logs)
                {
                    var result = new OilSampleService().InsertOilSampleFlowLog2(item);
                    if (!result)
                    {
                        return(false);
                    }
                }


                btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
                btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                return(true);
            }
            catch (Exception ex)
            {
                btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                throw new Exception(ex.Message);
            }
            finally
            {
                if (btApp != null)
                {
                    btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                }
            }
        }
Exemple #11
0
        public bool BarTenderExpressPrint(BarTenderPrintConfigModelXX config, decimal formmainId)
        {
            string printerName  = config.PrinterName;
            string templateName = config.TemplateSelectedItem.TemplateFullName;

            BarTender.Application btApp = new BarTender.Application();
            try
            {
                var data = new OilSampleService().GetExpressPrintData(formmainId);
                BarTender.Format btFormat = btApp.Formats.Open(templateName, false, "");
                btFormat.PrintSetup.Printer = printerName;

                string nameValues = "," + btFormat.NamedSubStrings.GetAll("|", ",");
                Regex  rg         = new Regex(@",([^|]*)", RegexOptions.IgnoreCase);
                var    list       = GetTendarFieldName(nameValues.Replace(Environment.NewLine, ""), rg);
                btFormat.PrintSetup.IdenticalCopiesOfLabel = 1;
                btFormat.PrintSetup.NumberSerializedLabels = 1;

                //btFormat.SetNamedSubStringValue("AA", data.SendName);

                if (list.Contains("SendName"))
                {
                    btFormat.SetNamedSubStringValue("SendName", data.SendName);
                }
                if (list.Contains("SendPhone"))
                {
                    btFormat.SetNamedSubStringValue("SendPhone", data.SendPhone);
                }
                if (list.Contains("SendCompanyName"))
                {
                    btFormat.SetNamedSubStringValue("SendCompanyName", data.SendCompanyName);
                }
                if (list.Contains("SendAddress"))
                {
                    btFormat.SetNamedSubStringValue("SendAddress", data.SendAddress);
                }
                if (list.Contains("ContractMan"))
                {
                    btFormat.SetNamedSubStringValue("ContractMan", data.ContractMan);
                }
                if (list.Contains("ContractPhone"))
                {
                    btFormat.SetNamedSubStringValue("ContractPhone", data.ContractPhone);
                }
                if (list.Contains("ContractCompanyName"))
                {
                    btFormat.SetNamedSubStringValue("ContractCompanyName", data.ContractCompanyName);
                }
                if (list.Contains("ContractAddress"))
                {
                    btFormat.SetNamedSubStringValue("ContractAddress", data.ContractAddress);
                }

                /* var s= 结果是0 可能是成功的意思 */
                var s = btFormat.PrintOut(false, false);
                btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
                btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                return(true);
            }
            catch (Exception ex)
            {
                btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                throw new Exception(ex.Message);
            }
            finally
            {
                if (btApp != null)
                {
                    btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                }
            }
        }
Exemple #12
0
        public string BarTenderOilSamplePrint(BarTenderPrintConfigModel config, OilSampleEntryModel data)
        {
            string weightPerBucket     = string.Empty;
            string weightPerBucketLast = string.Empty;
            string printerName         = config.PrinterName;
            string templateName        = config.TemplateFullName;

            BarTender.Application btApp = new BarTender.Application();
            try
            {
                // 获取批次号(先获取打印记录的,如果没有就获取新的)
                string batchNo = new OilSampleService().GetOilSampleEntryBatchNo(data.Id);
                if (string.IsNullOrEmpty(batchNo))
                {
                    var seq = new CommonService().GetCurrentDateNextSerialNumber(data.ProductionDate, "OilSamplePrintBatchNo");
                    batchNo = data.ProductionDate.ToString("yyMMdd") + seq.ToString().PadLeft(3, '0');
                }

                //int printCount = data.CurrencyPrintCount % config.TemplatePerPage == 0 ? data.CurrencyPrintCount / config.TemplatePerPage : data.CurrencyPrintCount / config.TemplatePerPage + 1;

                BarTender.Format btFormat = btApp.Formats.Open(templateName, false, "");
                btFormat.PrintSetup.Printer = printerName;

                string nameValues = "," + btFormat.NamedSubStrings.GetAll("|", ",");
                Regex  rg         = new Regex(@",([^|]*)", RegexOptions.IgnoreCase);
                var    list       = GetTendarFieldName(nameValues.Replace(Environment.NewLine, ""), rg);
                btFormat.PrintSetup.NumberSerializedLabels = 1;
                btFormat.PrintSetup.IdenticalCopiesOfLabel = 1;
                weightPerBucket     = data.WeightPerBucket.ToString();
                weightPerBucketLast = data.WeightPerBucket.ToString();

                //for (int i = 0; i < printCount; i++)
                //{
                // 最后一张(已打张数+本次打印数量 >=总张数  的最后一页)
                if (data.TotalWeight % data.WeightPerBucket != 0 && data.PrintedCount + data.CurrencyPrintCount >= data.PrintTotalCount)
                {
                    weightPerBucketLast = (Math.Round(data.TotalWeight % data.WeightPerBucket, 2)).ToString();
                }
                if (list.Contains("ProductionDate"))
                {
                    btFormat.SetNamedSubStringValue("ProductionDate", data.ProductionDate.ToString("yyyy-MM-dd"));
                }
                if (list.Contains("ProductionModel"))
                {
                    btFormat.SetNamedSubStringValue("ProductionModel", data.ProductionModel);
                }
                if (list.Contains("ProductionName"))
                {
                    btFormat.SetNamedSubStringValue("ProductionName", data.ProductionName);
                }
                if (list.Contains("ExpirationMonth"))
                {
                    btFormat.SetNamedSubStringValue("ExpirationMonth", data.ExpirationMonth);
                }
                if (list.Contains("BatchNo"))
                {
                    btFormat.SetNamedSubStringValue("BatchNo", batchNo);
                }
                if (list.Contains("CheckNo"))
                {
                    btFormat.SetNamedSubStringValue("CheckNo", data.CheckNo);
                }
                if (list.Contains("RoughWeight"))
                {
                    btFormat.SetNamedSubStringValue("RoughWeight", data.RoughWeight);
                }

                if (list.Contains("WeightPerBucket"))
                {
                    btFormat.SetNamedSubStringValue("WeightPerBucket", weightPerBucket);
                }

                if (list.Contains("WeightPerBucketLast"))
                {
                    btFormat.SetNamedSubStringValue("WeightPerBucketLast", weightPerBucketLast);
                }

                var s = btFormat.PrintOut(false, false);
                //}

                btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
                btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                return(batchNo);
            }
            catch (Exception ex)
            {
                btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                throw new Exception(ex.Message);
            }
            finally
            {
                if (btApp != null)
                {
                    btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                }
            }
        }
Exemple #13
0
        //打印条码
        public void OnPrintSampleBarcode(string barcode, int pageCount, string nameCode)
        {
            bool      addjkbool = false;
            DataTable dt        = null;

            if (grjdxx != null)
            {
                string cardcode = grjdxx.Cardcode;
                if (!"".Equals(cardcode))
                {
                    dt = grjddao.judgeRepeat(textBox3.Text);
                }
                else
                {
                    dt = grjddao.judgeRepeatBync(textBox1.Text, textBox8.Text);
                }
                if (dt.Rows.Count < 1)
                {
                    if (!"".Equals(cardcode))
                    {
                        grjdxx.archive_no = cardcode;
                    }
                    grjdxx.doctor_id = basicInfoSettings.zeren_doctorId;
                    grjddao.addgrjdInfo(grjdxx); //添加个人信息档案
                    registrationRecordCheck();   //右侧统计
                }
                else
                {
                    grjdxx.archive_no = dt.Rows[0]["archive_no"].ToString();
                    grjddao.updategejdInfonew(grjdxx, 0);
                    //grjdxx.archive_no = dt.Rows[0]["archive_no"].ToString();
                    //grjdxx.doctor_id= dt.Rows[0]["doctor_id"].ToString();
                    //grjddao.updateGrjdInfo(grjdxx.archive_no, grjdxx.photo_code);
                    //grjddao.updategejdInfo(grjdxx);
                }
                grjddao.addPhysicalExaminationInfo(grjdxx, barcode);//添加健康体检表信息
                jkBean jk = new jkBean();
                jk.aichive_no   = grjdxx.archive_no;
                jk.id_number    = grjdxx.Cardcode;
                jk.bar_code     = barcode;
                jk.Pic1         = grjdxx.CardPic;
                jk.Pic2         = grjdxx.Cardcode + ".jpg";
                jk.village_code = basicInfoSettings.xcuncode;
                jk.address      = grjdxx.Zhuzhi;
                jk.name         = grjdxx.name;
                jk.sex          = grjdxx.Sex;
                jk.age          = grjdxx.age;
                jk.JddwName     = basicInfoSettings.organ_name;
                jk.JdrName      = basicInfoSettings.input_name;
                jk.ZrysName     = basicInfoSettings.zeren_doctor;
                jk.XzjdName     = basicInfoSettings.xzName;
                jk.CjwhName     = basicInfoSettings.xcName;
                addjkbool       = grjddao.addJkInfo(jk);
                textBox5.Text   = jk.aichive_no;
                textBox6.Text   = barcode;
                if (addjkbool)
                {   //体检信息统计表
                    grjddao.addBgdcInfo(grjdxx, barcode, basicInfoSettings.xcuncode);
                }
            }
            try
            {
                if (addjkbool)
                {
                    //调用Bartender
                    btApp = new BarTender.Application();
                    //获取打印模板,指定打印机
                    btFormat = btApp.Formats.Open(@str + "\\cs1.btw", false, "");
                    // 同样标签的份数
                    btFormat.PrintSetup.IdenticalCopiesOfLabel = pageCount;
                    // 序列标签数
                    btFormat.PrintSetup.NumberSerializedLabels = 1;
                    //设置参数 code
                    btFormat.SetNamedSubStringValue("code", barcode);
                    btFormat.SetNamedSubStringValue("nameCode", nameCode);
                    //打印开始 第2个参数是 是否显示打印机属性的。可以设置打印机路径
                    btFormat.PrintOut(false, false);
                    //关闭摸板文件,并且关闭文件流
                    btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
                    //打印完毕
                    btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                    jkjcheckdao.updateShDevice(-1, -1, 1, -1, -1, -1, -1, -1, -1, -1);
                }
            }
            catch (Exception e)
            {
                loginLogBean lb = new loginLogBean();
                lb.name       = frmLogin.name;
                lb.createTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                lb.eventInfo  = "打印机设备连接不正确!";
                lb.type       = "3";
                logservice.addCheckLog(lb);
                MessageBox.Show(e.Message + "---" + e.StackTrace);
                MessageBox.Show("打印机设备连接不正确,请重新连接或重启!");
                jkjcheckdao.updateShDevice(-1, -1, 0, -1, -1, -1, -1, -1, -1, -1);
            }
            Common.SetComboBoxInfo(comboBox7, ltdorganizationDao.GetShengInfo());//默认区域
            DataTable dtbasic = bsdao.checkBasicsettingInfo();

            if (dtbasic.Rows.Count > 0)
            {
                xcuncode  = dtbasic.Rows[0]["cun_code"].ToString();
                shengcode = dtbasic.Rows[0]["sheng_code"].ToString();
                Common.SetComboBoxInfo(comboBox6, ltdorganizationDao.GetCityInfo(shengcode));
                shicode = dtbasic.Rows[0]["shi_code"].ToString();
                Common.SetComboBoxInfo(comboBox3, ltdorganizationDao.GetCountyInfo(shicode));
                qxcode = dtbasic.Rows[0]["qx_code"].ToString();
                Common.SetComboBoxInfo(comboBox4, areadao.zhenInfo(qxcode));
                xzcode = dtbasic.Rows[0]["xz_code"].ToString();
                Common.SetComboBoxInfo(comboBox5, areadao.cunInfo(xzcode));
                //因为名称有可能对应不上那么就用code对应
                Common.SetComboBoxSelectIndex(comboBox7, shengcode);
                Common.SetComboBoxSelectIndex(comboBox6, shicode);
                Common.SetComboBoxSelectIndex(comboBox3, qxcode);
                Common.SetComboBoxSelectIndex(comboBox4, xzcode);
                Common.SetComboBoxSelectIndex(comboBox5, xcuncode);
            }
        }
Exemple #14
0
        private void DoPrintTicketInfoSpecial(DataRow drBtn)
        {
            DataRow[] drTabs = dtTabs.Select("TabName='" + xtabItemInfo.SelectedTabPage.Name + "'");
            if (drTabs.Length <= 0)
            {
                return;
            }

            DataRow  drTab     = drTabs[0];
            GridView gridVMain = gcItems[drTab["GridViewName"].ToString()];

            if (gridVMain.SelectedRowsCount <= 0)
            {
                MessageBox.Show("请选择要打印的明细记录.");
                return;
            }
            string        strIds      = string.Empty;
            List <string> lisIds      = new List <string>();
            string        strKeyFiled = drTab["EditInfoKeyId"].ToString();
            string        strRptName  = drBtn["TicketTempName"].ToString();
            string        strSpFlag   = drBtn["TicketSpFlag"].ToString();

            foreach (int i in gridVMain.GetSelectedRows())
            {
                DataRow dr = gridVMain.GetDataRow(i);
                lisIds.Add(dr[strKeyFiled].ToString());
                strIds += strIds == string.Empty ? dr[strKeyFiled].ToString() : "," + dr[strKeyFiled].ToString();
            }

            List <string> lisSpParmValue = new List <string>();

            string[] strKeyP = "Key_Ids,EUser_Id,EDept_Id,Fy_Id,flag".Split(",".ToCharArray());
            lisSpParmValue.AddRange(new string[] {
                strIds,
                CApplication.App.CurrentSession.UserId.ToString(),
                CApplication.App.CurrentSession.DeptId.ToString(),
                CApplication.App.CurrentSession.FyId.ToString(),
                strSpFlag
            });
            DataTable dtAdd = this.DataRequest_By_DataTable(strSpName, strKeyP, lisSpParmValue.ToArray());

            if (dtAdd == null)
            {
                return;
            }
            try
            {
                BarTender.Application btdb = new BarTender.Application();
                string strPrintPath        = Application.StartupPath + @"\打印模板\" + strRptName + ".btw";
                try
                {
                    foreach (string strId in lisIds)//保证按客户端顺序打印
                    {
                        DataRow[] drPrints = dtAdd.Select(strKeyFiled + "=" + strId);
                        {
                            if (drPrints.Length > 0)
                            {
                                StaticFunctions.PrintItem(btdb, drPrints[0], strPrintPath, strKeyFiled, frmImageFilePath);
                            }
                        }
                    }
                }
                catch (Exception err)
                {
                    MessageBox.Show("打印出错:" + err.Message);
                }
                finally
                {
                    btdb.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("初始化打印出错,可能未安装BarTender.");
            }
        }
        private void DoPrintTicketInfoSpecial(DataRow drBtn)
        {
            string        strIds = string.Empty;
            List <string> lisIds = new List <string>();

            if (drBtn["IsPrintTicketAll"].ToString() == "True")
            {
                for (int i = 0; i < gridVMain.RowCount; i++)
                {
                    DataRow dr = gridVMain.GetDataRow(i);
                    lisIds.Add(dr[strKeyFiled].ToString());
                    strIds += strIds == string.Empty ? dr[strKeyFiled].ToString() : "," + dr[strKeyFiled].ToString();
                }
            }
            else
            {
                if (gridVMain.SelectedRowsCount <= 0)
                {
                    MessageBox.Show("请选择要打印的明细记录.");
                    return;
                }
                foreach (int i in gridVMain.GetSelectedRows())
                {
                    DataRow dr = gridVMain.GetDataRow(i);
                    lisIds.Add(dr[strKeyFiled].ToString());
                    strIds += strIds == string.Empty ? dr[strKeyFiled].ToString() : "," + dr[strKeyFiled].ToString();
                }
            }

            string strRptName = string.Empty;
            string strSpFlag  = string.Empty;
            string strTitle   = string.Empty;

            if (!StaticFunctions.GetBtnMRpt(dtBtnsM, drBtn, gridVMain.GetFocusedDataRow(), strKeyFiled, this
                                            , drBtn["TicketTempName"].ToString(), drBtn["TicketSpFlag"].ToString(), ""
                                            , out strRptName, out strSpFlag, out strTitle))
            {
                return;
            }

            List <string> lisSpParmValue = new List <string>();

            string[] strKeyP = "Key_Ids,EUser_Id,EDept_Id,Fy_Id,flag".Split(",".ToCharArray());
            lisSpParmValue.AddRange(new string[] {
                strIds,
                CApplication.App.CurrentSession.UserId.ToString(),
                CApplication.App.CurrentSession.DeptId.ToString(),
                CApplication.App.CurrentSession.FyId.ToString(),
                strSpFlag
            });
            DataTable dtAdd = this.DataRequest_By_DataTable(strSpName, strKeyP, lisSpParmValue.ToArray());

            if (dtAdd == null)
            {
                return;
            }
            try
            {
                BarTender.Application btdb = new BarTender.Application();
                string strPrintPath        = Application.StartupPath + @"\打印模板\" + strRptName + ".btw";
                try
                {
                    foreach (string strId in lisIds)//保证按客户端顺序打印
                    {
                        DataRow[] drPrints = dtAdd.Select(strKeyFiled + "=" + strId);
                        {
                            if (drPrints.Length > 0)
                            {
                                StaticFunctions.PrintItem(btdb, drPrints[0], strPrintPath, strKeyFiled, frmImageFilePath);
                            }
                        }
                    }
                }
                catch (Exception err)
                {
                    MessageBox.Show("打印出错:" + err.Message);
                }
                finally
                {
                    btdb.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("初始化打印出错,可能未安装BarTender.");
            }
        }