Example #1
0
        /// <summary>
        /// 查询的监听事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bt_search_Click(object sender, EventArgs e)
        {
            string time_Year          = comboBox1.SelectedItem.ToString();
            Dictionary <int, int> dic = AsmPTracking_BLL.GetMonthTurnoutByYear(time_Year);

            plotView1.Model = LineChartSeriesWithDates(dic, time_Year);
        }
Example #2
0
        private void frmMonthly_Production_Load(object sender, EventArgs e)
        {
            comboBox1.SelectedIndex = 1;
            this.MaximizeBox        = false;
            DateTime dt               = DateTime.Now;
            string   time_Year        = dt.ToString("yyyy");
            Dictionary <int, int> dic = AsmPTracking_BLL.GetMonthTurnoutByYear(time_Year);

            plotView1.Model = LineChartSeriesWithDates(dic, time_Year);
        }
Example #3
0
        /// <summary>
        /// 控件的值发生改变时触发--查询
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bt_search_Click_1(object sender, EventArgs e)
        {
            string time_Today = Convert.ToDateTime(dateTimePicker1.Value.Date).ToString("yyyy-MM-dd");

            #region  获取当天的产品下线数量
            frm_percentofpass     frm = new frm_percentofpass();
            Dictionary <int, int> dic = AsmPTracking_BLL.GetOfflineNumByCondition(time_Today.Substring(0, 10).Trim());
            #endregion
            var dt = new DateTime(2017, 1, 1);
            for (int i = 0; i < 24; i++)
            {
                data.Add(new Item {
                    X = dt.AddHours(i), Y = dic[i]
                });
            }
            plotView1.Model = ColumnSeriesWithDates(dic);


            /// 各产品下线分布情况
            data_Product_Offline = new List <DataSourceObject>();
            Dictionary <int, string> dic_Product_Offline = AsmPTracking_BLL.GetNumOfProduct(time_Today.Substring(0, 10).Trim());
            if (dic_Product_Offline != null)
            {
                for (int i = 0; i < dic_Product_Offline.Count / 2; i++)
                {
                    data_Product_Offline.Add(new DataSourceObject {
                        TypeName = dic_Product_Offline[i + dic_Product_Offline.Count / 2].ToString(), Y = Convert.ToDouble(dic_Product_Offline[i].ToString())
                    });
                }
            }
            plotView2.Model = Product_Offline();


            /// 产品合格率报表
            data_Referral_Stats = new List <DataSourceObject>();
            double a = AsmPTracking_BLL.GetPercentOfOK(time_Today.Substring(0, 10).Trim());
            if (a > 0)
            {
                data_Referral_Stats.Add(new DataSourceObject {
                    TypeName = "当前时间段合格量", Y = a
                });
                data_Referral_Stats.Add(new DataSourceObject {
                    TypeName = "当前时间段不合格量", Y = 1 - a
                });
            }
            plotView3.Model = Referral_Stats();

            Dictionary <string, int> dic_OK_ALL = AsmPTracking_BLL.GetProduct_OKAndALL(time_Today.Substring(0, 10).Trim());
            lb_offline.Text = dic_OK_ALL["ALL"].ToString();
            lb_OK.Text      = dic_OK_ALL["OK"].ToString();
            lb_NG.Text      = (dic_OK_ALL["ALL"] - dic_OK_ALL["OK"]).ToString();
            lb_NG.ForeColor = Color.Red;
        }
Example #4
0
        private void frm_percentofpass_Load(object sender, EventArgs e)
        {
            this.MaximizeBox = false;
            #region  获取当天的产品下线数量
            frm_percentofpass     frm        = new frm_percentofpass();
            DateTime              dTX        = frm.dateTimePicker1.Value;
            string                time_Today = dTX.ToString("yyyy-MM-dd hh:mm:ss");
            Dictionary <int, int> dic        = AsmPTracking_BLL.GetOfflineNumByCondition(time_Today.Substring(0, 10).Trim());
            #endregion
            plotView1.Model = ColumnSeriesWithDates(dic);


            /// 各产品下线分布情况
            var dt = new DateTime(2017, 1, 1);
            data_Product_Offline = new List <DataSourceObject>();
            Dictionary <int, string> dic_Product_Offline = AsmPTracking_BLL.GetNumOfProduct(time_Today.Substring(0, 10).Trim());
            if (dic_Product_Offline != null)
            {
                for (int i = 0; i < dic_Product_Offline.Count / 2; i++)
                {
                    data_Product_Offline.Add(new DataSourceObject {
                        TypeName = dic_Product_Offline[i + dic_Product_Offline.Count / 2].ToString(), Y = Convert.ToDouble(dic_Product_Offline[i].ToString())
                    });
                }
            }
            plotView2.Model = Product_Offline();


            /// 产品合格率报表
            data_Referral_Stats = new List <DataSourceObject>();
            double a = AsmPTracking_BLL.GetPercentOfOK(time_Today.Substring(0, 10).Trim());
            if (a > 0)
            {
                data_Referral_Stats.Add(new DataSourceObject {
                    TypeName = "合格", Y = a
                });
                data_Referral_Stats.Add(new DataSourceObject {
                    TypeName = "不合格", Y = 1 - a
                });
            }
            plotView3.Model = Referral_Stats();


            Dictionary <string, int> dic_OK_ALL = AsmPTracking_BLL.GetProduct_OKAndALL(time_Today.Substring(0, 10).Trim());
            lb_offline.Text = dic_OK_ALL["ALL"].ToString();
            lb_OK.Text      = dic_OK_ALL["OK"].ToString();
            lb_NG.ForeColor = Color.Red;

            lb_NG.Text = (dic_OK_ALL["ALL"] - dic_OK_ALL["OK"]).ToString();
        }
