Esempio n. 1
0
        private void Inspect_One_Inspect_Exfo(InspectEventArgs e, ResultEventArgs _Result)
        {
            //检测-Exfo
            string temWhere_Exfo = _M_User_Exfo.GetSql_Where(_GLL_WorkOrder, _GLL_Standard_PigtailList, e.SN);

            Maticsoft.DAL.My_GetTestData.GetDataEventArgs GetData_Exfo_e = new Maticsoft.DAL.My_GetTestData.GetDataEventArgs(temWhere_Exfo, e.SN);
            _Result.Data_Exfo = _GLL_TestData.Start_GetData_Exfo(GetData_Exfo_e);
            ArrayList Inspect_Exfo = isEqual(_GLL_Standard_PigtailList, GetData_Exfo_e.PigtailList);

            if (Inspect_Exfo.Count > 0)
            {
                _Result.Fill_Exfo   = ArrayListToString(Inspect_Exfo);
                _Result.Result_Exfo = false;
            }
            else
            {
                //更新数据
                Maticsoft.DAL.My_GetTestData.UpDataEventArgs UpData_Exfo_e =
                    new Maticsoft.DAL.My_GetTestData.UpDataEventArgs(GetData_Exfo_e.TestData, _GLL_WorkOrder, _GLL_PackBatch.BatchNo, e.SN);
                _GLL_TestData.Start_UpData_Exfo(UpData_Exfo_e);
                _Result.Result_Exfo = true;

                //判断3D是否OK 进行添加打印数据
                if (_Result.Result_3D)
                {
                    //如果需要打印标签
                    if (My_Print.IsPrint)
                    {
                        //添加打印数据
                        My_Print.Add_PrintData(_M_Pack_Exfo.GetList("ClientSN='" + e.SN + "' AND (Wave = '1550nm')"));
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 开始检测 并返回检测结果
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        public bool InspectStart(InspectEventArgs e)
        {
            My_Print.SN = e.SN;
            _WTT_e      = e;
            Thread Mythread_ExReport = new Thread(new ThreadStart(onInspect));

            Mythread_ExReport.IsBackground = true;
            Mythread_ExReport.DisableComObjectEagerCleanup();
            Mythread_ExReport.Start();

            //等待线程执行结束
            Mythread_ExReport.Join();

            if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测3D与Exfo)
            {
                if (e.InspectResult.Result_3D && e.InspectResult.Result_Exfo)
                {
                    if (IsUpdate)  //检测是否启用更新
                    {
                        //更新条码状态
                        _GLL_SerialNumber.State   = Maticsoft.Model.E_Barcode_State.Yet_Pack.ToString();
                        _GLL_SerialNumber.BatchNO = _GLL_PackBatch.BatchNo.ToString();
                        _M_SerialNumber.Update(_GLL_SerialNumber);
                    }
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测Exfo)
            {
                if (e.InspectResult.Result_Exfo == true)
                {
                    if (IsUpdate)  //检测是否启用更新
                    {
                        //更新条码状态
                        _GLL_SerialNumber.State   = Maticsoft.Model.E_Barcode_State.Yet_Pack.ToString();
                        _GLL_SerialNumber.BatchNO = _GLL_PackBatch.BatchNo.ToString();
                        _M_SerialNumber.Update(_GLL_SerialNumber);
                    }
                }
                return(e.InspectResult.Result_Exfo);
            }
            else  //只检测3D
            {
                if (e.InspectResult.Result_3D == true)
                {
                    if (IsUpdate)  //检测是否启用更新
                    {
                        //更新条码状态
                        _GLL_SerialNumber.State   = Maticsoft.Model.E_Barcode_State.Yet_Pack.ToString();
                        _GLL_SerialNumber.BatchNO = _GLL_PackBatch.BatchNo.ToString();
                        _M_SerialNumber.Update(_GLL_SerialNumber);
                    }
                }
                return(e.InspectResult.Result_3D);
            }
        }
Esempio n. 3
0
        /// <summary>
        ///  名称:检测方法三
        ///  功能:特殊-8芯配组检测
        /// </summary>
        /// <param name="e"></param>
        private void InspectMethod_Three(InspectEventArgs e)
        {
            try
            {
                ResultEventArgs _Result = new ResultEventArgs();                                                                                                                            //定义结果返回类
                _Result.ErrorList = "";                                                                                                                                                     //异常列表 归零
                _GLL_SerialNumber = _M_SerialNumber.GetModel(e.SN);                                                                                                                         //获取条码 实体

                if (_GLL_SerialNumber == null || _GLL_SerialNumber.OrderID != _GLL_WorkOrder.OrderID || _GLL_SerialNumber.Type != Maticsoft.Model.E_SerialNumber_Type.PigtailSN.ToString()) //判断是否属于此工单
                {
                    _Result.ErrorList += "此条码:" + e.SN + "  不属于此工单:" + _GLL_WorkOrder.OrderID + "";
                }
                else if (_GLL_SerialNumber.State != Maticsoft.Model.E_Barcode_State.Not_Pack.ToString()) //判断是否已经包装
                {
                    _Result.ErrorList += "此条码:" + _GLL_SerialNumber.SN + "  已包装或已打印!包装批号:" + _GLL_SerialNumber.BatchNO + "";
                }
                else
                {
                    if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测3D与Exfo)
                    {
                        Inspect_Three_Inspect_3D(e, _Result); Inspect_Three_Inspect_Exfo(e, _Result);
                    }
                    else if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测Exfo)
                    {
                        _Result.Result_3D = true; Inspect_Three_Inspect_Exfo(e, _Result);
                    }
                    else if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测3D)
                    {
                        _Result.Result_Exfo = true; Inspect_Three_Inspect_3D(e, _Result);
                    }


                    //--------------------------------------------------检测配组是否完成
                    ArrayList YetPack_PigtailNum_List = _M_Pack_3D.Get_ClientSN_PigtailNum(e.ClientSN, "8芯配组");   //获取已包装线号
                    ArrayList Inspect_ClientNum       = isEqual(_GLL_Standard_ClientList, YetPack_PigtailNum_List);
                    if (Inspect_ClientNum.Count > 0)
                    {
                        //设置配组 为未完成
                        _Result.Combination = false;
                        string temClientNum = ArrayListToString(Inspect_ClientNum);
                        _Result.Not_ClientSN_Name = temClientNum;
                    }
                    else
                    {
                        //设置配组 为已完成
                        _Result.Combination = true;
                        Maticsoft.Model.SerialNumber _TemClient = new Model.SerialNumber();
                        _TemClient         = _M_SerialNumber.GetModel(e.ClientSN);
                        _TemClient.State   = Maticsoft.Model.E_Barcode_State.Yet_Pack.ToString();
                        _TemClient.BatchNO = _GLL_PackBatch.BatchNo;
                        _M_SerialNumber.Update(_TemClient);

                        _Result.Not_ClientSN_Name = ArrayListToString(_GLL_Standard_ClientList);
                    }
                }
                e.InspectResult = _Result;
            }
            catch (Exception ex) { My_MessageBox.My_MessageBox_Message(ex.Message); }
        }
Esempio n. 4
0
        /// <summary>
        /// 获取SN 列表  根据SN自动判断奇偶 并进行添加SN
        /// </summary>
        private void Get_SN_List(InspectEventArgs e)
        {
            ArrayList temlist = new ArrayList();

            temlist.Add(e.SN); //添加SN编码
            long temSN_One = long.Parse(e.SN);

            if (temSN_One % 2 == 0)
            {
                temlist.Add((temSN_One - 1).ToString());
            }
            else
            {
                temlist.Add((temSN_One + 1).ToString());
            }
            _GLL_Standard_PigtailList = temlist;
        }
Esempio n. 5
0
 /// <summary>
 /// 更新条码状态
 /// </summary>
 private void Up_SerialNumber(InspectEventArgs e)
 {
     Maticsoft.Model.SerialNumber _serial = new Model.SerialNumber();
     if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测3D与Exfo)
     {
         if (e.InspectResult.Result_3D && e.InspectResult.Result_Exfo)
         {
             //更新条码状态
             foreach (string temSN in _GLL_Standard_PigtailList)
             {
                 _serial         = _M_SerialNumber.GetModel(temSN);
                 _serial.State   = Maticsoft.Model.E_Barcode_State.Yet_Pack.ToString();
                 _serial.BatchNO = _GLL_PackBatch.BatchNo.ToString();
                 _M_SerialNumber.Update(_serial);
             }
         }
     }
     else if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测Exfo)
     {
         if (e.InspectResult.Result_Exfo == true)
         {
             //更新条码状态
             foreach (string temSN in _GLL_Standard_PigtailList)
             {
                 _serial         = _M_SerialNumber.GetModel(temSN);
                 _serial.State   = Maticsoft.Model.E_Barcode_State.Yet_Pack.ToString();
                 _serial.BatchNO = _GLL_PackBatch.BatchNo.ToString();
                 _M_SerialNumber.Update(_serial);
             }
         }
     }
     else  //只检测3D
     {
         if (e.InspectResult.Result_3D == true)
         {
             //更新条码状态
             foreach (string temSN in _GLL_Standard_PigtailList)
             {
                 _serial         = _M_SerialNumber.GetModel(temSN);
                 _serial.State   = Maticsoft.Model.E_Barcode_State.Yet_Pack.ToString();
                 _serial.BatchNO = _GLL_PackBatch.BatchNo.ToString();
                 _M_SerialNumber.Update(_serial);
             }
         }
     }
 }
Esempio n. 6
0
        //------------------------------------------------------------------------------------------------------------------
        //  名称:检测方法四
        //  功能:跳线检测
        //
        //------------------------------------------------------------------------------------------------------------------



        /// <summary>
        ///  名称:检测方法四
        ///  功能:跳线检测
        /// </summary>
        /// <param name="e"></param>
        private void InspectMethod_TwoSnTwoLab(InspectEventArgs e)
        {
            try
            {
                Get_SN_List(e);

                ResultEventArgs _Result = new ResultEventArgs();                                                                                                                           //定义结果返回类
                _Result.ErrorList = "";                                                                                                                                                    //异常列表 归零
                _GLL_SerialNumber = _M_SerialNumber.GetModel(e.SN);                                                                                                                        //获取条码 实体

                if (_GLL_SerialNumber == null || _GLL_SerialNumber.OrderID != _GLL_WorkOrder.OrderID || _GLL_SerialNumber.Type != Maticsoft.Model.E_SerialNumber_Type.ClientSN.ToString()) //判断是否属于此工单
                {
                    _Result.ErrorList += "此条码:" + e.SN + "  不属于此工单:" + _GLL_WorkOrder.OrderID + "";
                }
                else if (_GLL_SerialNumber.State != Maticsoft.Model.E_Barcode_State.Not_Pack.ToString()) //判断是否已经包装
                {
                    _Result.ErrorList += "此条码:" + _GLL_SerialNumber.SN + "  已包装或已打印!包装批号:" + _GLL_SerialNumber.BatchNO + "";
                }
                else
                {
                    if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测3D与Exfo)
                    {
                        Inspect_TwoSnToLab_Inspect_3D(e, _Result); Inspect_TwoSnToLab_Inspect_Exfo(e, _Result);
                    }
                    else if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测Exfo)
                    {
                        _Result.Result_3D = true; Inspect_TwoSnToLab_Inspect_Exfo(e, _Result);
                    }
                    else if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测3D)
                    {
                        _Result.Result_Exfo = true; Inspect_TwoSnToLab_Inspect_3D(e, _Result);
                    }
                }
                e.InspectResult = _Result;
                if (IsUpdate)  //检测是否启用更新
                {
                    Up_SerialNumber(e);
                }
            }
            catch (Exception ex) { My_MessageBox.My_MessageBox_Message(ex.Message); }
        }
