/// <summary>
        /// to do
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tsbtnPrint_Click(object sender, EventArgs e)
        {
            try
            {
                if (_SalesOrderReturn != null)
                {
                    DsSalesOrder ds = new DsSalesOrder();
                    ds.ExtendedProperties.Clear();
                    ds.Tables.Clear();

                    ds.ExtendedProperties.Add("ReportTitle", PharmacyClientConfig.Config.Store.Name);
                    ds.ExtendedProperties.Add("Addr", PharmacyClientConfig.Config.Store.Address);

                    string[] tel = PharmacyClientConfig.Config.Store.Tel.Split(',');

                    ds.ExtendedProperties.Add("Tel", tel[0]);
                    Guid   purchaseId   = this.PharmacyDatabaseService.GetSalesOrder(out msg, _SalesOrderReturn.SalesOrderID).PurchaseUnitId;
                    string purchaseName = this.PharmacyDatabaseService.GetPurchaseUnit(out msg, purchaseId).Name;
                    ds.ExtendedProperties.Add("PurchaseUnit", purchaseName);                                     //购买单位
                    ds.ExtendedProperties.Add("OrderCode", this.lblReturnNo.Text);                               //退单号
                    ds.ExtendedProperties.Add("SaleOrderNum", this.lblOrderNo.Text);                             //销售订单号
                    string saleMan = this.PharmacyDatabaseService.GetEmployeeByUserId(out msg, this._SalesOrderReturn.SellerID).Name;
                    ds.ExtendedProperties.Add("Saler", saleMan);                                                 //业务员
                    ds.ExtendedProperties.Add("Date", this._SalesOrderReturn.CreateTime.ToString("yyyy-MM-dd")); //记录建立日期



                    Guid   createrUid = _SalesOrderReturn.CreateUserId;
                    string creater    = this.PharmacyDatabaseService.GetUser(out msg, createrUid).Employee.Name;
                    ds.ExtendedProperties.Add("creater", creater);//开票员

                    Guid   CheckerUid = _SalesOrderReturn.OrderReturnCheckUserID;
                    var    Ch         = this.PharmacyDatabaseService.GetUser(out msg, CheckerUid);
                    string Checker    = " ";
                    if (Ch != null)
                    {
                        Checker = Ch.Employee.Name;
                    }
                    else
                    {
                        var rs = MessageBox.Show("该销售退货单据暂未验收,验收员为空!需要继续打印吗?", "提示", MessageBoxButtons.OKCancel);
                        if (rs != System.Windows.Forms.DialogResult.OK)
                        {
                            return;
                        }
                    }
                    ds.ExtendedProperties.Add("Checker", Checker);//开票员



                    DsSalesOrder.tableDataTable OrderDetailTable = new DsSalesOrder.tableDataTable();
                    foreach (SalesOrderReturnDetail detail in listSalesOrderReturnDetail.Where(r => r.ReturnAmount > 0).ToList())
                    {
                        //string
                        string  part        = detail.productName;
                        string  _partType   = detail.DictionaryDosageCode;
                        string  specialCode = detail.SpecificationCode;
                        string  productUnit = detail.FactoryName;
                        string  Origin      = detail.Origin;
                        string  batchNumber = detail.BatchNumber;
                        string  ValidDate   = detail.OutValidDate.ToString();
                        string  unit        = detail.MeasurementUnit;
                        decimal qty         = detail.ReturnAmount;
                        decimal unitPrice   = detail.ActualUnitPrice;
                        decimal price       = detail.ReturnAmount * detail.ActualUnitPrice;
                        string  Quanlity    = "合格";

                        OrderDetailTable.Rows.Add(new object[] { part, _partType, specialCode, productUnit, Origin, batchNumber, ValidDate, unit, qty, unitPrice, price, Quanlity });

                        OrderDetailTable.AcceptChanges();
                    }

                    ds.Tables.Add(OrderDetailTable);

                    using (PrintHelper printHelper = new PrintHelper("Reports\\RptSalesReturnList.rdlc", ds))
                    {
                        printHelper.Print();
                    }
                }
                else
                {
                    MessageBox.Show("没有数据可以打印!!!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log.Error(ex);
            }
        }
        private void toolStripButton5_Click(object sender, EventArgs e) //打印
        {
            try
            {
                if (ListPlan != null)
                {
                    DsSalesOrder ds = new DsSalesOrder();; //冲差价对象打印

                    ds.ExtendedProperties.Clear();
                    ds.Tables.Clear();

                    ds.ExtendedProperties.Add("ReportTitle", PharmacyClientConfig.Config.Store.Name);

                    ds.ExtendedProperties.Add("Supplyer", label10.Text);                              //购买单位
                    ds.ExtendedProperties.Add("PurchaseOrderCode", this.label2.Text);                 //采购单号
                    ds.ExtendedProperties.Add("PurchaseRefundOrderCode", ListPlan[0].DocumentNumber); //冲单单号
                    string Creator = PharmacyDatabaseService.GetEmployeeByUserId(out msg, ListPlan[0].CreateUserId).Name;
                    ds.ExtendedProperties.Add("Creator", Creator);
                    ds.ExtendedProperties.Add("RefundMoney", label12.Text); //总差额
                    ds.ExtendedProperties.Add("PurchaseDate", label8.Text); //记录建立日期
                    ds.ExtendedProperties.Add("Date", ListPlan[0].CreateTime.ToLongDateString());
                    DsSalesOrder.tableDataTable OrderDetailTable = new DsSalesOrder.tableDataTable();

                    foreach (DataGridViewRow dr in this.dataGridView1.Rows)
                    {
                        if (Convert.ToDecimal(dr.Cells[13].Value) == 0m)
                        {
                            continue;
                        }
                        string part        = dr.Cells[1].Value.ToString();
                        string _partType   = dr.Cells[2].Value.ToString();
                        string specialCode = dr.Cells[3].Value.ToString();
                        string productUnit = dr.Cells[4].Value.ToString();
                        string Origin      = string.Empty;
                        string batchNumber = dr.Cells[5].Value.ToString();
                        batchNumber = batchNumber.Contains("国药准字")?batchNumber.Substring(4, batchNumber.Length - 4):batchNumber;

                        string  ValidDate = dr.Cells[7].Value.ToString();
                        string  unit      = dr.Cells[8].Value.ToString();
                        decimal qty       = Convert.ToDecimal(dr.Cells[9].Value);
                        decimal unitPrice = Convert.ToDecimal(dr.Cells[12].Value) - Convert.ToDecimal(dr.Cells[10].Value);
                        decimal price     = Convert.ToDecimal(dr.Cells[13].Value);
                        string  Quanlity  = string.Empty;
                        OrderDetailTable.Rows.Add(new object[] { part, _partType, specialCode, productUnit, Origin, batchNumber, ValidDate, unit, qty, unitPrice, price, Quanlity });
                        OrderDetailTable.AcceptChanges();
                    }

                    ds.Tables.Add(OrderDetailTable);

                    using (PrintHelper printHelper = new PrintHelper("Reports\\RptPurchaseOrderRefundList.rdlc", ds))
                    {
                        printHelper.Print();
                    }
                }
                else
                {
                    MessageBox.Show("没有数据可以打印!!!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log.Error(ex);
            }
        }