Example #5
0
        private void BT_Search_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(TB_Sn.Text.Trim()))
            {
                aro = new AsmPTrackingObject();
                try
                {
                    aro = AsmPTracking_BLL.GetOfflineSnForNg(" SN='" + TB_Sn.Text.Trim() + "' and STATUS='NG'");
                    if (aro != null && aro.REWORK_FLAG == "0")
                    {
                        label_ST.Text = aro.ST;
                        label_ST.Refresh();
                        label_Status.Text = aro.STATUS;
                        label_Status.Refresh();
                        label_Type.Text = aro.TypeName;
                        label_Type.Refresh();
                        BT_Save.Enabled = true;
                        #region  如已经存在返修路线则进行显示
                        DataTable dt = AsmReworkWay_BLL.SelectWayByCondition("SN='" + TB_Sn.Text.Trim() + "'");
                        if (dt.Rows.Count > 0)
                        {
                            RB_Return.Checked = true;
                            for (int m = 0; m < newstationDt.Rows.Count; m++)
                            {
                                lststationDt.ImportRow(newstationDt.Select("STATION_NAME='" + newstationDt.Rows[m]["STATION_NAME"].ToString() + "'")[0]);
                            }
                            newstationDt.Rows.Clear();
                            for (int i = 0; i < dt.Rows.Count; i++)
                            {
                                newstationDt.ImportRow(lststationDt.Select("STATION_NAME='" + dt.Rows[i]["STATION_NAME"].ToString() + "'")[0]);
                                lststationDt.Rows.Remove(lststationDt.Select("STATION_NAME='" + dt.Rows[i]["STATION_NAME"].ToString() + "'")[0]);
                            }

                            #endregion
                        }
                        ///返修原因显示
                        DataTable dt_reason = AsmReworkReson_BLL.GetReasonByCondition("SN='" + TB_Sn.Text.Trim() + "'");
                        if (dt_reason.Rows.Count > 0)
                        {
                            for (int i = 0; i < CB_Reson.Items.Count; i++)
                            {
                                if (CB_Reson.Items[i].Equals(dt_reason.Rows[0]["RESON"].ToString().Split(';')[0]))
                                {
                                    CB_Reson.SelectedIndex = i;
                                    if (dt_reason.Rows[0]["RESON"].ToString().Split(';').Length == 2)
                                    {
                                        TB_Reson.Text = dt_reason.Rows[0]["RESON"].ToString().Split(';')[1];
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("不存在该返修总成!");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                MessageBox.Show("请输入总成号!");
            }
        }
Example #6
0
        private void BT_Save_Click(object sender, EventArgs e)
        {
            if (aro == null)//未指定总成
            {
                MessageBox.Show("保存失败。请点击查询确认总成!");
            }
            else
            {
                #region >>>>>维护下线
                if (RB_Offline.Checked == true)
                {
                    AsmReworkResonObject arro = new AsmReworkResonObject();
                    arro.SN    = aro.SN;
                    arro.DT    = DateTime.Now;
                    arro.Type  = aro.TypeName;
                    arro.Reson = CB_Reson.Text + ";" + TB_Reson.Text;
                    if (AsmReworkReson_BLL.AddReworkReson(arro) > 0)
                    {
                        #region >>>>>将运行表中的数据转移到永久性表中
                        try
                        {
                            string             sql  = "sn='" + aro.SN + "'";
                            AsmRTrackingObject arto = AsmRTracking_BLL.GetAsmRTrackingObjectBySn(sql);
                            AsmPTrackingObject apto = new AsmPTrackingObject();
                            apto.DT          = arto.DT;
                            apto.ST          = arto.ST;
                            apto.BST         = arto.BST;
                            apto.SN          = arto.SN;
                            apto.EngineSN    = arto.EngineSN;
                            apto.GearboxSN   = arto.GearboxSN;
                            apto.TypeName    = arto.TypeName;
                            apto.TrayNum     = arto.TrayNum;
                            apto.ProductNum  = arto.ProductNum;
                            apto.STATUS      = "RF";
                            apto.PLAN_ID     = arto.PLAN_ID;
                            apto.REWORK_FLAG = arto.REWORK_FLAG;
                            apto.OFFLINE_DT  = DateTime.Now;
                            AsmPTracking_BLL.AddPTrackingObject(apto);
                            AsmRTracking_BLL.DeleteRTrackingByCondition("R_TRACKING_ID=" + arto.R_TRACKING_ID);
                            MessageBox.Show("保存成功!");
                            BT_Save.Enabled   = false;
                            TB_Sn.Text        = "";
                            label_ST.Text     = "";
                            label_Status.Text = "";
                            label_Type.Text   = "";
                            aro                      = null;
                            lststationDt             = null;
                            newstationDt             = null;
                            lststationDt             = AsmStation_BLL.GetOtherStation();
                            newstationDt             = AsmStation_BLL.GetFirstStation();
                            lstStation.DataSource    = lststationDt;
                            lstStation.DisplayMember = "STATION_NAME";
                            lstStation.ValueMember   = "STATION_ID";
                            newStation.DataSource    = newstationDt;
                            newStation.DisplayMember = "STATION_NAME";
                            newStation.ValueMember   = "STATION_ID";
                            CB_Reson.SelectedIndex   = -1;
                            TB_Reson.Text            = "";
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }
                        #endregion
                    }
                    else
                    {
                        MessageBox.Show("保存失败,请检查输入信息是否正确!");
                    }
                }
                #endregion
                #region >>>>>返工
                else if (RB_Return.Checked == true)
                {
                    DataTable dt_way    = AsmReworkWay_BLL.SelectWayByCondition("SN='" + TB_Sn.Text.Trim() + "'");
                    DataTable dt_reason = AsmReworkReson_BLL.GetReasonByCondition("SN='" + TB_Sn.Text.Trim() + "'");
                    if (dt_way.Rows.Count > 0 || dt_reason.Rows.Count > 0)
                    {
                        AsmReworkWay_BLL.DeleteWayBycondition("SN='" + TB_Sn.Text.Trim() + "'");
                        AsmReworkReson_BLL.DeleteReasonByCondition("SN='" + TB_Sn.Text.Trim() + "'");
                        #region
                        //存储到ReworkWay表
                        AsmReworkWayObject arwo;
                        for (int i = 0; i < newstationDt.Rows.Count; i++)
                        {
                            arwo           = new AsmReworkWayObject();
                            arwo.DT        = DateTime.Now;
                            arwo.SN        = aro.SN;
                            arwo.ST_NAME   = newstationDt.Rows[i][2].ToString();
                            arwo.ST_ID     = int.Parse(newstationDt.Rows[i][0].ToString());
                            arwo.SERIAL_NO = i;
                            AsmReworkWay_BLL.AddReworkWay(arwo);
                        }
                        //存储到ReworkReson表
                        AsmReworkResonObject arro = new AsmReworkResonObject();
                        arro.SN    = aro.SN;
                        arro.DT    = DateTime.Now;
                        arro.Type  = aro.TypeName;
                        arro.Reson = CB_Reson.Text + ";" + TB_Reson.Text;
                        if (AsmReworkReson_BLL.AddReworkReson(arro) > 0)
                        {
                            #region >>>>>将运行表中的数据转移到永久性表中
                            try
                            {
                                //string sql = "sn='" + aro.SN + "'";
                                //AsmRTrackingObject arto = AsmRTracking_BLL.GetAsmRTrackingObjectBySn(sql);
                                //AsmPTrackingObject apto = new AsmPTrackingObject();
                                //apto.DT = System.DateTime.Now;
                                //apto.ST = arto.ST;
                                //apto.BST = arto.BST;
                                //apto.SN = arto.SN;
                                //apto.EngineSN = arto.EngineSN;
                                //apto.GearboxSN = arto.GearboxSN;
                                //apto.TypeName = arto.TypeName;
                                //apto.TrayNum = arto.TrayNum;
                                //apto.ProductNum = arto.ProductNum;
                                //apto.STATUS = "NG";
                                //AsmPTracking_BLL.AddPTrackingObject(apto);
                                //AsmRTracking_BLL.DeleteRTrackingByCondition("R_TRACKING_ID=" + arto.R_TRACKING_ID);
                                MessageBox.Show("保存成功!");
                                BT_Save.Enabled   = false;
                                TB_Sn.Text        = "";
                                label_ST.Text     = "";
                                label_Status.Text = "";
                                label_Type.Text   = "";
                                aro                      = null;
                                lststationDt             = null;
                                newstationDt             = null;
                                lststationDt             = AsmStation_BLL.GetOtherStation();
                                newstationDt             = AsmStation_BLL.GetFirstStation();
                                lstStation.DataSource    = lststationDt;
                                lstStation.DisplayMember = "STATION_NAME";
                                lstStation.ValueMember   = "STATION_ID";
                                newStation.DataSource    = newstationDt;
                                newStation.DisplayMember = "STATION_NAME";
                                newStation.ValueMember   = "STATION_ID";
                                CB_Reson.SelectedIndex   = -1;
                                TB_Reson.Text            = "";
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message);
                            }
                            #endregion
                        }
                        else
                        {
                            MessageBox.Show("保存失败,请检查输入信息是否正确!");
                        }
                        #endregion
                    }

                    else
                    {
                        #region
                        //存储到ReworkWay表
                        AsmReworkWayObject arwo;
                        for (int i = 0; i < newstationDt.Rows.Count; i++)
                        {
                            arwo           = new AsmReworkWayObject();
                            arwo.DT        = DateTime.Now;
                            arwo.SN        = aro.SN;
                            arwo.ST_NAME   = newstationDt.Rows[i][2].ToString();
                            arwo.ST_ID     = int.Parse(newstationDt.Rows[i][0].ToString());
                            arwo.SERIAL_NO = i;
                            AsmReworkWay_BLL.AddReworkWay(arwo);
                        }
                        //存储到ReworkReson表
                        AsmReworkResonObject arro = new AsmReworkResonObject();
                        arro.SN    = aro.SN;
                        arro.DT    = DateTime.Now;
                        arro.Type  = aro.TypeName;
                        arro.Reson = CB_Reson.Text + ";" + TB_Reson.Text;
                        if (AsmReworkReson_BLL.AddReworkReson(arro) > 0)
                        {
                            #region >>>>>将运行表中的数据转移到永久性表中
                            try
                            {
                                //string sql = "sn='" + aro.SN + "'";
                                //AsmRTrackingObject arto = AsmRTracking_BLL.GetAsmRTrackingObjectBySn(sql);
                                //AsmPTrackingObject apto = new AsmPTrackingObject();
                                //apto.DT = System.DateTime.Now;
                                //apto.ST = arto.ST;
                                //apto.BST = arto.BST;
                                //apto.SN = arto.SN;
                                //apto.EngineSN = arto.EngineSN;
                                //apto.GearboxSN = arto.GearboxSN;
                                //apto.TypeName = arto.TypeName;
                                //apto.TrayNum = arto.TrayNum;
                                //apto.ProductNum = arto.ProductNum;
                                //apto.STATUS = "NG";
                                //AsmPTracking_BLL.AddPTrackingObject(apto);
                                //AsmRTracking_BLL.DeleteRTrackingByCondition("R_TRACKING_ID=" + arto.R_TRACKING_ID);
                                MessageBox.Show("保存成功!");
                                BT_Save.Enabled   = false;
                                TB_Sn.Text        = "";
                                label_ST.Text     = "";
                                label_Status.Text = "";
                                label_Type.Text   = "";
                                aro                      = null;
                                lststationDt             = null;
                                newstationDt             = null;
                                lststationDt             = AsmStation_BLL.GetOtherStation();
                                newstationDt             = AsmStation_BLL.GetFirstStation();
                                lstStation.DataSource    = lststationDt;
                                lstStation.DisplayMember = "STATION_NAME";
                                lstStation.ValueMember   = "STATION_ID";
                                newStation.DataSource    = newstationDt;
                                newStation.DisplayMember = "STATION_NAME";
                                newStation.ValueMember   = "STATION_ID";
                                CB_Reson.SelectedIndex   = -1;
                                TB_Reson.Text            = "";
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message);
                            }
                            #endregion
                        }
                        else
                        {
                            MessageBox.Show("保存失败,请检查输入信息是否正确!");
                        }
                        #endregion
                    }
                }
                #endregion
                #region >>>>>报废
                else if (RB_Scrap.Checked == true)
                {
                    AsmReworkResonObject arro = new AsmReworkResonObject();
                    arro.SN    = aro.SN;
                    arro.DT    = DateTime.Now;
                    arro.Type  = aro.TypeName;
                    arro.Reson = CB_Reson.Text + ";" + TB_Reson.Text;
                    if (AsmReworkReson_BLL.AddReworkReson(arro) > 0)
                    {
                        #region >>>>>将运行表中的数据转移到永久性表中
                        try
                        {
                            string             sql  = "sn='" + aro.SN + "'";
                            AsmRTrackingObject arto = AsmRTracking_BLL.GetAsmRTrackingObjectBySn(sql);
                            AsmPTrackingObject apto = new AsmPTrackingObject();
                            apto.DT          = System.DateTime.Now;
                            apto.ST          = arto.ST;
                            apto.BST         = arto.BST;
                            apto.SN          = arto.SN;
                            apto.EngineSN    = arto.EngineSN;
                            apto.GearboxSN   = arto.GearboxSN;
                            apto.TypeName    = arto.TypeName;
                            apto.TrayNum     = arto.TrayNum;
                            apto.ProductNum  = arto.ProductNum;
                            apto.STATUS      = "RJ";
                            apto.PLAN_ID     = arto.PLAN_ID;
                            apto.REWORK_FLAG = arto.REWORK_FLAG;
                            apto.OFFLINE_DT  = DateTime.Now;
                            AsmPTracking_BLL.AddPTrackingObject(apto);
                            AsmRTracking_BLL.DeleteRTrackingByCondition("R_TRACKING_ID=" + arto.R_TRACKING_ID);
                            MessageBox.Show("保存成功!");
                            BT_Save.Enabled   = false;
                            TB_Sn.Text        = "";
                            label_ST.Text     = "";
                            label_Status.Text = "";
                            label_Type.Text   = "";
                            aro                      = null;
                            lststationDt             = null;
                            newstationDt             = null;
                            lststationDt             = AsmStation_BLL.GetOtherStation();
                            newstationDt             = AsmStation_BLL.GetFirstStation();
                            lstStation.DataSource    = lststationDt;
                            lstStation.DisplayMember = "STATION_NAME";
                            lstStation.ValueMember   = "STATION_ID";
                            newStation.DataSource    = newstationDt;
                            newStation.DisplayMember = "STATION_NAME";
                            newStation.ValueMember   = "STATION_ID";
                            CB_Reson.SelectedIndex   = -1;
                            TB_Reson.Text            = "";
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }
                        #endregion
                    }
                    else
                    {
                        MessageBox.Show("保存失败,请检查输入信息是否正确!");
                    }
                }
                #endregion
            }
        }
Example #7
0
 /// <summary>
 /// 查询
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BT_Search_Click(object sender, EventArgs e)
 {
     data = new Dictionary <string, object>();
     if (!String.IsNullOrEmpty(TB_Sn.Text))
     {
         AsmRTrackingObject aro = AsmRTracking_BLL.GetAsmRTrackingObjectBySn(" SN='" + TB_Sn.Text.Trim() + "'");
         if (aro != null)
         {
             label6.Text = TB_Sn.Text.Trim();
             label6.Refresh();
             label8.Text = aro.TypeName;
             label8.Refresh();
             label10.Text = aro.DT.ToString("yyyy-MM-dd HH:mm:ss");
             label10.Refresh();
             label12.Text = "           ";
             label12.Refresh();
             //data = new Dictionary<string, object>();
             data.Add("sn", TB_Sn.Text.Trim());
             data.Add("productionType", aro.TypeName);
             data.Add("onlineDate", aro.DT.ToString());
             data.Add("offlineDate", "");
             DataTable dt = Bolt_BLL.GetBoltByCondition(" SN='" + TB_Sn.Text.Trim() + "'");
             if (dt.Rows.Count != 0)
             {
                 DGV_Bolt.DataSource = dt;//DGV_Bolt接收数据
                 DGV_Bolt.Visible    = true;
                 label3.Visible      = true;
                 DGV_Bolt.ClearSelection();
             }
             else
             {
                 label3.Visible   = false;
                 DGV_Bolt.Visible = false;
             }
             data.Add("bolt", dt);
             DataTable materialdt = AsmKeypart_BLL.GetKeypartByCondition(" SN='" + TB_Sn.Text.Trim() + "'");
             if (materialdt.Rows.Count != 0)
             {
                 DGV_Material.DataSource = materialdt;//DGV_Material接收数据
                 DGV_Material.Visible    = true;
                 label2.Visible          = true;
                 DGV_Material.ClearSelection();
             }
             else
             {
                 label2.Visible       = false;
                 DGV_Material.Visible = false;
             }
             data.Add("material", materialdt);
             DataTable leakagedt = AsmLeakage_BLL.GetLeakageBySn(" SN='" + TB_Sn.Text.Trim() + "'");
             if (leakagedt.Rows.Count != 0)
             {
                 DGV_Leakage.DataSource = leakagedt;//DGV_Leakage接收数据
                 DGV_Leakage.Visible    = true;
                 label5.Visible         = true;
                 DGV_Leakage.ClearSelection();
             }
             else
             {
                 label5.Visible      = false;
                 DGV_Leakage.Visible = false;
             }
             data.Add("leakage", leakagedt);
             return;
         }
         else
         {
             AsmPTrackingObject apo = AsmPTracking_BLL.GetPTrackingObjectByCondition(" SN='" + TB_Sn.Text.Trim() + "'");
             if (apo != null)
             {
                 label6.Text = TB_Sn.Text.Trim();
                 label6.Refresh();
                 label8.Text = apo.TypeName;
                 label8.Refresh();
                 label10.Text = apo.DT.ToString("yyyy-MM-dd HH:mm:ss");
                 label10.Refresh();
                 label12.Text = apo.OFFLINE_DT.ToString("yyyy-MM-dd HH:mm:ss");
                 label12.Refresh();
                 //data = new Dictionary<string, object>();
                 data.Add("sn", TB_Sn.Text.Trim());
                 data.Add("productionType", apo.TypeName);
                 data.Add("onlineDate", apo.DT.ToString());
                 data.Add("offlineDate", apo.OFFLINE_DT.ToString());
                 DataTable dt = Bolt_BLL.GetBoltByCondition(" SN='" + TB_Sn.Text.Trim() + "'");
                 if (dt.Rows.Count != 0)
                 {
                     DGV_Bolt.DataSource = dt;//DGV_Bolt接收数据
                     DGV_Bolt.Visible    = true;
                     label3.Visible      = true;
                     DGV_Bolt.ClearSelection();
                 }
                 else
                 {
                     label3.Visible   = false;
                     DGV_Bolt.Visible = false;
                 }
                 data.Add("bolt", dt);
                 DataTable materialdt = AsmKeypart_BLL.GetKeypartByCondition(" SN='" + TB_Sn.Text.Trim() + "'");
                 if (materialdt.Rows.Count != 0)
                 {
                     DGV_Material.DataSource = materialdt;//DGV_Material接收数据
                     DGV_Material.Visible    = true;
                     label2.Visible          = true;
                     DGV_Material.ClearSelection();
                 }
                 else
                 {
                     label2.Visible       = false;
                     DGV_Material.Visible = false;
                 }
                 data.Add("material", materialdt);
                 DataTable leakagedt = AsmLeakage_BLL.GetLeakageBySn(" SN='" + TB_Sn.Text.Trim() + "'");
                 if (leakagedt.Rows.Count != 0)
                 {
                     DGV_Leakage.DataSource = leakagedt;//DGV_Leakage接收数据
                     DGV_Leakage.Visible    = true;
                     label5.Visible         = true;
                     DGV_Leakage.ClearSelection();
                 }
                 else
                 {
                     label5.Visible      = false;
                     DGV_Leakage.Visible = false;
                 }
                 data.Add("leakage", leakagedt);
                 return;
             }
             else
             {
                 MessageBox.Show("不存在此总成号,请重新输入");
                 TB_Sn.Text = "";
             }
         }
     }
     else
     {
         MessageBox.Show("请输入总成号!");
     }
 }