private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { this.Cursor = Cursors.Arrow; dataGridView1.Cursor = Cursors.Arrow; dataGridView2.Cursor = Cursors.Arrow; if (e.Result != null) { ParamAsynResult result = e.Result as ParamAsynResult; m_dstamung = result.Data; dgDanhsach.DataSource = result.Data.Tables[0]; tmn_Sotien.Text = lan.Change_language_MessageText(result.sohoadon.ToString() + " HĐ = " + result.asotienton.ToString("###,###,###,##0.##") + " Đ"); // sohoadon = 0; // asotienton = 0; dgDanhsach.EndEdit(); } else { try { CurrencyManager cm = (CurrencyManager)(BindingContext[dgDanhsach.DataSource, dgDanhsach.DataMember]); DataView dv = (DataView)(cm.List); dv.Table.Rows.Clear(); } catch { } } toolStripProgressBar1.Value = 0; butTim.Enabled = true; }
private void f_Load_DG() { this.Cursor = Cursors.WaitCursor; tmn_Timnhanh.Text = lan.Change_language_MessageText("Tìm kiếm"); ParamAsynResult agr = new ParamAsynResult(); agr.Ngay = txtTN.Value; agr.m_v = m_v; agr.m_userid = m_userid; dgDanhsach.AutoGenerateColumns = false; butTim.Enabled = false; backgroundWorker1.RunWorkerAsync(agr); }
void fStatus_WorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { ParamAsynResult dss = e.Result as ParamAsynResult; if (dss.ds.Tables[0].Rows.Count == 0) { MessageBox.Show(lan.Change_language_MessageText("Không có số liệu !"), AccessData.Msg); } else { // string sql = "select maql,mabn,traituyen from xxx.bhyt "; dllReportM.frmReport f = new dllReportM.frmReport(m, dss.ds, dss.NgayExp + " " + dss.DiaDiemExp, "rptTKchuyenden.rpt"); f.ShowDialog(); } }
private void butIn_Click(object sender, System.EventArgs e) { frmStatusProcess fStatus = new frmStatusProcess("Tổng hợp thông tin"); fStatus.DoWork += new frmStatusProcess.DoWorkEventHandler(fStatus_DoWork); fStatus.WorkerCompleted += new RunWorkerCompletedEventHandler(fStatus_WorkerCompleted); string t1 = "", sql_exp = "", t2 = solieu.Text; ds = null; if (tu.Text != "" && den.Text != "") { sql_exp += " and " + m.for_ngay("a.ngay", "'dd/mm/yyyy'") + " between to_date('" + tu.Text + "','dd/mm/yyyy') and to_date('" + den.Text + "','dd/mm/yyyy')"; t1 = "Từ ngày " + tu.Text + " Đến ngày " + den.Text; if (tu.Text == den.Text) { t1 = "Ngày " + tu.Text; } } if (matt.SelectedIndex != -1) { sql_exp += " and substr(b.mabv,1,3)='" + matt.SelectedValue.ToString() + "'"; t2 += "," + matt.Text; } if (matuyen.SelectedIndex != -1) { sql_exp += " and h.matuyen='" + matuyen.SelectedValue.ToString() + "'"; t2 += "," + matuyen.Text; } if (madstt.Text != "") { sql_exp += " and b.mabv='" + madstt.Text + "'"; t2 += "," + tendstt.Text; } sql_exp += " order by mabv,ngay"; ParamAsynResult arg = new ParamAsynResult(); arg.DiaDiemExp = t2; arg.NgayExp = t1; arg.SqlExp = sql_exp; arg.TuNgay = tu.Text; arg.DenNgay = den.Text; arg.SelectCase = solieu.SelectedIndex; fStatus.ShowRunWorkerAsync(arg); }
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { decimal asotienton = 0; int sohoadon = 0; ParamAsynResult arg = (ParamAsynResult)e.Argument; backgroundWorker1.ReportProgress(0); try { string ngay = arg.Ngay.ToString("dd/MM/yyyy"); string sql = "", aexp = "", aexp1 = ""; //try //{ // alimit = int.Parse(txtLimit.Value.ToString()); //} //catch //{ // alimit = 0; //}m_ string mmyy = arg.m_v.get_mmyy(txtDN.Value.ToString("dd/MM/yyyy")); DataTable dt = new DataTable(); aexp = "where to_date(to_char(a.ngay,'dd/mm/yyyy'),'dd/mm/yyyy') <= to_date('" + ngay + "','dd/mm/yyyy') "; aexp1 = " where (to_date(to_char(a.ngay,'dd/mm/yyyy'),'dd/mm/yyyy') <= to_date('" + ngay + "','dd/mm/yyyy') and a.done=0) or (a.done=1 and to_date(to_char(a.ngaytra,'dd/mm/yyyy'),'dd/mm/yyyy') > to_date('" + ngay + "','dd/mm/yyyy') and to_date(to_char(a.ngay,'dd/mm/yyyy'),'dd/mm/yyyy') <=" + " to_date('" + ngay + "','dd/mm/yyyy') ) "; //sql = "select case when a.done = 0 then 1 else case when to_date(to_char(a.ngaytra,'dd/mm/yyyy'),'dd/mm/yyyy') > to_date('" + // txtTN.Text.Substring(0, 10) + "','dd/mm/yyyy') then 1 else 0 end end as ton, a.mabn,g.hoten,case when g.ngaysinh is null"+ // " then g.namsinh else to_char(g.ngaysinh,'dd/mm/yyyy') end as namsinh,h.ten as gioitinh,a.id,to_char(a.ngay,'dd/mm/yyyy')"+ // " as ngay,b.sohieu,to_char(a.sobienlai,'9999999999') as sobienlai,case when a.done = 0 then a.sotien else case when "+ // "to_date(to_char(a.ngaytra,'dd/mm/yyyy'),'dd/mm/yyyy') > to_date('" + txtTN.Text.Substring(0, 10) + "','dd/mm/yyyy') "+ // "then a.sotien else 0 end end as sotienton," + // " a.sotien,f.tenkp,d.ten as tenloaidv, e.ten as tenloaibn,a.lanin,c.hoten||' ('||c.userid||')' "+ // "as user, trim(g.sonha||' '||g.thon) as diachi"+ // " from medibv.v_tamung a left join medibv.v_quyenso b on a.quyenso=b.id left join "+ // "medibv.v_dlogin c on a.userid=c.id left join medibv.v_tenloaivp d on a.loai=d.ma left join medibv.v_loaibn"+ // " e on a.loaibn=e.id left join medibv.btdkp_bv f on a.makp=f.makp left join medibv.btdbn g on a.mabn=g.mabn "+ // "left join medibv.dmphai h on g.phai=h.ma " + aexp; sql = "select case when a.done = 0 then 1 else case when to_date(to_char(a.ngaytra,'dd/mm/yyyy'),'dd/mm/yyyy') > to_date('" + ngay + "','dd/mm/yyyy') then 1 else 0 end end as ton, a.mabn,g.hoten,case when g.ngaysinh is null" + " then g.namsinh else to_char(g.ngaysinh,'dd/mm/yyyy') end as namsinh,h.ten as gioitinh,a.id,to_char(a.ngay,'dd/mm/yyyy')" + " as ngay,b.sohieu,to_char(a.sobienlai,'9999999999') as sobienlai,case when a.done = 0 then a.sotien else case when " + "to_date(to_char(a.ngaytra,'dd/mm/yyyy'),'dd/mm/yyyy') > to_date('" + ngay + "','dd/mm/yyyy') " + "then a.sotien else 0 end end as sotienton," + " a.sotien,f.tenkp,d.ten as tenloaidv, e.ten as tenloaibn,a.lanin,c.hoten||' ('||c.userid||')' " + "as user, trim(g.sonha||' '||g.thon) as diachi" + " from " + arg.m_v.user + mmyy + ".v_tamung a left join medibv.v_quyenso b on a.quyenso=b.id left join " + "medibv.v_dlogin c on a.userid=c.id left join medibv.v_tenloaivp d on a.loai=d.ma left join medibv.v_loaibn" + " e on a.loaibn=e.id left join medibv.btdkp_bv f on a.makp=f.makp left join medibv.btdbn g on a.mabn=g.mabn " + "left join medibv.dmphai h on g.phai=h.ma " + aexp; //ton tamung sql += " union all "; sql += " select 1 as ton, a.mabn,g.hoten,case when g.ngaysinh is null then g.namsinh else " + "to_char(g.ngaysinh,'dd/mm/yyyy') end as namsinh,h.ten as gioitinh,a.id,to_char(a.ngay,'dd/mm/yyyy')" + " as ngay,b.sohieu,to_char(a.sobienlai,'9999999999') as sobienlai,a.sotien as sotienton," + " 0 as sotien,f.tenkp,d.ten as tenloaidv, e.ten as tenloaibn,a.lanin,c.hoten||' ('||c.userid||')' " + "as user, trim(g.sonha||' '||g.thon) as diachi"; sql += " from medibv" + mmyy + ".v_tontamung a left join medibv.v_quyenso b on a.quyenso=b.id" + " left join medibv.v_dlogin c on a.userid=c.id left join medibv.v_tenloaivp d on a.loai=d.ma left join" + " medibv.v_loaibn e on a.loaibn=e.id left join medibv.btdkp_bv f on a.makp=f.makp left join medibv.btdbn" + " g on a.mabn=g.mabn left join medibv.dmphai h on g.phai=h.ma " + aexp1; arg.Data = arg.m_v.get_data(sql); backgroundWorker1.ReportProgress(70); arg.Data.Tables[0].Columns.Add("chon", typeof(bool)); foreach (DataRow r in arg.Data.Tables[0].Rows) { r["chon"] = false; sohoadon++; asotienton += decimal.Parse(r["sotienton"].ToString()); } //m_dstamung.Dispose(); //m_dstamung = new DataSet(); //m_dstamung.Tables.Add(dt); arg.sohoadon = sohoadon; arg.asotienton = asotienton; e.Result = arg; //dataGridView1.DataSource = m_v.get_data_mmyy(sql, txtTN.Text.Substring(0, 10), txtTN.Text.Substring(0, 10), false).Tables[0]; //dgDanhsach.Update(); backgroundWorker1.ReportProgress(100); } catch { e.Result = null; } }
void fStatus_DoWork(BackgroundWorker sender, DoWorkEventArgs e) { ParamAsynResult agr = e.Argument as ParamAsynResult; string sql_exp = agr.SqlExp; sender.ReportProgress(10, "Đang tổng hợp số liệu....."); switch (agr.SelectCase) { case 0: //Nội trú { sql = "select distinct a.mabn,e.soluutru,c.hoten,substr(g.tuoivao,1,3)||decode(substr(g.tuoivao,4,1),0,'TU',decode(substr(g.tuoivao,4,1),1,'TH',decode(substr(g.tuoivao,4,1),2,'NG','GI'))) as tuoivao,case when c.phai =0 then 'NAM' else 'NỮ' end gioitinh,"; sql += "c.sonha,c.thon,i.tenpxa,j.tenquan,k.tentt,c.cholam ,"; sql += "d.quanhe||' '||d.hoten as quanhe,b.chandoan chandoanngt,nullif(e.chandoan,' ') chandoanrv,"; sql += "to_char(a.ngay,'dd/mm/yyyy hh24:mi') ngayvao,to_char(e.ngay,'dd/mm/yyyy hh24:mi') ngayra,nullif(f.ten,' ') ttlucrv,h.tenbv,b.mabv,a.ngay, bh.traituyen,(case bh.traituyen when 0 then 1 when 1 then 0 else null end) as dungtuyen"; sql += " from " + m.user + ".benhandt a inner join " + m.user + ".noigioithieu b on a.maql=b.maql inner join " + m.user + ".btdbn c on a.mabn=c.mabn left join " + m.user + ".quanhe d on a.maql=d.maql left join " + m.user + ".xuatvien e on a.maql=e.maql left join " + m.user + ".ttxk f on e.ttlucrv=f.ma left join " + m.user + ".lienhe g on a.maql=g.maql inner join " + m.user + ".dstt h on b.mabv=h.mabv inner join " + m.user + ".btdpxa i on c.maphuongxa=i.maphuongxa inner join " + m.user + ".btdquan j on c.maqu=j.maqu inner join " + m.user + ".btdtt k on c.matt=k.matt "; sql += " left join " + m.user + ".bhyt bh on bh.maql=a.maql "; sql += " where "; sql += " b.mabv<>'" + m.Mabv + "'"; ds = m.get_data(sql + sql_exp); sender.ReportProgress(90, "Hoàn tất."); break; } case 1: //Ngoai trú { sql = "select a.mabn,nullif(a.soluutru,' ') soluutru,c.hoten,substr(g.tuoivao,1,3)||decode(substr(g.tuoivao,4,1),0,'TU',decode(substr(g.tuoivao,4,1),1,'TH',decode(substr(g.tuoivao,4,1),2,'NG','GI'))) as tuoivao,case when c.phai =0 then 'NAM' else 'NỮ' end gioitinh,"; sql += "nullif(c.sonha,' ') sonha,nullif(c.thon,' ') thon,i.tenpxa,j.tenquan,k.tentt,c.cholam ,"; sql += "nullif(d.quanhe,' ')||' '||nullif(d.hoten,' ') as quanhe,b.chandoan chandoanngt,nullif(a.chandoan,' ') chandoanrv,"; sql += "to_char(a.ngay,'dd/mm/yyyy hh24:mi') ngayvao,to_char(a.ngayrv,'dd/mm/yyyy hh24:mi') ngayra,nullif(f.ten,' ') ttlucrv,h.tenbv,b.mabv,a.ngay,bh.traituyen,(case bh.traituyen when 0 then 1 when 1 then 0 else null end) as dungtuyen"; sql += " from " + m.user + ".benhanngtr a inner join " + m.user + ".noigioithieu b on a.maql=b.maql inner join " + m.user + ".btdbn c on a.mabn=c.mabn left join " + m.user + ".quanhe d on a.maql=d.maql left join " + m.user + ".ttxk f on a.ttlucrv=f.ma left join " + m.user + ".lienhe g on a.maql=g.maql inner join " + m.user + ".dstt h on b.mabv=h.mabv inner join " + m.user + ".btdpxa i on c.maphuongxa=i.maphuongxa inner join " + m.user + ".btdquan j on c.maqu=j.maqu inner join " + m.user + ".btdtt k on c.matt=k.matt "; sql += " left join " + m.user + ".bhyt bh on bh.maql=a.maql "; sql += " where "; sql += " b.mabv<>'" + m.Mabv + "'"; ds = m.get_data(sql + sql_exp); sender.ReportProgress(90, "Hoàn tất."); // ds.Merge(m.get_data_mmyy(sql + sql_exp, tu.Text, den.Text, false)); break; } case 2: // Phòng khám { sql = "select a.mabn,c.hoten,substr(g.tuoivao,1,3)||decode(substr(g.tuoivao,4,1),0,'TU',decode(substr(g.tuoivao,4,1),1,'TH',decode(substr(g.tuoivao,4,1),2,'NG','GI'))) as tuoivao,case when c.phai =0 then 'NAM' else 'NỮ' end gioitinh,"; sql += "nullif(c.sonha,' ') sonha,nullif(c.thon,' ') thon,i.tenpxa,j.tenquan,k.tentt,c.cholam ,"; sql += "nullif(d.quanhe,' ')||' '||nullif(d.hoten,' ') as quanhe,b.chandoan chandoanngt,nullif(a.chandoan,' ') chandoanrv,"; sql += "to_char(a.ngay,'dd/mm/yyyy hh24:mi') ngayvao,to_char(a.ngay,'dd/mm/yyyy hh24:mi') ngayra,nullif(f.ten,' ') ttlucrv,h.tenbv,b.mabv,a.ngay,bh.traituyen,(case bh.traituyen when 0 then 1 when 1 then 0 else null end) as dungtuyen"; sql += " from xxx.benhanpk a inner join xxx.noigioithieu b on a.maql=b.maql inner join " + m.user + ".btdbn c on a.mabn=c.mabn left join " + m.user + ".quanhe d on a.maql=d.maql left join " + m.user + ".ttxk f on a.ttlucrv=f.ma left join " + m.user + ".lienhe g on a.maql=g.maql inner join " + m.user + ".dstt h on b.mabv=h.mabv inner join " + m.user + ".btdpxa i on c.maphuongxa=i.maphuongxa inner join " + m.user + ".btdquan j on c.maqu=j.maqu inner join " + m.user + ".btdtt k on c.matt=k.matt "; sql += " left join xxx.bhyt bh on bh.maql=a.maql "; sql += " where "; sql += " b.mabv<>'" + m.Mabv + "'"; ds = m.get_data_mmyy(sql + sql_exp, agr.TuNgay, agr.DenNgay, false); sender.ReportProgress(90, "Hoàn tất."); break; } case 3: // tất cả { sql = "(select distinct a.mabn,c.hoten,substr(g.tuoivao,1,3)||decode(substr(g.tuoivao,4,1),0,'TU',decode(substr(g.tuoivao,4,1),1,'TH',decode(substr(g.tuoivao,4,1),2,'NG','GI'))) as tuoivao,case when c.phai =0 then 'NAM' else 'NỮ' end gioitinh,"; sql += "nullif(c.sonha,' ') sonha,nullif(c.thon,' ') thon,i.tenpxa,j.tenquan,k.tentt,c.cholam ,"; sql += "nullif(d.quanhe,' ')||' '||nullif(d.hoten,' ') as quanhe,b.chandoan chandoanngt,nullif(a.chandoan,' ') chandoanrv,"; sql += "to_char(a.ngay,'dd/mm/yyyy hh24:mi') ngayvao,to_char(a.ngay,'dd/mm/yyyy hh24:mi') ngayra,nullif(f.ten,' ') ttlucrv,h.tenbv,b.mabv,a.ngay,bh.traituyen,(case bh.traituyen when 0 then 1 when 1 then 0 else null end) as dungtuyen,varchar 'Phòng Khám' as loai"; sql += " from xxx.benhanpk a inner join xxx.noigioithieu b on a.maql=b.maql inner join " + m.user + ".btdbn c on a.mabn=c.mabn left join " + m.user + ".quanhe d on a.maql=d.maql left join " + m.user + ".ttxk f on a.ttlucrv=f.ma left join " + m.user + ".lienhe g on a.maql=g.maql inner join " + m.user + ".dstt h on b.mabv=h.mabv inner join " + m.user + ".btdpxa i on c.maphuongxa=i.maphuongxa inner join " + m.user + ".btdquan j on c.maqu=j.maqu inner join " + m.user + ".btdtt k on c.matt=k.matt "; sql += " left join xxx.bhyt bh on bh.maql=a.maql "; sql += " where "; sql += " b.mabv<>'" + m.Mabv + "'" + sql_exp; sql += ") union all "; sql += "select distinct a.mabn,c.hoten,substr(g.tuoivao,1,3)||decode(substr(g.tuoivao,4,1),0,'TU',decode(substr(g.tuoivao,4,1),1,'TH',decode(substr(g.tuoivao,4,1),2,'NG','GI'))) as tuoivao,case when c.phai =0 then 'NAM' else 'NỮ' end gioitinh,"; sql += "nullif(c.sonha,' ') sonha,nullif(c.thon,' ') thon,i.tenpxa,j.tenquan,k.tentt,c.cholam ,"; sql += "nullif(d.quanhe,' ')||' '||nullif(d.hoten,' ') as quanhe,b.chandoan chandoanngt,nullif(a.chandoan,' ') chandoanrv,"; sql += "to_char(a.ngay,'dd/mm/yyyy hh24:mi') ngayvao,to_char(a.ngay,'dd/mm/yyyy hh24:mi') ngayra,nullif(f.ten,' ') ttlucrv,h.tenbv,b.mabv,a.ngay,bh.traituyen,(case bh.traituyen when 0 then 1 when 1 then 0 else null end) as dungtuyen,varchar 'Phòng Cấp Cứu' as loai"; sql += " from xxx.benhancc a inner join xxx.noigioithieu b on a.maql=b.maql inner join " + m.user + ".btdbn c on a.mabn=c.mabn left join " + m.user + ".quanhe d on a.maql=d.maql left join " + m.user + ".ttxk f on a.ttlucrv=f.ma left join " + m.user + ".lienhe g on a.maql=g.maql inner join " + m.user + ".dstt h on b.mabv=h.mabv inner join " + m.user + ".btdpxa i on c.maphuongxa=i.maphuongxa inner join " + m.user + ".btdquan j on c.maqu=j.maqu inner join " + m.user + ".btdtt k on c.matt=k.matt "; sql += " left join xxx.bhyt bh on bh.maql=a.maql "; sql += " where "; sql += " b.mabv<>'" + m.Mabv + "'" + sql_exp; ds = m.get_data_mmyy(sql, agr.TuNgay, agr.DenNgay, false); sender.ReportProgress(65); sql = "(select distinct a.mabn,e.soluutru,c.hoten,substr(g.tuoivao,1,3)||decode(substr(g.tuoivao,4,1),0,'TU',decode(substr(g.tuoivao,4,1),1,'TH',decode(substr(g.tuoivao,4,1),2,'NG','GI'))) as tuoivao,case when c.phai =0 then 'NAM' else 'NỮ' end gioitinh,"; sql += "c.sonha,c.thon,i.tenpxa,j.tenquan,k.tentt,c.cholam ,"; sql += "d.quanhe||' '||d.hoten as quanhe,b.chandoan chandoanngt,nullif(e.chandoan,' ') chandoanrv,"; sql += "to_char(a.ngay,'dd/mm/yyyy hh24:mi') ngayvao,to_char(e.ngay,'dd/mm/yyyy hh24:mi') ngayra,nullif(f.ten,' ') ttlucrv,h.tenbv,b.mabv,a.ngay, bh.traituyen,(case bh.traituyen when 0 then 1 when 1 then 0 else null end) as dungtuyen,varchar 'Nội trú' as loai"; sql += " from " + m.user + ".benhandt a inner join " + m.user + ".noigioithieu b on a.maql=b.maql inner join " + m.user + ".btdbn c on a.mabn=c.mabn left join " + m.user + ".quanhe d on a.maql=d.maql left join " + m.user + ".xuatvien e on a.maql=e.maql left join " + m.user + ".ttxk f on e.ttlucrv=f.ma left join " + m.user + ".lienhe g on a.maql=g.maql inner join " + m.user + ".dstt h on b.mabv=h.mabv inner join " + m.user + ".btdpxa i on c.maphuongxa=i.maphuongxa inner join " + m.user + ".btdquan j on c.maqu=j.maqu inner join " + m.user + ".btdtt k on c.matt=k.matt "; sql += " left join " + m.user + ".bhyt bh on bh.maql=a.maql "; sql += " where "; sql += " b.mabv<>'" + m.Mabv + "'" + sql_exp; sql += ") union all "; sql += "select distinct a.mabn,nullif(a.soluutru,' ') soluutru,c.hoten,substr(g.tuoivao,1,3)||decode(substr(g.tuoivao,4,1),0,'TU',decode(substr(g.tuoivao,4,1),1,'TH',decode(substr(g.tuoivao,4,1),2,'NG','GI'))) as tuoivao,case when c.phai =0 then 'NAM' else 'NỮ' end gioitinh,"; sql += "nullif(c.sonha,' ') sonha,nullif(c.thon,' ') thon,i.tenpxa,j.tenquan,k.tentt,c.cholam ,"; sql += "nullif(d.quanhe,' ')||' '||nullif(d.hoten,' ') as quanhe,b.chandoan chandoanngt,nullif(a.chandoan,' ') chandoanrv,"; sql += "to_char(a.ngay,'dd/mm/yyyy hh24:mi') ngayvao,to_char(a.ngayrv,'dd/mm/yyyy hh24:mi') ngayra,nullif(f.ten,' ') ttlucrv,h.tenbv,b.mabv,a.ngay,bh.traituyen,(case bh.traituyen when 0 then 1 when 1 then 0 else null end) as dungtuyen,varchar 'Ngoại trú' as loai"; sql += " from " + m.user + ".benhanngtr a inner join " + m.user + ".noigioithieu b on a.maql=b.maql inner join " + m.user + ".btdbn c on a.mabn=c.mabn left join " + m.user + ".quanhe d on a.maql=d.maql left join " + m.user + ".ttxk f on a.ttlucrv=f.ma left join " + m.user + ".lienhe g on a.maql=g.maql inner join " + m.user + ".dstt h on b.mabv=h.mabv inner join " + m.user + ".btdpxa i on c.maphuongxa=i.maphuongxa inner join " + m.user + ".btdquan j on c.maqu=j.maqu inner join " + m.user + ".btdtt k on c.matt=k.matt "; sql += " left join " + m.user + ".bhyt bh on bh.maql=a.maql "; sql += " where "; sql += " b.mabv<>'" + m.Mabv + "'" + sql_exp; DataSet tm = m.get_data(sql); sender.ReportProgress(80); ds.Merge(tm); sender.ReportProgress(90, "Hoàn tất."); break; } } //DateTime mindate=DateTime.MaxValue, maxdate=DateTime.MinValue; //foreach (DataRow dsr in ds.Tables[0].Rows) //{ // maxdate = DateTime.FromOADate( Math.Max( maxdate.ToOADate() , ((DateTime)dsr["ngay"]).ToOADate())); // mindate = DateTime.FromOADate( Math.Min( mindate.ToOADate() , ((DateTime)dsr["ngay"]).ToOADate())); //} sender.ReportProgress(100, "Hoàn tất."); ParamAsynResult result = new ParamAsynResult(); result.ds = ds; result.NgayExp = agr.NgayExp; result.DiaDiemExp = agr.DiaDiemExp; e.Result = result; }