Beispiel #1
0
 /// <summary>
 /// 插入已对照信息
 /// </summary>
 /// <param name="compare">obj ICD对照实体</param>
 /// <returns>出现错误 返回 -1 成功 返回 1</returns>
 /// Creator: [email protected]  2005/05/30
 public int InsertCompare(Neusoft.HISFC.Models.HealthRecord.ICDCompare compare)
 {
     try
     {
         //定义字符变量 ,存储SQL语句
         string strSql = "";
         //获得SQL语句
         if (this.Sql.GetSql("Case.ICDDML.InsertCompare", ref strSql) == -1)
         {
             this.Err = "获取SQL语句失败";
             return(-1);
         }
         //有效性
         string isValid = "";
         if (compare.IsValid)
         {
             isValid = "1";
         }
         else
         {
             isValid = "0";
         }
         //try
         //{
         //    //格式化SQL语句
         //    strSql = string.Format(strSql, compare.ICD9.ID, compare.ICD9.Name, compare.ICD10.ID,
         //        compare.ICD10.Name, isValid, compare.OperInfo.ID, compare.ICD9.SpellCode,
         //        compare.ICD9.UserCode, compare.ICD9.KeyCode);
         //}
         //catch (Exception ex)
         //{
         //    this.Err = "SQL语句赋值出错!" + ex.Message;
         //    return -1;
         //}
         string[] str = new string[] { compare.ICD9.ID,
                                       compare.ICD9.Name,
                                       compare.ICD10.ID,
                                       compare.ICD10.Name,
                                       isValid,
                                       compare.OperInfo.ID,
                                       compare.ICD9.SpellCode,
                                       compare.ICD9.UserCode,
                                       compare.ICD9.KeyCode };
         //执行插入操作
         return(this.ExecNoQuery(strSql, str));
     }
     catch (Exception ex)
     {
         this.Err = ex.Message; //捕获错误
         return(-1);            //返回错误
     }
 }
        /// <summary>
        /// 向对照表添加一行
        /// </summary>
        /// <param name="obj">对照信息</param>
        /// <param name="row"></param>
        private void SetRowCompare(Neusoft.HISFC.Models.HealthRecord.ICDCompare obj, DataRow row)
        {
            row["诊断码9"]  = obj.ICD9.ID;
            row["诊断名称9"] = obj.ICD9.Name;

            row["诊断码10"]  = obj.ICD10.ID;
            row["诊断名称10"] = obj.ICD10.Name;

            row["拼音码"]  = obj.ICD9.SpellCode;
            row["统计代码"] = obj.ICD9.UserCode;

            row["有效性"]         = obj.IsValid;
            row["sequence_no"] = obj.ICD9.KeyCode;
            row["操作员编码"]       = obj.OperInfo.ID;
            row["操作员"]         = obj.OperInfo.Name;
            row["操作时间"]        = obj.OperInfo.OperTime;
        }
Beispiel #3
0
        /// <summary>
        /// 从Reader 中读取信息 存到 数组中
        /// </summary>
        /// <returns>错误返回 null  成功返回 数组</returns>
        /// Creator: [email protected]  2005/05/30
        private ArrayList QueryICDCompare(string strSql)
        {
            try
            {
                this.ExecQuery(strSql);
                //定义动态数组 ,存储查询出来的数据集
                ArrayList arryCompare = new ArrayList();
                //定义变量 ,存储数据
                Neusoft.HISFC.Models.HealthRecord.ICDCompare compare = null;
                while (this.Reader.Read())
                {
                    compare = new Neusoft.HISFC.Models.HealthRecord.ICDCompare();

                    compare.ICD9.ID           = Reader[0].ToString();                     //ICD9编码
                    compare.ICD9.Name         = Reader[1].ToString();                     //ICD9名称
                    compare.ICD10.ID          = Reader[2].ToString();                     //ICD10编码
                    compare.ICD10.Name        = Reader[3].ToString();                     //ICD10名称
                    compare.OperInfo.ID       = Reader[4].ToString();                     //录入操作员工号
                    compare.OperInfo.Name     = Reader[5].ToString();                     //录入操作员姓名
                    compare.OperInfo.OperTime = NConvert.ToDateTime(Reader[6]);
                    compare.IsValid           = NConvert.ToBoolean(Reader[7].ToString()); //有效性
                    compare.ICD9.SpellCode    = Reader[8].ToString();                     //拼音
                    compare.ICD9.UserCode     = Reader[9].ToString();                     //自定义
                    compare.ICD9.KeyCode      = Reader[10].ToString();
                    arryCompare.Add(compare);                                             //添家到动态数组中
                    compare = null;                                                       //释放资源
                }
                this.Reader.Close();                                                      //关闭Reader
                return(arryCompare);
            }
            catch (Exception ex)
            {
                //出现错误
                this.Err = ex.Message;
                if (!this.Reader.IsClosed) //如果没有释放 Reader
                {
                    this.Reader.Close();   //关闭Reader
                }
                return(null);
            }
        }
        /// <summary>
        /// 获取对照信息
        /// </summary>
        /// <returns></returns>
        private Neusoft.HISFC.Models.HealthRecord.ICDCompare GetInfo()
        {
            //定义变量
            Neusoft.HISFC.Models.HealthRecord.ICDCompare info = new Neusoft.HISFC.Models.HealthRecord.ICDCompare();
            try
            {
                //ICD9 的编码
                info.ICD9 = textBoxICD9.Tag as Neusoft.HISFC.Models.HealthRecord.ICD;

                info.ICD10 = textBoxICD10.Tag as Neusoft.HISFC.Models.HealthRecord.ICD;

                info.IsValid = true;
                //操作员
                info.OperInfo.ID = myICD.Operator.ID;
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
                info = null;
            }
            return(info);
        }
        /// <summary>
        /// ICD对照
        /// </summary>
        private void CompareICD()
        {
            try
            {
                //数据验证失败
                if (!ISValid())
                {
                    return;
                }
                icdCompare = GetInfo();
                if (icdCompare == null)
                {
                    return;
                }
                //定义事务
                Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();

                //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(myICD.Connection);
                ////开始事务
                //t.BeginTransaction();
                myICD.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);
                //执行插入操作
                int iReturn = 0; //返回值
                iReturn = myICD.InsertCompare(icdCompare);
                if (iReturn > 0)
                {
                    //提交
                    Neusoft.FrameWork.Management.PublicTrans.Commit();
                    //显示刚刚增加的信息
                    this.tabControl1.SelectedIndex = 2;
                    //获取操作时间
                    icdCompare.OperInfo.OperTime = myICD.GetDateTimeFromSysDateTime();
                    //操作员信息
                    icdCompare.OperInfo.ID   = myICD.Operator.ID;
                    icdCompare.OperInfo.Name = myICD.Operator.Name;
                    //从ICD9 列表 中删除 对照完的行
                    DeleteICD9(icdCompare.ICD9);
                    //从在界面上 增加对照信息。
                    AddICDCompare();
                    icdCompare = null;
                    //准备下次输入
                    //清空数据
                    ClearICD();
                    MessageBox.Show("保存对照成功");
                    //					//指定显示界面
                    //					this.tabControl1.SelectedIndex = 1;
                    //					//指定光标位置
                    //					textSearchICD9.Focus();
                }
                else
                {
                    //回退
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    MessageBox.Show(myICD.Err + " 保存对照失败");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }