Ejemplo n.º 1
0
 public static Myamato GetPrintyamato(busi_printwork packge)
 {
     using (var db = SugarDao.GetInstance(Getconnstring.Getmyconnstring()))
     {
         try
         {
             yamatoShopname aa = db.Queryable<busi_sendorder>().JoinTable<busi_custorder>((s1, s2) => s1.custorder_id == s2.order_id)
                 .JoinTable<busi_custorder,base_shop>((s1,s2, s3) => s2.shop_id == s3.shop_id)
                 .JoinTable<base_shop,base_platform>((s1,s3, s4) => s3.platform_id == s4.platform_id)
                 .Where<busi_sendorder>(s1=> s1.order_code == packge.data_10)
                 .Select<base_shop, base_platform, yamatoShopname>((s1,s3, s4) =>
                 new yamatoShopname()
                 {
                     shopname=s3.shop_name,
                     platfromname=s4.platform_name,
                     Shopaddress=s3.shop_address,
                     Shopphone=s3.shop_telephone,
                     Shopzip=s3.shop_zipcode,
                     Companyname = ""
                 }).FirstOrDefault();
             if(null==aa)
             {
                 throw new Exception("无法得到发货定订单信息");
             }
             Myamato pyamato = new Myamato();
             pyamato.Shopname = aa.shopname;
             pyamato.Platform = aa.platfromname;
             pyamato.Shopzip = aa.Shopzip;
             pyamato.Shopphone = aa.Shopphone;
             pyamato.Shopaddress = aa.Shopaddress;
             pyamato.Companyname = "株式会社ジャパンドレス";
             //--------------------------------------------------
             pyamato.data_1 = packge.data_1;
             pyamato.data_2 = packge.data_2;
             pyamato.data_3 = packge.data_3;
             pyamato.data_4 = packge.data_4;
             pyamato.data_5 = packge.data_5;
             pyamato.data_6 = packge.data_6;
             pyamato.data_7 = packge.data_7;
             pyamato.data_8 = packge.data_8;
             pyamato.data_9 = packge.data_9;
             pyamato.data_10 = packge.data_10;
             pyamato.create_DateTime = packge.create_DateTime;
             pyamato.create_UserID = packge.create_UserID;
             pyamato.edit_DateTime = packge.edit_DateTime;
             pyamato.p_idPoint = packge.p_idPoint;
             pyamato.p_Status = packge.p_Status;
             pyamato.p_Workid = packge.p_Workid;
             pyamato.p_WorkRemarks = packge.p_WorkRemarks;
             pyamato.p_WorkType = packge.p_WorkType;
             pyamato.Print_DateTime = packge.Print_DateTime;
             return pyamato;
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// yamato打印,
        /// </summary>
        /// <param name="Sender"></param>
        /// <param name="e"></param>
        private void Timeryamato_Tick(object Sender, EventArgs e)
        {
            int worktype = 50;
            int p_id     = GetprintID();                                         //得到打印插件ID
            //1.得到需要打印的包裹号
            List <busi_printwork> list = CommPrint.GetprintInfo(p_id, worktype); //worktype =50

            if (list.Count > 0)                                                  //有数据要打印
            {
                foreach (var item in list)
                {
                    if (!Queueyamato.Contains(item.p_Workid))  //data_10存的是包裹号
                    {
                        Queueyamato.Enqueue(item.p_Workid);
                        PrintListYamato.Add(item.p_Workid, item);
                    }
                }
            }
            if (PrintListYamato.Count > 0)//字典中有数据
            {
                try
                {
                    long           workid   = Queueyamato.Peek();
                    busi_printwork mypackge = PrintListYamato[workid]; //取出队列中对象
                    //打印yamato
                    Myamato pyamato = CommPrint.GetPrintyamato(mypackge);
                    if (null == pyamato)
                    {
                        throw new Exception("系统中不存在此店铺名或者此包裹" + mypackge.data_10);
                    }
                    PrintYamato printer = new PrintYamato(pyamato);
                    printer.Print(true);
                    bool isok = CommPrint.FinshPrint(p_id, mypackge); //设置已打印的状态
                    if (!isok)
                    {
                        Log(mypackge.data_1 + "打印失败!");
                    }
                    else
                    {
                        //打印完成清除出队列
                        Queueyamato.Dequeue();
                        PrintListYamato.Remove(workid);
                        Hasprintcount++;
                        label7.Text = Hasprintcount.ToString();
                        Log(mypackge.data_1 + "包裹号已打印。Yamato" + DateTime.Now.ToString());
                    }
                }
                catch (Exception ex)
                {
                    Log(ex.ToString());
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 直接打印,是否显示打印对话框
        /// </summary>
        /// <param name="p_ShowPrintDialog"></param>
        public void Print(bool p_ShowPrintDialog)
        {
            try
            {
                //1.获取打印机插件是否设置了打印拣选单的面单
                NewXmlControl xmlfile = new NewXmlControl(Comm.StartupPath + "//config//config.xml", false, "Passport");
                bool          isexit  = xmlfile.IsExitinnertextOfNode("Yamato", "page");
                if (isexit)
                {
                    //设置打印机的名称
                    //pd.PrinterSettings.PrinterName = xmlfile.GetinnertextOfPrintName("Umail", "page");
                }
                else
                {
                    throw new Exception("没有配置Yamato面单!请先配置!");
                }

                DataTable dt = new DataTable("table1");
                dt.Columns.Add(new DataColumn("ZIPCode", typeof(string)));
                dt.Columns.Add(new DataColumn("address1", typeof(string)));
                dt.Columns.Add(new DataColumn("address2", typeof(string)));
                dt.Columns.Add(new DataColumn("address3", typeof(string)));
                dt.Columns.Add(new DataColumn("SKU", typeof(string)));
                dt.Columns.Add(new DataColumn("YamtoCompany1", typeof(string)));
                dt.Columns.Add(new DataColumn("YamtoCompany2", typeof(string)));
                dt.Columns.Add(new DataColumn("YamtoCompany3", typeof(string)));
                dt.Columns.Add(new DataColumn("YamtoCompany4", typeof(string)));
                dt.Columns.Add(new DataColumn("Phone", typeof(string)));
                dt.Columns.Add(new DataColumn("CustumerName", typeof(string)));
                dt.Columns.Add(new DataColumn("ExpressCode", typeof(string)));
                dt.Columns.Add(new DataColumn("MessageForBuyer", typeof(string)));
                dt.Columns.Add(new DataColumn("SendShopname", typeof(string)));
                dt.Columns.Add(new DataColumn("packgecode", typeof(string)));         //OurZipCode
                dt.Columns.Add(new DataColumn("OurZipCode", typeof(string)));         //OurZipCode
                dt.Columns.Add(new DataColumn("Ourtelephone", typeof(string)));       //OurZipCode
                dt.Columns.Add(new DataColumn("OurCompannyAddress", typeof(string))); //OurZipCode
                DataRow row = dt.NewRow();
                //判断是否存在 - 符号
                if (string.IsNullOrEmpty(pwork.data_4))
                {
                    new main().Log(pwork.data_4 + "包裹号不存在邮编,请确认!");
                    //Log(DateTime.Now.ToString());
                    return;   //"〒 160-0023";
                }
                if (pwork.data_4.Contains("-"))
                {
                    row["ZIPCode"] = "〒 " + pwork.data_1;   //"〒 160-0023";
                }
                else
                {
                    row["ZIPCode"] = "〒 " + pwork.data_1.Insert(3, "-");
                }
                if (string.IsNullOrEmpty(pwork.data_5))
                {
                    new main().Log(pwork.data_5 + "包裹号不存在地址,请确认!");
                    //Log(DateTime.Now.ToString());
                    return;   //"〒 160-0023";
                }
                if (pwork.data_5.Length > 30)
                {
                    row["address1"] = pwork.data_5.Substring(0, 9);  //"金华金帆街172金字火腿";
                    row["address2"] = pwork.data_5.Substring(9, 21); //"乐诚网络";
                    row["address3"] = pwork.data_5.Substring(30);
                }
                else if (pwork.data_5.Length <= 30 || pwork.data_5.Length >= 9)
                {
                    row["address1"] = pwork.data_5.Substring(0, 9); //"金华金帆街172金字火腿";
                    row["address2"] = pwork.data_5.Substring(9);    //"乐诚网络";
                    row["address3"] = "";
                }
                else if (pwork.data_5.Length < 9)
                {
                    row["address1"] = pwork.data_5; //"金华金帆街172金字火腿";
                    row["address2"] = "";           //"乐诚网络";
                    row["address3"] = "";
                }

                row["SKU"]           = pwork.data_7;
                row["YamtoCompany1"] = "ヤマト運輸株式会社";
                row["YamtoCompany2"] = "北東京物流システム支店";             //,西新宿3丁目センター
                row["YamtoCompany3"] = "この荷物が郵便物ではありません 030-600"; //036-292
                row["YamtoCompany4"] = "お問い合せ先 フリーダイヤル 0120-11-8010";
                //判断是否存在 - 符号
                if (pwork.data_3.Contains("-"))
                {
                    row["Phone"] = pwork.data_3;  //"〒 160-0023";   MessageForBuyer
                }
                else
                {
                    row["Phone"] = pwork.data_3.Insert(3, "-").Insert(8, "-");
                }

                row["CustumerName"]       = pwork.data_2;
                row["ExpressCode"]        = pwork.data_9;
                row["MessageForBuyer"]    = null;//pwork.data_9;
                row["SendShopname"]       = "Shop: " + pwork.Platform + " + " + pwork.Shopname;
                row["packgecode"]         = pwork.data_10;
                row["OurZipCode"]         = pwork.Shopzip;
                row["Ourtelephone"]       = pwork.Shopphone;
                row["OurCompannyAddress"] = pwork.Shopaddress;
                dt.Rows.Add(row);
                PrintCenter printer = new PrintCenter();
                printer.ZPLPrintYamato(dt, true, 1);
                dt.Clear();
                pwork = null;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 4
0
 private Myamato pwork;  //打印信息存储类
 //通过构造函数传递进来
 public PrintYamato(Myamato p)
 {
     pwork = p;
 }