Esempio n. 7
0
        /// <summary>
        /// 两码两签 检测Exfo
        /// </summary>
        private void Inspect_TwoSnToLab_Inspect_Exfo(InspectEventArgs e, ResultEventArgs _Result)
        {
            //------------------------------------------------检测-Exfo
            string temWhere_Exfo = _M_User_Exfo.GetSql_Where(_GLL_WorkOrder, _GLL_Standard_PigtailList);

            Maticsoft.DAL.My_GetTestData.GetDataEventArgs GetData_Exfo_e = new Maticsoft.DAL.My_GetTestData.GetDataEventArgs(temWhere_Exfo, e.ClientSN);
            _Result.Data_Exfo = _GLL_TestData.Start_GetData_Exfo(GetData_Exfo_e);
            ArrayList Inspect_Exfo = isEqual(_GLL_Standard_PigtailList, GetData_Exfo_e.PigtailList);

            if (Inspect_Exfo.Count > 0)
            {
                _Result.Fill_Exfo   = ArrayListToString(Inspect_Exfo);
                _Result.Result_Exfo = false;
            }
            else
            {
                //更新数据
                Maticsoft.DAL.My_GetTestData.UpDataEventArgs UpData_Exfo_e =
                    new Maticsoft.DAL.My_GetTestData.UpDataEventArgs(GetData_Exfo_e.TestData, _GLL_WorkOrder, _GLL_PackBatch.BatchNo, e.SN);
                _GLL_TestData.Start_UpData_Exfo(UpData_Exfo_e);
                _Result.Result_Exfo = true;

                if (_Result.Result_3D)  //如果3D为良品
                {
                    //如果需要打印标签
                    if (My_Print.IsPrint)
                    {
                        foreach (string temSN in _GLL_Standard_PigtailList)
                        {
                            //添加打印数据
                            DataSet temds = _M_Pack_Exfo.GetList("ClientSN='" + temSN + "' AND (Wave = '1550nm')");
                            My_Print.Add_PrintData(temds);
                        }
                    }
                }
            }

            //设置配组 为未完成 因为不需要进行配组
            _Result.Combination = false;
        }
