Ejemplo n.º 1
0
        //选择客户订单
        private void btn_ChooseInvoiceXO_Click(object sender, EventArgs e)
        {
            XS.SearcharInvoiceXSForm f = new Book.UI.Invoices.XS.SearcharInvoiceXSForm();
            if (f.ShowDialog(this) == DialogResult.OK)
            {
                if (f.key != null && f.key.Count > 0)
                {
                    Model.PackingInvoiceDetail packingInvoiceDetail = null;

                    foreach (Model.InvoiceXODetail detail in f.key)
                    {
                        packingInvoiceDetail = new Book.Model.PackingInvoiceDetail();
                        packingInvoiceDetail.PackingInvoiceDetailId = Guid.NewGuid().ToString();
                        packingInvoiceDetail.PackingInvoiceHeader   = this.packingInvoiceHeader;
                        packingInvoiceDetail.ProductId         = detail.ProductId;
                        packingInvoiceDetail.Product           = detail.Product;
                        packingInvoiceDetail.PONo              = detail.Invoice.CustomerInvoiceXOId;
                        packingInvoiceDetail.Quantity          = Convert.ToDecimal(detail.InvoiceXODetailQuantity);
                        packingInvoiceDetail.UnitPrice         = detail.InvoiceXODetailPrice;
                        packingInvoiceDetail.Amount            = packingInvoiceDetail.Quantity * packingInvoiceDetail.UnitPrice;
                        packingInvoiceDetail.InvoiceXODetail   = detail;
                        packingInvoiceDetail.InvoiceXODetailId = detail.InvoiceXODetailId;

                        this.packingInvoiceHeader.Details.Add(packingInvoiceDetail);
                    }

                    this.CombineSameItem();
                }
            }
        }
Ejemplo n.º 2
0
        //选取客户订单
        private void simpleButtonXO_Click(object sender, EventArgs e)
        {
            Invoices.XS.SearcharInvoiceXSForm f = new Book.UI.Invoices.XS.SearcharInvoiceXSForm();
            if (f.ShowDialog(this) == DialogResult.OK)
            {
                if (f.key != null && f.key.Count > 0)
                {
                    Model.PCMouldOnlineCheckDetail model;
                    foreach (var item in f.key)
                    {
                        model = new Book.Model.PCMouldOnlineCheckDetail();
                        model.PCMouldOnlineCheckDetailId = Guid.NewGuid().ToString();
                        model.OnlineDate  = DateTime.Now;
                        model.CheckDate   = DateTime.Now;
                        model.Product     = item.Product;
                        model.ProductId   = item.ProductId;
                        model.InvoiceXO   = item.Invoice;
                        model.InvoiceXOId = item.InvoiceId;
                        this._pCMouldOnlineCheck.Detail.Add(model);
                    }
                }
            }

            this.gridControl1.RefreshDataSource();
        }
Ejemplo n.º 3
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            XS.SearcharInvoiceXSForm f = new Book.UI.Invoices.XS.SearcharInvoiceXSForm();
            if (f.ShowDialog(this) == DialogResult.OK)
            {
                if (f.key != null && f.key.Count > 0)
                {
                    foreach (Model.InvoiceXODetail detail in f.key)
                    {
                        invoicezx                  = new Book.Model.InvoiceZX();
                        invoicezx.InvoiceZXId      = Guid.NewGuid().ToString();
                        invoicezx.ParentInvoceZXId = null;

                        invoicezx.Product      = detail.Product;
                        invoicezx.ProductId    = detail.ProductId;
                        invoicezx.Customer     = detail.Invoice.Customer;
                        invoicezx.CustomerId   = detail.Invoice.CustomerId;
                        invoicezx.XOcustomer   = detail.Invoice.xocustomer;
                        invoicezx.XOcustomerId = detail.Invoice.xocustomerId;
                        invoicezx.UNITPRICE    = detail.InvoiceXODetailPrice;

                        //this.HasPackingNum = this.invoicezxmenager.SelectHasPackingNum(detail.ProductId);
                        invoicezx.ProductNum = Convert.ToDouble(detail.InvoiceXODetailQuantity0);

                        LInvoiceZXList.Add(invoicezx);
                    }
                }
                this.bindingSourceXO.DataSource = LInvoiceZXList;
                this.gridControl6.RefreshDataSource();
                this.bindingSourceXO.Position = this.bindingSourceXO.IndexOf(invoicezx);
            }
            f.Dispose();
            GC.Collect();
        }
Ejemplo n.º 4
0
 private void btn_ChooseXO_Click(object sender, EventArgs e)
 {
     Book.UI.Invoices.XS.SearcharInvoiceXSForm form = new Book.UI.Invoices.XS.SearcharInvoiceXSForm();
     if (form.ShowDialog(this) == DialogResult.OK)
     {
         if (form.key != null && form.key.Count > 0)
         {
             this.txt_InvoiceCusXoId.Text = form.key[0].Invoice.CustomerInvoiceXOId;
         }
     }
 }
Ejemplo n.º 5
0
 private void simpleButton1_Click(object sender, EventArgs e)
 {
     Invoices.XS.SearcharInvoiceXSForm f = new Book.UI.Invoices.XS.SearcharInvoiceXSForm();
     if (f.ShowDialog(this) == DialogResult.OK)
     {
         if (f.key != null && f.key.Count > 0)
         {
             this.txt_InvoiceCusId.EditValue = f.key[0].Invoice.CustomerInvoiceXOId;
             this.txt_InvoiceXOId.EditValue  = f.key[0].InvoiceId;
         }
     }
 }
Ejemplo n.º 6
0
        //选择客户订单
        private void btn_ChooseInvoiceXO_Click(object sender, EventArgs e)
        {
            if (this.ncc_Customer.EditValue == null)
            {
                MessageBox.Show("請先選擇客戶", "提示", MessageBoxButtons.OK);
                return;
            }

            XS.SearcharInvoiceXSForm f = new Book.UI.Invoices.XS.SearcharInvoiceXSForm(this.ncc_Customer.EditValue as Model.Customer);
            if (f.ShowDialog(this) == DialogResult.OK)
            {
                if (f.key != null && f.key.Count > 0)
                {
                    this.txt_CustomerPONo.Text = f.key[0].Invoice.CustomerInvoiceXOId;

                    Model.ProformaInvoiceDetail proformaInvoiceDetail = null;

                    foreach (Model.InvoiceXODetail detail in f.key)
                    {
                        proformaInvoiceDetail = new Book.Model.ProformaInvoiceDetail();
                        proformaInvoiceDetail.ProformaInvoiceDetailId = Guid.NewGuid().ToString();
                        proformaInvoiceDetail.ProformaInvoiceId       = this.proformaInvoice.PO;
                        proformaInvoiceDetail.ProductId = detail.ProductId;
                        proformaInvoiceDetail.Product   = detail.Product;
                        proformaInvoiceDetail.Quantity  = Convert.ToInt32(detail.InvoiceXODetailQuantity);
                        proformaInvoiceDetail.UnitPrice = detail.InvoiceXODetailPrice;
                        proformaInvoiceDetail.Amount    = proformaInvoiceDetail.Quantity * proformaInvoiceDetail.UnitPrice;
                        proformaInvoiceDetail.Unit      = "PCS";

                        this.proformaInvoice.Details.Add(proformaInvoiceDetail);
                    }

                    this.CombineSameItem();

                    if (this.proformaInvoice.Details != null && this.proformaInvoice.Details.Count > 0)
                    {
                        this.proformaInvoice.Details.ToList().ForEach(D => D.Number = (this.proformaInvoice.Details.IndexOf(D) + 1));
                    }

                    this.bindingSourceDetail.DataSource = this.proformaInvoice.Details;
                    this.gridControl3.RefreshDataSource();
                }
            }

            if (this.proformaInvoice.Details != null && this.proformaInvoice.Details.Count > 0)
            {
                this.proformaInvoice.Details.ToList().ForEach(D => D.Number = (this.proformaInvoice.Details.IndexOf(D) + 1));
            }

            this.bindingSourceDetail.DataSource = this.proformaInvoice.Details;
            this.gridControl3.RefreshDataSource();
        }
Ejemplo n.º 7
0
 private void barInvoiceXO_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     Invoices.XS.SearcharInvoiceXSForm f = new Book.UI.Invoices.XS.SearcharInvoiceXSForm();
     if (f.ShowDialog(this) == DialogResult.OK)
     {
         if (f.key != null && f.key.Count > 0)
         {
             this.txt_InvoiceXOId.EditValue     = f.key[0].InvoiceId;
             this.txt_PronoteHeaderId.EditValue = null;
             if (f.key[0].Product != null)
             {
                 this.txt_ProductName.EditValue     = f.key[0].Product.ToString();
                 this._ProductOnlineCheck.ProductId = f.key[0].Product.ProductId;
                 this.richTextBoxRemark.Rtf         = f.key[0].Product.ProductDescription;
             }
         }
     }
 }
Ejemplo n.º 8
0
        //選取客戶訂單
        private void barInvoiceXO_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (this.action == "view")
            {
                return;
            }

            if (this.ncc_Customer.EditValue == null)
            {
                MessageBox.Show("請先選擇客戶", this.Text, MessageBoxButtons.OK);
                return;
            }

            XS.SearcharInvoiceXSForm f = new Book.UI.Invoices.XS.SearcharInvoiceXSForm(this.ncc_Customer.EditValue as Model.Customer);
            if (f.ShowDialog(this) == DialogResult.OK)
            {
                Model.InvoiceLHDetail model;
                foreach (var item in f.key)
                {
                    model = new Book.Model.InvoiceLHDetail();

                    model.InvoiceLHDetailId = Guid.NewGuid().ToString();
                    model.Number            = this.invoice.Detail.Count + 1;
                    model.Product           = item.Product;
                    model.ProductId         = item.ProductId;
                    model.InvoiceXODetail   = item;
                    model.InvoiceXODetailId = item.InvoiceXODetailId;
                    model.EstimateQty       = Convert.ToDecimal(item.InvoiceXODetailQuantity);
                    model.ProductUnit       = item.InvoiceProductUnit;

                    this.invoice.Detail.Add(model);
                }

                this.gridControl1.RefreshDataSource();
            }
        }
Ejemplo n.º 9
0
        // 添加客户订单
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            if (this.ncc_Customer.EditValue == null)
            {
                MessageBox.Show("請先選擇客戶", "提示", MessageBoxButtons.OK);
                return;
            }

            XS.SearcharInvoiceXSForm f = new Book.UI.Invoices.XS.SearcharInvoiceXSForm(this.ncc_Customer.EditValue as Model.Customer);
            if (f.ShowDialog(this) == DialogResult.OK)
            {
                if (f.key != null && f.key.Count > 0)
                {
                    Model.PackingListDetail packingDetail = null;

                    foreach (Model.InvoiceXODetail detail in f.key)
                    {
                        packingDetail                     = new Book.Model.PackingListDetail();
                        packingDetail.CartonQty           = 1;
                        packingDetail.PackingListDetailId = Guid.NewGuid().ToString();
                        packingDetail.Product             = detail.Product;
                        packingDetail.ProductId           = detail.ProductId;
                        packingDetail.PONo                = detail.Invoice.CustomerInvoiceXOId;
                        packingDetail.PackingListHeader   = this.packingListHeader;
                        packingDetail.InvoiceXODetail     = detail;
                        packingDetail.InvoiceXODetailId   = detail.InvoiceXODetailId;

                        packingListHeader.Details.Add(packingDetail);
                    }
                }

                this.bindingSourceDetail.DataSource = packingListHeader.Details;
                this.gridControl3.RefreshDataSource();
                this.bindingSourceDetail.MoveLast();
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 添加客户订单
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            XS.SearcharInvoiceXSForm f  = new Book.UI.Invoices.XS.SearcharInvoiceXSForm();
            Model.CustomerProducts   cp = null;
            if (f.ShowDialog(this) == DialogResult.OK)
            {
                if (f.key != null && f.key.Count > 0)
                {
                    Model.CustomerMarks        mark          = null;
                    Model.InvoicePackingDetail packingDetail = null;
                    //if (this._invoicePacking.Details != null && this._invoicePacking.Details.Count > 1)
                    //Id = 65 + this._invoicePacking.Details.Count;
                    foreach (Model.InvoiceXODetail detail in f.key)
                    {
                        if (this._invoicePacking.Details.Where(d => d.InvoiceXODetailId == detail.InvoiceXODetailId).ToList().Count > 0)
                        {
                            MessageBox.Show("已存在相同的訂單!", this.Text, MessageBoxButtons.OK);
                            continue;
                        }
                        packingDetail = new Book.Model.InvoicePackingDetail();
                        //packingDetail.InvoicePackingDetailId = this._invoicePackingDetailManager.GetId();
                        //this._invoicePackingDetailManager.TiGuiExists(packingDetail);
                        packingDetail.InvoicePackingDetailId = Guid.NewGuid().ToString();
                        packingDetail.InvoicePackingId       = this._invoicePacking.InvoicePackingId;
                        packingDetail.HandbookId             = detail.HandbookId;
                        packingDetail.HandbookProductId      = detail.HandbookProductId;
                        packingDetail.Product           = detail.Product;
                        packingDetail.ProductId         = detail.ProductId;
                        packingDetail.Customer          = detail.Invoice.Customer;
                        packingDetail.CustomerId        = detail.Invoice.CustomerId;
                        packingDetail.XOCustomer        = detail.Invoice.xocustomer;
                        packingDetail.XOCustomerId      = detail.Invoice.xocustomerId;
                        packingDetail.UnitPrice         = detail.InvoiceXODetailPrice;
                        packingDetail.InvoiceXOQuantity = detail.InvoiceXODetailQuantity0 == null ? 0 : detail.InvoiceXODetailQuantity0;
                        packingDetail.PackingNum        = packingDetail.InvoiceXOQuantity;
                        packingDetail.HasFPQuantity     = 0;
                        packingDetail.Amount            = Convert.ToDecimal(packingDetail.PackingNum) * packingDetail.UnitPrice;
                        packingDetail.InvoiceXOId       = detail.InvoiceId;
                        packingDetail.InvoiceXODetailId = detail.InvoiceXODetailId;
                        packingDetail.ProductUnit       = detail.InvoiceProductUnit;
                        packingDetail.WeightUnit        = "KGS";
                        packingDetail.PriceUnit         = "USD";
                        packingDetail.BGHandBookProduct = new BL.BGHandbookDetail1Manager().SelectProName(detail.HandbookId, detail.HandbookProductId);

                        if (detail.Invoice.CustomerMarks != null && this._invoicePacking.Marks.Where(d => d.CustomerMarksName == detail.Invoice.CustomerMarks).ToList().Count < 1)
                        {
                            mark = new Book.Model.CustomerMarks();
                            mark.CustomerMarksId   = Guid.NewGuid().ToString();
                            mark.InvoicePackingId  = this._invoicePacking.InvoicePackingId;
                            mark.CustomerMarksName = detail.Invoice.CustomerMarks;

                            this._invoicePacking.Marks.Add(mark);
                        }
                        if (packingDetail.Product != null && !(string.IsNullOrEmpty(packingDetail.Product.CustomerProductName)) && !(string.IsNullOrEmpty(packingDetail.Product.CustomerId)))
                        {
                            cp = new BL.CustomerProductsManager().SelectByCustomerProductProceId(packingDetail.ProductId);
                        }
                        if (cp != null)
                        {
                            packingDetail.BLong       = cp.BLong;
                            packingDetail.BWidth      = cp.BWide;
                            packingDetail.BHeight     = cp.BHigh;
                            packingDetail.UnitJWeight = cp.JWeight;
                            packingDetail.UnitMWeight = cp.MWeight;
                            packingDetail.UnitCaiji   = cp.Caiji;
                            packingDetail.UnitNum     = cp.PackingSpecification;
                            if (packingDetail.UnitNum > packingDetail.InvoiceXOQuantity)
                            {
                                packingDetail.BoxNum     = 1;
                                packingDetail.AllJweight = Math.Round((double)(packingDetail.UnitJWeight * packingDetail.InvoiceXOQuantity / packingDetail.UnitNum), 4);
                                packingDetail.AllMWeight = Math.Round((double)(packingDetail.UnitMWeight * packingDetail.InvoiceXOQuantity / packingDetail.UnitNum), 4);
                                packingDetail.AllCaiji   = Math.Round((double)(packingDetail.UnitCaiji * packingDetail.InvoiceXOQuantity / packingDetail.UnitNum), 4);

                                packingDetail.PackingNum = packingDetail.InvoiceXOQuantity == null ? 0 : packingDetail.InvoiceXOQuantity;
                                packingDetail.Amount     = Convert.ToDecimal(packingDetail.PackingNum) * packingDetail.UnitPrice;
                            }
                            else
                            {
                                packingDetail.BoxNum     = Convert.ToInt32(Math.Truncate(Convert.ToDouble(detail.InvoiceXODetailQuantity0 / packingDetail.UnitNum)));
                                packingDetail.AllJweight = packingDetail.UnitJWeight * packingDetail.BoxNum;
                                packingDetail.AllMWeight = packingDetail.UnitMWeight * packingDetail.BoxNum;
                                packingDetail.AllCaiji   = packingDetail.UnitCaiji * packingDetail.BoxNum;

                                packingDetail.PackingNum = (packingDetail.UnitNum * packingDetail.BoxNum) == null ? packingDetail.InvoiceXOQuantity : packingDetail.UnitNum * packingDetail.BoxNum;
                                packingDetail.Amount     = Convert.ToDecimal(packingDetail.PackingNum) * packingDetail.UnitPrice;
                            }
                        }
                        //if (packingDetail.UnitNum == 0 || packingDetail.UnitNum == null)
                        //{
                        //    MessageBox.Show("請設置該產品的成箱數量!\r" + (packingDetail.Product == null ? null : packingDetail.Product), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        //    //return;
                        //}
                        //else
                        //{
                        //    packingDetail.BoxNum = (int)(detail.InvoiceXODetailQuantity0 / this.PackingSpecification);
                        //    //packingDetail.HandPackingId = Convert.ToChar(Id).ToString() + " 1" + "-" + packingDetail.BoxNum.ToString();
                        //    packingDetail.PackingNum = this.PackingSpecification * packingDetail.BoxNum;
                        //    packingDetail.AllJweight = packingDetail.UnitJWeight * packingDetail.BoxNum;
                        //    packingDetail.AllMWeight = packingDetail.UnitMWeight * packingDetail.BoxNum;
                        //    packingDetail.AllCaiji = packingDetail.UnitCaiji * packingDetail.BoxNum;
                        //}

                        this._invoicePacking.Details.Add(packingDetail);

                        if (packingDetail.UnitNum > 0 && packingDetail.InvoiceXOQuantity % packingDetail.UnitNum != 0 && packingDetail.UnitNum < packingDetail.InvoiceXOQuantity)
                        {
                            Model.InvoicePackingDetail invoicePackingDetail = new Book.Model.InvoicePackingDetail();
                            //invoicePackingDetail.InvoicePackingDetailId = this._invoicePackingDetailManager.GetId();
                            //this._invoicePackingDetailManager.TiGuiExists(invoicePackingDetail);
                            invoicePackingDetail.InvoicePackingDetailId = Guid.NewGuid().ToString();
                            invoicePackingDetail.InvoicePackingId       = this._invoicePacking.InvoicePackingId;
                            invoicePackingDetail.HandbookId             = detail.HandbookId;
                            invoicePackingDetail.HandbookProductId      = detail.HandbookProductId;
                            invoicePackingDetail.Product           = packingDetail.Product;
                            invoicePackingDetail.ProductId         = packingDetail.ProductId;
                            invoicePackingDetail.Customer          = packingDetail.Customer;
                            invoicePackingDetail.CustomerId        = packingDetail.CustomerId;
                            invoicePackingDetail.XOCustomer        = packingDetail.XOCustomer;
                            invoicePackingDetail.XOCustomerId      = packingDetail.XOCustomerId;
                            invoicePackingDetail.UnitPrice         = packingDetail.UnitPrice;
                            invoicePackingDetail.InvoiceXOQuantity = detail.InvoiceXODetailQuantity0 == null ? 0 : detail.InvoiceXODetailQuantity0;
                            invoicePackingDetail.PackingNum        = invoicePackingDetail.InvoiceXOQuantity % packingDetail.UnitNum;
                            invoicePackingDetail.HasFPQuantity     = 0;
                            invoicePackingDetail.Amount            = Convert.ToDecimal(invoicePackingDetail.PackingNum) * invoicePackingDetail.UnitPrice;
                            invoicePackingDetail.ProductUnit       = packingDetail.ProductUnit;
                            invoicePackingDetail.BoxNum            = 1;
                            invoicePackingDetail.BLong             = packingDetail.BLong;
                            invoicePackingDetail.BWidth            = packingDetail.BWidth;
                            invoicePackingDetail.BHeight           = packingDetail.BHeight;
                            invoicePackingDetail.UnitJWeight       = Math.Round((double)(packingDetail.UnitJWeight * invoicePackingDetail.PackingNum / packingDetail.UnitNum), 4);
                            invoicePackingDetail.UnitMWeight       = Math.Round((double)(packingDetail.UnitMWeight * invoicePackingDetail.PackingNum / packingDetail.UnitNum), 4);
                            invoicePackingDetail.UnitCaiji         = Math.Round((double)(packingDetail.UnitCaiji * invoicePackingDetail.PackingNum / packingDetail.UnitNum), 4);
                            invoicePackingDetail.AllJweight        = invoicePackingDetail.UnitJWeight;
                            invoicePackingDetail.AllMWeight        = invoicePackingDetail.UnitMWeight;
                            invoicePackingDetail.AllCaiji          = invoicePackingDetail.UnitCaiji;
                            invoicePackingDetail.WeightUnit        = "KGS";
                            invoicePackingDetail.PriceUnit         = "USD";
                            invoicePackingDetail.BGHandBookProduct = packingDetail.BGHandBookProduct;

                            this._invoicePacking.Details.Add(invoicePackingDetail);
                        }
                    }
                }
                double amount = 0;
                foreach (var item in this._invoicePacking.Details)
                {
                    amount += Convert.ToDouble(item.Amount);
                }
                this.txt_TotalAmount.Text           = amount.ToString();
                this.bindingSourceDetail.DataSource = _invoicePacking.Details;
                this.gridControl1.RefreshDataSource();
                this.bindingSourceDetail.MoveLast();
            }
        }
