Esempio n. 1
0
        /// <summary>
        /// 执行同步HIS的脚本;从HIS返回最新基础信息
        /// </summary>
        /// <param name="SynCode">同步ID</param>
        /// <returns></returns>
        internal DataSet GetBaseInfoByHIS(string SynCode)
        {
            DataSet ds = new DataSet();

            try
            {
                if (!string.IsNullOrEmpty(SynCode))
                {
                    using (DataSet info = GetSynHISDataScript(SynCode))
                    {
                        if (info != null && info.Tables.Count > 0 && info.Tables[0].Rows.Count > 0)
                        {
                            string strSQl = info.Tables[0].Rows[0]["Sql"].ToString().Trim();
                            if (String.IsNullOrEmpty(strSQl))
                            {
                                return(ds);
                            }

                            //判断采用何种方式与HIS数据同步
                            switch (info.Tables[0].Rows[0]["SynMode"].ToString().Trim().ToUpper())
                            {
                            case "SQLSERVER":    //HIS数据库是SQlServer
                                ds = dbHelp.GetPIVAsHISDBSQL(strSQl);
                                break;

                            case "ORACLE":
                                ds = dbHelp.GetHisOracleByOLEDB(strSQl);
                                break;

                            case "WEBSERVICE":
                                DataTable tempDS = new PivasHisCommOrigin().Syn(SynCode);
                                if (tempDS != null && tempDS.Rows.Count > 0)    //服务返回的不是空表
                                {
                                    ds.Tables.Add(tempDS);
                                }
                                break;

                            default: break;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                InternalLogger.Log.Error("执行同步HIS的脚本,从HIS返回最新基础信息出错:" + ex.Message);
            }
            return(ds);
        }
Esempio n. 2
0
 private void label23_Click(object sender, EventArgs e)
 {
     try
     {
         if (PrescriptionID == "")
         {
             MessageBox.Show("请选择处方!");
             return;
         }
         PivasHisCommOrigin extra = new PivasHisCommOrigin();
         extra.Extra1(PrescriptionID, CaseID, "", "", "", "");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }