Ejemplo n.º 1
0
        public void Query()
        {
            dataLayoutControl1.Validate();

            var dal       = new T_JCXX_DAL();
            var sqlFilter = sqlFilterBindingSource.Current as SqlFilter;
            var list1     = new List <T_JCXX>();

            SplashScreenManager.ShowDefaultWaitForm($"正在查询");

            try
            {
                var sqlWhere = "1 =1 ";

                //病例库
                if (sqlFilter.Blk != null && sqlFilter.Blk != "全部" && sqlFilter.Blk != "")
                {
                    sqlWhere += $" and f_blk='{sqlFilter.Blk}' ";
                }

                //报告日期
                if (sqlFilter.Bgrq1.HasValue)
                {
                    sqlWhere += $" and CONVERT(datetime,f_bgrq) >= CONVERT(datetime,'{sqlFilter.Bgrq1.Value.Date}') ";
                }
                if (sqlFilter.Bgrq2.HasValue)
                {
                    sqlWhere +=
                        $" and CONVERT(datetime,f_bgrq) <=CONVERT(datetime,'{sqlFilter.Bgrq2.Value.Date.AddDays(1)}') ";
                }

                //收到日期
                if (sqlFilter.Sdrq1.HasValue)
                {
                    sqlWhere += $" and CONVERT(datetime,f_sdrq) >= CONVERT(datetime,'{sqlFilter.Sdrq1.Value.Date}') ";
                }
                if (sqlFilter.Sdrq2.HasValue)
                {
                    sqlWhere +=
                        $" and CONVERT(datetime,f_sdrq) <=CONVERT(datetime,'{sqlFilter.Sdrq2.Value.Date.AddDays(1)}') ";
                }

                //报告状态
                if (sqlFilter.Bgzt != Bgzts.全部)
                {
                    sqlWhere += $" and f_bgzt = '{sqlFilter.Bgzt}' ";
                }

                //项目分类
                if (sqlFilter.Xmfl != null && (sqlFilter.Xmfl != "全部" && sqlFilter.Xmfl.Trim() != ""))
                {
                    sqlWhere += $" and f_bblx='{sqlFilter.Xmfl}' ";
                }

                //检测项目(医嘱项目)
                if (string.IsNullOrEmpty(sqlFilter.Yzxm.Trim()) == false && sqlFilter.Yzxm != "全部")
                {
                    sqlWhere += $" and f_yzxm = '{sqlFilter.Yzxm}' ";
                }

                //临床诊断
                if (string.IsNullOrEmpty(sqlFilter.Lczd.Trim()) == false)
                {
                    sqlWhere += $" and f_lczd like '%{sqlFilter.Lczd}%' ";
                }

                //是否阳性
                if (sqlFilter.IsPositive == false)
                {
                    sqlWhere += "and not";
                }
                else
                {
                    sqlWhere += " and ";
                }
                sqlWhere +=
                    " ((f_fz_blzd like '%突变型%' or F_FZ_BLZD like '%阳性%' or F_FZ_BLZD like '%不稳定%' )and( f_fz_blzd not LIKE '%未见%' and f_fz_blzd not LIKE '%微卫星稳定%')) ";

                string sql =
                    $"select t.*,t2.f_fz_blzd,t2.F_dnazk,t2.F_RNAZK  from t_jcxx t inner join (select f_blh,f_fz_blzd,F_dnazk,F_RNAZK from T_TBS_BG) t2 on t.F_BLH=t2.F_BLH where ";
                sql += sqlWhere;

                var dt1 = CommonDAL.GetTableBySql(sql);
                foreach (DataRow dr in dt1.Rows)
                {
                    var jcxx = T_JCXX_DAL.DataRowToModel(dr);
                    jcxx.F_FZ_BLZD = dr["f_fz_blzd"].ToString();
                    jcxx.F_DNAZK   = dr["F_dnazk"].ToString();
                    jcxx.F_RNAZK   = dr["F_RNAZK"].ToString();
                    list1.Add(jcxx);
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.ToString());
                return;
            }
            finally
            {
                try
                {
                    SplashScreenManager.CloseDefaultWaitForm();
                }
                catch
                {
                }
            }

            if (list1.Any() == false)
            {
                XtraMessageBox.Show("没有找到任何结果!");
            }
            tJCXXBindingSource.DataSource = list1;
            gridView1.RefreshData();
            gridView1.ExpandAllGroups();

            gridView1.BestFitColumns();
        }