/// <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(); }
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(); } }
/// <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); }
/// <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); }
/// <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); }
/// <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); }