コード例 #1
0
        /// <summary>
        /// 获取表单信息
        /// </summary>
        /// <returns></returns>
        public clsFormInfo [] m_objGetFormInfoArr()
        {
            DataTable dtResult;

            clsRecordSearchService m_objService =
                (clsRecordSearchService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsRecordSearchService));

            long lngRes = 0;

            try
            {
                lngRes = m_objService.m_lngGetFormInfo(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, out dtResult);
            }
            finally
            {
                //m_objService.Dispose();
            }

            if (lngRes <= 0 || dtResult.Rows.Count == 0)
            {
                return(null);
            }

            clsFormInfo [] objFormInfoArr = new clsFormInfo[dtResult.Rows.Count];
            DataRow        objRow         = null;

            for (int i = 0; i < dtResult.Rows.Count; i++)
            {
                objRow = dtResult.Rows[i];
                clsFormInfo objFormInfo = new clsFormInfo();
                objFormInfo.m_strFormName       = objRow["FORMNAME"].ToString();
                objFormInfo.m_strSearchInfoType = objRow["SEARCHINFOTYPE"].ToString();
                objFormInfo.m_strMainSearchInfo = objRow["MAINSEARCHINFO"].ToString();
                objFormInfoArr[i] = objFormInfo;
            }

            return(objFormInfoArr);
        }
コード例 #2
0
        /// <summary>
        /// 获取表单的字段信息
        /// </summary>
        /// <param name="p_objFormInfo">表单信息</param>
        public void m_objGetFieldInfoArr(ref clsFormInfo p_objFormInfo)
        {
            DataTable dtResult;

            clsRecordSearchService m_objService =
                (clsRecordSearchService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsRecordSearchService));

            long lngRes = 0;

            try
            {
                lngRes = m_objService.m_lngGetFieldInfo(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, p_objFormInfo.m_strFormName, out dtResult);
            }
            finally
            {
                //m_objService.Dispose();
            }
            if (lngRes <= 0 || dtResult.Rows.Count == 0)
            {
                return;
            }

            clsFieldInfo[] objFieldInfoArr = new clsFieldInfo[dtResult.Rows.Count];
            DataRow        objRow          = null;

            for (int i = 0; i < dtResult.Rows.Count; i++)
            {
                objRow = dtResult.Rows[i];
                clsFieldInfo objFieldInfo = new clsFieldInfo();
                objFieldInfo.m_strFieldName          = objRow["FIELDNAME"].ToString();
                objFieldInfo.m_strConditionFieldType = objRow["CONDITIONFIELDTYPE"].ToString();
                objFieldInfo.m_strConditionFieldName = objRow["CONDITIONFIELDNAME"].ToString();
                objFieldInfoArr[i] = objFieldInfo;
            }

            p_objFormInfo.m_objFieldInfoArr = objFieldInfoArr;
        }
コード例 #3
0
        /// <summary>
        /// 获取表单的字段信息(新专科病历用)
        /// </summary>
        /// <param name="p_objFormInfo">表单信息</param>
        public void m_mthIMR_GetFieldInfo(ref clsFormInfo p_objFormInfo)
        {
            if (p_objFormInfo == null || p_objFormInfo.m_strFormName == null)
            {
                return;
            }
            DataTable dtResult;

            clsRecordSearchService m_objService =
                (clsRecordSearchService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsRecordSearchService));

            long lngRes = 0;

            try
            {
                lngRes = m_objService.m_lngIMR_GetFieldInfo(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, p_objFormInfo.m_strFormID, out dtResult);
            }
            finally
            {
                //m_objService.Dispose();
            }
            if (lngRes <= 0 || dtResult.Rows.Count == 0)
            {
                return;
            }

            clsFieldInfo [] objFieldInfoArr = new clsFieldInfo[dtResult.Rows.Count + 5];

            #region 固定内容
            objFieldInfoArr[0] = new clsFieldInfo();
            objFieldInfoArr[0].m_strFieldName          = "住院号";
            objFieldInfoArr[0].m_strConditionFieldType = "text";
            objFieldInfoArr[0].m_strConditionFieldName = "b.InPatientID";

            objFieldInfoArr[1] = new clsFieldInfo();
            objFieldInfoArr[1].m_strFieldName          = "患者姓名";
            objFieldInfoArr[1].m_strConditionFieldType = "text";
            objFieldInfoArr[1].m_strConditionFieldName = "PBI.FirstName";

            objFieldInfoArr[2] = new clsFieldInfo();
            objFieldInfoArr[2].m_strFieldName          = "性别";
            objFieldInfoArr[2].m_strConditionFieldType = "text";
            objFieldInfoArr[2].m_strConditionFieldName = "PBI.Sex";

            objFieldInfoArr[3] = new clsFieldInfo();
            objFieldInfoArr[3].m_strFieldName          = "年龄";
            objFieldInfoArr[3].m_strConditionFieldType = "number";
            objFieldInfoArr[3].m_strConditionFieldName = "datediff(year,PBI.Birth,getdate())";

            objFieldInfoArr[4] = new clsFieldInfo();
            objFieldInfoArr[4].m_strFieldName          = "入院日期";
            objFieldInfoArr[4].m_strConditionFieldType = "date";
            objFieldInfoArr[4].m_strConditionFieldName = "b.InPatientDate";
            #endregion

            for (int i = 0; i < dtResult.Rows.Count; i++)
            {
                objFieldInfoArr[i + 5] = new clsFieldInfo();
                objFieldInfoArr[i + 5].m_strFieldName = dtResult.Rows[i]["ITEMNAME"].ToString();
                switch (dtResult.Rows[i]["ITEMTYPE"].ToString().Trim())
                {
                case "RichTextBox":
                case "ctlBorderTextBox":
                case "ctlComboBox":
                case "ctlRichTextBox":
                default:
                    objFieldInfoArr[i + 5].m_strConditionFieldType = "text";
                    break;

                case "ctlTimePicker":
                    objFieldInfoArr[i + 5].m_strConditionFieldType = "date";
                    break;

                case "RadioButton":
                case "CheckBox":
                    objFieldInfoArr[i + 5].m_strConditionFieldType = "truefalse";
                    break;
                }
                objFieldInfoArr[i + 5].m_strConditionFieldName = @"b.ItemID = '" + dtResult.Rows[i]["ITEMID"].ToString() + "' and b.ItemContent";
            }

            p_objFormInfo.m_objFieldInfoArr = objFieldInfoArr;
        }
