/// <summary>
        /// 添加SN 到 待删除列表
        /// </summary>
        private void Add_DeleteSN_To_List(string temSN)
        {
            try
            {
                Maticsoft.Model.SerialNumber _temSetial = new Maticsoft.Model.SerialNumber();
                Maticsoft.BLL.SerialNumber   _M_serial  = new SerialNumber();
                Maticsoft.Model.WorkOrder    _order     = new Maticsoft.Model.WorkOrder();
                Maticsoft.BLL.WorkOrder      _M_order   = new WorkOrder();
                if (temSN != "")
                {
                    if (temSN.Length > 13)
                    {
                        lst_DeleteList.Items.Add(temSN);
                        DeleteRecord++;
                    }
                    else
                    {
                        _temSetial = _M_serial.GetModel(temSN);
                        //
                        if (_temSetial != null)
                        {
                            _order = _M_order.GetModel(_temSetial.OrderID);
                            if (_order.InspectMethod == Maticsoft.Model.E_InspectMethod.两码两签)
                            {
                                ZhuifengLib.JudgeOddOrEven             judge   = new ZhuifengLib.JudgeOddOrEven();
                                System.Collections.Generic.List <long> temList = new System.Collections.Generic.List <long>();
                                temList = _Judge_Odd.Get_TwoList(temSN);
                                //
                                DeleteRecord++;
                                lst_DeleteList.Items.Add(temList[0].ToString());
                                DeleteRecord++;
                                lst_DeleteList.Items.Add(temList[1].ToString());
                            }
                            else
                            {
                                lst_DeleteList.Items.Add(temSN);
                                DeleteRecord++;
                            }
                        }
                        else
                        {
                            My_MessageBox.My_MessageBox_Message("未找到该条码!"); txb_Delete_BarCode.SelectAll();
                        }
                    }

                    //显示添加了多少条
                    lab_DeleteRecord.Text = DeleteRecord + "条";
                    //让滚动条自动滚东到底部
                    lst_DeleteList.UpdateLayout();//此句是关键
                    //如果不加上面那句的话,不会滚动到最底端,最后一个控件会看不见,加了上面这句刷新下ListBox的布局,就可以滚动到最底端了
                    lst_DeleteList.ScrollIntoView(lst_DeleteList.Items[lst_DeleteList.Items.Count - 1]);
                }
            }
            catch { }
        }
        //
        //保存
        //
        private void btn_AddSer_Save_Click(object sender, RoutedEventArgs e)
        {
            Maticsoft.BLL.SerialNumber   _M_SerialNumber = new SerialNumber();
            Maticsoft.Model.SerialNumber _SerialNumber   = new Maticsoft.Model.SerialNumber();
            if (txb_Addser_OrderID.Text != "" && cmb_AddSer_BatchNo.Text != "" && cmb_AddSer_Type.Text != "")
            {
                //
                Maticsoft.Model.SerialNumber Tem = new Maticsoft.Model.SerialNumber();
                Tem.OrderID = txb_Addser_OrderID.Text.Trim();
                Tem.BatchNO = cmb_AddSer_BatchNo.Text.Trim();
                Tem.State   = "Not_Pack";
                Tem.Type    = cmb_AddSer_Type.Text.Trim();
                int    temcount  = 0;
                string NG_SNlist = "";

                foreach (object _SN in lst_Add_SNList.Items)
                {
                    _SerialNumber = _M_SerialNumber.GetModel(_SN.ToString());
                    if (_SerialNumber == null)
                    {
                        Tem.SN = _SN.ToString();
                        _M_SerialNumber.Add(Tem);
                        temcount++;
                    }
                    else
                    {
                        NG_SNlist += "\r\n" + _SerialNumber.ToString();
                    }
                }

                My_MessageBox.My_MessageBox_Message("保存成功!\r\n增加:" + temcount.ToString()
                                                    + "条 失败:" + (lst_Add_SNList.Items.Count - temcount) + NG_SNlist);
                lab_Add_Count.Text = "0";
                lst_Add_SNList.Items.Clear();
            }
            else
            {
                My_MessageBox.My_MessageBox_Message("未保存,信息不完整!");
            }
        }
        /// <summary>
        ///  条码更改为 未包装
        /// </summary>
        private static void Update_SN_TO_Not_Pack(ref DataDelivery e, SerialNumber sn, ref int temRecordCount)
        {
            //原始数据删除数量 计数
            int       temCount           = 0;
            int       fillDelete_snCount = 0;
            string    fillDelete_snList  = "";
            Pack_3D   pk_3d   = new Pack_3D();
            Pack_Exfo pk_Exfo = new Pack_Exfo();

            Maticsoft.BLL.User_3D_Test_Good user3D = new User_3D_Test_Good();
            string temSN = "";

            foreach (object _sn in e.SNlist)
            {
                //如果长度大于13 temSN = 前13位条码
                if (_sn.ToString().Length > 13)
                {
                    temSN = _sn.ToString().Substring(0, 10);
                }
                else
                {
                    temSN = _sn.ToString();
                }
                temSN = _sn.ToString();

                //删除原始数据
                if (e.IsDeleteSourceData == true)
                {
                    //删除3D数据
                    if (_sn.ToString().Length > 13)
                    {
                        if (user3D.Delete(_sn.ToString(), 1))
                        {
                            temCount++;
                        }
                    }
                    else
                    {
                        Maticsoft.BLL.MultiFiber _MPO_3D = new MultiFiber();
                        if (user3D.Delete(_sn.ToString(), 2) || _MPO_3D.Delete(_sn.ToString()))
                        {
                            temCount++;
                        }
                    }
                    //删除Exfo数据
                }
                //删除Pack中的数据
                pk_Exfo.Delete("SN Like '" + temSN + "%'");
                pk_3d.Delete("SN Like '" + temSN + "%'");

                //将已包装改写为未包装
                Maticsoft.Model.SerialNumber _serialNumber = sn.GetModel(temSN);
                if (_serialNumber != null)
                {
                    _serialNumber.State = Maticsoft.Model.E_Barcode_State.Not_Pack.ToString();
                    //如果更新成功
                    if (sn.Update(_serialNumber))
                    {
                        temRecordCount++;
                    }
                    else
                    {
                        fillDelete_snCount++;
                    }
                }
                else
                {
                    fillDelete_snCount++;
                }
                MCP_CS._Operation_log.Remarks += "," + _sn;
            }
            MCP_CS._Operation_log.DateTime = DateTime.Now;
            MCP_CS.Operation_Log.Add(MCP_CS._Operation_log);  //添加删除记录
            My_MessageBox.My_MessageBox_Message("成功删除已包装:" + temRecordCount + "条  原始数据:" + temCount + "条;\r\n失败" + fillDelete_snCount + "条  \r\n" + fillDelete_snList);
        }
        //删除数据
        private void DeleteSN_List(DataDelivery e)
        {
            try
            {
                SerialNumber   sn             = new SerialNumber();
                tb_PrintRecord print          = new tb_PrintRecord();
                int            temRecordCount = 0;
                switch (e.Option)
                {
                //删除已包装
                case 0:
                    Update_SN_TO_Not_Pack(ref e, sn, ref temRecordCount);
                    break;

                //删除已打印
                case 1:
                    foreach (object _sn in e.SNlist)
                    {
                        string tem = "";
                        if (_sn.ToString().Length > 10)
                        {
                            tem = _sn.ToString().Substring(0, 10);
                        }
                        else
                        {
                            tem = _sn.ToString();
                        }
                        print.Delete(tem);
                        temRecordCount++;
                    }
                    My_MessageBox.My_MessageBox_Message("成功删除已打印:" + temRecordCount + "");
                    break;

                //删除已装箱
                case 2:
                    foreach (object _sn in e.SNlist)
                    {
                        Maticsoft.Model.SerialNumber _serialNumber = sn.GetModel(_sn.ToString());
                        _serialNumber.State = Maticsoft.Model.E_Barcode_State.Not_Encasement.ToString();
                        if (sn.Update(_serialNumber))
                        {
                            temRecordCount++;
                        }
                    }
                    My_MessageBox.My_MessageBox_Message("成功删除已装箱" + temRecordCount + "");
                    break;

                case 3:
                    foreach (object _sn in e.SNlist)
                    {
                        if (sn.Delete(_sn.ToString()))
                        {
                            temRecordCount++;
                        }
                    }
                    My_MessageBox.My_MessageBox_Message("成功删除条码" + temRecordCount + "");
                    break;

                default:
                    My_MessageBox.My_MessageBox_Message("不包含此项目");
                    break;
                }
            }
            catch (Exception ex)
            {
                My_MessageBox.My_MessageBox_Message(ex.Message);
            }
        }