Esempio n. 8
0
        /// <summary>
        /// 名称: 检测方法四
        /// 功能: 检测TFK12芯X2 线材
        /// </summary>
        /// <param name="e"></param>
        private void InspectMothod_four(InspectEventArgs e)
        {
            try
            {
                ResultEventArgs _Result = new ResultEventArgs();                                                                                                                           //定义结果返回类
                _Result.ErrorList = "";                                                                                                                                                    //异常列表 归零
                _GLL_SerialNumber = _M_SerialNumber.GetModel(e.SN);                                                                                                                        //获取条码 实体

                if (_GLL_SerialNumber == null || _GLL_SerialNumber.OrderID != _GLL_WorkOrder.OrderID || _GLL_SerialNumber.Type != Maticsoft.Model.E_SerialNumber_Type.ClientSN.ToString()) //判断是否属于此工单
                {
                    _Result.ErrorList += "此条码:" + e.SN + "  不属于此工单:" + _GLL_WorkOrder.OrderID + "";
                }
                else if (_GLL_SerialNumber.State != Maticsoft.Model.E_Barcode_State.Not_Pack.ToString()) //判断是否已经包装
                {
                    _Result.ErrorList += "此条码:" + _GLL_SerialNumber.SN + "  已包装或已打印!包装批号:" + _GLL_SerialNumber.BatchNO + "";
                }
                else
                {
                    if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测3D与Exfo)
                    {
                        Inspect_four_Inspect_3D(e, _Result); Inspect_four_Inspect_Exfo(e, _Result);
                    }
                    else if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测Exfo)
                    {
                        _Result.Result_3D = true; Inspect_four_Inspect_Exfo(e, _Result);
                    }
                    else if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测3D)
                    {
                        _Result.Result_Exfo = true; Inspect_four_Inspect_3D(e, _Result);
                    }

                    //设置配组 为未完成 因为不需要进行配组
                    _Result.Combination = false;
                }
                e.InspectResult = _Result;
            }
            catch (Exception ex) { My_MessageBox.My_MessageBox_Message(ex.Message); }
        }
