/// <summary>
        /// 导出指定病人的指定对象
        /// </summary>
        /// <param name="p_strObjectName"></param>
        /// <param name="p_strPatientId"></param>
        /// <param name="p_strVisitId"></param>
        public void ExportOnePatInfoForOneObj(string p_strObjectName, string p_strPatientId, string p_strVisitId)
        {
            //GrabInfo.InitPatDBInfo(p_strPatientId, p_strVisitId);
            DataSet   _dsOnePatInfo = GrabInfo.GrabPatientInfo(p_strObjectName, p_strPatientId, p_strVisitId);
            DataTable _dt           = ConversionData.ExchangeData(_dsOnePatInfo.Tables[0]);
            //GrabInfo.ExeExport(_dt.DataSet, p_strObjectName, p_strPatientId, p_strVisitId);
            ExportXml ie = new ExportXml(_dsOnePatInfo, p_strObjectName, p_strPatientId, p_strVisitId);

            ie.Export();
        }
示例#2
0
        public static void GrabPatientInfo()
        {
            PublicVar.ExportData.Tables.Clear();
            DataTable _dtObjecDict = GetEnabledObject();

            foreach (DataRow _drObject in _dtObjecDict.Rows)
            {
                string _strObject = _drObject["TABLE_NAME"].ToString();
                //DataTable _dtObjecDetail = GetChapterDetail(_strObject);
                DataSet _dsObjectReflect = GetObjectLayOut(_strObject);
                foreach (DataRow _drPatient in PublicVar.m_dtPatients.Rows)
                {
                    string _strPatientId = _drPatient["PATIENT_ID"].ToString();
                    string _strVisitId   = _drPatient["VISIT_ID"].ToString();
                    foreach (DataTable _dtObjectReflect in _dsObjectReflect.Tables)
                    {
                        if (_dtObjectReflect.TableName.Contains("TABLE"))
                        {
                            DataTable _dtMultiPatientInfo = GrabMultiPatientInfo(_dtObjectReflect, _strPatientId, _strVisitId, _strObject);
                            PublicVar.ExportData.Tables.Add(_dtMultiPatientInfo.Copy());
                        }
                        else
                        {
                            DataTable _dtSimplePatientInfo = GrabSimplePatientInfo(_dtObjectReflect, _strPatientId, _strVisitId, _strObject);
                            PublicVar.ExportData.Tables.Add(_dtSimplePatientInfo.Copy());
                        }
                    }
                }
                //DataTable _dtTemp = _dsObjectReflect.Copy();
                //_dtTemp.TableName = _strObject;
                //if (!PublicProperty.ExportData.Tables.Contains(_dtTemp.TableName))
                //{
                //    PublicProperty.ExportData.Tables.Add(_dtTemp);
                //}
                //else
                //{
                //    PublicProperty.ExportData.Tables.Remove(_dtTemp.TableName);
                //    PublicProperty.ExportData.Tables.Add(_dtTemp);
                //}
                //数据转换2015-09-09 吴海龙
                ConversionData.ExchangeData();
                //ExeExport();
            }
        }
示例#3
0
 /// <summary>
 /// 接口内容替换
 /// </summary>
 /// <param name="p_strXml"></param>
 /// <param name="p_dtSource"></param>
 /// <returns></returns>
 public string DoInterfaceReplace(string p_strXml, string p_strOldValue, string p_strPatientId, string p_strVisitId)
 {
     try
     {
         string _strXml      = p_strXml;
         string _strNewValue = SingleObjectDBExport.CallMrInfo2(p_strPatientId, int.Parse(p_strVisitId), p_strOldValue);
         if (_strXml.IndexOf(p_strOldValue) > 0)
         {
             _strNewValue = ConversionData.ExchangeData(p_strOldValue, _strNewValue);
             _strXml      = _strXml.Replace(p_strOldValue, _strNewValue);
             RemoteMessage.SendMessage(p_strOldValue + "....................." + _strNewValue);
         }
         return(_strXml);
     }
     catch (Exception ex)
     {
         CommonFunction.WriteError("DoInterfaceReplace" + ex.Message);
     }
     return(null);
 }
