using Microsoft.Reporting.WebForms; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using dccdc.BLL; namespace dccdc.showreport { public partial class hzbg : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { string report_num = Request.QueryString["report_num"]; var bll = new occupation_reportBll(); hzbgview.LocalReport.ReportPath = Server.MapPath("~/report/hzbg.rdlc"); //绑定报表数据源 DataTable dt1 = Newtonsoft.Json.JsonConvert.DeserializeObject(Newtonsoft.Json.JsonConvert.SerializeObject(bll.getReportByNum(report_num))); DataTable dt2 = Newtonsoft.Json.JsonConvert.DeserializeObject(Newtonsoft.Json.JsonConvert.SerializeObject(bll.getDw(dt1.Rows[0]["subject_company"].ToString()))); string jsonData2 = Newtonsoft.Json.JsonConvert.SerializeObject(bll.getRegisterById(dt1.Rows[0]["person_ids"].ToString().Trim(','))); DataTable registerDt = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonData2); DataView dvWjyc = registerDt.DefaultView; dvWjyc.RowFilter = "main_review like '%未见%'"; DataTable dtWjyc = dvWjyc.ToTable();//未见明显异常数据 DataView dvFc = registerDt.DefaultView; dvFc.RowFilter = "main_review like '%复查%' and physical_num_old is null"; DataTable dtFc = dvFc.ToTable(); //复检数据 DataView dvwFc = registerDt.DefaultView; dvwFc.RowFilter = "physical_num is null and physical_num_old is not null"; DataTable dtwFc = dvwFc.ToTable(); //复检数据 foreach (DataRow dr in dtwFc.Rows) dr["main_result"] = ""; DataView dvYc = registerDt.DefaultView; dvYc.RowFilter = "main_review not like '%未见%' and main_review not like '%复查%' and main_review not like '%疑似职业病%' and main_review not like '%职业禁忌证%'"; DataTable dtYc = dvYc.ToTable(); //异常数据 DataView dvYszyb = registerDt.DefaultView; dvYszyb.RowFilter = "main_review like '%疑似职业病%'"; DataTable dtYszyb = dvYszyb.ToTable();//职业病数据 DataView dvZyjjz = registerDt.DefaultView; dvZyjjz.RowFilter = "main_review like '%职业禁忌证%'"; DataTable dtZyjjz = dvZyjjz.ToTable(); //职业禁忌证 string jsonData4 = Newtonsoft.Json.JsonConvert.SerializeObject(bll.getHazards(dt1.Rows[0]["person_ids"].ToString().Trim(',')));// wc.DownloadString( _url + "Summary/getHazards?ids=" + hzbgDt.Rows[0]["person_ids"].ToString()); DataTable hazardsDt = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonData4); if (hazardsDt.Rows.Count != 0) { //职业病危害因素 //re.SetParameterValue("hazards", hazardsDt.Rows[0]["Hazards"].ToString()); hzbgview.LocalReport.SetParameters(new ReportParameter("hazards", hazardsDt.Rows[0]["Hazards"].ToString())); } else { hzbgview.LocalReport.SetParameters(new ReportParameter("hazards", "")); } string jsonData7 = bll.getJcxm(hazardsDt.Rows[0]["Hazards"].ToString(), dt1.Rows[0]["status"].ToString()); //re.SetParameterValue("jcxm", jsonData7); hzbgview.LocalReport.SetParameters(new ReportParameter("jcxm", jsonData7)); DataTable ckz = new DataTable(); ckz.Columns.Add("mc"); ckz.Columns.Add("fh"); ckz.Columns.Add("ckz"); DataRow ckz1 = ckz.NewRow(); ckz1["mc"] = "白细胞"; ckz1["fh"] = "WBC"; ckz1["ckz"] = "4.0-10×10^9/L"; ckz.Rows.Add(ckz1); DataRow ckz2 = ckz.NewRow(); ckz2["mc"] = "血红蛋白"; ckz2["fh"] = "HG或HGB"; ckz2["ckz"] = "成年男性:120~160g/L\r\n成年女性:110~150g / L"; ckz.Rows.Add(ckz2); DataRow ckz3 = ckz.NewRow(); ckz3["mc"] = "血小板"; ckz3["fh"] = "PLT"; ckz3["ckz"] = "100-300×10^9/L"; ckz.Rows.Add(ckz3); DataRow ckz4 = ckz.NewRow(); ckz4["mc"] = "葡萄糖"; ckz4["fh"] = "GLU"; ckz4["ckz"] = "3.89-6.11mmol/L"; ckz.Rows.Add(ckz4); DataRow ckz5 = ckz.NewRow(); ckz5["mc"] = "总胆固醇"; ckz5["fh"] = "CHOL"; ckz5["ckz"] = "3.1-5.7mmol/L"; ckz.Rows.Add(ckz5); DataRow ckz6 = ckz.NewRow(); ckz6["mc"] = "甘油三酯"; ckz6["fh"] = "TG"; ckz6["ckz"] = "0.56-1.71mmol/L"; ckz.Rows.Add(ckz6); DataRow ckz7 = ckz.NewRow(); ckz7["mc"] = "高密度脂蛋白"; ckz7["fh"] = ""; ckz7["ckz"] = ""; ckz.Rows.Add(ckz7); DataRow ckz8 = ckz.NewRow(); ckz8["mc"] = "丙氨酸转氨酶"; ckz8["fh"] = "ALT"; ckz8["ckz"] = "0-40U/L"; ckz.Rows.Add(ckz8); DataRow ckz9 = ckz.NewRow(); ckz9["mc"] = "谷氨酰转移酶"; ckz9["fh"] = "GGT"; ckz9["ckz"] = "0-50 U/L"; ckz.Rows.Add(ckz9); DataRow ckz10 = ckz.NewRow(); ckz10["mc"] = "总蛋白"; ckz10["fh"] = "TP"; ckz10["ckz"] = "60-80g/L"; ckz.Rows.Add(ckz10); DataRow ckz11 = ckz.NewRow(); ckz11["mc"] = "总胆红素"; ckz11["fh"] = "TBIL"; ckz11["ckz"] = "3.42~20μmol/L"; ckz.Rows.Add(ckz11); DataRow ckz12 = ckz.NewRow(); ckz12["mc"] = "血压"; ckz12["fh"] = "BP"; ckz12["ckz"] = "收缩压90-140mmHg\r\n舒张压60 - 90 mmHg"; ckz.Rows.Add(ckz12); string jsonData6 = bll.getZyjkjc(hazardsDt.Rows[0]["Hazards"].ToString(), dt1.Rows[0]["status"].ToString()); //获取检查项目 //re.SetParameterValue("jkjcmd", jsonData6); hzbgview.LocalReport.SetParameters(new ReportParameter("jkjcmd", jsonData6)); ReportDataSource Table1 = new ReportDataSource("Table1", dt1); ReportDataSource Table2 = new ReportDataSource("Table2", dt2); ReportDataSource fc = new ReportDataSource("fc", dtFc); ReportDataSource yc = new ReportDataSource("yc", dtYc); ReportDataSource wjyc = new ReportDataSource("wjyc", dtWjyc); ReportDataSource yszyb = new ReportDataSource("yszyb", dtYszyb); ReportDataSource zyjjz = new ReportDataSource("zyjjz", dtZyjjz); ReportDataSource ckzdt = new ReportDataSource("ckz", ckz); ReportDataSource rwfcdt = new ReportDataSource("w", dtwFc); hzbgview.LocalReport.DataSources.Clear(); hzbgview.LocalReport.DataSources.Add(Table1); hzbgview.LocalReport.DataSources.Add(Table2); hzbgview.LocalReport.DataSources.Add(fc); hzbgview.LocalReport.DataSources.Add(yc); hzbgview.LocalReport.DataSources.Add(wjyc); hzbgview.LocalReport.DataSources.Add(yszyb); hzbgview.LocalReport.DataSources.Add(zyjjz); hzbgview.LocalReport.DataSources.Add(ckzdt); hzbgview.LocalReport.DataSources.Add(rwfcdt); hzbgview.LocalReport.SetParameters(new ReportParameter("perCount", registerDt.Select("physical_num_old is null").Length.ToString())); //hzbgview.LocalReport.SetParameters(new ReportParameter("jcxm", "体检项目")); hzbgview.LocalReport.Refresh(); } } catch (Exception e1) { throw e1; } } } }