Example #1
0
        private void ShowQualityList()
        {
            //根据当前站点LoginInfo.StationInfo.RMES_ID找到rel_station_location对应工位code_location
            List <LocationEntity>    Location     = new List <LocationEntity>();
            List <WorkProcessEntity> process_plan = new List <WorkProcessEntity>(); //站点对应的所有工序集合
            List <DetectItemEntity>  detect_item  = new List <DetectItemEntity>();  //工序对应的检验条目集合

            Location = LocationFactory.GetByStationCode(LoginInfo.StationInfo.RMES_ID);
            if (Location == null)
            {
                return;
            }
            else
            {
                if (_product == null)
                {
                    return;
                }

                //根据站点对应的工位从bom表中取出每个工位对应的工序以及质量检验标准
                for (int i = 0; i < Location.Count; i++)
                {
                    //每个工位对应的工序集合
                    List <WorkProcessEntity> Q = PlanStandardBOMFactory.GetByLocationCode(LoginInfo.StationInfo.COMPANY_CODE, _product.PLAN_CODE, LoginInfo.StationInfo.PLINE_CODE, Location[i].LOCATION_CODE);
                    process_plan.AddRange(Q);
                }
            }

            //根据工序process_plan从bom导出的data_detect_item中获取检测项目
            if (process_plan == null)
            {
                return;
            }
            else
            {
                //存每个工序对应的质检项目data_detect_item
                for (int i = 0; i < process_plan.Count; i++)
                {
                    List <DetectItemEntity> Q = DetectItemFactory.GetByPlanProcessCode(LoginInfo.StationInfo.COMPANY_CODE, _product.PLAN_CODE, process_plan[i].PROCESS_CODE);
                    detect_item.AddRange(Q);
                }
            }
            //每个工序的检测项目detect_item
            GridQuality.DataSource = detect_item;
            //关联data_sn_quality  取工序最新状态
            for (int i = 0; i < detect_item.Count; i++)
            {
                QualitySnItem S = QualityFactory.GetProductInfoByBatchProcessPlan(_product.SN, detect_item[i].LTXA1, _product.PLAN_CODE);
                if (S == null)
                {
                }
                else
                {
                    if (S.CurrentResult != "")
                    {
                        GridQuality.Rows[i].Cells["coldx"].Value = S.CurrentResult;
                    }
                    if (S.CurrentValue != "")
                    {
                        GridQuality.Rows[i].Cells["colCurrentValue"].Value = S.CurrentValue;
                    }
                    GridQuality.Rows[i].DefaultCellStyle.BackColor = Color.Green;
                }
                //if (!string.IsNullOrWhiteSpace(detect_item[i].QUALITAT as string))
                //{
                //    GridQuality.Rows[i].Cells["coldx"].Value = detect_item[i].QUALITAT;
                //}
            }
            for (int j = 0; j < GridQuality.Rows.Count; j++)
            {
                GridQuality.Rows[j].Height = 30;
                //根据值改变grid每行属性
                //if (!string.IsNullOrWhiteSpace(GridQuality.Rows[j].Cells["colRmesId"].Value as string))
                //{
                //    GridQuality.Rows[j].ReadOnly = true;
                //    GridQuality.Rows[j].DefaultCellStyle.BackColor = Color.LightGray;
                //}
            }
        }