tijian_tieying/web/dccdc/showreport/hzbg.aspx.cs
2025-02-20 12:14:39 +08:00

187 lines
9.0 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<DataTable>(Newtonsoft.Json.JsonConvert.SerializeObject(bll.getReportByNum(report_num)));
DataTable dt2 = Newtonsoft.Json.JsonConvert.DeserializeObject<DataTable>(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<DataTable>(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<DataTable>(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"] = "成年男性120160g/L\r\n成年女性110150g / 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.4220μmolL";
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;
}
}
}
}