Пример #1
0
 public IQueryEntity LessThan(object column, object value,
                              QueryParamater.QueryRelatedType queryRelatedType = QueryParamater.QueryRelatedType.AND)
 {
     QueryPars.Add(new QueryParamater(column, value, QueryParamater.QueryType.小于, queryRelatedType));
     return(this);
 }
Пример #2
0
 public IQueryEntity RightLike(object column, object value,
                               QueryParamater.QueryRelatedType queryRelatedType = QueryParamater.QueryRelatedType.AND)
 {
     QueryPars.Add(new QueryParamater(column, value, QueryParamater.QueryType.右LIKE, queryRelatedType));
     return(this);
 }
Пример #3
0
        public void Tab0Ini(QueryPars q)
        {
            TopGridView(dgvAll);

            queryPars.nums  = int.Parse(combPageNums.Text);
            queryPars.pages = int.Parse(tbNowPage.Text) - 1;
            #region 开启线程查询数据库
            AoiModel           aoiModel = DB.GetAoiModel();
            Action <QueryPars> t        = (v) =>
            {
                lock (aoiModel)
                {
                    var db = aoiModel.pcbs.Where(p => p.CreateTime >= queryPars.startTime &&
                                                 p.CreateTime <= queryPars.endTime);
                    if (queryPars.pcbName != null && queryPars.pcbNumber == null)
                    {
                        db = aoiModel.pcbs.Where(p => p.CreateTime >= queryPars.startTime &&
                                                 p.CreateTime <= queryPars.endTime &&
                                                 p.PcbName == queryPars.pcbName);
                    }
                    else if (queryPars.pcbName == null && queryPars.pcbNumber != null)
                    {
                        if (queryPars.searchPcbNumberAccurate)
                        {
                            db = aoiModel.pcbs.Where(p => p.CreateTime >= queryPars.startTime &&
                                                     p.CreateTime <= queryPars.endTime &&
                                                     p.PcbNumber == queryPars.pcbNumber);
                        }
                        else
                        {
                            db = aoiModel.pcbs.Where(p => p.CreateTime >= queryPars.startTime &&
                                                     p.CreateTime <= queryPars.endTime &&
                                                     p.PcbNumber.Contains(queryPars.pcbNumber));
                        }
                    }
                    else if (queryPars.pcbName != null && queryPars.pcbNumber != null)
                    {
                        if (queryPars.searchPcbNumberAccurate)
                        {
                            db = aoiModel.pcbs.Where(p => p.CreateTime >= queryPars.startTime &&
                                                     p.CreateTime <= queryPars.endTime &&
                                                     p.PcbNumber == queryPars.pcbNumber &&
                                                     p.PcbName == queryPars.pcbName);
                        }
                        else
                        {
                            db = aoiModel.pcbs.Where(p => p.CreateTime >= queryPars.startTime &&
                                                     p.CreateTime <= queryPars.endTime &&
                                                     p.PcbNumber.Contains(queryPars.pcbNumber) &&
                                                     p.PcbName == queryPars.pcbName);
                        }
                    }
                    var list = db.OrderByDescending(p => p.CreateTime)
                               .Skip(queryPars.pages * queryPars.nums)
                               .Take(queryPars.nums)
                               .ToList();


                    //#region 最上面的报表
                    ///**select (select count(*) from pcbs) as AllPcbNums,
                    // * (select count(*) from pcbs where is_error = 1) as ErrorPcbNums,
                    // * (select count(*) from pcbs where is_misjudge = 1) as MisreportPcbNums,
                    // * (select count(*) from pcbs where is_misjudge = 1)/(select count(*) from pcbs) as MisreportRate,
                    // * (select count(*) from pcbs where is_misjudge = 0 and is_error = 0)/(select count(*) from pcbs) as PassRate;
                    // * **/
                    //string AllPcbNums = "(select count(*) from pcbs)";
                    //string PassPcbNums = "(select count(*) from pcbs where is_misjudge = 0 and is_error = 0)";
                    //string ErrorPcbNums = "(select count(*) from pcbs)";
                    //string MisreportPcbNums = "(select count(*) from pcbs where is_misjudge = 1)";
                    //string MisreportRate = MisreportPcbNums + "/" + AllPcbNums;
                    //string PassRate = PassPcbNums + "/" + AllPcbNums;
                    //string final = "select " + AllPcbNums + " as AllPcbNums, "
                    //+ ErrorPcbNums + " as ErrorPcbNums, "
                    //+ MisreportPcbNums + " as MisreportPcbNums, "
                    //+ MisreportRate + " as MisreportRate, "
                    //+ PassRate + "as PassRate";
                    //var tables = aoiModel.Database.SqlQuery<SqlQueryData1>(final).ToList(); //.SqlQuery("select *from BlogMaster where UserId='3'");
                    //this.BeginInvoke((Action)(() =>
                    //{
                    //    bindingSourceAll.DataSource = tables;
                    //    dgvAll.DataSource = bindingSourceAll;
                    //}));
                    //#endregion

                    #region 更新底部页数据
                    int totalRows = totalRows = db.Count();//aoiModel.Database.SqlQuery<int>("select count(*) from pcbs").ToArray()[0];
                    int totalPage = 1;
                    if (totalRows > queryPars.nums)
                    {
                        totalPage = (totalRows + v.nums - 1) / v.nums;
                    }
                    this.BeginInvoke((Action)(() =>
                    {
                        lbTotalPages.Text = totalPage + "";
                        lbTotalRows.Text = totalRows + "";
                    }));
                    #endregion


                    aoiModel.Dispose();
                    this.BeginInvoke((Action)(() =>
                    {
                        bindingSourcePcbs.DataSource = list;
                        dgvOriginalData.DataSource = bindingSourcePcbs;
                    }));
                }
            };
            MySmartThreadPool.Instance().QueueWorkItem <QueryPars>(t, queryPars);
            #endregion
        }
