/// <summary> /// 获得当前节点病人文书 /// </summary> /// <param name="nodes">当前节点下的文书内容</param> /// <returns>返回Patient_Doc</returns> private string GetSelectNodes(Patient_Doc text) { string arrs = null; if (text != null) { string sql = "select tid,textname from t_patients_doc where patient_id='" + patient_Id + "' and tid=" + text.Id + ""; DataSet ds = App.GetDataSet(sql); if (ds != null) { DataTable dt = ds.Tables[0]; if (dt != null) { for (int i = 0; i < dt.Rows.Count; i++) { string content = App.DownLoadFtpPatientDoc(dt.Rows[i]["tid"].ToString() + ".xml", patient_Id.ToString()); if (content == "") { content = App.ReadSqlVal("select * from T_PATIENT_DOC_COLB where tid=" + dt.Rows[i]["tid"].ToString() + "", 0, "CONTENT"); } arrs += content;//dt.Rows[i]["patients_doc"].ToString(); } } } } return(arrs); }
private void trvDoctorBook_DoubleClick(object sender, EventArgs e) { XmlDocument tempXml = new XmlDocument(); string xml = null; if (trvDoctorBook.SelectedNode == null) { return; } if (trvDoctorBook.SelectedNode.Tag.GetType().ToString().Contains("Class_Text")) { Class_Text text = this.trvDoctorBook.SelectedNode.Tag as Class_Text; if (text.Issimpleinstance == "1") //多例 { StringBuilder strBuilder = new StringBuilder(); int i = 1; foreach (Node node in trvDoctorBook.SelectedNode.Nodes) { Patient_Doc pDoc = node.Tag as Patient_Doc; xml = GetSelectNodes(pDoc); if (xml != null) { tempXml.LoadXml(xml); XmlNode xmlNode = tempXml.GetElementsByTagName("text")[0]; strBuilder.Append(text.Textname + ":子文书" + i.ToString() + "\r\n" + xmlNode.InnerText + "\r\n"); i++; } } txtContent.Text = strBuilder.ToString(); } else { xml = GetSelectNodes(text); if (xml != null) { tempXml.LoadXml(xml); XmlNode xmlNode = tempXml.GetElementsByTagName("text")[0]; txtContent.Text = xmlNode.InnerText; } } } else if (trvDoctorBook.SelectedNode.Tag.GetType().ToString().Contains("Patient_Doc")) { Patient_Doc pDoc = this.trvDoctorBook.SelectedNode.Tag as Patient_Doc; xml = GetSelectNodes(pDoc); if (xml != null) { tempXml.LoadXml(xml); XmlNode xmlNode = tempXml.GetElementsByTagName("text")[0]; txtContent.Text = xmlNode.InnerText; } } }
/// <summary> /// 得到单利文书的文书实例 /// </summary> /// <param name="text"></param> private Patient_Doc GetDoc(string tid) { //string sql = "select a.tid,a.pid,a.textkind_id,a.belongtosys_id,a.sickkind_id,a.textname,a.doc_name,a.patient_Id,a.ishighersign,a.havehighersign,a.havedoctorsign,a.submitted,a.createId,a.highersignuserid,a.israplacehightdoctor,a.israplacehightdoctor2 from t_patients_doc a where textkind_id=" + text.Id + " and patient_id='" + currentPatient.Id.ToString() + "'"; string sql = "select a.tid,a.pid,a.textkind_id,a.belongtosys_id,a.sickkind_id,a.textname,a.doc_name,a.patient_Id,a.ishighersign,a.havehighersign,a.havedoctorsign,a.submitted,a.createId,a.highersignuserid,a.israplacehightdoctor,a.israplacehightdoctor2 from t_patients_doc a where tid='" + tid + "'"; DataSet ds = App.GetDataSet(sql); if (ds != null) { DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) { DataRow row = dt.Rows[0]; Patient_Doc pDoc = new Patient_Doc(); pDoc.Id = Convert.ToInt32(row["tid"]); pDoc.Patient_id = row["patient_Id"].ToString(); pDoc.Pid = row["pid"].ToString(); if (row["textkind_id"].ToString() != "") { pDoc.Textkind_id = Convert.ToInt32(row["textkind_id"]); } if (row["belongtosys_id"].ToString() != "") { pDoc.Belongtosys_id = Convert.ToInt32(row["belongtosys_id"]); } //pDoc.Patients_doc =row["patients_doc"].ToString(); if (row["sickkind_id"].ToString() != "") { pDoc.Sickkind_id = Convert.ToInt32(row["sickkind_id"]); } pDoc.Docname = row["doc_name"].ToString().TrimStart(); pDoc.Textname = row["textname"].ToString().TrimStart(); pDoc.Ishighersign = row["ishighersign"].ToString(); pDoc.Havehighersign = row["havehighersign"].ToString(); pDoc.Havedoctorsign = row["Havedoctorsign"].ToString(); pDoc.Submitted = row["submitted"].ToString(); pDoc.Createid = row["createId"].ToString(); pDoc.Highersignuserid = row["highersignuserid"].ToString(); pDoc.Isreplacehighdoctor = row["israplacehightdoctor"].ToString(); pDoc.Isreplacehighdoctor2 = row["israplacehightdoctor2"].ToString(); return(pDoc); } } return(null); }
/// <summary> /// 当前选中的节点,是否再tctlDoc.Tabs集合里面已经存在,存在true,否则false /// </summary> /// <param name="tid">文书的id</param> /// <returns></returns> private bool IsSameTabItem(string tid) { for (int i = 0; i < tctlDoc.Tabs.Count; i++) { Patient_Doc doc = tctlDoc.Tabs[i].Tag as Patient_Doc; if (doc != null) { if (doc.Id.ToString() == tid) { tctlDoc.SelectedTab = tctlDoc.Tabs[i]; App.MsgWaring("已经存在相同的文书!"); return(true); } } } return(false); }
/// <summary> /// 获得当前节点下面所有病人文书的节点 /// </summary> /// <param name="nodes">当前节点下的所有文书内容</param> /// <returns>返回Patient_Doc集合</returns> private Patient_Doc[] GetSelectNodes(int textid) { Patient_Doc[] patient_Docs = null; if (currentPatient != null) { string sql = "select a.tid,a.textname,a.textkind_id,a.doc_name,c.issimpleinstance,a.section_name from t_patients_doc a" + " inner join t_text c on a.textkind_id = c.id" + " where patient_id='" + this.currentPatient.Id + "' and textkind_id!=134" + //textkind_id=134术前讨论 " and textkind_id in (select id from t_text where parentid=" + textid + ") and submitted='Y' order by doc_name"; DataSet ds = App.GetDataSet(sql); if (ds != null) { DataTable dt = ds.Tables[0]; if (dt != null) { //去掉相同的文书 int tid = 0; patient_Docs = new Patient_Doc[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { if (tid != Convert.ToInt32(dt.Rows[i]["tid"].ToString())) { patient_Docs[i] = new Patient_Doc(); patient_Docs[i].Patients_doc = App.ReadSqlVal("select * from T_PATIENT_DOC_COLB where tid=" + dt.Rows[i]["tid"].ToString() + "", 0, "CONTENT"); if (patient_Docs[i].Patients_doc == "" || patient_Docs[i].Patients_doc == null) { patient_Docs[i].Patients_doc = App.DownLoadFtpPatientDoc(dt.Rows[i]["tid"].ToString() + ".xml", currentPatient.Id.ToString()); } patient_Docs[i].Id = Convert.ToInt32(dt.Rows[i]["tid"].ToString()); patient_Docs[i].Textkind_id = Convert.ToInt32(dt.Rows[i]["textkind_id"].ToString()); patient_Docs[i].Belongtosys_id = Convert.ToInt32(dt.Rows[i]["issi mpleinstance"].ToString()); patient_Docs[i].Docname = dt.Rows[i]["doc_name"].ToString(); patient_Docs[i].Section_name = dt.Rows[i]["section_name"].ToString(); tid = Convert.ToInt32(dt.Rows[i]["tid"].ToString()); } } } } } return(patient_Docs); }
/// <summary> /// 双击规则触发,添加文书注释和扣分记录汇总 /// </summary> /// <param name="mark_id">规则id</param> /// <param name="item">评分项目</param> /// <param name="item_con">扣分标准</param> /// <param name="item_score">分值</param> /// <param name="did">自增id</param> private void AddMarkData(string mark_id, string item, string item_con, string item_score, string did) { DevComponents.DotNetBar.TabControl tc = this.Controls.Find("tctlDoc", true)[0] as DevComponents.DotNetBar.TabControl; if (tc != null && tc.Tabs.Count > 0) { Patient_Doc doc = tc.SelectedTab.Tag as Patient_Doc; int docId = doc.Id; int index = dgvKouFen.Rows.Add(); this.dgvKouFen.Rows[index].Cells["评分项目"].Value = item; this.dgvKouFen.Rows[index].Cells["id"].Value = int.Parse(did).ToString(); this.dgvKouFen.Rows[index].Cells["分值"].Value = item_score; this.dgvKouFen.Rows[index].Cells["扣分标准"].Value = item_con; this.dgvKouFen.Rows[index].Cells["病人id"].Value = inPatient.Id; this.dgvKouFen.Rows[index].Cells["medical_mark_id"].Value = mark_id; this.dgvKouFen.Rows[index].Cells["isxg"].Value = "0"; this.dgvKouFen.Rows[index].Cells["docId"].Value = docId; this.dgvKouFen.Rows[index].Cells["item_type"].Value = "Y"; this.dgvKouFen.Rows[index].Cells["文书名称"].Value = App.ReadSqlVal("select doc_name from t_patients_doc where tid='" + docId + "'", 0, "doc_name"); //新增 this.dgvKouFen.Rows[index].Cells["isNew"].Value = "N"; //新增 string id = did; string KFBZ = item_con; frmText frm = tc.SelectedTab.AttachedControl.Controls[0] as frmText; frm.MyDoc.InsertBAPF(id, item_con); XmlDocument tempxmldoc = new XmlDocument(); tempxmldoc.PreserveWhitespace = true; tempxmldoc.LoadXml("<emrtextdoc/>"); frm.MyDoc.ToXML(tempxmldoc.DocumentElement); frm.MyDoc.Modified = false; DelScore(); } else { App.MsgWaring("没有打开的文书!"); } }
public void GetPatientDoc(NodeCollection nodes, Node node) { Patient_Doc doc = node.Tag as Patient_Doc; foreach (Node TempNode in nodes) { Class_Text text = TempNode.Tag as Class_Text; if (text != null) { if (text.Issimpleinstance == "1") //多例文书 { if (doc.Textkind_id == text.Id) { TempNode.Nodes.Add(node.DeepCopy()); //TempNode.SelectedImageIndex = 6; //TempNode.ImageIndex = 6; break; } } else { if (TempNode.Nodes.Count == 0) { if (doc.Textkind_id == text.Id) { //TempNode.SelectedImageIndex = 7; TempNode.ImageIndex = 7; break; } } } } if (TempNode.Nodes.Count > 0) { GetPatientDoc(TempNode.Nodes, node); } } }
private void advTree1_AfterNodeSelect(object sender, AdvTreeNodeEventArgs e) { txtContent.Text = ""; if (trvDoctorBook.SelectedNode.Parent != null) { XmlDocument tempXml = new XmlDocument(); if (trvDoctorBook.SelectedNode.Tag.GetType().ToString().Contains("Class_Text")) { Class_Text text = this.trvDoctorBook.SelectedNode.Tag as Class_Text; if (text.Issimpleinstance == "1") //多例 { StringBuilder strBuilder = new StringBuilder(); int i = 1; foreach (Node node in trvDoctorBook.SelectedNode.Nodes) { Patient_Doc pDoc = node.Tag as Patient_Doc; string xml = GetSelectNodes(pDoc); if (xml != null && xml != string.Empty) { tempXml.LoadXml(xml); StringBuilder builder = new StringBuilder(); XmlNodeList xmlNodes = tempXml.SelectNodes("emrtextdoc/body/span"); tempXml.GetElementsByTagName("span"); foreach (XmlNode childNode in xmlNodes) { builder.Append(childNode.InnerText); } strBuilder.Append(text.Textname + ":子文书" + i.ToString() + "\r\n" + builder.ToString() + "\r\n"); i++; } } txtContent.Text = strBuilder.ToString(); } else { string xml = GetSelectNodes(text); if (xml != null && xml != string.Empty) { tempXml.LoadXml(xml); XmlNodeList xmlNodes = tempXml.SelectNodes("emrtextdoc/text"); //body/span foreach (XmlNode node in xmlNodes) { txtContent.Text += node.InnerText + "\r\n"; } } } } else if (trvDoctorBook.SelectedNode.Tag.GetType().ToString().Contains("Patient_Doc")) { Patient_Doc pDoc = this.trvDoctorBook.SelectedNode.Tag as Patient_Doc; string xml = GetSelectNodes(pDoc); if (xml != null && xml != string.Empty) { tempXml.LoadXml(xml); XmlNodeList xmlNodes = tempXml.SelectNodes("emrtextdoc/body/span"); foreach (XmlNode node in xmlNodes) { txtContent.Text += node.InnerText; } } } } }
/// <summary> /// 创建新的tabItem /// </summary> /// <param name="tid">文书id</param> private void CreateTabItem(int tid, string strMark_id) { //验证重复打开,如已经打开则定位到该条注释 if (IsSameTabItem(tid.ToString()) == true) { frmText text = tctlDoc.SelectedTab.AttachedControl.Controls[0] as frmText; if (text.MyDoc.Us.Tid.ToString() == tid.ToString()) { foreach (var ele in text.MyDoc.Elements) { if (ele is ZYTextBapfMark) { ZYTextBapfMark mark = (ZYTextBapfMark)ele; if (mark.Value == strMark_id) { Point point = new Point(mark.RealLeft, mark.RealTop); point = text.MyDoc.OwnerControl.ViewPointToClient(point.X, point.Y); text.MyDoc.OwnerControl.AutoScrollPosition = new Point(text.MyDoc.OwnerControl.AutoScrollPosition.X / 2 + point.X / 2, point.Y - text.MyDoc.OwnerControl.AutoScrollPosition.Y); text.MyDoc.Content.MoveSelectStart(text.MyDoc.Elements.IndexOf(mark)); text.MyDoc.OwnerControl.Focus(); } } } } return; } /* * 创建新的tabItem 的实现思路: * 1.当前选中的文书类别,如果是单例文书,就查出其内容。 * 2.当前选中的是病人文书,根据文书id,查出其内容 */ // 获得当前时间,精确到分钟 // string time = string.Format("{0:g}", DateTime.Now); DevComponents.DotNetBar.TabControlPanel tabctpnDoc = new DevComponents.DotNetBar.TabControlPanel(); tabctpnDoc.AutoScroll = true; DevComponents.DotNetBar.TabItem page = new DevComponents.DotNetBar.TabItem(); //tctlDoc.TabItemClose += new TabStrip.UserActionEventHandler(tctlDoc_TabItemClose); //page.Click += new EventHandler(page_Click); //if (tid == 0) //{ // Class_Text text = advFinishDoc.SelectedNode.Tag as Class_Text; // //新建文书,page页的Name用分号隔开,第一位:代表文书类型ID;第二位:文书类型;第三位:代表新建文书;第四位:是否单例文书 // page.Name = advFinishDoc.SelectedNode.Name + ";" + advFinishDoc.SelectedNode.Tag.GetType().ToString() + ";0;" + text.Issimpleinstance; //} //else //修改文书,page页的Name用分号隔开,第一位:文书ID;第二位:文书类型 //{ // page.Name = tid + ";" + advFinishDoc.SelectedNode.Tag.GetType().ToString(); //} page.Text = dgvSubjective.SelectedRows[0].Cells["文书名称"].Value.ToString() + " " + " (" + inpat.Sick_Bed_Name + " 床)"; //已写文书 Patient_Doc doc = GetDoc(dgvSubjective.SelectedRows[0].Cells["docId"].Value.ToString()); page.Tag = doc; if (page.Tag != null) { //string log_Tid = advFinishDoc.SelectedNode.Name; //isCustom = false; //是否忽略空行 //bool NeglectLine = IsNeglectLine(advFinishDoc.SelectedNode); string textTitle = dgvSubjective.SelectedRows[0].Cells["文书名称"].Value.ToString(); page.Tooltip = dgvSubjective.SelectedRows[0].Cells["文书类别"].Value.ToString(); //打开单例文书 if (inpat.Sick_Bed_Name != "") { //tid = Convert.ToInt32(temptid); frmText text = new frmText(Convert.ToInt32(dgvSubjective.SelectedRows[0].Cells["textkind_id"].Value.ToString()), 0, 0, textTitle, tid, inpat, true, false, "", ""); text.MyDoc.IgnoreLine = true; //隐藏编辑器右键 text.MyDoc.OwnerControl.ContextMenuStrip.Visible = false; //隐藏工具栏 text.MyDoc.Menus.PnlMenus.Visible = false; XmlDocument tmpxml = new System.Xml.XmlDocument(); tmpxml.PreserveWhitespace = true; string sql = "select tid,Ishighersign,Havedoctorsign,Havehighersign,submitted,section_name from t_patients_doc where textkind_id='" + dgvSubjective.SelectedRows[0].Cells["textkind_id"].Value.ToString() + "' and patient_id=" + inpat.Id + ""; DataTable dt = App.GetDataSet(sql).Tables[0]; string content = ""; content = App.ReadSqlVal("select * from T_PATIENT_DOC_COLB where tid=" + dt.Rows[0]["tid"].ToString() + "", 0, "CONTENT"); if (content == null || content == "") { content = App.DownLoadFtpPatientDoc(dt.Rows[0]["tid"].ToString() + ".xml", inpat.Id.ToString());//App.ReadSqlVal(sql, 0, "patients_doc"); } //content = App.DownLoadFtpPatientDoc(dt.Rows[0]["tid"].ToString() + ".xml", currentPatient.Id.ToString()); //dt.Rows[0]["patients_doc"].ToString(); string ishighersign = dt.Rows[0]["Ishighersign"].ToString(); string havedoctorsign = dt.Rows[0]["Havedoctorsign"].ToString(); string havehighersign = dt.Rows[0]["Havehighersign"].ToString(); text.MyDoc.Section_name = dt.Rows[0]["section_name"].ToString(); //修改文书,Ishighersign是否需要上级医师审签 text.MyDoc.TextSuperiorSignature = ishighersign; text.MyDoc.HaveTubebedSign = havedoctorsign; //经治医师是否审签 text.MyDoc.HaveSuperiorSignature = havehighersign; //是否已经有过上级医生签名 text.MyDoc.OnDrawPageHeader += DataInit.EMRDoc_OnDrawPageHeader; text.MyDoc.Locked = true; ////病案评分------------------------------------------------------- //if (this.OnComeFrmText != null) //{ // //触发事件 // OnComeFrmText(text); //} ////-------------------------------------------------------- tmpxml.LoadXml(content); text.MyDoc.FromXML(tmpxml.DocumentElement); //注释定位 foreach (var ele in text.MyDoc.Elements) { if (ele is ZYTextBapfMark) { ZYTextBapfMark mark = (ZYTextBapfMark)ele; if (mark.Value == strMark_id) { Point point = new Point(mark.RealLeft, mark.RealTop); point = text.MyDoc.OwnerControl.ViewPointToClient(point.X, point.Y); text.MyDoc.OwnerControl.AutoScrollPosition = new Point(text.MyDoc.OwnerControl.AutoScrollPosition.X / 2 + point.X / 2, point.Y - text.MyDoc.OwnerControl.AutoScrollPosition.Y); text.MyDoc.Content.MoveSelectStart(text.MyDoc.Elements.IndexOf(mark)); //text.MyDoc.OwnerControl.Focus(); } } } text.MyDoc.ContentChanged(); tabctpnDoc.Controls.Add(text); text.Dock = DockStyle.Fill; } tabctpnDoc.TabItem = page; tabctpnDoc.Dock = DockStyle.Fill; page.AttachedControl = tabctpnDoc; this.tctlDoc.Controls.Add(tabctpnDoc); this.tctlDoc.Tabs.Add(page); this.tctlDoc.Refresh(); this.tctlDoc.SelectedTab = page; //if (doc.Submitted == "Y") //{ // App.SetToolButtonByUser("tsbtnTempSave", false); //} //else //{ // App.SetToolButtonByUser("tsbtnTempSave", true); //} } else { App.Msg("打开文书异常!"); } App.AddCurrentDocMsg(inpat.Id.ToString() + page.Text); }
/// <summary> /// 删除文书注释,保存文书 /// </summary> private void save_doc(string tid, string mark_id) { try { //如已打开 刷新编辑器内容 for (int i = 0; i < tctlDoc.Tabs.Count; i++) { Patient_Doc doc = tctlDoc.Tabs[i].Tag as Patient_Doc; if (doc.Id.ToString() == tid) { frmText frm = tctlDoc.Tabs[i].AttachedControl.Controls[0] as frmText; foreach (var ele in frm.MyDoc.Elements) { if (ele is ZYTextBapfMark) { ZYTextBapfMark mark = (ZYTextBapfMark)ele; if (mark.Value == mark_id) { mark.Parent.ChildElements.Remove(mark); } } } frm.MyDoc.ContentChanged(); } } //取出clob string strSql_Doc = "select a.content from T_PATIENT_DOC_COLB a where a.tid='" + tid + "'"; DataSet ds_Doc = App.GetDataSet(strSql_Doc); string content_source = ""; XmlDocument tmpxml_source = new XmlDocument(); tmpxml_source.PreserveWhitespace = true; XmlNodeList list; content_source = ds_Doc.Tables[0].Rows[0]["content"].ToString(); if (content_source == "" || content_source == null) { content_source = App.DownLoadFtpPatientDoc(tid + ".xml", inpat.Id.ToString()); } tmpxml_source.LoadXml(content_source); //修改clob list = tmpxml_source.GetElementsByTagName("bapf"); if (list != null) { for (int i = 0; i < list.Count; i++) { string aa = list[i].Attributes["value"].Value.ToString(); if (aa == mark_id) { list[i].ParentNode.RemoveChild(list[i]); } } } //提交clob //重新生成XML文件 App.UpLoadFtpPatientDoc(tmpxml_source.OuterXml, tid + ".xml", inpat.Id.ToString()); // 更新数据库 String sql_clob = string.Format("update T_PATIENT_DOC_COLB set CONTENT=:doc1 where TID = '{0}'", tid); OracleParameter[] xmlPars = new OracleParameter[1]; xmlPars[0] = new OracleParameter(); xmlPars[0].ParameterName = "doc1"; xmlPars[0].Value = tmpxml_source.OuterXml; xmlPars[0].OracleType = OracleType.Clob; App.ExecuteSQL(sql_clob, xmlPars); } catch { } }
/// <summary> /// 查询所有知情同意书 /// </summary> /// <param name="patient_id"></param> /// <returns>返回</returns> public void SelectDoc() { string sql_doc = "select * from t_patients_doc where textkind_id in(select id from t_text where isbelongtotype=915 and issimpleinstance=1) and patient_id=" + currentPatient.Id + " order by tid"; Node nodeTemp = new Node(); DataSet ds = App.GetDataSet(sql_doc); if (ds != null) { DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) { //去掉重复的文书id string tid = "0"; foreach (DataRow row in dt.Rows) { if (row["tid"].ToString() != "") { if (tid != row["tid"].ToString()) { Patient_Doc pDoc = new Patient_Doc(); pDoc.Id = Convert.ToInt32(row["tid"]); pDoc.Patient_id = row["patient_Id"].ToString(); pDoc.Pid = row["pid"].ToString(); if (row["textkind_id"].ToString() != "") { pDoc.Textkind_id = Convert.ToInt32(row["textkind_id"]); } if (row["belongtosys_id"].ToString() != "") { pDoc.Belongtosys_id = Convert.ToInt32(row["belongtosys_id"]); } //pDoc.Patients_doc =row["patients_doc"].ToString(); if (row["sickkind_id"].ToString() != "") { pDoc.Sickkind_id = Convert.ToInt32(row["sickkind_id"]); } pDoc.Docname = row["doc_name"].ToString().TrimStart(); pDoc.Textname = row["textname"].ToString().TrimStart(); pDoc.Ishighersign = row["ishighersign"].ToString(); pDoc.Havehighersign = row["havehighersign"].ToString(); pDoc.Havedoctorsign = row["Havedoctorsign"].ToString(); pDoc.Submitted = row["submitted"].ToString(); pDoc.Createid = row["createId"].ToString(); pDoc.Highersignuserid = row["highersignuserid"].ToString(); pDoc.Isreplacehighdoctor = row["israplacehightdoctor"].ToString(); pDoc.Isreplacehighdoctor2 = row["israplacehightdoctor2"].ToString(); pDoc.Section_name = row["SECTION_NAME"].ToString(); Node node = new Node(); node.Text = pDoc.Docname; node.Tag = pDoc as object; node.Name = pDoc.Id.ToString(); node.CheckBoxVisible = true; for (int i = 0; i < nodeAllChecked.Nodes.Count; i++) { if (nodeAllChecked.Nodes[i].Name == pDoc.Textkind_id.ToString()) { nodeAllChecked.Nodes[i].Nodes.Add(node); } } tid = row["tid"].ToString(); } } } } } }
/// <summary> /// 获得当前选中节点下面所有病人文书的节点 /// </summary> /// <param name="nodes">当前节点下的所有文书内容</param> /// <returns>返回Patient_Doc集合</returns> private Patient_Doc[] GetSelectNodes() { string allTextId = ""; //if (nodeAllChecked.Checked) //{ for (int i = 0; i < nodeAllChecked.Nodes.Count; i++) { Class_Text text = nodeAllChecked.Nodes[i].Tag as Class_Text; if (text != null) { if (text.Issimpleinstance == "1")//多例文书循环子节点获取文书ID { for (int j = 0; j < nodeAllChecked.Nodes[i].Nodes.Count; j++) { if (nodeAllChecked.Nodes[i].Nodes[j].Checked)//节点被选中,获取tid拼接字符串 { Patient_Doc pat_doc = nodeAllChecked.Nodes[i].Nodes[j].Tag as Patient_Doc; if (pat_doc != null) { if (allTextId == "") { allTextId = pat_doc.Id.ToString(); } else { allTextId += "," + pat_doc.Id; } } } } } else //单例文书 { if (nodeAllChecked.Nodes[i].Checked) { string docId = isExitRecord(text.Id, currentPatient.Id); if (allTextId == "") { allTextId = docId; } else { allTextId += "," + docId; } } } } } if (allTextId != "") { Patient_Doc[] patient_Docs = null; if (currentPatient != null) { string sql_doc = "select a.tid,a.textname,a.textkind_id,a.doc_name,c.issimpleinstance,a.section_name from t_patients_doc a" + " inner join t_text c on a.textkind_id = c.id" + " where a.tid in(" + allTextId + ")"; DataSet ds = App.GetDataSet(sql_doc); if (ds != null) { DataTable dt = ds.Tables[0]; if (dt != null) { //arrs = new string[dt.Rows.Count,2]; //去掉相同的文书 int tid = 0; patient_Docs = new Patient_Doc[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { if (tid != Convert.ToInt32(dt.Rows[i]["tid"].ToString())) { patient_Docs[i] = new Patient_Doc(); patient_Docs[i].Patients_doc = App.DownLoadFtpPatientDoc(dt.Rows[i]["tid"].ToString() + ".xml", currentPatient.Id.ToString()); if (patient_Docs[i].Patients_doc == "") { patient_Docs[i].Patients_doc = App.ReadSqlVal("select * from T_PATIENT_DOC_COLB where tid=" + dt.Rows[i]["tid"].ToString() + "", 0, "CONTENT"); } patient_Docs[i].Id = Convert.ToInt32(dt.Rows[i]["tid"].ToString()); patient_Docs[i].Textkind_id = Convert.ToInt32(dt.Rows[i]["textkind_id"].ToString()); patient_Docs[i].Belongtosys_id = Convert.ToInt32(dt.Rows[i]["issimpleinstance"].ToString()); patient_Docs[i].Docname = dt.Rows[i]["doc_name"].ToString(); patient_Docs[i].Section_name = dt.Rows[i]["section_name"].ToString(); patient_Docs[i].Textname = dt.Rows[i]["textname"].ToString(); tid = Convert.ToInt32(dt.Rows[i]["tid"].ToString()); } } } } } return(patient_Docs); } else { return(null); } }