winfrom 动态显示

   sSql = @"SELECT  mwo.isosid,mwo.Qty,mwo.cInvCode,mwo.cInvName,mwo.cMac,bd.dRptDate,bd.rptPsn,bd.NGType,bd.cMem1,mwo.OperationId
                        FROM  [MO_ReportOrder] bd with(nolock) LEFT JOIN MO_WorkOrder mwo  with(nolock) ON  bd.wocode=mwo.WOCode
                          where ";
                    sSql += SqlHelper.SqlE("bd.cInvBarcode", BarCode, false);
                    sSql += SqlHelper.SqlE("bd.cCmpCode", cCmpCode, true);
                    DataTable dt = _SqlMESHelper.GetDataTable(sSql);

 

 DataRow[] dtr = dt.Select("cMem1 like '%'");

 

//循环加载工序下面的报工数据
                        DataTable dtRptData = new DataTable("RptData");
                        DataColumn dc0 = new DataColumn("OpName", Type.GetType("System.String"));
                        DataColumn dc1 = new DataColumn("CreateName", Type.GetType("System.String"));
                        DataColumn dc2 = new DataColumn("CreateTime", Type.GetType("System.DateTime"));
                        DataColumn dc3 = new DataColumn("NGType", Type.GetType("System.String"));
                        dtRptData.Columns.Add(dc0);
                        dtRptData.Columns.Add(dc1);
                        dtRptData.Columns.Add(dc2);
                        dtRptData.Columns.Add(dc3);


