예제 #1
0
        /// <summary>
        /// 获得编辑区域的索引值
        /// </summary>
        /// <param name="doc"></param>
        /// <param name="startIndex">索引起始点</param>
        /// <param name="endIndex">索引终止点</param>
        private void GetEditAreaIndex(ZYTextDocument doc, out int startIndex, out int endIndex)
        {
            try
            {
                startIndex = -1;
                endIndex   = -1;
                if (doc.OwnerControl.ActiveEditArea != null)
                {
                    ZYTextElement topEle = doc.OwnerControl.ActiveEditArea.TopElement;
                    ZYTextElement endEle = doc.OwnerControl.ActiveEditArea.EndElement;

                    int start = doc.Content.IndexOf(topEle);
                    int end   = 0;
                    if (doc.OwnerControl.ActiveEditArea.EndElement != null)
                    {
                        end = doc.Content.IndexOf(endEle);
                    }
                    else
                    {
                        end = doc.Content.Elements.Count - 1;
                    }

                    startIndex = start;
                    endIndex   = end;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
 public frmFollowTemplateSave(XmlDocument xmldoc, TreeView treeView1, ZYTextDocument doc)
 {
     InitializeComponent();
     this.doc       = doc;
     this.xmldoc    = xmldoc;
     this.treeView1 = treeView1;
 }
예제 #3
0
 public frmFollowTemplateSave(XmlDocument xmldoc, int kind, ZYTextDocument doc)
 {
     InitializeComponent();
     treeView1   = null;
     this.xmldoc = xmldoc;
     this.doc    = doc;
     ucFollowTemplateManagement.text_kind = kind;
 }
예제 #4
0
        private void FillModelMacro()
        {
            PadForm padForm = m_CurrentPadForm;

            if (padForm != null)
            {
                string deptName = textBoxDept.Text.Trim();
                string wardName = textBoxWard.Text.Trim();

                bool isModified = padForm.zyEditorControl1.EMRDoc.Modified;

                //根据病历的不同状态,调用程序在此处初始化宏的值。
                //替换标题中的宏
                XmlDocument headerdoc = new XmlDocument();
                headerdoc.LoadXml(padForm.zyEditorControl1.EMRDoc.HeadString);
                XmlNodeList nodes = headerdoc.SelectNodes("header/p/macro");
                foreach (XmlNode node in nodes)
                {
                    if (node.Attributes["name"].Value.Trim() == "科室" && !string.IsNullOrEmpty(deptName))
                    {
                        node.InnerText = deptName;
                    }
                    else if (node.Attributes["name"].Value.Trim() == "病区" && !string.IsNullOrEmpty(wardName))
                    {
                        node.InnerText = wardName;
                    }
                }
                padForm.zyEditorControl1.EMRDoc.HeadString = headerdoc.OuterXml;

                //替换文档中的宏
                //获得所有宏元素列表
                ArrayList      al  = new ArrayList();
                ZYTextDocument doc = padForm.zyEditorControl1.EMRDoc;
                doc.GetAllSpecElement(al, doc.RootDocumentElement, ElementType.Macro, null);

                //循环每个宏元素,根据宏元素的Name属性,查询并赋值线Text属性
                foreach (ZYMacro m in al)
                {
                    if (m.Name == "科室" && !string.IsNullOrEmpty(deptName))
                    {
                        m.Text = deptName;
                    }
                    else if (m.Name == "病区" && !string.IsNullOrEmpty(wardName))
                    {
                        m.Text = wardName;
                    }
                }

                doc.RefreshSize();
                doc.ContentChanged();
                doc.OwnerControl.Refresh();
                doc.UpdateCaret();

                padForm.zyEditorControl1.EMRDoc.Modified = isModified;
            }
        }
예제 #5
0
 public frmWriteTypeSave(XmlDocument xmldoc, TreeView treeView1, ZYTextDocument doc, string text_type, string patient_id, string solution_id)
 {
     InitializeComponent();
     this.xmldoc      = xmldoc;
     this.treeView1   = treeView1;
     this.doc         = doc;
     this.text_type   = text_type;
     this.patient_id  = patient_id;
     this.solution_id = solution_id;
 }
예제 #6
0
        private bool isSickInit = false;      //绑定数据源是否触发事件(二级目录)
        //private bool isTextKindInit = false;  //绑定数据源是否触发事件(三级目录)


        public frmTemplateSave(XmlDocument xmldoc, TreeView treeView1, ZYTextDocument doc)
        {
            InitializeComponent();
            this.doc          = doc;
            this.xmldoc       = xmldoc;
            this.label9.Text  = App.UserAccount.CurrentSelectRole.Section_Id;
            this.label10.Text = App.UserAccount.CurrentSelectRole.Role_id;
            //this.label9.Text = App.getSpell(this.label10.Text);    ---------快捷码
            this.treeView1 = treeView1;
        }
예제 #7
0
 public frmTemplateSave(XmlDocument xmldoc, int kind, ZYTextDocument doc)
 {
     InitializeComponent();
     treeView1         = null;
     this.xmldoc       = xmldoc;
     this.label9.Text  = App.UserAccount.CurrentSelectRole.Section_Id;
     this.label10.Text = App.UserAccount.CurrentSelectRole.Role_id;
     this.doc          = doc;
     //this.label9.Text = App.getSpell(this.label10.Text);    ---------快捷码
     //this.treeView1 = treeView1;
     ucTemplateManagement.text_kind = kind;
 }
예제 #8
0
 public void setfrKnowledge(ZYTextInput _select, ZYTextDocument _myDocument)
 {
     if (this.myDocument == null)
     {
         this.myDocument = _myDocument;
     }
     Flag          = true;
     this.mySelect = _select;
     enable();
     FindNode(this.tvDirectory.Nodes, _select.Name, _select.ListSource);
     this.tvDirectory_AfterSelect(null, null);
     this.tvDirectory.Focus();
 }
예제 #9
0
        /// <summary>
        /// 将诊断转换成编辑器元素
        /// </summary>
        /// <param name="document">编辑器对象</param>
        /// <param name="diagnoseType">诊断类型</param>
        /// <param name="title">诊断title</param>
        /// <param name="patient_id">病人ID</param>
        /// <returns>诊断元素集合</returns>
        public static ArrayList GetDiagnoseToElement(ZYTextDocument document, string diagnoseType, string title, string divname, string patient_id, bool EnableTime, string TimeName)
        {
            XmlDocument xmlDocument = new XmlDocument();

            xmlDocument.PreserveWhitespace = true;
            StringBuilder strb = new StringBuilder();

            strb.Append("<emrtextdocument2005>");
            strb.Append(GetDiagnoseToStr(document, diagnoseType, title, divname, patient_id, EnableTime, TimeName));
            strb.Append("</emrtextdocument2005>");
            ArrayList myList = new ArrayList();

            xmlDocument.LoadXml(strb.ToString());
            document.LoadElementsToList(xmlDocument.DocumentElement, myList);
            return(myList);
            //return null;
        }
예제 #10
0
        /// <summary>
        /// 加载图片
        /// </summary>
        /// <returns>根据对象属性设置加载图片对象</returns>
        public bool LoadImage()
        {
            switch (this.ImageType)
            {
            case ZYTextConst.c_EMRTextDoc:
                using (ZYTextDocument myDoc = new ZYTextDocument())
                {
                    myDoc.View = new DocumentView();
                    myDoc.FromXMLFile(this.Src);
                    myImage = myDoc.GetPreViewImage();
                }
                break;

            default:
                myImage = ZYTextConst.ImageFromURL(this.Src);
                break;
            }
            if (myImage != null)
            {
                intWidth  = myOwnerDocument.PixelToDocumentUnit(myImage.Size.Width);
                intHeight = myOwnerDocument.PixelToDocumentUnit(myImage.Size.Height);
            }
            return(true);
        }
예제 #11
0
 /// <summary>
 /// 初始化维文书写样式
 /// </summary>
 static WeiWenProcess()
 {
     document = null;
     Harip    = new int[5, 34];
     //单独形式
     WeiWenProcess.Harip[0, 0]  = int.Parse("FE89", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 1]  = int.Parse("FE8D", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 2]  = int.Parse("FEE9", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 3]  = int.Parse("FE8F", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 4]  = int.Parse("FB56", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 5]  = int.Parse("FE95", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 6]  = int.Parse("FE9D", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 7]  = int.Parse("FB7A", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 8]  = int.Parse("FEA5", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 9]  = int.Parse("FEA9", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 10] = int.Parse("FEAD", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 11] = int.Parse("FEAF", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 12] = int.Parse("FB8A", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 13] = int.Parse("FEB1", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 14] = int.Parse("FEB5", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 15] = int.Parse("FECD", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 16] = int.Parse("FED1", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 17] = int.Parse("FED5", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 18] = int.Parse("FED9", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 19] = int.Parse("FB92", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 20] = int.Parse("FBD3", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 21] = int.Parse("FEDD", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 22] = int.Parse("FEE1", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 23] = int.Parse("FEE5", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 24] = int.Parse("FBAA", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 25] = int.Parse("FEED", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 26] = int.Parse("FBD7", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 27] = int.Parse("FBD9", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 28] = int.Parse("FBDB", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 29] = int.Parse("FBDE", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 30] = int.Parse("FBE4", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 31] = int.Parse("FEEF", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 32] = int.Parse("FEF1", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[0, 33] = int.Parse("FEFB", System.Globalization.NumberStyles.HexNumber);
     //接尾形式
     WeiWenProcess.Harip[1, 0]  = int.Parse("FE8A", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 1]  = int.Parse("FE8E", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 2]  = int.Parse("FEEA", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 3]  = int.Parse("FE90", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 4]  = int.Parse("FB57", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 5]  = int.Parse("FE96", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 6]  = int.Parse("FE9E", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 7]  = int.Parse("FB7B", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 8]  = int.Parse("FEA6", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 9]  = int.Parse("FEAA", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 10] = int.Parse("FEAE", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 11] = int.Parse("FEB0", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 12] = int.Parse("FB8B", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 13] = int.Parse("FEB2", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 14] = int.Parse("FEB6", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 15] = int.Parse("FECE", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 16] = int.Parse("FED2", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 17] = int.Parse("FED6", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 18] = int.Parse("FEDA", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 19] = int.Parse("FB93", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 20] = int.Parse("FBD4", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 21] = int.Parse("FEDE", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 22] = int.Parse("FEE2", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 23] = int.Parse("FEE6", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 24] = int.Parse("FBAB", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 25] = int.Parse("FEEE", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 26] = int.Parse("FBD8", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 27] = int.Parse("FBDA", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 28] = int.Parse("FBDC", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 29] = int.Parse("FBDF", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 30] = int.Parse("FBE5", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 31] = int.Parse("FEF0", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 32] = int.Parse("FEF2", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[1, 33] = int.Parse("FEFC", System.Globalization.NumberStyles.HexNumber);
     //中间形式
     WeiWenProcess.Harip[2, 0]  = int.Parse("FE8C", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 3]  = int.Parse("FE92", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 4]  = int.Parse("FB59", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 5]  = int.Parse("FE98", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 6]  = int.Parse("FEA0", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 7]  = int.Parse("FB7D", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 8]  = int.Parse("FEA8", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 13] = int.Parse("FEB4", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 14] = int.Parse("FEB8", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 15] = int.Parse("FED0", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 16] = int.Parse("FED4", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 17] = int.Parse("FED8", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 18] = int.Parse("FEDC", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 19] = int.Parse("FB95", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 20] = int.Parse("FBD6", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 21] = int.Parse("FEE0", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 22] = int.Parse("FEE4", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 23] = int.Parse("FEE8", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 24] = int.Parse("FBAD", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 30] = int.Parse("FBE7", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 31] = int.Parse("FBE9", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[2, 32] = int.Parse("FEF4", System.Globalization.NumberStyles.HexNumber);
     //起始形式
     WeiWenProcess.Harip[3, 0]  = int.Parse("FE8B", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 3]  = int.Parse("FE91", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 4]  = int.Parse("FB58", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 5]  = int.Parse("FE97", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 6]  = int.Parse("FE9F", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 7]  = int.Parse("FB7C", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 8]  = int.Parse("FEA7", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 13] = int.Parse("FEB3", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 14] = int.Parse("FEB7", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 15] = int.Parse("FECF", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 16] = int.Parse("FED3", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 17] = int.Parse("FED7", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 18] = int.Parse("FEDB", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 19] = int.Parse("FB94", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 20] = int.Parse("FBD5", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 21] = int.Parse("FEDF", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 22] = int.Parse("FEE3", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 23] = int.Parse("FEE7", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 24] = int.Parse("FBAC", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 30] = int.Parse("FBE6", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 31] = int.Parse("FBE8", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[3, 32] = int.Parse("FEF3", System.Globalization.NumberStyles.HexNumber);
     //原型形式
     WeiWenProcess.Harip[4, 0]  = int.Parse("0626", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 1]  = int.Parse("0627", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 2]  = int.Parse("06D5", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 3]  = int.Parse("0628", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 4]  = int.Parse("067E", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 5]  = int.Parse("062A", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 6]  = int.Parse("062C", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 7]  = int.Parse("0686", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 8]  = int.Parse("062E", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 9]  = int.Parse("062F", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 10] = int.Parse("0631", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 11] = int.Parse("0632", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 12] = int.Parse("0698", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 13] = int.Parse("0633", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 14] = int.Parse("0634", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 15] = int.Parse("063A", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 16] = int.Parse("0641", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 17] = int.Parse("0642", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 18] = int.Parse("0643", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 19] = int.Parse("06AF", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 20] = int.Parse("06AD", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 21] = int.Parse("0644", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 22] = int.Parse("0645", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 23] = int.Parse("0646", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 24] = int.Parse("06BE", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 25] = int.Parse("0648", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 26] = int.Parse("06C7", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 27] = int.Parse("06C6", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 28] = int.Parse("06C8", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 29] = int.Parse("06CB", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 30] = int.Parse("06D0", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 31] = int.Parse("0649", System.Globalization.NumberStyles.HexNumber);
     WeiWenProcess.Harip[4, 32] = int.Parse("064A", System.Globalization.NumberStyles.HexNumber);
     //WeiWenProcess.Harip[4, 33] = int.Parse("FEFB", System.Globalization.NumberStyles.HexNumber);
 }
예제 #12
0
        public static string TextTittle = "胸痛病人信息采集表";  //当前文书的标题

        /// <summary>
        /// 绘制页眉页脚
        /// </summary>
        /// <param name="g"></param>
        /// <param name="r"></param>
        /// <param name="pageIndex"></param>
        void MyDoc_onDrawHeader(Graphics g, Rectangle rectContent, int pageIndex, ZYCommon.PageHeaders currentPage, ZYTextDocument emrdoc)
        {
            Font headNameFont           = null;
            Font headHospitalTittleFont = null;
            Font bottomPageCurrent      = null;
            Font headNameFont2          = null;

            if (headNameFont == null)
            {
                headNameFont = new Font("宋体", 12f);
            }
            if (headHospitalTittleFont == null)
            {
                headHospitalTittleFont = new Font("宋体", 16f);
            }
            if (bottomPageCurrent == null)
            {
                bottomPageCurrent = new Font("宋体", 10.5f);
            }
            if (headNameFont2 == null)
            {
                headNameFont2 = new Font("宋体", 15f);
            }

            StringFormat format = new StringFormat();

            format.Alignment = StringAlignment.Center;


            #region 页眉
            //标题
            g.DrawString(TextTittle, headNameFont2, Brushes.Black, new Rectangle(rectContent.Left, rectContent.Top - 80, rectContent.Width, 34), format);
            g.DrawString(App.HospitalTittle, headHospitalTittleFont, Brushes.Black, new Rectangle(rectContent.Left, rectContent.Top - 110, rectContent.Width, 25), format);
            #endregion
        }
예제 #13
0
 public HeaderFooterSetting(ZYTextDocument doc, SQLUtil sqlUtil)
 {
     InitializeComponent();
     m_Doc     = doc;
     m_SqlUtil = sqlUtil;
 }
예제 #14
0
        private void FillModelMacro(PadForm padForm)
        {
            try
            {
                if (padForm != null)
                {
                    bool isModified = padForm.zyEditorControl1.EMRDoc.Modified;

                    //根据病历的不同状态,调用程序在此处初始化宏的值。
                    //替换标题中的宏
                    XmlDocument headerdoc = new XmlDocument();
                    headerdoc.LoadXml(padForm.zyEditorControl1.EMRDoc.HeadString);
                    XmlNodeList nodes = headerdoc.SelectNodes("header/p/macro");
                    foreach (XmlNode node in nodes) //为默认值的时候进行替换
                    {
                        if (node.Attributes["name"].Value.Trim() == "科室" && node.InnerText.Trim() != "科室")
                        {
                            continue;
                        }
                        if (node.Attributes["name"].Value.Trim() == "病区" && node.InnerText.Trim() != "病区")
                        {
                            continue;
                        }

                        //Add by wwj 2012-07-17
                        if (node.Attributes["name"].Value.Trim() == "医师签名" && node.InnerText.Trim() != "医师签名")
                        {
                            continue;
                        }

                        if (node.Attributes["name"].Value.Trim() == "当前日期" && node.InnerText.Trim() != "当前日期")
                        {
                            continue;
                        }
                        if (node.Attributes["name"].Value.Trim() == "当前时间" && node.InnerText.Trim() != "当前时间")
                        {
                            continue;
                        }

                        node.InnerText = GetDataByNameForMacro(node.Attributes["name"].Value);
                    }
                    padForm.zyEditorControl1.EMRDoc.HeadString = headerdoc.OuterXml;

                    //替换文档中的宏
                    //获得所有宏元素列表
                    ArrayList      al  = new ArrayList();
                    ZYTextDocument doc = padForm.zyEditorControl1.EMRDoc;
                    doc.GetAllSpecElement(al, doc.RootDocumentElement, ElementType.Macro, null);

                    //循环每个宏元素,根据宏元素的Name属性,查询并赋值线Text属性
                    foreach (ZYMacro m in al)
                    {
                        if (m.Name == "科室" && m.Text.Trim() != "科室")
                        {
                            continue;
                        }
                        if (m.Name == "病区" && m.Text.Trim() != "病区")
                        {
                            continue;
                        }

                        //Add by wwj 2012-07-17
                        if (m.Name == "医师签名" && m.text.Trim() != "医师签名")
                        {
                            continue;
                        }

                        if (m.Name == "当前日期" && m.text.Trim() != "当前日期")
                        {
                            continue;
                        }
                        if (m.Name == "当前时间" && m.text.Trim() != "当前时间")
                        {
                            continue;
                        }

                        m.Text = GetDataByNameForMacro(m.Name);
                    }

                    doc.RefreshSize();
                    doc.ContentChanged();
                    doc.OwnerControl.Refresh();
                    doc.UpdateCaret();

                    padForm.zyEditorControl1.EMRDoc.Modified = isModified;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #15
0
        private void ReplaceModelMacro(EmrModel model)
        {
            try
            {
                //循环每个可替换元素,根据可替换元素的Name属性,查询并赋值Text属性
                //获得病历中所有可替换元素列表
                ArrayList      al  = new ArrayList();
                ZYTextDocument doc = CurrentForm.zyEditorControl1.EMRDoc;
                doc.GetAllSpecElement(al, doc.RootDocumentElement, ElementType.Replace, null);

                //无可替换元素则退出
                if (al.Count < 0)
                {
                    return;
                }

                Dictionary <string, PadForm> padFormDictionary = new Dictionary <string, PadForm>();

                //获得当前病历需要替换的项目需要从哪些病历中提取
                DataTable dtReplaceItem = m_RecordDal.GetReplaceItem(model.ModelName);

                //源病历的列表
                List <string> sourceEmrList = m_RecordDal.GetSourceEMRByDestEmrName(model.ModelName, dtReplaceItem);

                foreach (string sourceEmr in sourceEmrList)
                {
                    PadForm padForm = GetSourcePadFormForReplaceItem(sourceEmr);
                    padFormDictionary.Add(sourceEmr, padForm);
                }

                if (padFormDictionary.Count == 0)
                {
                    return;
                }

                int startIndex;
                int endIndex;
                GetEditAreaIndex(doc, out startIndex, out endIndex);

                DocumentModel docModel = CurrentForm.zyEditorControl1.EMRDoc.Info.DocumentModel;

                //替换当前病历中的项目
                foreach (ZYReplace m in al)
                {
                    //排除编辑范围之外的可替换元素
                    if (c_IsOpenEditAreaCanReplaceFlag && docModel == DocumentModel.Read && startIndex != -1 && endIndex != -1)
                    {
                        int zyReplaceIndex = CurrentForm.zyEditorControl1.EMRDoc.Content.IndexOf(m.FirstElement);
                        if (zyReplaceIndex < startIndex || zyReplaceIndex > endIndex)
                        {
                            continue;
                        }
                    }

                    List <string> destList = m_RecordDal.GetSourceEMRByDestItemAndDestEmrName(model.ModelName, m.Name, dtReplaceItem);
                    if (destList.Count == 0)
                    {
                        continue;
                    }
                    if (destList.Count == 2)
                    {
                        string  source_emrname  = destList[0];
                        string  source_itemname = destList[1];
                        PadForm padForm         = padFormDictionary[source_emrname];
                        if (padForm != null)
                        {
                            m.Text = padForm.zyEditorControl1.EMRDoc.GetReplaceText(source_itemname);
                        }
                    }
                }
                doc.RefreshSize();
                doc.ContentChanged();
                doc.OwnerControl.Refresh();
                doc.UpdateCaret();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #16
0
 public frKnowledge(ZYTextDocument _myDocument)
 {
     InitializeComponent();
     this.tcEdit.TabPages.Clear();
     this.myDocument = _myDocument;
 }
예제 #17
0
 /// <summary>
 /// 初始化小模板保存框
 /// </summary>
 /// <param name="xmldoc"></param>
 /// <param name="treeView1"></param>
 /// <param name="doc"></param>
 public frmSmallTemplateSave(XmlDocument xmldoc, ZYTextDocument doc)
 {
     InitializeComponent();
     this.doc    = doc;
     this.xmldoc = xmldoc;
 }
예제 #18
0
        /// <summary>
        /// 诊断转换成 string
        /// </summary>
        /// <param name="document">编辑器对象</param>
        /// <param name="diagnoseType">诊断类型</param>
        /// <param name="title">文本框名称</param>
        /// <returns>适用编辑器诊断xml字符串</returns>
        public static string GetDiagnoseToStr(ZYTextDocument document, string diagnoseType, string title, string divname, string patient_id, bool EnableTime, string TimeName)
        {
            string               text1               = "<span>{0}</span>";
            string               text2               = "<p leftchars = '{0}' />";
            string               text3               = "<span>                         </span><input candelete=\"1\" name=\"诊断医师签名\" id=\"{1}\">        {0}</input>";
            string               text4               = "<input candelete=\"1\" name=\"诊断日期\">{0}</input>";
            string               text5               = "<p />";
            string               text6               = "<p align =\"{0}\" />";
            StringBuilder        strb                = new StringBuilder();
            SizeF                ef                  = document.View.Graph.MeasureString("一", document.View.DefaultFont, 1000, StringFormat.GenericTypographic);
            int                  titleWhiteSpace1    = Convert.ToInt32(ef.Width * 2);
            int                  titleWhiteSpace     = Convert.ToInt32(ef.Width * 7.5);
            int                  haveChineseDiagnose = Convert.ToInt32(ef.Width * 4.5);
            int                  twoCharSize         = 0;
            List <Diagnose_item> diagnoseList        = GetDiagnose(patient_id, diagnoseType);
            int                  x      = 1;
            bool                 haveZX = false;

            if (diagnoseList.Count > 0)
            {
                //string TextKind = ",294,400,1876,151,1929,297,286,1878,316,327,6988544,132,523,6988518,500,509,284,296,510,891,1877,300,308,306,285,288,301,426,1624,136,130,131,47847151,333,362,1875,291,427,512,368,890,287,319,47553058,2147099025,158,126,127,312,313,295,338,";
                string TextKind    = ",6988518,284,";
                string TextKind_id = "," + document.Us.TextKind_id + ",";
                //加入div中name属性值展示
                if (divname != "")
                {
                    strb.Append("<span fontbold=\"1\">" + divname + "</span><p operatercreater=\"0\"/>");
                }
                Diagnose_item oldItem   = new Diagnose_item();
                string        oldQmId   = string.Empty;
                string        oldQmName = string.Empty;
                for (int i = 0; i < diagnoseList.Count; i++)
                {
                    string fsQm = string.Empty;
                    string yjQm = string.Empty;
                    string ejQm = string.Empty;
                    string sjQm = string.Empty;

                    string fsId = string.Empty;
                    string yjId = string.Empty;
                    string ejId = string.Empty;
                    string sjId = string.Empty;

                    Diagnose_item item = diagnoseList[i];
                    if (item.Lever == 0)
                    {
                        if (string.IsNullOrEmpty(fsQm) && !string.IsNullOrEmpty(item.fssx_name))
                        {
                            fsQm = item.fssx_name;
                            fsId = item.fssx_id;
                        }

                        if (string.IsNullOrEmpty(yjQm) && !string.IsNullOrEmpty(item.yjsx_name))
                        {
                            yjQm = item.yjsx_name;
                            yjId = item.yjsx_id;
                        }


                        if (string.IsNullOrEmpty(ejQm) && !string.IsNullOrEmpty(item.ejsx_name))
                        {
                            ejQm = item.ejsx_name;
                            ejId = item.ejsx_id;
                        }

                        if (string.IsNullOrEmpty(sjQm) && !string.IsNullOrEmpty(item.sjsx_name))
                        {
                            sjQm = item.sjsx_name;
                            sjId = item.sjsx_id;
                        }
                        if (TextKind.Contains(TextKind_id))
                        {//入院记录中诊断带签名(顺序:高到底- 三级,二级,一级,附属),
                            StringBuilder qmBuilder   = new StringBuilder();
                            StringBuilder qmIdBuilder = new StringBuilder();


                            if (!string.IsNullOrEmpty(sjQm))
                            {
                                qmBuilder.Append("/");
                                qmBuilder.Append(sjQm);
                                qmIdBuilder.Append("/");
                                qmIdBuilder.Append(sjId);
                            }

                            if (!string.IsNullOrEmpty(ejQm))
                            {
                                qmBuilder.Append("/");
                                qmBuilder.Append(ejQm);
                                qmIdBuilder.Append("/");
                                qmIdBuilder.Append(ejId);
                            }

                            if (!string.IsNullOrEmpty(yjQm))
                            {
                                qmBuilder.Append("/");
                                qmBuilder.Append(yjQm);
                                qmIdBuilder.Append("/");
                                qmIdBuilder.Append(yjId);
                            }

                            if (!string.IsNullOrEmpty(fsQm))
                            {
                                qmBuilder.Append("/");
                                qmBuilder.Append(fsQm);
                                qmIdBuilder.Append("/");
                                qmIdBuilder.Append(fsId);
                            }


                            if (!string.IsNullOrEmpty(qmBuilder.ToString()))
                            {
                                qmBuilder.Remove(0, 1);
                                qmIdBuilder.Remove(0, 1);
                            }

                            if (!string.IsNullOrEmpty(oldQmName) && (oldItem.fix_time != item.fix_time || oldItem.qm != item.qm || (oldItem.qm == "/0//" && item.qm == "/0//" && item.yjsx_name != oldItem.yjsx_name)))//|| item.yjsx_name != oldItem.yjsx_name)) // && item.qm=='\0' &&
                            {
                                //if (title == "确定诊断")
                                ////if (title == "初步诊断")
                                //{
                                //    strb.Append(string.Format(text1, "确诊医师:"));
                                //}
                                //else
                                //{
                                //    strb.Append(string.Format(text1, "医师签名:"));
                                //}
                                if (item.yjsx_name != oldItem.yjsx_name || oldItem.fix_time != item.fix_time)
                                {
                                    strb.Append(string.Format(text3, oldQmName, oldQmId));
                                    strb.Append(text5);
                                    if (EnableTime)
                                    {
                                        strb.Append(string.Format(text4, oldItem.fix_time));
                                    }
                                    strb.Append(string.Format(text6, "1"));
                                    oldQmId   = string.Empty;
                                    oldQmName = string.Empty;
                                }
                            }

                            oldQmId   = qmIdBuilder.ToString();
                            oldQmName = qmBuilder.ToString();
                            oldItem   = item;
                        }
                    }

                    if (item.ZyStart)
                    {
                        twoCharSize = Convert.ToInt32(ef.Width * 4);
                        haveZX      = true;
                        x++;
                    }

                    string diagNose = item.DiagnoseName.Trim();

                    //签名诊断排列对齐
                    //if (i == 0) { strb.Append(string.Format(text1, diagNose)); } else
                    //{
                    strb.Append(string.Format(text1, "<span>      </span>" + diagNose));
                    //}

                    int marginLeftWidth  = titleWhiteSpace;//(item.Lever * Convert.ToInt32(ef.Width) * 2 + ((x == 2 && item.Lever == 0) ? Convert.ToInt32(ef.Width) : 0) + titleWhiteSpace + (item.ZyStart ? 0 : twoCharSize));
                    int marginLeftWidth1 = titleWhiteSpace1;
                    if (item.Lever > 0)
                    {
                        if (TextKind.Contains(TextKind_id))
                        {
                            marginLeftWidth1 += (item.Lever * Convert.ToInt32(ef.Width) * 2);
                        }
                        else
                        {
                            marginLeftWidth += (item.Lever * Convert.ToInt32(ef.Width) * 2);
                        }
                    }
                    if (haveZX && item.ZyStart == false)
                    {
                        marginLeftWidth += haveChineseDiagnose;
                    }
                    //strb.Append(string.Format(text2, marginLeftWidth));
                    if (TextKind.Contains(TextKind_id))
                    {
                        strb.Append(string.Format(text2, marginLeftWidth1));
                    }
                    else
                    {
                        strb.Append(string.Format(text2, marginLeftWidth));
                    }
                }

                if (TextKind.Contains(TextKind_id))
                {
                    //if (title == "确定诊断")
                    //{
                    //    strb.Append(string.Format(text1, "确诊医师:"));
                    //}
                    //else
                    //{
                    //    strb.Append(string.Format(text1, "医师签名:"));
                    //}
                    strb.Append(string.Format(text3, oldQmName.ToString(), oldQmId.ToString()));
                    //strb.Append(text5);
                    if (EnableTime)
                    {
                        strb.Append(string.Format(text4, oldItem.fix_time));
                    }
                    strb.Append(string.Format(text6, "1"));
                }
            }
            return(strb.ToString());
        }