コード例 #4
0
        /// <summary>
        /// 获取专科病历表单(新专科病历用)
        /// </summary>
        /// <param name="p_strDeptID">科室ID</param>
        /// <param name="p_objFormInfoArr"></param>
        /// <returns></returns>
        public long m_lngIMR_GetFormInfo(string p_strDeptID, out clsFormInfo[] p_objFormInfoArr)
        {
            p_objFormInfoArr = null;
            DataTable dtResult;
            string    strSearchInfoSql = null;

            if (com.digitalwave.Emr.StaticObject.clsEMR_StaticObject.s_StrCurrentHospitalNO == "440104001")
            {
                strSearchInfoSql = @"select distinct PBI.FirstName,PBI.Sex,DATEDIFF(year, convert(datetime,PBI.Birth,120), getdate()) as Age,
						b.InPatientID,b.InPatientDate,b.OpenDate,EBI_Record.FirstName as CreateUserName,
						b.OpenDate as CreateDate,a.CreateUserID
						from InpatMedRec a inner join InpatMedRec_Item b
						on a.TypeID = b.TypeID
						and a.InPatientID = b.InPatientID
						and a.InPatientDate = b.InpatientDate
						and a.OpenDate = b.OpenDate
						inner join PatientBaseInfo PBI
						on a.InPatientID = PBI.InPatientID
						inner join EmployeeBaseInfo EBI_Record
						on a.CreateUserID = EBI_Record.EmployeeID
						inner join Dept_Employee DE
						on a.CreateUserID = DE.EmployeeID and DE.EndDate = $NULLDate$
						where a.Status = 0
						and a.TypeID = $TypeID$
						and DE.DeptID = $DeptID$
						and "                        ;
            }
            else
            {
                strSearchInfoSql = @"select distinct PBI.FirstName,PBI.Sex,to_number(To_Char(sysdate,'YYYY'))-to_number(To_Char(PBI.Birth,'YYYY')) as Age,
					b.InPatientID,b.InPatientDate,b.OpenDate,EBI_Record.FirstName as CreateUserName,
					b.OpenDate as CreateDate,a.CreateUserID
					from InpatMedRec a inner join InpatMedRec_Item b
					on a.TypeID = b.TypeID
					and a.InPatientID = b.InPatientID
					and a.InPatientDate = b.InpatientDate
					and a.OpenDate = b.OpenDate
					inner join PatientBaseInfo PBI
					on a.InPatientID = PBI.InPatientID
					inner join EmployeeBaseInfo EBI_Record
					on a.CreateUserID = EBI_Record.EmployeeID
					inner join Dept_Employee DE
					on a.CreateUserID = DE.EmployeeID and DE.EndDate = $NULLDate$
					where a.Status = 0
					and a.TypeID = $TypeID$
					and DE.DeptID = $DeptID$
					and "                    ;
            }

            clsRecordSearchService m_objService =
                (clsRecordSearchService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsRecordSearchService));

            long lngRes = 0;

            try
            {
                lngRes = m_objService.m_lngIMR_GetFormInfo(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, out dtResult);
            }
            finally
            {
                //m_objService.Dispose();
            }
            if (lngRes <= 0 || dtResult.Rows.Count == 0)
            {
                return(lngRes);
            }

            p_objFormInfoArr = new clsFormInfo[dtResult.Rows.Count];
            DataRow objRow = null;

            for (int i = 0; i < dtResult.Rows.Count; i++)
            {
                clsFormInfo objFormInfo = new clsFormInfo();
                objRow = dtResult.Rows[i];
                objFormInfo.m_strFormID         = objRow["TYPEID"].ToString();
                objFormInfo.m_strFormName       = objRow["TYPENAME"].ToString();
                objFormInfo.m_strSearchInfoType = "AND";
                objFormInfo.m_strMainSearchInfo = strSearchInfoSql;
                p_objFormInfoArr[i]             = objFormInfo;
            }
            return(lngRes);
        }