Пример #1
0
        private void Search()
        {
            string strWhere = GetConduction();

            ds = bProductionPlanSearch.GetProductionTechnology(strWhere);
            ds.Tables[0].Columns.Add("BTN_DOWN_LOAD", Type.GetType("System.String"));
            if (ds.Tables[0].Rows.Count < 1)
            {
                txtSlipNumber.Clear();
                txtSlipType.Clear();
                txtSlipTypeName.Clear();
                cboStatus.SelectedIndex = 0;
                dateTimePicker1.Checked = false;
                dateTimePicker2.Checked = false;
                //dgvData.DataSource = ds.Tables[0];
                dgvData.Rows.Clear();
                MessageBox.Show("查询的信息不存在!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            else
            {
                Hashtable TechnologyDwHt = new Hashtable();
                DataTable technologyDw   = bProductionPlanSearch.GetTechnologyDw(GetConductionTechnologyDw()).Tables[0];
                foreach (DataRow dr in technologyDw.Rows)
                {
                    string key    = CConvert.ToString(dr["SLIP_NUMBER"]) + CConvert.ToString(dr["SCHEDULE_LINE_NUMBER"]) + CConvert.ToString(dr["SCHEDULE_PRODUCTION_PROCESS_LINE_NUNBER"]) + CConvert.ToString(dr["TECHNOLOGY_LINE_NUMBER"]);
                    int    count  = CConvert.ToInt32(dr["COUNT"]);
                    int    number = CConvert.ToInt32(dr["NUMBER"]);
                    if (count >= number && number != 0)
                    {
                        TechnologyDwHt.Add(key, "有");
                    }
                    else if (number == 0)
                    {
                        TechnologyDwHt.Add(key, "无");
                    }
                }
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    if (dr["PST_STATUS_FLAG"].ToString() == CConvert.ToString(CConstant.STATUS))
                    {
                        dr["PST_ACTUAL_END_TIME"] = DateTime.Now;
                    }
                    else if (dr["PST_STATUS_FLAG"].ToString() == CConvert.ToString(CConstant.STATUS_START))
                    {
                        dr["PST_ACTUAL_END_TIME"] = CConvert.ToDateTime(dr["PST_ACTUAL_END_TIME"].ToString());
                    }

                    string key = CConvert.ToString(dr["SLIP_NUMBER"]) + CConvert.ToString(dr["PST_SCHEDULE_LINE_NUMBER"]) + CConvert.ToString(dr["PST_SCHEDULE_PRODUCTION_PROCESS_LINE_NUNBER"]) + CConvert.ToString(dr["PST_TECHNOLOGY_LINE_NUMBER"]);
                    if (TechnologyDwHt.Contains(key))
                    {
                        dr["BTN_DOWN_LOAD"] = TechnologyDwHt[key];
                    }
                    else
                    {
                        dr["BTN_DOWN_LOAD"] = "N/A";
                    }
                }

                //dgvData.DataSource = ds.Tables[0];
                try
                {
                    if (dgvData.Rows.Count > 0)
                    {
                        dgvData.Rows.Clear();
                    }
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        int             currentRowIndex = dgvData.Rows.Add(1);
                        DataGridViewRow row             = dgvData.Rows[currentRowIndex];
                        row.Cells["SLIP_NUMBER"].Value             = dr["SLIP_NUMBER"];
                        row.Cells["TYPE_NAME"].Value               = dr["SLIP_TYPE_NAME"];
                        row.Cells["PARTS_NAME"].Value              = dr["PARTS_NAME"];
                        row.Cells["PRODUCTION_PROCESS_NAME"].Value = dr["PRODUCTION_PROCESS_NAME"];
                        row.Cells["BT_TECHNOLOGY_NAME"].Value      = dr["BT_TECHNOLOGY_NAME"];
                        // row.Cells["START_PLAN_DATE"].Value = dr["TECHNOLOGY_STATUS"];
                        row.Cells["END_PLAN_DATE"].Value = dr["PST_PLAN_END_DATE"];
                        // row.Cells["START_DATE"].Value = dr["PSPP_PLAN_END_DATE"];
                        row.Cells["BTN_DOWN_LOAD"].Value = dr["BTN_DOWN_LOAD"];

                        row.Cells["END_DATE"].Value = dr["PST_ACTUAL_END_TIME"];
                        // row.Cells["WEIGHT"].Value = dr["WEIGHT"];
                        row.Cells["PRODUCTION_PROCESS_CODE"].Value  = dr["PRODUCTION_PROCESS_CODE"];
                        row.Cells["PSPP_LINE_NUMBER"].Value         = dr["PSPP_LINE_NUMBER"];
                        row.Cells["SCHEDULE_LINE_NUNBER"].Value     = dr["SCHEDULE_LINE_NUNBER"];
                        row.Cells["PSPP_STATUS_FLAG"].Value         = dr["PSPP_STATUS_FLAG"];
                        row.Cells["PST_STATUS_FLAG"].Value          = dr["PST_STATUS_FLAG"];
                        row.Cells["PST_SCHEDULE_LINE_NUMBER"].Value = dr["PST_SCHEDULE_LINE_NUMBER"];
                        row.Cells["PST_SCHEDULE_PRODUCTION_PROCESS_LINE_NUNBER"].Value = dr["PST_SCHEDULE_PRODUCTION_PROCESS_LINE_NUNBER"];
                        row.Cells["PST_TECHNOLOGY_LINE_NUMBER"].Value = dr["PST_TECHNOLOGY_LINE_NUMBER"];
                        row.Cells["PARTS_CODE"].Value = dr["PARTS_CODE"];
                    }
                }
                catch (Exception ex)
                { }



                foreach (DataGridViewRow dgvr in dgvData.Rows)
                {
                    if (dgvr.Cells["PST_STATUS_FLAG"].Value.ToString().Equals("1"))
                    {
                        dgvr.Cells["CHK"].ReadOnly      = true;
                        dgvr.Cells["END_DATE"].ReadOnly = true;
                    }
                }
            }
        }