Esempio n. 9
0
        private void Inspect_One_Inspect_3D(InspectEventArgs e, ResultEventArgs _Result)
        {
            //检测-3D
            string temWhere_3D = _M_User_3D.GetSql_Where(_GLL_WorkOrder, _GLL_Standard_PigtailList, e.SN);

            Maticsoft.DAL.My_GetTestData.GetDataEventArgs GetData_3D_e = new Maticsoft.DAL.My_GetTestData.GetDataEventArgs(temWhere_3D, e.SN);
            _Result.Data_3D = _GLL_TestData.Start_GetData_3D(GetData_3D_e);
            ArrayList Inspect_3D = isEqual(_GLL_Standard_PigtailList, GetData_3D_e.PigtailList);

            if (Inspect_3D.Count > 0)
            {
                _Result.Fill_3D   = ArrayListToString(Inspect_3D);
                _Result.Result_3D = false;
            }
            else
            {
                //更新数据
                Maticsoft.DAL.My_GetTestData.UpDataEventArgs UpData_3D_e =
                    new Maticsoft.DAL.My_GetTestData.UpDataEventArgs(GetData_3D_e.TestData, _GLL_WorkOrder, _GLL_PackBatch.BatchNo, e.SN);
                _GLL_TestData.Start_UpData_3D(UpData_3D_e);
                _Result.Result_3D = true;
            }
        }
Esempio n. 10
0
        private void Inspect_Three_Inspect_Exfo(InspectEventArgs e, ResultEventArgs _Result)
        {
            //------------------------------------------------检测-Exfo
            string temWhere_Exfo = _M_User_Exfo.GetSql_Where(_GLL_WorkOrder, _GLL_Standard_PigtailList, e.SN);

            Maticsoft.DAL.My_GetTestData.GetDataEventArgs GetData_Exfo_e = new Maticsoft.DAL.My_GetTestData.GetDataEventArgs(temWhere_Exfo, e.ClientSN);
            _Result.Data_Exfo = _GLL_TestData.Start_GetData_Exfo(GetData_Exfo_e);
            ArrayList Inspect_Exfo = isEqual(_GLL_Standard_PigtailList, GetData_Exfo_e.PigtailList);

            if (Inspect_Exfo.Count > 0)
            {
                _Result.Fill_Exfo   = ArrayListToString(Inspect_Exfo);
                _Result.Result_Exfo = false;
            }
            else
            {
                //更新数据
                Maticsoft.DAL.My_GetTestData.UpDataEventArgs UpData_Exfo_e =
                    new Maticsoft.DAL.My_GetTestData.UpDataEventArgs(GetData_Exfo_e.TestData, _GLL_WorkOrder, _GLL_PackBatch.BatchNo, e.SN);
                _GLL_TestData.Start_UpData_Exfo(UpData_Exfo_e);
                _Result.Result_Exfo = true;
            }
        }
