예제 #1
0
        /// <summary>
        /// Delete
        /// </summary>
        internal void Delete()
        {
            EntityEmrBasicInfo caseVo = GetCaseVo();

            if (caseVo != null && caseVo.serNo > 0)
            {
                if (DialogBox.Msg("是否删除当前病历资料??\r\n\r\n" + "【" + caseVo.caseName + "】", MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    using (ProxyCommon proxy = new ProxyCommon())
                    {
                        if (proxy.Service.DeleteCaseBasicInfo((int)caseVo.serNo, caseVo.caseCode))
                        {
                            DialogBox.Msg("删除成功!");
                            this.New();
                            this.RefreshData();
                        }
                        else
                        {
                            DialogBox.Msg("删除失败。");
                        }
                    }
                }
            }
            else
            {
                this.New();
            }
        }
예제 #2
0
파일: svccomm.cs 프로젝트: tianzhihen18/hms
 /// <summary>
 /// 病历基础信息.保存
 /// </summary>
 /// <param name="caseVo"></param>
 /// <param name="lstCaseDept"></param>
 /// <returns></returns>
 public bool SaveCaseBasicInfo(ref EntityEmrBasicInfo caseVo, List <EntityEmrDept> lstCaseDept)
 {
     using (BizEmr biz = new BizEmr())
     {
         return(biz.SaveCaseBasicInfo(ref caseVo, lstCaseDept));
     }
 }
예제 #3
0
        /// <summary>
        /// NewFormDept
        /// </summary>
        internal void NewFormDept()
        {
            EntityEmrBasicInfo caseVo = GetCaseVo();

            if (caseVo == null)
            {
                DialogBox.Msg("请先保存病历基础信息。");
                return;
            }
            frmNew frm = new frmNew(EntityTools.ConvertToDataTable <EntityCodeDepartment>(GlobalDic.DataSourceDepartment), "deptCode", "deptCode", "deptName");

            if (frm.ShowDialog() == DialogResult.OK)
            {
                if (frm.lstNo.Count > 0)
                {
                    foreach (int index in frm.lstNo)
                    {
                        EntityEmrDept emrDept = new EntityEmrDept();
                        emrDept.caseCode = caseVo.caseCode;
                        emrDept.deptCode = GlobalDic.DataSourceDepartment[index].deptCode;
                        emrDept.attrFlag = 1;

                        using (ProxyCommon proxy = new ProxyCommon())
                        {
                            if (proxy.Service.SaveCaseDept(emrDept) < 0)
                            {
                                DialogBox.Msg("保存病历所属专科失败。");
                                return;
                            }
                        }
                    }
                    LoadCaseDept(caseVo.caseCode);
                }
            }
        }
예제 #4
0
        /// <summary>
        /// 查找表单
        /// </summary>
        /// <param name="val"></param>
        internal void FindForm(string val)
        {
            if (string.IsNullOrEmpty(val))
            {
                return;
            }
            bool isFind = false;
            EntityEmrBasicInfo caseVo = null;

            for (int i = this.FindIndex; i < Viewer.tvForm.AllNodesCount; i++)
            {
                caseVo = (EntityEmrBasicInfo)Viewer.tvForm.GetDataRecordByNode(Viewer.tvForm.GetNodeByVisibleIndex(i));
                //if (caseVo.isLeaf)
                //{
                if (caseVo.pyCode.StartsWith(val) || caseVo.wbCode.StartsWith(val) || caseVo.caseName.StartsWith(val) ||
                    caseVo.caseCode.Equals(val))
                {
                    this.FindIndex = i + 1;
                    Viewer.tvForm.SetFocusedNode(Viewer.tvForm.GetNodeByVisibleIndex(i));
                    isFind = true;
                    break;
                }
                //}
            }
            if (isFind)
            {
                if (this.FindIndex < Viewer.tvForm.AllNodesCount && DialogBox.Msg("是否继续查找?", MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    FindForm(val);
                }
            }
            else
            {
                if (this.FindIndex == 0)
                {
                    DialogBox.Msg("没有找到匹配项。");
                }
                else
                {
                    DialogBox.Msg("已找到末尾.");
                }
            }
        }
예제 #5
0
        /// <summary>
        /// 加载病历树
        /// </summary>
        void InitCatalog()
        {
            try
            {
                uiHelper.BeginLoading(Viewer);
                List <EntityEmrCatalog>       dataSourceEmrCatalog   = null;
                List <EntityEmrBasicInfo>     dataSourceEmrBasicInfo = null;
                List <EntityProgressNoteType> dataSourceEmrPnType    = null;
                using (ProxyEntityFactory proxy = new ProxyEntityFactory())
                {
                    EntityEmrCatalog vo1 = new EntityEmrCatalog();
                    vo1.caseScope        = 2;
                    vo1.status           = 1;
                    dataSourceEmrCatalog = EntityTools.ConvertToEntityList <EntityEmrCatalog>(proxy.Service.SelectSort(vo1, new List <string> {
                        EntityEmrCatalog.Columns.caseScope, EntityEmrCatalog.Columns.status
                    }, new List <string> {
                        EntityEmrCatalog.Columns.sortNo
                    }));

                    EntityEmrBasicInfo vo2 = new EntityEmrBasicInfo();
                    vo2.attribute          = -1;
                    vo2.showType           = -1;
                    dataSourceEmrBasicInfo = EntityTools.ConvertToEntityList <EntityEmrBasicInfo>(proxy.Service.Select(vo2, new List <string> {
                        EntityEmrBasicInfo.Columns.attribute, EntityEmrBasicInfo.Columns.showType
                    }, "<>", new List <string> {
                        EntityEmrBasicInfo.Columns.parentCode, EntityEmrBasicInfo.Columns.sortNo
                    }));

                    EntityProgressNoteType vo3 = new EntityProgressNoteType();
                    vo3.status          = 1;
                    dataSourceEmrPnType = EntityTools.ConvertToEntityList <EntityProgressNoteType>(proxy.Service.SelectSort(vo3, new List <string> {
                        EntityProgressNoteType.Columns.status
                    }, new List <string> {
                        EntityProgressNoteType.Columns.sortNo
                    }));
                }
                CreateCatalog(dataSourceEmrCatalog, dataSourceEmrBasicInfo, dataSourceEmrPnType);
            }
            finally
            {
                uiHelper.CloseLoading(Viewer);
            }
        }
예제 #6
0
        /// <summary>
        /// Design
        /// </summary>
        internal void Design()
        {
            EntityEmrBasicInfo caseVo = GetCaseVo();

            if (caseVo == null)
            {
                DialogBox.Msg("请选择表单。");
            }
            else
            {
                if (string.IsNullOrEmpty(caseVo.caseCode))
                {
                    DialogBox.Msg("请先保存病历基本信息。");
                    return;
                }
                using (frmFormDesign frm = new frmFormDesign())
                {
                    //frm.FormType = 11;  // 0412.临时
                    frm.FormType = 1;
                    frm.FormId   = Function.Int((Viewer.txtCaseCode.Tag as EntityEmrBasicInfo).formId);
                    frm.ShowDialog();
                }
            }
        }
예제 #7
0
        /// <summary>
        /// 保存.电子申请单
        /// </summary>
        /// <param name="formVo"></param>
        /// <param name="formId"></param>
        /// <returns></returns>
        public int SaveForm(EntityFormDesign formVo, out int formId)
        {
            int       affectRows = 0;
            string    Sql        = string.Empty;
            SqlHelper svc        = null;

            formId = 0;
            try
            {
                svc = new SqlHelper(EnumBiz.onlineDB);
                List <DacParm> lstPara = new List <DacParm>();

                bool isExsit = true;
                if (formVo.Formid <= 0)
                {
                    isExsit       = false;
                    formVo.Formid = svc.GetNextID(EntityTools.GetTableName(formVo), EntityTools.GetFieldName(formVo, EntityFormDesign.Columns.Formid));
                }
                lstPara.Add(svc.GetInsertParm(formVo));

                if (Function.Int(formVo.Formtype) < 3)
                {
                    if (isExsit == false)
                    {
                        string tbName = "emrFormRtf" + formVo.Formid.ToString();

                        // 自动生成
                        EntityEmrBasicInfo vo = new EntityEmrBasicInfo();
                        vo.typeId    = 1;
                        vo.formId    = formVo.Formid;
                        vo.caseName  = formVo.Formname;
                        vo.caseCode  = formVo.Formid.ToString();
                        vo.pyCode    = SpellCodeHelper.GetPyCode(formVo.Formname);
                        vo.wbCode    = SpellCodeHelper.GetWbCode(formVo.Formname);
                        vo.tableName = tbName;
                        vo.attribute = 0;
                        vo.showType  = 0;
                        vo.caseStyle = 0;
                        vo.catalogId = 23;  // 其他类
                        vo.fieldXml  = EmrTool.GetBasicFieldXml(formVo.Layout);
                        vo.status    = 1;
                        lstPara.Add(svc.GetInsertParm(vo));

                        if (svc.enumDBMS == EnumDBMS.Oracle)
                        {
                        }
                        else
                        {
                            Sql = @"if exists (select 1
                                                from  sysobjects
                                               where  id = object_id('{0}')
                                                and   type = 'U')
                                       drop table {1}";
                            lstPara.Add(svc.GetDacParm(EnumExecType.ExecSql, string.Format(Sql, tbName, tbName)));

                            Sql = @"create table {0} (                               
                                           registerid           varchar(20)          not null,
                                           recorddate           datetime             not null,
                                           fieldname            varchar(50)          not null,
                                           rowindex             numeric(10,0)        not null,
                                           tablecode            varchar(100)         null,
                                           contentrtf           image                null,
                                           printrtf             image                null,
                                           isprint              numeric(1,0)         not null,
                                           constraint pk_{0} primary key (registerid, recorddate, fieldname, rowindex)
                                        )";
                        }

                        lstPara.Add(svc.GetDacParm(EnumExecType.ExecSql, string.Format(Sql, tbName, tbName)));
                    }
                    else
                    {
                        EntityEmrBasicInfo vo = new EntityEmrBasicInfo();
                        vo.formId   = formVo.Formid;
                        vo.caseName = formVo.Formname;
                        vo.pyCode   = SpellCodeHelper.GetPyCode(formVo.Formname);
                        vo.wbCode   = SpellCodeHelper.GetWbCode(formVo.Formname);
                        vo.fieldXml = EmrTool.GetBasicFieldXml(formVo.Layout);
                        DataTable dt = svc.Select(vo, new List <string>()
                        {
                            EntityEmrBasicInfo.Columns.formId
                        });
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            //lstPara.Add(svc.GetUpdateParm(vo, new List<string>() { EntityEmrBasicInfo.Columns.caseName, EntityEmrBasicInfo.Columns.pyCode,
                            //                                                   EntityEmrBasicInfo.Columns.wbCode, EntityEmrBasicInfo.Columns.fieldXml },
                            //                                  new List<string>() { EntityEmrBasicInfo.Columns.formId }));
                            Sql = @"update emrBasicInfo
                                       set caseName = ?, pyCode = ?, wbCode = ?, fieldXml = ?
                                     where formId = ?";

                            IDataParameter[] parms = svc.CreateParm(5);
                            parms[0].Value = vo.caseName;
                            parms[1].Value = vo.pyCode;
                            parms[2].Value = vo.wbCode;
                            parms[3].Value = vo.fieldXml;
                            if (!string.IsNullOrEmpty(vo.fieldXml) && vo.fieldXml.Trim() != null)
                            {
                                parms[3].ParameterName = "xmltype";
                            }
                            parms[4].Value = vo.formId;
                            lstPara.Add(svc.GetDacParm(EnumExecType.ExecSql, Sql, parms));
                        }
                    }
                }
                if (formVo.Formid > 0)
                {
                    using (TransactionScope scope = svc.TransactionScope)
                    {
                        if (DelForm((int)formVo.Formid, (int)formVo.Version) < 0)
                        {
                            return(-1);
                        }
                        affectRows = svc.Commit(lstPara);
                        scope.Complete();
                    }
                }
                else
                {
                    affectRows = svc.Commit(lstPara);
                }
                formId = (int)formVo.Formid;
                if (formId > 0 && affectRows <= 0)
                {
                    affectRows = 1;
                }
            }
            catch (Exception ex)
            {
                ExceptionLog.OutPutException(Function.GetExceptionCaption(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName, System.Reflection.MethodBase.GetCurrentMethod().Name, ex.Message));
                affectRows = -1;
            }
            finally
            {
                svc = null;
            }
            return(affectRows);
        }