Ejemplo n.º 11
0
        // 添加客户订单
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            if (packingListHeader.Details == null)
            {
                packingListHeader.Details = new List <Model.PackingListDetail>();
            }

            XS.SearcharInvoiceXSForm f = new Book.UI.Invoices.XS.SearcharInvoiceXSForm();
            if (f.ShowDialog(this) == DialogResult.OK)
            {
                if (f.key != null && f.key.Count > 0)
                {
                    Model.PackingListDetail packingDetail = null;

                    foreach (Model.InvoiceXODetail detail in f.key)
                    {
                        packingDetail = new Book.Model.PackingListDetail();
                        //packingDetail.CartonQty = 1;
                        packingDetail.PackingListDetailId = Guid.NewGuid().ToString();
                        packingDetail.Product             = detail.Product;
                        packingDetail.ProductId           = detail.ProductId;
                        packingDetail.PONo = detail.Invoice.CustomerInvoiceXOId;
                        packingDetail.PackingListHeader = this.packingListHeader;
                        packingDetail.InvoiceXODetail   = detail;
                        packingDetail.InvoiceXODetailId = detail.InvoiceXODetailId;

                        //2020年1月6日02:13:07
                        packingDetail.BoxMaxQuantity    = Convert.ToDecimal(packingDetail.Product.Digital);
                        packingDetail.BoxMaxNetWeight   = Convert.ToDecimal(packingDetail.Product.NetWeight);
                        packingDetail.BoxMaxGrossWeight = Convert.ToDecimal(packingDetail.Product.GrossWeight);
                        packingDetail.BoxMaxCaiji       = Convert.ToDecimal(packingDetail.Product.Volume);

                        if (packingDetail.Product.Digital > 0)
                        {
                            packingDetail.CartonQty = (int)Math.Ceiling(Convert.ToDouble(detail.InvoiceXODetailQuantity) / Convert.ToDouble(packingDetail.Product.Digital));

                            if (packingListHeader.Details.Count == 0)   //第一个
                            {
                                packingDetail.CartonNo = "1-" + packingDetail.CartonQty.ToString();
                            }
                            else
                            {
                                string[] cartonNos = null;
                                Model.PackingListDetail lastDetail = packingListHeader.Details.Last();
                                if (lastDetail.CartonNo.Contains('-'))
                                {
                                    cartonNos = lastDetail.CartonNo.Split('-');
                                }
                                else if (lastDetail.CartonNo.Contains('_'))
                                {
                                    cartonNos = lastDetail.CartonNo.Split('_');
                                }
                                else
                                {
                                    cartonNos = lastDetail.CartonNo.Split('~');
                                }

                                if (cartonNos.Length >= 2)
                                {
                                    packingDetail.CartonNo = string.Format("{0}-{1}", Convert.ToInt32(cartonNos[1]) + 1, Convert.ToInt32(cartonNos[1]) + packingDetail.CartonQty);
                                }
                            }
                        }

                        packingDetail.Quantity    = Convert.ToDecimal(detail.InvoiceXODetailQuantity);
                        packingDetail.NetWeight   = packingDetail.BoxMaxNetWeight * packingDetail.CartonQty;
                        packingDetail.GrossWeight = packingDetail.BoxMaxGrossWeight * packingDetail.CartonQty;
                        packingDetail.Caiji       = packingDetail.BoxMaxCaiji * packingDetail.CartonQty;


                        packingListHeader.Details.Add(packingDetail);
                    }
                }

                this.bindingSourceDetail.DataSource = packingListHeader.Details;
                this.gridControl3.RefreshDataSource();
                this.bindingSourceDetail.MoveLast();
            }
        }