示例#1
0
        /// <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);
        }
示例#2
0
        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;
                }
            }
        }
示例#3
0
        /// <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);
        }
示例#4
0
 /// <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);
 }
示例#5
0
 /// <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);
 }
示例#6
0
        /// <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("没有打开的文书!");
            }
        }
示例#7
0
        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);
                }
            }
        }
示例#8
0
        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;
                        }
                    }
                }
            }
        }
示例#9
0
        /// <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);
        }
示例#10
0
        /// <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 { }
        }
示例#11
0
        /// <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();
                            }
                        }
                    }
                }
            }
        }
示例#12
0
        /// <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);
            }
        }