예제 #8
0
        /// <summary>
        /// 保存.电子申请单
        /// </summary>
        /// <param name="formVo"></param>
        /// <param name="formId"></param>
        /// <returns></returns>
        public int SaveForm(EntityFormDesign formVo, out int formId)
        {
            int       affectRows = 0;
            string    Sql        = string.Empty;
            SqlHelper svc        = null;

            formId = 0;
            try
            {
                svc = new SqlHelper(EnumBiz.onlineDB);
                List <DacParm> lstPara = new List <DacParm>();

                bool isExsit = true;
                if (formVo.Formid <= 0)
                {
                    isExsit       = false;
                    formVo.Formid = svc.GetNextID(EntityTools.GetTableName(formVo), EntityTools.GetFieldName(formVo, EntityFormDesign.Columns.Formid));
                }
                lstPara.Add(svc.GetInsertParm(formVo));

                if (isExsit == false)
                {
                    string tbName = "emrFormRtf" + formVo.Formid.ToString();

                    // 自动生成
                    EntityEmrBasicInfo vo = new EntityEmrBasicInfo();
                    vo.typeId    = 1;
                    vo.formId    = formVo.Formid;
                    vo.formName  = formVo.Formname;
                    vo.caseCode  = formVo.Formid.ToString();
                    vo.pyCode    = SpellCodeHelper.GetPyCode(formVo.Formname);
                    vo.wbCode    = SpellCodeHelper.GetWbCode(formVo.Formname);
                    vo.tableName = tbName;
                    vo.attribute = 0;
                    vo.showType  = 0;
                    vo.caseStyle = 0;
                    vo.catalogId = 23;  // 其他类
                    vo.fieldXml  = EmrTool.GetBasicFieldXml(formVo.Layout);
                    vo.status    = 1;
                    lstPara.Add(svc.GetInsertParm(vo));

                    Sql = @"if exists (select 1
                                        from  sysobjects
                                       where  id = object_id('{0}')
                                        and   type = 'U')
                               drop table {1}";
                    lstPara.Add(svc.GetDacParm(EnumExecType.ExecSql, string.Format(Sql, tbName, tbName)));

                    Sql = @"create table {0} (                               
                               registerid           varchar(20)          not null,
                               recorddate           datetime             not null,
                               fieldname            varchar(50)          not null,
                               rowindex             numeric(10,0)        not null,
                               tablecode            varchar(100)         null,
                               contentrtf           image                null,
                               printrtf             image                null,
                               isprint              numeric(1,0)         not null,
                               constraint pk_{0} primary key (registerid, recorddate, fieldname, rowindex)
                            )";
                    lstPara.Add(svc.GetDacParm(EnumExecType.ExecSql, string.Format(Sql, tbName, tbName)));
                }
                else
                {
                    EntityEmrBasicInfo vo = new EntityEmrBasicInfo();
                    vo.formId   = formVo.Formid;
                    vo.formName = formVo.Formname;
                    vo.pyCode   = SpellCodeHelper.GetPyCode(formVo.Formname);
                    vo.wbCode   = SpellCodeHelper.GetWbCode(formVo.Formname);
                    vo.fieldXml = EmrTool.GetBasicFieldXml(formVo.Layout);
                    DataTable dt = svc.Select(vo, new List <string>()
                    {
                        EntityEmrBasicInfo.Columns.formId
                    });
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        lstPara.Add(svc.GetUpdateParm(vo, new List <string>()
                        {
                            EntityEmrBasicInfo.Columns.formName, EntityEmrBasicInfo.Columns.pyCode,
                            EntityEmrBasicInfo.Columns.wbCode, EntityEmrBasicInfo.Columns.fieldXml
                        },
                                                      new List <string>()
                        {
                            EntityEmrBasicInfo.Columns.formId
                        }));
                    }
                }

                if (formVo.Formid > 0)
                {
                    using (TransactionScope scope = svc.TransactionScope)
                    {
                        if (DelForm((int)formVo.Formid, (int)formVo.Version) < 0)
                        {
                            return(-1);
                        }
                        affectRows = svc.Commit(lstPara);
                        scope.Complete();
                    }
                }
                else
                {
                    affectRows = svc.Commit(lstPara);
                }
                formId = (int)formVo.Formid;
                if (formId > 0 && affectRows <= 0)
                {
                    affectRows = 1;
                }
            }
            catch (Exception e)
            {
                ExceptionLog.OutPutException(e);
                affectRows = -1;
            }
            finally
            {
                svc = null;
            }
            return(affectRows);
        }