示例#4
0
        /// <summary>
        /// 获取由sql查询到的病人信息
        /// </summary>
        /// <param name="dql">sql集</param>
        /// <returns>病人信息</returns>
        public static void GetPatientData()
        {
            PublicVar.m_strExportType = uctlBaseConfig.GetConfig("ExportType");
            PublicVar.m_nSuccessCount = 0;
            PublicVar.m_nFalseCount   = 0;
            string _strSQL = string.Format("select FIELD_NAME,LOCAL_VALUE,TARGET_VALUE FROM pt_comparison ");

            PublicVar.m_dtFieldDict = CommonFunction.OleExecuteBySQL(_strSQL, "", "EMR");
            InitFieldDict(PublicVar.m_dtFieldDict);

            DataTable _dtSql = GrabInfo.GetConfigSQL();

            foreach (DataRow dr in _dtSql.Rows)
            {
                PublicVar.m_strCurrentObj = dr["table_name"].ToString();
                CommonFunction.WriteLog("开始导出对象" + dr["table_name"].ToString());
                PublicVar.m_nObjSuccessCount = 0;
                PublicVar.m_nObjFalseCount   = 0;
                foreach (DataRow drpat in PublicVar.m_dtPatients.Rows)
                {
                    if (PublicVar.m_strExportType == "XML")
                    {
                        ExportXml ie = new ExportXml(PublicVar.m_dtPatients);
                        ie.Export();
                    }
                    else
                    {
                        _strSQL = string.Format(dr["sql"].ToString().Replace("@PATIENT_ID", drpat["PATIENT_ID"].ToString()).Replace("@VISIT_ID", drpat["VISIT_ID"].ToString()));
                        RemoteMessage.SendMessage("查询病人信息" + dr["TABLE_NAME"].ToString() + "---" + drpat["PATIENT_ID"].ToString() + "---" + drpat["VISIT_ID"].ToString());
                        DataTable _dtOnePatOneObj = CommonFunction.OleExecuteBySQL(_strSQL, dr["TABLE_NAME"].ToString(), "EMR");
                        _dtOnePatOneObj = ConversionData.ExchangeData(_dtOnePatOneObj);
                        ExeExport(_dtOnePatOneObj);
                    }
                }
                CommonFunction.WriteLog("成功" + PublicVar.m_nObjSuccessCount + "失败" + PublicVar.m_nObjFalseCount);
            }
            string _strMess = "总共导入成功:" + PublicVar.m_nSuccessCount + " 导入失败:" + PublicVar.m_nFalseCount;

            RemoteMessage.SendMessage(_strMess);
            CommonFunction.WriteLog(_strMess);
        }
示例#5
0
 /// <summary>
 /// 单个元素替换
 /// </summary>
 /// <param name="p_strXml"></param>
 /// <param name="p_dtSource"></param>
 /// <returns></returns>
 public string DoDBReplace(string p_strXml, string p_strOldValue, string p_strSQL, string p_strPatientId, string p_strVisitId)
 {
     try
     {
         string _strXml      = p_strXml;
         string _strSQL      = p_strSQL.Replace("@PATIENT_ID", p_strPatientId).Replace("@VISIT_ID", p_strVisitId);
         string _strNewValue = CommonFunction.OleExecuteBySQL(_strSQL, "", "EMR").Rows[0][0].ToString();
         _strNewValue = ConversionData.ExchangeData(p_strOldValue, _strNewValue);
         if (_strXml.IndexOf(p_strOldValue) > 0)
         {
             _strXml = _strXml.Replace(p_strOldValue, _strNewValue);
             RemoteMessage.SendMessage(p_strOldValue + "....................." + _strNewValue);
         }
         return(_strXml);
     }
     catch (Exception ex)
     {
         CommonFunction.WriteError("DoDBReplace" + ex.Message);
     }
     return(null);
 }
示例#6
0
 /// <summary>
 /// 表格元素替换
 /// </summary>
 /// <param name="p_strOldValue"></param>
 /// <param name="p_dtSource"></param>
 /// <returns></returns>
 public string DoTableReplace(string p_strXml, string p_strOldValue, string p_strSQL, string p_strPatientId, string p_strVisitId)
 {
     try
     {
         string    _strSQL      = p_strSQL.Replace("@PATIENT_ID", p_strPatientId).Replace("@VISIT_ID", p_strVisitId);
         DataTable _dtSoucr     = CommonFunction.OleExecuteBySQL(_strSQL, "", "EMR");
         string    _strMultiXml = string.Empty;
         ArrayList _listField   = new ArrayList();
         Regex     reg          = new Regex(@"\[[^\[^\]]*\]");
         int       _nCount      = reg.Matches(p_strOldValue).Count;
         for (int i = 0; i < _nCount; i++)
         {
             string _strValue = reg.Matches(p_strOldValue)[i].Captures[0].Value;
             _listField.Add(_strValue);
         }
         foreach (DataRow _drSource in _dtSoucr.Rows)
         {
             string _strNewXml = p_strOldValue;
             _strNewXml = ClearXml(_strNewXml);
             foreach (string var in _listField)
             {
                 string _strNewValue = _drSource[var.Replace("[", "").Replace("]", "")].ToString();
                 _strNewValue = ConversionData.ExchangeData(p_strOldValue, _strNewValue);
                 _strNewXml   = _strNewXml.Replace(var, _strNewValue);
             }
             _strMultiXml += _strNewXml;
         }
         if (p_strXml.IndexOf(p_strOldValue) > 0)
         {
             p_strXml = p_strXml.Replace(p_strOldValue, _strMultiXml);
         }
         return(p_strXml);
     }
     catch (Exception ex)
     {
         CommonFunction.WriteError("DoTableReplace" + ex.Message);
     }
     return(null);
 }