using System; using System.Data; using System.Web; using System.Web.Configuration; using System.Xml.Linq; using System.Web.Script.Serialization; namespace BeginScreen { /// /// RoomHandler 的摘要说明 /// public class RoomHandler : HandlerBase { private DateTime _beginDate; private DateTime _endDate; private int dSum; //数据表的总记录 private int startRecond; //起始记录 private int endRecond; //结束记录 private static int PageSum = 8; //每页显示的记录数 private int countPage; //总页数 private int currentPage; //当前页 private DataTable dts; #region 配置文件的属性 public static XElement xmlOpe = null; private string fontSize = "18px"; private string fontFamily = "微软雅黑"; private string rowOddBgColor = "#000000"; private string rowEvenBgColor = "#000000"; //private string opeBeforColor = "DodgerBlue"; //private string opeInColor = "yellow"; //private string opeAfterColor = "rgb(32, 218, 112)"; //private string opeInColor1 = "Orange"; //private string opeAfterColor1 = "Wheat"; //private string defaultColor = "LightSkyBlue"; //1 private string PatientNames = ""; private string OpeTime = ""; private string DeptId = ""; #endregion private string body = ""; private string messageStr = ""; private string systemType = ""; private string sendType = ""; private int messId = 0; private static void InitConfig() { #region 加载配置文件 string baseDirectory = AppDomain.CurrentDomain.BaseDirectory + "RoomConfig.xml"; xmlOpe = XElement.Load(baseDirectory); #endregion } public string GetHtml(HttpContext context) { //设置显示信息的开始和结束时间 InitConfig(); SetViewTime(); currentPage = int.Parse(xmlOpe.Element("currentPage").Value); PatientNames = xmlOpe.Element("PatientName").Value; OpeTime = xmlOpe.Element("OpeTime").Value; DeptId = xmlOpe.Element("DeptId").Value; DataTable dt = new DataTable(); dt = PublicMethod.GetPlanNoticeNew(_beginDate, _endDate, OpeTime == "" ? "5" : OpeTime, DeptId); dts = dt; //总记录数 dSum = dts.Rows.Count; countPage = GetPageCount(); string tdRows = string.Empty; if (HttpContext.Current.Request["WorkerCurrentPage"] != null && HttpContext.Current.Request["WorkerCurrentPage"] != "") { LoadWaitNurseOpe(Convert.ToInt32(HttpContext.Current.Request["WorkerCurrentPage"])); } JavaScriptSerializer jss = new JavaScriptSerializer(); message1 msg = new message1(true, body, messageStr, systemType, sendType, messId, countPage.ToString(), ""); context.Response.Write(jss.Serialize(msg));//返回给前台页面 context.Response.End(); return body; } #region //计算总页数 public int GetPageCount() { if (PageSum == 0) PageSum = 8; //每页显示的记录条数为"0",则默认为"20" if (dSum % PageSum == 0) return (dSum / PageSum); else return (dSum / PageSum) + 1; } #endregion /// /// 加载所有手术状态为“术前、术中、”的申请信息 /// /// /// private void LoadWaitNurseOpe(int curPage) { //每次去查询时,要更新一下记录总数,RecondSum,每一页显示的记录数为,PageSum , body = ""; messageStr = ""; systemType = ""; sendType = ""; curPage -= 1; startRecond = curPage * PageSum; endRecond = startRecond + PageSum; string tdRows = ""; for (int i = startRecond; i < endRecond; i++) { try { string tdRow = ""; if (i >= dSum) { tdRow += "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"; } else { string intApplyID = dts.Rows[i]["ApplyId"].ToString(); string OperationRoom = dts.Rows[i]["OperationRoom"].ToString(); string vchrOpeStatus = dts.Rows[i]["State"].ToString(); string vchrFactBeginTime = ""; vchrFactBeginTime = dts.Rows[i]["OperationBeginTime"].ToString(); if (vchrFactBeginTime.Trim().ToString() != "") { vchrFactBeginTime = Convert.ToDateTime(vchrFactBeginTime).ToString("HH:mm"); } if (vchrOpeStatus == "") continue; string rowStyle = ""; if (i % 2 == 0) { rowStyle = " height='35px' bgcolor='" + rowEvenBgColor + "' style='font-size:" + fontSize + ";font-family:" + fontFamily + ";' ";//font-weight:bold; } else { rowStyle = " height='35px' bgcolor='" + rowOddBgColor + "' style='font-size:" + fontSize + "; font-family:" + fontFamily + ";' ";//font-weight:bold; } switch (vchrOpeStatus) { case "等待手术": //rowStyle += " color:" + defaultColor + ";'"; break; case "手术准备": //rowStyle += " color:" + defaultColor + ";'"; break; case "手术中": //rowStyle += " color:" + defaultColor + ";'"; break; case "术后恢复": break; case "手术结束转恢复室": break; case "手术结束安返病房": break; case "转入复苏室": break; case "离开复苏室": break; case "手术结束": //rowStyle += " color:" + defaultColor + ";'"; break; default: break; } tdRow += ""; tdRow += "" + OperationRoom + ""; tdRow += "" + dts.Rows[i]["ApplyDepName"] + ""; tdRow += "" + dts.Rows[i]["PatientName"] + ""; string SZOperation = dts.Rows[i]["OperationInfo"].ToString(); tdRow += "" + SZOperation + ""; #region 读取医生的条件 string SZOperationDoctor = dts.Rows[i]["OperationDoctor"].ToString(); tdRow += "" + SZOperationDoctor + ""; #endregion #region 读取麻醉医生2 string SZAnesthesiaDoctor = dts.Rows[i]["AnesthesiaDoctor"].ToString(); SZAnesthesiaDoctor = SZAnesthesiaDoctor == "" ? "- -" : SZAnesthesiaDoctor; if (SZAnesthesiaDoctor.Contains(",")) { SZAnesthesiaDoctor = SZAnesthesiaDoctor.Replace(',', '/'); } tdRow += "" + SZAnesthesiaDoctor + ""; #endregion #region 读取器械护士巡回护士 string SZTourNurse = dts.Rows[i]["TourNurse"].ToString(); string SZInstrumentNurse = dts.Rows[i]["InstrumentNurse"].ToString(); if (SZInstrumentNurse == "") SZInstrumentNurse = "- -"; if (SZTourNurse == "") SZTourNurse = "- -"; tdRow += "" + SZInstrumentNurse + "/" + SZTourNurse + ""; #endregion tdRow += "" + vchrFactBeginTime + ""; tdRow += "" + vchrOpeStatus + ""; } tdRow += ""; tdRows += tdRow; } catch (Exception) { } } //显示备注等 body += tdRows; GetT_Inform(); } /// /// 获取通知档的内容 /// private void GetT_Inform() { DataRow dr = PublicMethod.GetMessigeData(); if (dr != null) { if (dr["Contents"] != null && dr["Contents"].ToString().Trim() != "") { messageStr = dr["Contents"].ToString().Trim(); } systemType = "0"; if (dr["Id"] != null && dr["Id"].ToString().Trim() != "") { messId = Convert.ToInt32(dr["Id"].ToString().Trim()); } } } private void SetViewTime() { _beginDate = PublicMethod.ServerTime().Date.AddSeconds(1); _endDate = PublicMethod.ServerTime().Date.AddHours(23).AddMinutes(59).AddSeconds(59); } public void GetHtmlTime(HttpContext context) { DateTime dt = PublicMethod.ServerTime(); context.Response.Write(dt.ToString());//返回给前台页面 context.Response.End(); } } }