예제 #9
0
        /// <summary>
        /// Save
        /// </summary>
        internal void Save()
        {
            EntityEmrBasicInfo caseVo = new EntityEmrBasicInfo();

            if (Viewer.txtCaseCode.Tag != null)
            {
                caseVo = Viewer.txtCaseCode.Tag as EntityEmrBasicInfo;
            }
            if (lueCataDatalog.Any(t => t.catalogId + "^" == caseVo.caseCode))
            {
                DialogBox.Msg("病历目录,无需保存。");
                return;
            }
            caseVo.caseCode         = Viewer.txtCaseCode.Text;
            caseVo.caseName         = Viewer.txtCaseName.Text;
            caseVo.formId           = Function.Int(Viewer.lueFormTemplate.Properties.DBValue);
            caseVo.printTemplateId  = Function.Int(Viewer.luePrintTemplate.Properties.DBValue);
            caseVo.typeId           = Viewer.cboFormType.SelectedIndex;
            caseVo.status           = Viewer.cboFormStatus.SelectedIndex;
            caseVo.catalogId        = Function.Int(Viewer.lueCaseCata.Properties.DBValue);
            caseVo.caseStyle        = Viewer.cboCaseStyle.SelectedIndex;
            caseVo.attribute        = Viewer.cboCaseAttribute.SelectedIndex - 1;
            caseVo.showCaseStatus   = Viewer.chkShowFormStatus1.Checked ? 1 : 0;
            caseVo.specialFlag      = Viewer.chkExpert1.Checked ? 1 : 0;
            caseVo.multiPageFlag    = Viewer.chkMultPage1.Checked ? 1 : 0;
            caseVo.referenceType    = Viewer.chkRef1.Checked ? 1 : 0;
            caseVo.bandingFlag      = Viewer.chkBanding1.Checked ? 1 : 0;
            caseVo.timeType         = Viewer.cboDateType.SelectedIndex;
            caseVo.lockDateDirector = Function.Int(Viewer.txtHeadOfDeptTime.EditValue);
            caseVo.timeLimit        = Function.Int(Viewer.txtWriteLimitTime.EditValue);
            caseVo.lockDateQcDept   = Function.Int(Viewer.txtQcOfDeptTime.EditValue);
            caseVo.timePeriod       = Function.Int(Viewer.txtTimePeriod.EditValue);
            caseVo.aheadTime        = Function.Int(Viewer.txtPriorTime.EditValue);
            caseVo.signLevel        = Viewer.cboSigLevel.SelectedIndex;
            caseVo.dirDoctSignFlag  = Viewer.chkHeadOfDeptCheck1.Checked ? 1 : 0;
            caseVo.supDoctSignFlag  = Viewer.chkSuperDoctCheck1.Checked ? 1 : 0;
            caseVo.caseScope        = 2; // 1 门诊病历; 2 住院病历

            if (string.IsNullOrEmpty(caseVo.caseCode) || caseVo.caseCode.Trim() == string.Empty)
            {
                DialogBox.Msg("请输入病历编码");
                Viewer.txtCaseCode.Focus();
                return;
            }

            if (string.IsNullOrEmpty(caseVo.caseName) || caseVo.caseName.Trim() == string.Empty)
            {
                DialogBox.Msg("请输入病历名称");
                Viewer.txtCaseName.Focus();
                return;
            }

            List <EntityEmrDept> lstEmrDept = new List <EntityEmrDept>();

            using (ProxyCommon proxy = new ProxyCommon())
            {
                bool isNew = caseVo.serNo <= 0 ? true : false;
                if (proxy.Service.SaveCaseBasicInfo(ref caseVo, lstEmrDept))
                {
                    Viewer.txtCaseCode.Tag = caseVo;
                    if (isNew)
                    {
                        this.RefreshData();
                    }
                    DialogBox.Msg("保存成功");
                }
                else
                {
                    DialogBox.Msg("保存失败");
                }
            }
        }
