AIMS/BeginScreen/RoomHandler.ashx.cs
2023-03-01 00:21:03 +08:00

262 lines
11 KiB
C#
Raw 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 System;
using System.Data;
using System.Web;
using System.Web.Configuration;
using System.Xml.Linq;
using System.Web.Script.Serialization;
namespace BeginScreen
{
/// <summary>
/// RoomHandler 的摘要说明
/// </summary>
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
/// <summary>
/// 加载所有手术状态为“术前、术中、”的申请信息
/// </summary>
/// <param name="m"></param>
/// <param name="n"></param>
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 = "<tr>";
if (i >= dSum)
{
tdRow += "<td align=\"center\" height=\"35px\" ></td>\r\n<td align=\"center\" height=\"35px\" ></td>\r\n<td align=\"center\" height=\"35px\" ></td>\r\n<td align=\"center\" height=\"35px\" ></td>\r\n<td align=\"center\" height=\"35px\" ></td>\r\n<td align=\"center\" height=\"35px\" ></td>\r\n<td align=\"center\" height=\"35px\" ></td>\r\n<td align=\"center\" height=\"35px\" ></td>\r\n<td align=\"center\" height=\"35px\" ></td>\r\n<td align=\"center\" height=\"35px\" ></td>";
}
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 += "<td align='center' " + rowStyle + "></td>";
tdRow += "<td align='center' " + rowStyle + ">" + OperationRoom + "</td>";
tdRow += "<td align='center' " + rowStyle + ">" + dts.Rows[i]["ApplyDepName"] + "</td>";
tdRow += "<td align='center' " + rowStyle + ">" + dts.Rows[i]["PatientName"] + "</td>";
string SZOperation = dts.Rows[i]["OperationInfo"].ToString();
tdRow += "<td align='center' height='35px' bgcolor='" + rowOddBgColor + "' style='font-size:16px; font-family:微软雅黑;' >" + SZOperation + "</td>";
#region
string SZOperationDoctor = dts.Rows[i]["OperationDoctor"].ToString();
tdRow += "<td align='center' " + rowStyle + ">" + SZOperationDoctor + "</td>";
#endregion
#region 2
string SZAnesthesiaDoctor = dts.Rows[i]["AnesthesiaDoctor"].ToString();
SZAnesthesiaDoctor = SZAnesthesiaDoctor == "" ? "- -" : SZAnesthesiaDoctor;
if (SZAnesthesiaDoctor.Contains(","))
{
SZAnesthesiaDoctor = SZAnesthesiaDoctor.Replace(',', '/');
}
tdRow += "<td align='center' " + rowStyle + ">" + SZAnesthesiaDoctor + "</td>";
#endregion
#region
string SZTourNurse = dts.Rows[i]["TourNurse"].ToString();
string SZInstrumentNurse = dts.Rows[i]["InstrumentNurse"].ToString();
if (SZInstrumentNurse == "") SZInstrumentNurse = "- -";
if (SZTourNurse == "") SZTourNurse = "- -";
tdRow += "<td align='center' " + rowStyle + ">" + SZInstrumentNurse + "/" + SZTourNurse + "</td>";
#endregion
tdRow += "<td align='center' " + rowStyle + ">" + vchrFactBeginTime + "</td>";
tdRow += "<td align='center' " + rowStyle + ">" + vchrOpeStatus + "</td>";
}
tdRow += "</tr>";
tdRows += tdRow;
}
catch (Exception)
{
}
}
//显示备注等
body += tdRows;
GetT_Inform();
}
/// <summary>
/// 获取通知档的内容
/// </summary>
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();
}
}
}