//                        sSql = @" SELECT  DS.OpCodeName FROM  DB_SMTTRptDataOpCode DS WITH(NOLOCK)
//                                         LEFT  JOIN  MO_WorkOrder MW WITH(NOLOCK) on  ds.opcode=mw.OpCode where   ";
//                        sSql += SqlHelper.SqlE("MW.isosid", dt.Rows[0]["isosid"].ToString(), false);
                        #region 2022-08-15 djx


                        string sSqlGX = string.Empty;
                        string Machine = string.Empty;
                        string OperationId = string.Empty;
                        DataRow[] drc = dt.Select("cMem1 like '镭雕%'");
                        if (drc.Length > 0)
                        {
                            Machine = drc[0]["cMac"].ToString();
                            OperationId = drc[0]["OperationId"].ToString();
                        }

                        sSqlGX = @"select Machine  from  [dbo].[DB_Process] where Production='" + Machine + "'  union all  SELECT  Description FROM  BD_proutingdetail where PRoutingCode='" + OperationId + "'  and Description not like '贴片%'  and Description not like '总焊检验%' and Description not like '波峰焊%' and cCmpCode='FRDG' ";
                        #endregion

                        DataTable OpCode = _SqlMESHelper.GetDataTable(sSqlGX);

                        for (int i = 0; i < OpCode.Rows.Count; i++)
                        {

                            DataRow dr1 = dtRptData.NewRow();
                            DataRow[] dr4 = dtRptData.Select("OpName like '" + OpCode.Rows[i]["Machine"].ToString() + "%'");
                            if (dr4.Length <= 0)
                            {
                                if (OpCode.Rows[i]["Machine"].ToString() == "AOI-前")
                                {
                                    if (dt.Rows[0]["cMac"].ToString() == "M235-1" || dt.Rows[0]["cMac"].ToString() == "M236-1")
                                    {

                                    }
                                    else
                                    {
                                        DataRow[] dr = dt.Select("cMem1 like '" + OpCode.Rows[i]["Machine"].ToString() + "%'");
                                        if (dr.Length > 0)
                                        {
                                            dr1["OpName"] = OpCode.Rows[i]["Machine"].ToString();
                                            dr1["CreateName"] = dr[0]["rptPsn"].ToString();
                                            dr1["CreateTime"] = dr[0]["dRptDate"].ToString();
                                            dr1["NGType"] = dr[0]["NGType"].ToString();
                                        }
                                        else
                                        {
                                            dr1["OpName"] = OpCode.Rows[i]["Machine"].ToString();
                                            dr1["CreateName"] = DBNull.Value;
                                            dr1["CreateTime"] = DBNull.Value;
                                            dr1["NGType"] = DBNull.Value;
                                        }
                                        dtRptData.Rows.Add(dr1);
                                    }
                                }
                                else
                                {
                                    DataRow[] dr = dt.Select("cMem1 like '" + OpCode.Rows[i]["Machine"].ToString() + "%'");
                                    if (dr.Length > 0)
                                    {
                                        dr1["OpName"] = OpCode.Rows[i]["Machine"].ToString();
                                        dr1["CreateName"] = dr[0]["rptPsn"].ToString();
                                        dr1["CreateTime"] = dr[0]["dRptDate"].ToString();
                                        dr1["NGType"] = dr[0]["NGType"].ToString();
                                    }
                                    else
                                    {
                                        dr1["OpName"] = OpCode.Rows[i]["Machine"].ToString();
                                        dr1["CreateName"] = DBNull.Value;
                                        dr1["CreateTime"] = DBNull.Value;
                                        dr1["NGType"] = DBNull.Value;
                                    }
                                    dtRptData.Rows.Add(dr1);
                                }
                            }
                        }
                        for (int i = 0; i < 20; i++)
                        {
                            var LinkLabels = groupBox23.Controls.OfType<LinkLabel>();
                            foreach (LinkLabel rb in LinkLabels)
                            {
                                if (rb.Name.Contains("动态"))
                                {
                                    groupBox23.Controls.Remove(rb);
                                }
                            }
                            var textBoxS = groupBox23.Controls.OfType<TextBox>();
                            foreach (TextBox rb1 in textBoxS)
                            {
                                if (rb1.Name.Contains("动态"))
                                {
                                    groupBox23.Controls.Remove(rb1);
                                }
                            }
                            var Labels = groupBox23.Controls.OfType<Label>();
                            foreach (Label rb in Labels)
                            {
                                if (rb.Name.Contains("动态"))
                                {
                                    groupBox23.Controls.Remove(rb);
                                }
                            }
                        }
                       
                        

                        string name = "动态";
                        for (int i = 0; i < dtRptData.Rows.Count; i++)
                        {
                            int a = 420 / dtRptData.Rows.Count / 2;

                            LinkLabel txt1 = new LinkLabel();
                            txt1.Name = Name + name + dtRptData.Rows[i]["OpName"].ToString() + i;
                            txt1.Text = dtRptData.Rows[i]["OpName"].ToString();
                            txt1.Location = new Point(170, 200 + a + 2 * i * a);
                            txt1.Click += linkLabel_Click;//建立超链接,点击显示详情
                            groupBox23.Controls.Add(txt1);


                            Label Label1 = new Label();
                            Label1.Name = Name + name + dtRptData.Rows[i]["CreateName"].ToString() + i;
                            Label1.Text = dtRptData.Rows[i]["CreateName"].ToString();
                            Label1.Location = new Point(314, 200 + a + 2 * i * a);
                            groupBox23.Controls.Add(Label1);

                            Label Label2 = new Label();
                            Label2.Name = Name + name + dtRptData.Rows[i]["CreateTime"].ToString() + i;
                            Label2.Text = dtRptData.Rows[i]["CreateTime"].ToString();
                            Label2.AutoSize = false;
                            Label2.Size = new Size(200, 15);
                            Label2.Location = new Point(450, 200 + a + 2 * i * a);
                            groupBox23.Controls.Add(Label2);

                            Label Label3 = new Label();
                            Label3.Name = Name + name + dtRptData.Rows[i]["NGType"].ToString() + i;
                            Label3.Text = dtRptData.Rows[i]["NGType"].ToString();
                            Label3.Location = new Point(694, 200 + a + 2 * i * a);
                            groupBox23.Controls.Add(Label3);

                            if (dtRptData.Rows.Count - 1 != i)
                            {
                                TextBox txt2 = new TextBox();
                                txt2.Name = Name + name + i;
                                txt2.Text = Name + "|" + name + i;
                                txt2.Location = new Point(167, 209 + ((i + 1) * a * 2));
                                txt2.AutoSize = false;
                                txt2.BackColor = Color.Black;
                                txt2.Size = new Size(718, 1);
                                groupBox23.Controls.Add(txt2);
                            }

                        }
                    }
                    else
                    {
                        txt_zs_Barcode.Text = "";
                        for (int i = 0; i < 20; i++)
                        {
                            var LinkLabels = groupBox23.Controls.OfType<LinkLabel>();
                            foreach (LinkLabel rb in LinkLabels)
                            {
                                if (rb.Name.Contains("动态"))
                                {
                                    groupBox23.Controls.Remove(rb);
                                }
                            }
                            var textBoxS = groupBox23.Controls.OfType<TextBox>();
                            foreach (TextBox rb1 in textBoxS)
                            {
                                if (rb1.Name.Contains("动态"))
                                {
                                    groupBox23.Controls.Remove(rb1);
                                }
                            }
                            var Labels = groupBox23.Controls.OfType<Label>();
                            foreach (Label rb in Labels)
                            {
                                if (rb.Name.Contains("动态"))
                                {
                                    groupBox23.Controls.Remove(rb);
                                }
                            }
                        }

                        MessageBox.Show("数据不存在!");
                        return;
                    }

                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

posted @ 2022-08-23 15:30  djx359  阅读(49)  评论(0)    收藏  举报