예제 #10
0
        /// <summary>
        /// LoadForm
        /// </summary>
        /// <param name="formVo"></param>
        void LoadFormData(EntityEmrBasicInfo caseVo)
        {
            try
            {
                uiHelper.BeginLoading(Viewer);
                Viewer.page1.Controls.Clear();
                Panel pnl = new Panel();
                pnl.BackColor = Color.FromArgb(196, 200, 205);
                pnl.Height    = 30;
                pnl.Dock      = DockStyle.Bottom;
                if (caseVo == null)
                {
                    Viewer.txtCaseCode.Text            = string.Empty;
                    Viewer.txtCaseName.Text            = string.Empty;
                    Viewer.lueFormTemplate.Text        = string.Empty;
                    Viewer.luePrintTemplate.Text       = string.Empty;
                    Viewer.cboVersion.Text             = string.Empty;
                    Viewer.cboFormType.Text            = string.Empty;
                    Viewer.cboFormStatus.Text          = string.Empty;
                    Viewer.lueCaseCata.Text            = string.Empty;;
                    Viewer.cboCaseStyle.Text           = string.Empty;
                    Viewer.cboCaseAttribute.Text       = string.Empty;
                    Viewer.chkShowFormStatus1.Checked  = false;
                    Viewer.chkShowFormStatus2.Checked  = false;
                    Viewer.chkExpert1.Checked          = false;
                    Viewer.chkExpert2.Checked          = false;
                    Viewer.chkMultPage1.Checked        = false;
                    Viewer.chkMultPage2.Checked        = false;
                    Viewer.chkRef1.Checked             = false;
                    Viewer.chkRef2.Checked             = false;
                    Viewer.chkBanding1.Checked         = false;
                    Viewer.chkBanding2.Checked         = false;
                    Viewer.cboDateType.Text            = string.Empty;
                    Viewer.txtHeadOfDeptTime.EditValue = null;
                    Viewer.txtWriteLimitTime.EditValue = null;
                    Viewer.txtQcOfDeptTime.EditValue   = null;
                    Viewer.txtTimePeriod.EditValue     = null;
                    Viewer.txtPriorTime.EditValue      = null;
                    Viewer.cboSigLevel.Text            = string.Empty;
                    Viewer.chkHeadOfDeptCheck1.Checked = false;
                    Viewer.chkHeadOfDeptCheck2.Checked = false;
                    Viewer.chkSuperDoctCheck1.Checked  = false;
                    Viewer.chkSuperDoctCheck2.Checked  = false;
                    Viewer.gcDept.DataSource           = null;
                }
                else
                {
                    if (caseVo.formId > 0)
                    {
                        ShowPanelForm efPanel = new ShowPanelForm((int)caseVo.formId);
                        efPanel.Location = new Point(12, 10);

                        XtraScrollableControl scrollCtrl = new XtraScrollableControl();
                        scrollCtrl.Dock      = DockStyle.Fill;
                        scrollCtrl.BackColor = Color.FromArgb(196, 200, 205);
                        scrollCtrl.Controls.Add(efPanel);
                        scrollCtrl.Controls.Add(pnl);
                        Viewer.page1.Controls.Add(scrollCtrl);
                    }

                    Viewer.txtCaseCode.Text = caseVo.caseCode;
                    Viewer.txtCaseName.Text = caseVo.caseName;
                    Viewer.lueFormTemplate.Properties.DBValue = caseVo.formId.ToString();
                    SetLueFormTemplate(caseVo.formId);
                    Viewer.luePrintTemplate.Properties.DBValue = caseVo.printTemplateId.ToString();
                    SetLuePrintTemplate(caseVo.printTemplateId);
                    Viewer.cboVersion.Text                = "1";
                    Viewer.cboFormType.SelectedIndex      = (int)caseVo.typeId;
                    Viewer.cboFormStatus.SelectedIndex    = caseVo.status;
                    Viewer.lueCaseCata.Properties.DBValue = caseVo.catalogId.ToString();
                    SetLueCaseCata(caseVo.catalogId);
                    Viewer.cboCaseStyle.SelectedIndex     = caseVo.caseStyle;
                    Viewer.cboCaseAttribute.SelectedIndex = Function.Int(caseVo.attribute) + 1;
                    Viewer.chkShowFormStatus1.Checked     = caseVo.showCaseStatus == 1 ? true : false;
                    Viewer.chkShowFormStatus2.Checked     = caseVo.showCaseStatus == 0 ? true : false;
                    Viewer.chkExpert1.Checked             = caseVo.specialFlag == 1 ? true : false;
                    Viewer.chkExpert2.Checked             = caseVo.specialFlag == 0 ? true : false;
                    Viewer.chkMultPage1.Checked           = caseVo.multiPageFlag == 1 ? true : false;
                    Viewer.chkMultPage2.Checked           = caseVo.multiPageFlag == 0 ? true : false;
                    Viewer.chkRef1.Checked             = caseVo.referenceType == 1 ? true : false;
                    Viewer.chkRef2.Checked             = caseVo.referenceType == 0 ? true : false;
                    Viewer.chkBanding1.Checked         = caseVo.bandingFlag == 1 ? true : false;
                    Viewer.chkBanding2.Checked         = caseVo.bandingFlag == 0 ? true : false;
                    Viewer.cboDateType.SelectedIndex   = caseVo.timeType;
                    Viewer.txtHeadOfDeptTime.EditValue = caseVo.lockDateDirector;
                    Viewer.txtWriteLimitTime.EditValue = caseVo.timeLimit;
                    Viewer.txtQcOfDeptTime.EditValue   = caseVo.lockDateQcDept;
                    Viewer.txtTimePeriod.EditValue     = caseVo.timePeriod;
                    Viewer.txtPriorTime.EditValue      = caseVo.aheadTime;
                    Viewer.cboSigLevel.SelectedIndex   = caseVo.signLevel;
                    Viewer.chkHeadOfDeptCheck1.Checked = caseVo.dirDoctSignFlag == 1 ? true : false;
                    Viewer.chkHeadOfDeptCheck2.Checked = caseVo.dirDoctSignFlag == 0 ? true : false;
                    Viewer.chkSuperDoctCheck1.Checked  = caseVo.supDoctSignFlag == 1 ? true : false;
                    Viewer.chkSuperDoctCheck2.Checked  = caseVo.supDoctSignFlag == 0 ? true : false;
                    LoadCaseDept(caseVo.caseCode);
                }
                // form.Main
                Viewer.txtCaseCode.Tag = caseVo;
            }
            catch (System.Exception e)
            {
                DialogBox.Msg(e.Message);
            }
            finally
            {
                uiHelper.CloseLoading(Viewer);
            }
        }
