586 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			586 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | ||
| using System.Collections.Generic;
 | ||
| using System.Linq;
 | ||
| using System.Web;
 | ||
| using System.Data;
 | ||
| using System.Xml.Linq;
 | ||
| using System.Web.Script.Serialization;
 | ||
| using System.Text;
 | ||
| using System.Net;
 | ||
| using System.Xml;
 | ||
| 
 | ||
| namespace BeginScreen
 | ||
| {
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// OpeRoomPlanNoticeHandler 的摘要说明
 | ||
|     /// </summary>
 | ||
|     public class OpeRoomPlanNoticeHandler : Handler1
 | ||
|     {
 | ||
| 
 | ||
| 
 | ||
|         private DateTime dtpBeginDate;
 | ||
|         private DateTime dtpEndDate;
 | ||
|         private int dSum = 0; //数据表的总记录
 | ||
|         private int startRecond; //起始记录
 | ||
|         private int endRecond = 0; //结束记录
 | ||
|         private int PageSum = 9; //每页显示的记录数
 | ||
|         private static int countPage = 0; //总页数
 | ||
|         private int WorkerCurrentPage = 1; //当前页
 | ||
|         private DataTable dts;
 | ||
| 
 | ||
|         private DataTable dtsnew;
 | ||
|         private string opeInColor1 = "Orange";
 | ||
| 
 | ||
|         private DataTable InfoDataTable = new DataTable();
 | ||
| 
 | ||
|         #region 配置文件的属性
 | ||
|         public XElement xmlOpe = null;
 | ||
| 
 | ||
|         private string fontFamily = "黑体";
 | ||
|         private string fontSize = "24px";
 | ||
|         private string rowOddBgColor = "#000000";
 | ||
|         private string rowEvenBgColor = "#000000";
 | ||
|         private string opeBeforColor = "#f4fd04";
 | ||
|         private string opeInColor = "#fd0001";
 | ||
|         //private string opeInColor = "lime";
 | ||
|         private string opeAfterColor = "rgb(32, 218, 112)";
 | ||
|         private string defaultColor = "LightSkyBlue";
 | ||
|         private string OpeTime = "";
 | ||
|         private string DeptId = "";
 | ||
| 
 | ||
| 
 | ||
|         string clientip = "";
 | ||
|         string strIp = "";
 | ||
|         string stRoomName = "";
 | ||
|         string RoomId = "";
 | ||
|         #endregion
 | ||
| 
 | ||
|         public void GetHtml(HttpContext context)
 | ||
|         {
 | ||
|             string baseDirectory = AppDomain.CurrentDomain.BaseDirectory + "ConfigNoticeXML.xml";
 | ||
|             xmlOpe = XElement.Load(baseDirectory);
 | ||
|             WorkerCurrentPage = int.Parse(xmlOpe.Element("WorkerCurrentPage").Value);
 | ||
|             OpeTime = xmlOpe.Element("OpeTime").Value;
 | ||
|             DeptId = xmlOpe.Element("DeptId").Value;
 | ||
|             SetViewTime();
 | ||
|             DataTable dt = new DataTable();
 | ||
|             dt = PublicMethod.GetPlanNoticeNew(dtpBeginDate, dtpEndDate, OpeTime == "" ? "5" : OpeTime, DeptId); 
 | ||
|             dts = dt; 
 | ||
|             //总记录数
 | ||
|             dSum = dts.Rows.Count;
 | ||
|             countPage = GetPageCount();
 | ||
|             //currentPage = 1;
 | ||
|             //首先判断数据库中的记录数是否大于每一屏显示的数 chengxg@yahoo.cn;
 | ||
|             string tdRows = string.Empty;
 | ||
|             if (HttpContext.Current.Request["WorkerCurrentPage"] != null && HttpContext.Current.Request["WorkerCurrentPage"] != "")
 | ||
|             {
 | ||
|                 tdRows = LoadWaitNurseOpe(Convert.ToInt32(HttpContext.Current.Request["WorkerCurrentPage"]));
 | ||
|             }
 | ||
|             JavaScriptSerializer jss = new JavaScriptSerializer();
 | ||
|             message msg = new message(true, tdRows, countPage.ToString(), WorkerCurrentPage.ToString());
 | ||
|             context.Response.Write(jss.Serialize(msg));//返回给前台页面  
 | ||
|             context.Response.End();
 | ||
|         }
 | ||
| 
 | ||
|         #region 计算总页数
 | ||
| 
 | ||
|         public int GetPageCount()
 | ||
|         {
 | ||
|             if (PageSum == 0)
 | ||
|                 PageSum = 9; //每页显示的记录条数为"0",则默认为"20" 
 | ||
|             if (dSum % PageSum == 0)
 | ||
|                 return (dSum / PageSum);
 | ||
|             else
 | ||
|                 return (dSum / PageSum) + 1;
 | ||
|         }
 | ||
| 
 | ||
|         #endregion 
 | ||
| 
 | ||
|         private string LoadWaitNurseOpe(int curPage)
 | ||
|         {
 | ||
|             ///创建表
 | ||
|             //CreateTable();
 | ||
|             //插入表头
 | ||
|             //InsertTitle();
 | ||
|             ///创建列名{ "状态", "手术间","科室", "时间", "姓名", "手术名称", "手术医生", "麻醉医生", "洗手护士", "巡回护士" };
 | ||
|             //string[] colsName = { "", "术间", "科室", "姓名", "手术名称", "手术医生", "麻醉医生", "护士", "时间", "状态" };
 | ||
|             //string[] colsWidth = { "1%", "5%", "13%", "8%", "19%", "9%", "14%", "14%", "8%", "9%" };
 | ||
|             //InsertCols(colsName, colsWidth);
 | ||
| 
 | ||
|             curPage -= 1;
 | ||
|             startRecond = curPage * PageSum;
 | ||
|             endRecond = startRecond + PageSum;
 | ||
|             try
 | ||
|             {
 | ||
|                 //状态vchrOpeStatus 手术间vchrOperatingRoomName 时间BeginTime 姓名vchrPatientName 
 | ||
|                 //手术名称vchrOperationName术者 麻醉者 器械 巡回
 | ||
|                 string tdRows = "";
 | ||
|                 for (int i = startRecond; i < endRecond; i++)
 | ||
|                 {
 | ||
|                     string tdRow = "<tr>";
 | ||
|                     if (i >= dSum)
 | ||
|                     {
 | ||
|                         tdRow += "<td colspan='9'> </td>";
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         #region 内容的着色设置
 | ||
|                         string rowStyle = "";
 | ||
|                         if (i % 2 == 0)
 | ||
|                         {
 | ||
|                             rowStyle = "bgcolor='" + rowEvenBgColor +
 | ||
|                                        "' align=center valie=middle style='border-bottom:1px solid #629069; height:50px; font-size:" +
 | ||
|                                        fontSize + ";font-weight:bold; vertical-align: middle; font-family:\"" + fontFamily + "\"; ";
 | ||
|                         }
 | ||
|                         else
 | ||
|                         {
 | ||
|                             rowStyle = "bgcolor='" + rowOddBgColor +
 | ||
|                                        "' align=center valie=middle style='border-bottom:1px solid #629069; height:50px; font-size:" +
 | ||
|                                        fontSize + ";font-weight:bold;  vertical-align: middle; font-family:\"" + fontFamily + "\"; ";
 | ||
|                         }
 | ||
|                         string intApplyID = dts.Rows[i]["ApplyId"].ToString();
 | ||
|                         string vchrOpeStatus = dts.Rows[i]["State"].ToString();//PublicMethod.GetOpeStatus(dts.Rows[i]);
 | ||
|                         if (vchrOpeStatus == "") continue;
 | ||
|                         string opeStatu = "";
 | ||
|                         string vchrFactBeginTime = "";
 | ||
|                         vchrFactBeginTime = dts.Rows[i]["OperationBeginTime"].ToString();// == "" ? dts.Rows[i]["OrderOperationTime"].ToString() : dts.Rows[i]["InRoomTime"].ToString();
 | ||
|                         if (vchrFactBeginTime.Trim().ToString() != "")
 | ||
|                         {
 | ||
|                             vchrFactBeginTime = Convert.ToDateTime(vchrFactBeginTime).ToString("HH:mm");
 | ||
|                         }
 | ||
|                         else vchrFactBeginTime = "- -";
 | ||
|                         string OperationRoom = dts.Rows[i]["OperationRoom"].ToString();// dts.Rows[i]["SZOperationRoom"].ToString() == "" ? dts.Rows[i]["SqOperationRoom"].ToString() : dts.Rows[i]["SZOperationRoom"].ToString();
 | ||
|                         switch (vchrOpeStatus)
 | ||
|                         {
 | ||
|                             case "等待手术":
 | ||
|                                 opeStatu = "等待手术";
 | ||
|                                 rowStyle += " color:" + defaultColor + ";'";
 | ||
|                                 OperationRoom = dts.Rows[i]["OperationRoom"].ToString();
 | ||
|                                 break;
 | ||
|                             case "手术准备":
 | ||
|                                 opeStatu = "手术准备";
 | ||
|                                 rowStyle += " color:" + opeBeforColor + ";'";  //2
 | ||
|                                 OperationRoom = dts.Rows[i]["OperationRoom"].ToString();
 | ||
|                                 break;
 | ||
|                             case "手术进行中":
 | ||
|                                 opeStatu = "手术中";
 | ||
|                                 rowStyle += " color:" + opeInColor + ";'";
 | ||
|                                 OperationRoom = dts.Rows[i]["OperationRoom"].ToString();
 | ||
|                                 break;
 | ||
|                             case "术后恢复":
 | ||
|                                 opeStatu = "手术结束";
 | ||
|                                 rowStyle += " color:" + opeAfterColor + ";'";
 | ||
|                                 OperationRoom = dts.Rows[i]["OperationRoom"].ToString();
 | ||
|                                 break; 
 | ||
|                             case "手术结束":
 | ||
|                                 opeStatu = "手术结束";
 | ||
|                                 rowStyle += " color:" + opeAfterColor + ";'";
 | ||
|                                 OperationRoom = dts.Rows[i]["OperationRoom"].ToString();
 | ||
|                                 //OperationRoom = dts.Rows[i]["PACUBed"].ToString();
 | ||
|                                 break;
 | ||
|                             case "手术拒绝":
 | ||
|                                 opeStatu = "手术拒绝";
 | ||
|                                 rowStyle += " color:#B559F5;'";
 | ||
|                                 break;
 | ||
|                             default:
 | ||
|                                 break;
 | ||
|                         }
 | ||
|                         #endregion
 | ||
|                         tdRow += "<td align='center' " + rowStyle + "></td>";
 | ||
|                         tdRow += "<td align='center' " + rowStyle + ">" + OperationRoom + "</td>";
 | ||
|                         #region 科室和申请科室
 | ||
|                         string Depatrtment = dts.Rows[i]["ApplyDepName"].ToString() ;
 | ||
|                         tdRow += "<td align='center'" + rowStyle + ">" + Depatrtment + "</td>";
 | ||
|                         #endregion
 | ||
|                         tdRow += "<td align='center' " + rowStyle + ">" + dts.Rows[i]["PatientName"] + "</td>";
 | ||
|                         string SZOperation = dts.Rows[i]["OperationInfo"].ToString()  ;
 | ||
|                         tdRow += "<td align='center' " + rowStyle + ">" + 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 + ">" + opeStatu + "</td>";
 | ||
| 
 | ||
|                     }
 | ||
|                     tdRow += "</tr>";
 | ||
|                     tdRows += tdRow;
 | ||
|                 }
 | ||
|                 //htmlbody = tdRows == "" ? htmlbody : body.Replace("{rows}", tdRows);
 | ||
|                 return tdRows;
 | ||
|             }
 | ||
|             catch (Exception exp)
 | ||
|             {
 | ||
|                 return "";
 | ||
|                 throw;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         private void SetViewTime()
 | ||
|         {
 | ||
|             dtpBeginDate = PublicMethod.ServerTime().Date.AddSeconds(1);
 | ||
|             dtpEndDate = PublicMethod.ServerTime().Date.AddHours(23).AddMinutes(59).AddSeconds(59);
 | ||
| 
 | ||
|             //dtpBeginDate = Convert.ToDateTime("2018-01-16 00:00:01");
 | ||
|             //dtpEndDate = Convert.ToDateTime("2018-01-16 23:59:59");
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         public void GetHtmlTime(HttpContext context)
 | ||
|         {
 | ||
|             DateTime dt = PublicMethod.ServerTime();
 | ||
|             context.Response.Write(dt.ToString());//返回给前台页面  
 | ||
|             context.Response.End();
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
|         #region 手术间信息相关信息显示
 | ||
|         public void GetCurrentOperator(HttpContext context)
 | ||
|         {
 | ||
|             GetRoomNameByIp(context);
 | ||
|             string baseDirectory = AppDomain.CurrentDomain.BaseDirectory + "ConfigNoticeXML.xml";
 | ||
|             xmlOpe = XElement.Load(baseDirectory);
 | ||
|             WorkerCurrentPage = int.Parse(xmlOpe.Element("WorkerCurrentPage").Value);
 | ||
|             OpeTime = xmlOpe.Element("OpeTime").Value;
 | ||
|             SetViewTime();
 | ||
|             // string  dtpBeginDate = PublicMethod.ServerTime().ToString("yyyy-MM-dd 00:00:00");
 | ||
|             dtsnew = PublicMethod.GetOperationRoomPlan(dtpBeginDate, dtpEndDate, OpeTime == "" ? "5" : OpeTime, stRoomName);
 | ||
|             //总记录数
 | ||
|             dSum = dtsnew.Rows.Count;
 | ||
|             countPage = GetPageCount();
 | ||
|             //currentPage = 1;
 | ||
|             //首先判断数据库中的记录数是否大于每一屏显示的数 chengxg@yahoo.cn;
 | ||
|             string tdRows = string.Empty;
 | ||
|             if (HttpContext.Current.Request["WorkerCurrentPage"] != null && HttpContext.Current.Request["WorkerCurrentPage"] != "")
 | ||
|             {
 | ||
|                 tdRows = LoadWaitNurseOpe1(Convert.ToInt32(HttpContext.Current.Request["WorkerCurrentPage"]));
 | ||
|             }
 | ||
|             //GetCurrentOperationOperatorInfo();
 | ||
|             JavaScriptSerializer jss = new JavaScriptSerializer();
 | ||
|             message msg = new message(true, tdRows, countPage.ToString(), WorkerCurrentPage.ToString());
 | ||
|             context.Response.Write(jss.Serialize(msg));//返回给前台页面  
 | ||
|             context.Response.End();
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
|         private void GetRoomNameByIp(HttpContext context)
 | ||
|         {
 | ||
|             clientip = "192.168.0.1";//context.Request.UserHostAddress.ToString(); //
 | ||
|             string baseDirectory = AppDomain.CurrentDomain.BaseDirectory + "IPAndRoom.xml";
 | ||
|             XmlDocument doc = new XmlDocument();
 | ||
|             doc.Load(baseDirectory);
 | ||
|             XmlElement rootElem = doc.DocumentElement;   //获取根节点  
 | ||
|             XmlNodeList ipNodes = rootElem.GetElementsByTagName("IpAdress"); //获取person子节点集合  
 | ||
|             foreach (XmlNode node in ipNodes)
 | ||
|             {
 | ||
|                 strIp = ((XmlElement)node).GetAttribute("name");
 | ||
|                 if (clientip == strIp)
 | ||
|                 {
 | ||
|                     XmlNodeList subRoomNameNodes = ((XmlElement)node).GetElementsByTagName("RoomName");  //获取age子XmlElement集合  
 | ||
|                     if (subRoomNameNodes != null)
 | ||
|                     {
 | ||
|                         stRoomName = subRoomNameNodes[0].InnerText;
 | ||
|                         DataTable Roomdt = PublicMethod.GetRoomInfo(stRoomName);
 | ||
|                         if (Roomdt.Rows.Count > 0)
 | ||
|                         {
 | ||
|                             RoomId = Roomdt.Rows[0]["Id"].ToString();
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|             }
 | ||
|         }
 | ||
|         public void GetRoomName(HttpContext context)
 | ||
|         {
 | ||
|             if (stRoomName == "")
 | ||
|             {
 | ||
|                 clientip = "192.168.0.1"; //context.Request.UserHostAddress.ToString(); //
 | ||
|                 string baseDirectory = AppDomain.CurrentDomain.BaseDirectory + "IPAndRoom.xml";
 | ||
|                 XmlDocument doc = new XmlDocument();
 | ||
|                 doc.Load(baseDirectory);
 | ||
|                 XmlElement rootElem = doc.DocumentElement;   //获取根节点  
 | ||
|                 XmlNodeList ipNodes = rootElem.GetElementsByTagName("IpAdress"); //获取person子节点集合  
 | ||
|                 foreach (XmlNode node in ipNodes)
 | ||
|                 {
 | ||
|                     strIp = ((XmlElement)node).GetAttribute("name");
 | ||
|                     if (clientip == strIp)
 | ||
|                     {
 | ||
|                         XmlNodeList subRoomNameNodes = ((XmlElement)node).GetElementsByTagName("RoomName");  //获取age子XmlElement集合  
 | ||
|                         if (subRoomNameNodes != null)
 | ||
|                         {
 | ||
|                             stRoomName = subRoomNameNodes[0].InnerText;
 | ||
|                         }
 | ||
|                         break;
 | ||
|                     }
 | ||
| 
 | ||
|                 }
 | ||
| 
 | ||
|             }
 | ||
|             context.Response.Write(stRoomName);//返回给前台页面  
 | ||
|             context.Response.End();
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         private string LoadWaitNurseOpe1(int curPage)
 | ||
|         {
 | ||
|             string name = System.Configuration.ConfigurationManager.AppSettings["RowCount"].ToString();
 | ||
|             int PageSum = 0;
 | ||
|             string rheight = "";
 | ||
|             string[] names = name.Split(',');
 | ||
|             for (int i = 0; i < names.Length; i++)
 | ||
|             {
 | ||
|                 PageSum = int.Parse(names[0].ToString());
 | ||
|                 rheight = names[1].ToString();
 | ||
|             }
 | ||
|             rowEvenBgColor = "RoyalBlue";  //  CornflowerBlue
 | ||
|             rowOddBgColor = "RoyalBlue";
 | ||
|             curPage -= 1;
 | ||
|             startRecond = curPage * PageSum;
 | ||
|             endRecond = startRecond + PageSum;
 | ||
|             try
 | ||
|             {
 | ||
|                 //状态vchrOpeStatus 手术间vchrOperatingRoomName 时间BeginTime 姓名vchrPatientName 
 | ||
|                 //手术名称vchrOperationName术者 麻醉者 器械 巡回
 | ||
|                 string tdRows = "";
 | ||
|                 for (int i = startRecond; i < endRecond; i++)
 | ||
|                 {
 | ||
|                     string rowStyle = "";
 | ||
|                     if (i % 2 == 0)
 | ||
|                     {
 | ||
|                         rowStyle = "style= 'background-color:" + rowOddBgColor + ";border-bottom:2px solid black;height:" + rheight + ";font-weight:bolder; vertical-align: middle; '";
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         rowStyle = "style='background-color:" + rowEvenBgColor + ";border-bottom:2px solid black;height:" + rheight + ";font-weight:bolder;  vertical-align: middle; '";
 | ||
|                     }
 | ||
|                     string tdRow = "<tr " + rowStyle + ">";
 | ||
|                     if (i >= dSum)
 | ||
|                     {
 | ||
|                         tdRow += "<td colspan='8' style='height:" + rheight + ";'> </td>";
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
| 
 | ||
|                         tdRow += "<td align='center' valie=middle style='height:" + rheight + ";'></td>";
 | ||
|                         #region 科室和申请科室
 | ||
|                         string Depatrtment = dtsnew.Rows[i]["ApplyDepName"].ToString() ;
 | ||
|                         Depatrtment = Depatrtment.Replace("病区", "");
 | ||
|                         tdRow += "<td align='center' valie=middle style='width:10%'>" + Depatrtment + "</td>";
 | ||
|                         #endregion
 | ||
|                         tdRow += "<td align='center' valie=middle style='width:6%'>" + dtsnew.Rows[i]["Bed"] + "床" + "</td>";
 | ||
|                         tdRow += "<td align='center' valie=middle style='width:7%'>" + dtsnew.Rows[i]["PatientName"] + "</td>";
 | ||
|                         tdRow += "<td align='center' valie=middle style='width:5%'>" + dtsnew.Rows[i]["sex"] + "</td>";
 | ||
|                         tdRow += "<td align='center' valie=middle style='width:8%'>" + dtsnew.Rows[i]["Age"] + "</td>";
 | ||
| 
 | ||
|                         string SZDiagnose = dtsnew.Rows[i]["SZDiagnose"].ToString() == "" ? dtsnew.Rows[i]["SQDiagnose"].ToString() : dtsnew.Rows[i]["SZDiagnose"].ToString();
 | ||
|                         if (SZDiagnose.Length > 13)
 | ||
|                         {
 | ||
|                             SZDiagnose = SZDiagnose.Substring(0, 12) + "...";
 | ||
|                         }
 | ||
|                         tdRow += "<td align='left' valie=middle style='width:31%'>" + SZDiagnose + "</td>";
 | ||
| 
 | ||
|                         string SZOperation = dtsnew.Rows[i]["OperationInfo"].ToString();
 | ||
|                         if (SZOperation.Length > 13)
 | ||
|                         {
 | ||
|                             SZOperation = SZOperation.Substring(0, 12) + "...";
 | ||
|                         }
 | ||
|                         tdRow += "<td align='left' valie=middle style='width:31%'>" + SZOperation + "</td>";
 | ||
|                     }
 | ||
|                     tdRow += "</tr>";
 | ||
|                     tdRows += tdRow;
 | ||
|                 }
 | ||
|                 //htmlbody = tdRows == "" ? htmlbody : body.Replace("{rows}", tdRows);
 | ||
|                 return tdRows;
 | ||
|             }
 | ||
|             catch (Exception exp)
 | ||
|             {
 | ||
|                 return "";
 | ||
|                 throw;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         public void GetCurrentOperationOperatorInfo(HttpContext context)
 | ||
|         {
 | ||
|             GetRoomNameByIp(context);
 | ||
|            
 | ||
|             if (RoomId == "") return;
 | ||
|             DataTable dt = PublicMethod.GetCurrentRoomPatientsInfo(int.Parse(RoomId), DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
 | ||
|             foreach (DataRow item in dt.Rows)
 | ||
|             {
 | ||
|                 string OperationDoctorId = item["SZOperationDoctorId"].ToString() == "" ? item["SQOperationDoctorId"].ToString() : item["SZOperationDoctorId"].ToString();
 | ||
|                 if (OperationDoctorId != "")
 | ||
|                 {
 | ||
|                     string[] doctorids = OperationDoctorId.Split(',');
 | ||
|                     for (int i = 0; i < doctorids.Length; i++)
 | ||
|                     {
 | ||
|                         if (i == 0)
 | ||
|                         {
 | ||
|                             GetWorkInfo(1, "主刀", int.Parse(doctorids[i]));
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|                 string Assistant1 = item["SZAssistant1Id"].ToString() == "" ? item["SQAssistant1Id"].ToString() : item["SZAssistant1Id"].ToString();
 | ||
|                 if (Assistant1 != "")
 | ||
|                 {
 | ||
|                     //一助
 | ||
|                     string[] assistant1ids = Assistant1.Split(',');
 | ||
|                     for (int i = 0; i < assistant1ids.Length; i++)
 | ||
|                     {
 | ||
|                         if (i == 0)
 | ||
|                         {
 | ||
|                             GetWorkInfo(2, "第一助手", int.Parse(assistant1ids[i]));
 | ||
|                         }
 | ||
|                     }
 | ||
| 
 | ||
|                 }
 | ||
|                 string Assistant2 = item["SZAssistant2Id"].ToString() == "" ? item["SQAssistant2Id"].ToString() : item["SZAssistant2Id"].ToString();
 | ||
|                 if (Assistant2 != "")
 | ||
|                 {
 | ||
|                     string[] assistant2ids = Assistant2.Split(',');
 | ||
|                     for (int i = 0; i < assistant2ids.Length; i++)
 | ||
|                     {
 | ||
|                         if (i == 0)
 | ||
|                         {
 | ||
|                             GetWorkInfo(3, "第二助手", int.Parse(assistant2ids[i]));
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
|                 string Assistant3 = item["SZAssistant3Id"].ToString() == "" ? item["SQAssistant3Id"].ToString() : item["SZAssistant3Id"].ToString();
 | ||
|                 if (Assistant3 != "")
 | ||
|                 {
 | ||
|                     string[] assistant3ds = Assistant3.Split(',');
 | ||
|                     for (int i = 0; i < assistant3ds.Length; i++)
 | ||
|                     {
 | ||
|                         if (i == 0)
 | ||
|                         {
 | ||
|                             GetWorkInfo(4, "第三助手", int.Parse(assistant3ds[i]));
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
|                 string AnesthesiaDoctorId = item["SZAnesthesiaDoctorId"].ToString() == "" ? item["SQAnesthesiaDoctorId"].ToString() : item["SZAnesthesiaDoctorId"].ToString();
 | ||
|                 if (AnesthesiaDoctorId != "")
 | ||
|                 {
 | ||
|                     string[] anesthesiaDoctorids = AnesthesiaDoctorId.Split(',');
 | ||
|                     for (int i = 0; i < anesthesiaDoctorids.Length; i++)
 | ||
|                     {
 | ||
|                         if (i == 0)
 | ||
|                         {
 | ||
|                             GetWorkInfo(5, "麻醉", int.Parse(anesthesiaDoctorids[i]));
 | ||
|                         }
 | ||
|                         if (i == 1)
 | ||
|                         {
 | ||
|                             GetWorkInfo(6, "麻醉", int.Parse(anesthesiaDoctorids[i]));
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
|                 string InstrumentNurseId = item["SZInstrumentNurseId"].ToString() == "" ? item["SQInstrumentNurseId"].ToString() : item["SZInstrumentNurseId"].ToString();
 | ||
|                 if (InstrumentNurseId != "")
 | ||
|                 {
 | ||
|                     string[] instrumentNurseids = InstrumentNurseId.Split(',');
 | ||
|                     for (int i = 0; i < instrumentNurseids.Length; i++)
 | ||
|                     {
 | ||
|                         if (i == 0)
 | ||
|                         {
 | ||
|                             GetWorkInfo(7, "洗手护士", int.Parse(instrumentNurseids[i]));
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
|                 string TourNurseId = item["SZTourNurseId"].ToString() == "" ? item["SQTourNurseId"].ToString() : item["SZTourNurseId"].ToString();
 | ||
|                 if (TourNurseId != "")
 | ||
|                 {
 | ||
|                     string[] tourNurseids = TourNurseId.Split(',');
 | ||
|                     for (int i = 0; i < tourNurseids.Length; i++)
 | ||
|                     {
 | ||
|                         if (i == 0)
 | ||
|                         {
 | ||
|                             GetWorkInfo(8, "巡回护士", int.Parse(tourNurseids[i]));
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|             if (sql != "")
 | ||
|             {
 | ||
|                 sql = sql.Substring(0, sql.Length - 5);
 | ||
|                 InfoDataTable = PublicMethod.GetCurrentRoomPatientsInfo(sql);
 | ||
|             }
 | ||
| 
 | ||
|             string json = DatasetJson(InfoDataTable);
 | ||
|             context.Response.Write(json);//返回给前台页面  
 | ||
|             context.Response.End();
 | ||
|         }
 | ||
|         string sql = "";
 | ||
|         public void GetWorkInfo(int index, string name, int Id)
 | ||
|         {
 | ||
|             sql += "    select " + index + " as Id, '" + name + "' as 角色,w.Name as Workname,w.ElectronicSignature,bd.Name as teachname,d.Name as departName, r.Name as rolename,w.Remark from Workers w   left join BasicDictionary bd on w.JobTitleId = bd.Id  left join Roles r  on r.Id = w.RoleId  left join Departments d on d.Id = w.DepartmentId where w.Id =" + Id + " union";
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 解析DataTable成Json格式
 | ||
|         /// </summary>
 | ||
|         /// <param name="dt"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static string DatasetJson(DataTable dt)
 | ||
|         {
 | ||
|             StringBuilder jsonBuilder = new StringBuilder();
 | ||
|             jsonBuilder.Append("[");
 | ||
|             for (int i = 0; i < dt.Rows.Count; i++)
 | ||
|             {
 | ||
|                 jsonBuilder.Append("{");
 | ||
|                 for (int j = 0; j < dt.Columns.Count; j++)
 | ||
|                 {
 | ||
|                     jsonBuilder.Append("\"");
 | ||
|                     jsonBuilder.Append(dt.Columns[j].ColumnName);
 | ||
|                     jsonBuilder.Append("\":\"");
 | ||
|                     jsonBuilder.Append(dt.Rows[i][j].ToString().Trim());
 | ||
|                     jsonBuilder.Append("\",");
 | ||
|                 }
 | ||
|                 if (dt.Columns.Count > 0)
 | ||
|                 {
 | ||
|                     jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
 | ||
|                 }
 | ||
|                 jsonBuilder.Append("},");
 | ||
|             }
 | ||
|             if (dt.Rows.Count > 0)
 | ||
|             {
 | ||
|                 jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
 | ||
|             }
 | ||
|             jsonBuilder.Append("]");
 | ||
|             return jsonBuilder.ToString();
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
| 
 | ||
|         public void testGetRoomNameByIp(HttpContext context)
 | ||
|         {
 | ||
|             clientip = context.Request.UserHostAddress.ToString();
 | ||
|             JavaScriptSerializer jss = new JavaScriptSerializer();
 | ||
|             message msg = new message(true, clientip, "1", "1");
 | ||
|             context.Response.Write(jss.Serialize(msg));//返回给前台页面  
 | ||
|             context.Response.End();
 | ||
|         }
 | ||
|     }
 | ||
| } |