コード例 #1
0
 public bool CalcularTest(IElementCalculator instance, PatVisitInfo patVisitInfo, QcCheckPoint qcCheckPoint, QcCheckResult checkResult)
 {
     if (instance == null)
     {
         return(false);
     }
     if (instance.GetElementValueCallback == null)
     {
         instance.GetElementValueCallback = this.m_getElementValueCallback;
     }
     if (instance.SetElementValueCallback == null)
     {
         instance.SetElementValueCallback = this.m_setElementValueCallback;
     }
     if (instance.ShowElementTipCallback == null)
     {
         instance.ShowElementTipCallback = this.m_showElementTipCallback;
     }
     if (instance.HideElementTipCallback == null)
     {
         instance.HideElementTipCallback = this.m_hideElementTipCallback;
     }
     if (instance.ExecuteQueryCallback == null)
     {
         instance.ExecuteQueryCallback = this.m_executeQueryCallback;
     }
     if (instance.ExecuteUpdateCallback == null)
     {
         instance.ExecuteUpdateCallback = this.m_executeUpdateCallback;
     }
     if (instance.GetSystemContextCallback == null)
     {
         instance.GetSystemContextCallback = this.m_getSystemContextCallback;
     }
     try
     {
         instance.Calculate(patVisitInfo, qcCheckPoint, checkResult);
         //if (!instance.Calculate(szElementName))
         //    return false;
     }
     catch (Exception ex)
     {
         LogManager.Instance.WriteLog("Heren.MedDoc.AutoCalc.AutoCalcHandler.ExecuteElementCalculator", ex);
         return(false);
     }
     return(true);
 }
コード例 #2
0
        /// <summary>
        /// 执行指定病历类型的元素自动计算脚本DLL
        /// </summary>
        /// <param name="szExecuteTime">执行时机</param>
        /// <param name="szDocTypeID">病历类型ID</param>
        /// <param name="szElementName">元素别名</param>
        /// <returns>SystemData.ReturnValue</returns>
        public bool ExecuteElementCalculator(string szScriptID, PatVisitInfo patVisitInfo, QcCheckPoint checkPoint, QcCheckResult qcCheckResult)
        {
            List <IElementCalculator> calculatorInstances = null;
            short result = ScriptCache.Instance.GetScriptInstances(szScriptID, ref calculatorInstances);

            if (result != SystemData.ReturnValue.OK)
            {
                return(true);
            }
            if (calculatorInstances == null)
            {
                return(true);
            }
            for (int index = 0; index < calculatorInstances.Count; index++)
            {
                IElementCalculator instance = calculatorInstances[index];
                if (instance == null)
                {
                    continue;
                }
                if (instance.GetElementValueCallback == null)
                {
                    instance.GetElementValueCallback = this.m_getElementValueCallback;
                }
                if (instance.SetElementValueCallback == null)
                {
                    instance.SetElementValueCallback = this.m_setElementValueCallback;
                }
                if (instance.ShowElementTipCallback == null)
                {
                    instance.ShowElementTipCallback = this.m_showElementTipCallback;
                }
                if (instance.HideElementTipCallback == null)
                {
                    instance.HideElementTipCallback = this.m_hideElementTipCallback;
                }
                if (instance.ExecuteQueryCallback == null)
                {
                    instance.ExecuteQueryCallback = this.m_executeQueryCallback;
                }
                if (instance.ExecuteUpdateCallback == null)
                {
                    instance.ExecuteUpdateCallback = this.m_executeUpdateCallback;
                }
                if (instance.GetSystemContextCallback == null)
                {
                    instance.GetSystemContextCallback = this.m_getSystemContextCallback;
                }
                try
                {
                    instance.Calculate(patVisitInfo, checkPoint, qcCheckResult);
                    //if (!instance.Calculate(szElementName))
                    //    return false;
                }
                catch (Exception ex)
                {
                    LogManager.Instance.WriteLog("Heren.MedDoc.AutoCalc.AutoCalcHandler.ExecuteElementCalculator", ex);
                    return(false);
                }
            }
            return(true);
        }