예제 #11
0
        /// <summary>
        /// 加载表单
        /// </summary>
        void LoadForm(TreeListNode node)
        {
            EntityEmrBasicInfo caseVo = (EntityEmrBasicInfo)Viewer.tvForm.GetDataRecordByNode(node);

            LoadFormData(caseVo);
        }
예제 #12
0
        /// <summary>
        /// CreateCatalog
        /// </summary>
        /// <param name="dataSourceEmrCatalog"></param>
        /// <param name="dataSourceEmrBasicInfo"></param>
        /// <param name="dataSourceEmrPnType"></param>
        /// <param name="caseType"></param>
        void CreateCatalog(List <EntityEmrCatalog> dataSourceEmrCatalog, List <EntityEmrBasicInfo> dataSourceEmrBasicInfo, List <EntityProgressNoteType> dataSourceEmrPnType)
        {
            // 树结构
            Viewer.tvForm.Columns.Clear();
            uiHelper.SetGridCol(Viewer.tvForm, new string[] { "caseName" }, new string[] { "病历列表" }, new int[] { 200 });
            Viewer.tvForm.Columns["caseName"].AppearanceCell.Font = new Font("宋体", 9);
            Viewer.tvForm.KeyFieldName        = "caseCode";
            Viewer.tvForm.ParentFieldName     = "parentCode";
            Viewer.tvForm.ImageIndexFieldName = "tempSerNo";

            Viewer.tvForm.OptionsView.ShowFocusedFrame = false;
            Viewer.tvForm.Appearance.FocusedRow.Options.UseBackColor       = true;
            Viewer.tvForm.Appearance.FocusedRow.BackColor                  = Color.LightGreen; // Color.LightSkyBlue;
            Viewer.tvForm.Appearance.FocusedRow.BackColor2                 = Color.White;
            Viewer.tvForm.Appearance.HideSelectionRow.Options.UseBackColor = true;
            Viewer.tvForm.Appearance.HideSelectionRow.BackColor            = Color.LightGreen; // Color.LightSkyBlue;
            Viewer.tvForm.Appearance.HideSelectionRow.BackColor2           = Color.White;

            EntityEmrBasicInfo        emrBasicInfo     = null;
            List <decimal>            lstCatalogID     = new List <decimal>();
            List <EntityEmrBasicInfo> lstCaseBasicInfo = new List <EntityEmrBasicInfo>();

            // 主目录
            foreach (EntityEmrCatalog catalog in dataSourceEmrCatalog)
            {
                emrBasicInfo            = new EntityEmrBasicInfo();
                emrBasicInfo.serNo      = -1;
                emrBasicInfo.caseCode   = catalog.catalogId.ToString() + "^"; // 避免文件夹的自增序号与casecode相同
                emrBasicInfo.parentCode = string.Empty;
                emrBasicInfo.tableName  = string.Empty;
                emrBasicInfo.tempSerNo  = 2;
                emrBasicInfo.caseName   = catalog.catalogName;
                emrBasicInfo.pyCode     = SpellCodeHelper.GetPyCode(catalog.catalogName);
                emrBasicInfo.wbCode     = SpellCodeHelper.GetWbCode(catalog.catalogName);

                if (lstCaseBasicInfo.Any(t => t.caseCode == emrBasicInfo.caseCode))
                {
                    continue;
                }
                if (lstCatalogID.IndexOf(catalog.catalogId) < 0)
                {
                    lstCatalogID.Add(catalog.catalogId);
                }
                if (catalog.type == 0)
                {
                    lstCaseBasicInfo.Add(emrBasicInfo);
                }
                else
                {
                    if (catalog.type == 1)
                    {
                        //if (emrBasicInfo.caseName == "病程记录") emrBasicInfo.caseCode = progressNoteCaseCode;
                        lstCaseBasicInfo.Add(emrBasicInfo);
                    }
                    else if (catalog.type == 2)
                    {
                        lstCaseBasicInfo.Add(emrBasicInfo);
                    }
                }
            }

            List <string> lstExistsCaseCode   = new List <string>(); // 记录不需要显示的表单
            List <string> lstProgressCaseCode = new List <string>();

            foreach (EntityEmrBasicInfo caseInfo in dataSourceEmrBasicInfo)
            {
                //if (caseInfo.catalogId != 0 && lstCatalogID.IndexOf(caseInfo.catalogId) < 0) continue;
                #region doct.Case
                // 公用、医生
                if (caseInfo.attribute == 0 || caseInfo.attribute == 1)
                {
                    if (lstCaseBasicInfo.Any(t => t.caseCode == caseInfo.caseCode))
                    {
                        continue;
                    }
                    if (lstProgressCaseCode.IndexOf(caseInfo.caseCode) >= 0)
                    {
                        continue;
                    }
                    else
                    {
                        bool blnChk = false;
                        foreach (EntityProgressNoteType pnType in dataSourceEmrPnType)
                        {
                            if (pnType.caseCode == caseInfo.caseCode)
                            {
                                blnChk = true;
                                break;
                            }
                        }
                        if (blnChk)
                        {
                            continue;
                        }
                    }
                    caseInfo.parentCode = Function.Dec(caseInfo.catalogId).ToString() + "^";
                    caseInfo.tempSerNo  = 1;
                    caseInfo.pyCode     = SpellCodeHelper.GetPyCode(caseInfo.caseName);
                    caseInfo.wbCode     = SpellCodeHelper.GetWbCode(caseInfo.caseName);
                    lstCaseBasicInfo.Add(caseInfo);
                }
                #endregion

                #region nurse.Case
                if (caseInfo.attribute == 0 || caseInfo.attribute == 2)
                {
                    if (lstCaseBasicInfo.Any(t => t.caseCode == caseInfo.caseCode))
                    {
                        continue;
                    }
                    caseInfo.parentCode = caseInfo.catalogId.ToString() + "^";
                    caseInfo.tempSerNo  = 1;
                    caseInfo.pyCode     = SpellCodeHelper.GetPyCode(caseInfo.caseName);
                    caseInfo.wbCode     = SpellCodeHelper.GetWbCode(caseInfo.caseName);
                    lstCaseBasicInfo.Add(caseInfo);
                }
                #endregion
            }
            foreach (EntityEmrBasicInfo item in lstCaseBasicInfo)
            {
                if (item.multiPageFlag == 1)
                {
                    item.tempSerNo = 2;
                }
            }
            Viewer.tvForm.BeginUpdate();
            Viewer.tvForm.DataSource = lstCaseBasicInfo;
            //EntityEmrBasicInfo[] tmpArr = new EntityEmrBasicInfo[lstCaseBasicInfo.Count];
            //lstCaseBasicInfo.CopyTo(tmpArr);
            Viewer.tvForm.FocusedNodeChanged -= new DevExpress.XtraTreeList.FocusedNodeChangedEventHandler(tvForm_FocusedNodeChanged);
            Viewer.tvForm.FocusedNodeChanged += new DevExpress.XtraTreeList.FocusedNodeChangedEventHandler(tvForm_FocusedNodeChanged);
            Viewer.tvForm.ExpandAll();
            Viewer.tvForm.EndUpdate();
        }