Пример #4
0
 public override void QueryReset()
 {
     ReSetInfo();
     MySmartThreadPool.Instance().QueueWorkItem(() =>
     {
         if (!splashScreenManager.IsSplashFormVisible)
         {
             splashScreenManager.ShowWaitForm();
         }
         SpcModel spcModel = DB.Instance();
         try
         {
             List <RetStatistical> rets = spcModel.Database.SqlQuery <RetStatistical>(QueryPars.GetMainStatisticalStr()).ToList();
             this.BeginInvoke((Action)(() =>
             {
                 gridControl_Results.DataSource = rets;
             }));
         }
         catch (Exception er)
         {
         }
         finally
         {
             if (splashScreenManager.IsSplashFormVisible)
             {
                 splashScreenManager.CloseWaitForm();
             }
             spcModel.Dispose();
         }
     });
 }
Пример #5
0
        public override void QueryReset()
        {
            ReSetInfo();

            if (QueryPars.enableResult)
            {
                //string aa = gridView_Results.ActiveFilterString;
                gridView_Results.ActiveFilterString = String.Format("[ng_str] = '{0}'", QueryPars.ng_type);
            }

            MySmartThreadPool.Instance().QueueWorkItem(() =>
            {
                if (!splashScreenManager.IsSplashFormVisible)
                {
                    splashScreenManager.ShowWaitForm();
                }
                SpcModel spcModel = DB.Instance();
                try
                {
                    List <RetAllInfoPcbs> aoiPcbs = spcModel.Database.SqlQuery <RetAllInfoPcbs>(QueryPars.GetPcbsQueryStr()).ToList();
                    this.BeginInvoke((Action)(() =>
                    {
                        gridControl_Results.DataSource = aoiPcbs;
                    }));
                }
                catch (Exception er)
                {
                }
                finally
                {
                    if (splashScreenManager.IsSplashFormVisible)
                    {
                        splashScreenManager.CloseWaitForm();
                    }
                    spcModel.Dispose();
                }
            });
        }