Esempio n. 11
0
        /// <summary>
        ///  名称:检测方法二
        ///  功能:检测配组线材
        /// </summary>
        /// <param name="e"></param>
        private void InspectMethod_Two(InspectEventArgs e)
        {
            try
            {
                ResultEventArgs _Result = new ResultEventArgs();                                                                                                                            //定义结果返回类
                _Result.ErrorList = "";                                                                                                                                                     //异常列表 归零
                _GLL_SerialNumber = _M_SerialNumber.GetModel(e.SN);                                                                                                                         //获取条码 实体

                if (_GLL_SerialNumber == null || _GLL_SerialNumber.OrderID != _GLL_WorkOrder.OrderID || _GLL_SerialNumber.Type != Maticsoft.Model.E_SerialNumber_Type.PigtailSN.ToString()) //判断是否属于此工单
                {
                    _Result.ErrorList += "此条码:" + e.SN + "  不属于此工单:" + _GLL_WorkOrder.OrderID + "";
                }
                else if (_GLL_SerialNumber.State != Maticsoft.Model.E_Barcode_State.Not_Pack.ToString()) //判断是否已经包装
                {
                    _Result.ErrorList += "此条码:" + _GLL_SerialNumber.SN + "  已包装或已打印!包装批号:" + _GLL_SerialNumber.BatchNO + "";
                }
                else
                {
                    //验证线号是否已经存在
                    string PigtailNum = "";
                    if (e.SN.Length >= 13)
                    {
                        PigtailNum = e.SN.Substring(11, 2);
                    }                                                                                    //获取线号
                    ArrayList YetPack_PigtailNum_List = _M_Pack_3D.Get_ClientSN_PigtailNum(e.ClientSN);  //获取已包装线号

                    //判断此线号是否已经包装
                    bool Cli_IN_Name = false;
                    if (IsUpdate)
                    {
                        Cli_IN_Name = YetPack_PigtailNum_List.Contains(PigtailNum);
                    }
                    if (Cli_IN_Name)
                    {
                        _Result.ErrorList += "客户编码:" + e.ClientSN + "  已存在此线号:" + PigtailNum + " ";
                    }
                    else
                    {
                        if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测3D与Exfo)
                        {
                            Inspect_Two_Inspect_3D(e, _Result); Inspect_Two_Inspect_Exfo(e, _Result);
                        }
                        else if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测Exfo)
                        {
                            _Result.Result_3D = true; Inspect_Two_Inspect_Exfo(e, _Result);
                        }
                        else if (_GLL_WorkOrder.InspectType == Maticsoft.Model.E_InspectType.检测3D)
                        {
                            _Result.Result_Exfo = true; Inspect_Two_Inspect_3D(e, _Result);
                        }
                    }
                    //再次获取已包装线号 并与标准 客户编码数组进行比较
                    YetPack_PigtailNum_List = _M_Pack_3D.Get_ClientSN_PigtailNum(e.ClientSN);   //获取已包装线号
                    ArrayList Inspect_ClientNum = isEqual(_GLL_Standard_ClientList, YetPack_PigtailNum_List);
                    if (Inspect_ClientNum.Count > 0)
                    {
                        //设置配组 为未完成 因为不需要进行配组
                        _Result.Combination = false;
                        string temClientNum = ArrayListToString(Inspect_ClientNum);
                        _Result.Not_ClientSN_Name = temClientNum;
                    }
                    else
                    {
                        //设置配组 为已完成 因为不需要进行配组
                        _Result.Combination = true;
                        Maticsoft.Model.SerialNumber _TemClient = new Model.SerialNumber();
                        _TemClient         = _M_SerialNumber.GetModel(e.ClientSN);
                        _TemClient.State   = Maticsoft.Model.E_Barcode_State.Yet_Pack.ToString();
                        _TemClient.BatchNO = _GLL_PackBatch.BatchNo;
                        _M_SerialNumber.Update(_TemClient);

                        _Result.Not_ClientSN_Name = ArrayListToString(_GLL_Standard_ClientList);
                    }
                }
                e.InspectResult = _Result;
            }
            catch (Exception ex) { My_MessageBox.My_MessageBox_Message(ex.Message); }
        }