Пример #1
0
        /// <summary>
        /// 根据病历号检索病历基本信息

        /// </summary>
        /// <param name="cardNo">病历号</param>
        /// <returns>-1-失败,1-成功</returns>
        private int QueryByCardNo(string cardNo)
        {
            Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo = new Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo();

            this.InitCaseInfoDisplay();

            Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在检索病历信息...");

            Application.DoEvents();

            this.callReturn = this.caseBillIntegrate.GetCaseInfoByCardNo(ref caseInfo, cardNo);
            Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
            if (this.callReturn == -1)
            {
                MessageBox.Show(this.caseBillIntegrate.Err);

                return(-1);
            }
            if (this.callReturn == 0)
            {
                MessageBox.Show("该病历不存在");

                return(-1);
            }

            caseInfo.Patient.PID.CardNO = cardNo;
            Neusoft.HISFC.Models.HealthRecord.Case.CaseBill tempBill = new Neusoft.HISFC.Models.HealthRecord.Case.CaseBill();
            tempBill.CaseInfo    = caseInfo;
            tempBill.Memo        = "New";
            this.CurrentCaseBill = tempBill;

            return(1);
        }
Пример #2
0
        /// <summary>
        /// 转换Reader为病历出库单实体数组
        /// </summary>
        /// <param name="caseBillList">病历出库单实体数组</param>
        /// <returns>-1-失败,1-成功</returns>
        private int ConvertReaderToArrayList(ref List <HISFC.Models.HealthRecord.Case.CaseBill> caseBillList)
        {
            try
            {
                while (this.Reader.Read())
                {
                    HISFC.Models.HealthRecord.Case.CaseBill caseBill = new Neusoft.HISFC.Models.HealthRecord.Case.CaseBill();

                    this.intReturn = this.ConvertReaderToObject(ref caseBill);
                    if (this.intReturn == -1)
                    {
                        return(-1);
                    }

                    caseBillList.Add(caseBill);
                }
            }
            catch (Exception exception)
            {
                this.Err = "转换Reader为病历出库单实体数组失败" + exception.Message;

                return(-1);
            }

            return(1);
        }
Пример #3
0
        /// <summary>
        /// 根据病历单据数组获取单据号码
        /// </summary>
        /// <param name="caseBillList">病历单据数组</param>
        /// <returns>单据号码</returns>
        private string GetBillCodeByCaseList(List <HISFC.Models.HealthRecord.Case.CaseBill> caseBillList)
        {
            Neusoft.HISFC.Models.HealthRecord.Case.CaseBill caseBill = new Neusoft.HISFC.Models.HealthRecord.Case.CaseBill();

            if (caseBillList == null || caseBillList.Count == 0)
            {
                return("");
            }
            else
            {
                caseBill = caseBillList [0] as Neusoft.HISFC.Models.HealthRecord.Case.CaseBill;

                return(caseBill.BillCode);
            }
        }
Пример #4
0
        /// <summary>
        /// 删除按钮单击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void neuButtonDelete_Click(object sender, EventArgs e)
        {
            int selectRow = this.neuSpread1_Sheet1.SelectionCount;

            if (selectRow > 0)
            {
                if (DialogResult.Yes != MessageBox.Show("是否操作?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
                {
                    return;
                }

                foreach (FarPoint.Win.Spread.Model.CellRange selectRange in this.neuSpread1_Sheet1.GetSelections())
                {
                    try
                    {
                        FarPoint.Win.Spread.Row row = this.neuSpread1_Sheet1.Rows [selectRange.Row];
                        Neusoft.HISFC.Models.HealthRecord.Case.CaseBill caseBill = row.Tag as Neusoft.HISFC.Models.HealthRecord.Case.CaseBill;

                        if (caseBill.Memo == "New")
                        {
                            this.neuSpread1_Sheet1.Rows.Remove(selectRange.Row, 1);
                        }
                        else
                        {
                            if (caseBill.CaseInfo.Memo == "Delete")
                            {
                                caseBill.CaseInfo.Memo = "";
                                this.neuSpread1_Sheet1.RowHeader.Rows [selectRange.Row].Label = "";
                                this.neuButtonDelete.Text = "删除";
                            }
                            else
                            {
                                caseBill.CaseInfo.Memo = "Delete";
                                this.neuSpread1_Sheet1.RowHeader.Rows [selectRange.Row].Label = "Del";
                                this.neuButtonDelete.Text = "取消删除";
                            }

                            this.neuSpread1_Sheet1.Rows [selectRange.Row].Tag = caseBill;
                        }
                    }
                    catch (Exception exception)
                    {
                        MessageBox.Show(exception.Message);
                    }
                }
            }
        }
Пример #5
0
 /// <summary>
 /// 初始化UC
 /// </summary>
 private void InitUC()
 {
     this.InitCaseInfoDisplay();
     this.InitCaseBillTree();
     this.InitDeptComboBox();
     this.neuSpread1_Sheet1.RowCount = 0;
     this.operateState          = OperateState.NewBill;
     this.billCode              = string.Empty;
     this.neuTextBoxStatus.Text = this.GetOperateState(this.operateState);
     this.currentCaseBill       = new Neusoft.HISFC.Models.HealthRecord.Case.CaseBill();
     this.DisplayCaseCount();
     this.currentState = Neusoft.HISFC.Models.HealthRecord.Case.EnumCaseBillState.InRequest;
     this.neuButtonConfirmApply.Enabled = true;
     this.neuTextBoxCardNo.Enabled      = true;
     this.neuComboBoxDept.Enabled       = true;
     this.neuTextBoxCardNo.Focus();
 }
Пример #6
0
        /// <summary>
        /// 入库确认创建病历跟踪
        /// </summary>
        /// <param name="caseBill">病历单据</param>
        /// <param name="useType">使用类型</param>
        /// <returns>-1-失败,1-成功</returns>
        public int InsertCaseTrackAfterInConfirm(Neusoft.HISFC.Models.HealthRecord.Case.CaseBill caseBill, string useType)
        {
            if (caseBill.CaseBillState != Neusoft.HISFC.Models.HealthRecord.Case.EnumCaseBillState.InConfirm)
            {
                this.Err = "病历状态不正确,必须是入库确认状态";

                return(-1);
            }

            Neusoft.HISFC.Models.HealthRecord.Case.CaseTrack caseTrack = new Neusoft.HISFC.Models.HealthRecord.Case.CaseTrack();

            caseTrack.PatientCase         = caseBill.CaseInfo;
            caseTrack.UseCaseEnv.ID       = caseBill.InConfirmOper.ID;
            caseTrack.UseCaseEnv.OperTime = caseBill.InConfirmOper.OperTime;
            caseTrack.UseCaseEnv.Dept.ID  = this.GetDept();
            caseTrack.User01 = useType;

            return(1);
        }
Пример #7
0
        /// <summary>
        /// 查找病历单据行号
        /// </summary>
        /// <param name="caseBill">病历单据</param>
        /// <returns>行号</returns>
        private int GetRowID(Neusoft.HISFC.Models.HealthRecord.Case.CaseBill caseBill)
        {
            for (int i = 0; i < this.neuSpread1_Sheet1.RowCount; i++)
            {
                Neusoft.HISFC.Models.HealthRecord.Case.CaseBill rowBill = this.neuSpread1_Sheet1.Rows [i].Tag as Neusoft.HISFC.Models.HealthRecord.Case.CaseBill;

                if (rowBill == null || rowBill.CaseInfo.Patient.PID.CardNO == "")
                {
                    MessageBox.Show("第" + i.ToString() + "行病历的病历信息或病历号为空");
                    return(-1);
                }

                if (rowBill.CaseInfo.Patient.PID.CardNO == caseBill.CaseInfo.Patient.PID.CardNO)
                {
                    return(i);
                }
            }

            return(-1);
        }
Пример #8
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <returns>1-成功,-1-失败</returns>
        private int SaveBill()
        {
            if (this.neuSpread1_Sheet1.RowCount > 0)
            {
                if (DialogResult.Yes == MessageBox.Show("是否保存?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1))
                {
                    Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();

                    //Neusoft.FrameWork.Management.Transaction transaction = new Neusoft.FrameWork.Management.Transaction( Neusoft.FrameWork.Management.Connection.Instance );
                    //transaction.BeginTransaction();

                    this.caseBillIntegrate.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);

                    if (this.CurrentOperateState == OperateState.NewBill)
                    {
                        this.billCode = this.caseBillIntegrate.GetBillCode();
                        if (billCode == "")
                        {
                            Neusoft.FrameWork.Management.PublicTrans.RollBack();
                            MessageBox.Show("获取单据号失败");
                            return(-1);
                        }
                    }

                    DateTime operTime = this.caseBillIntegrate.GetDateTime();

                    foreach (FarPoint.Win.Spread.Row row in this.neuSpread1_Sheet1.Rows)
                    {
                        Neusoft.HISFC.Models.HealthRecord.Case.CaseBill caseBill = row.Tag as Neusoft.HISFC.Models.HealthRecord.Case.CaseBill;

                        if (caseBill.Memo == "Old")
                        {
                            if (caseBill.CaseInfo.Memo == "Delete")
                            {
                                this.callReturn = this.caseBillIntegrate.Delete(caseBill);
                            }
                            else
                            {
                                switch (this.currentState)
                                {
                                case Neusoft.HISFC.Models.HealthRecord.Case.EnumCaseBillState.InRequest:
                                    caseBill.InRequestOper.ID       = this.loginEmpl.ID;
                                    caseBill.InRequestOper.OperTime = operTime;
                                    caseBill.InRequestOper.Dept.ID  = this.loginDept.ID;
                                    caseBill.InRequestNurse.ID      = this.loginDept.ID;
                                    break;

                                case Neusoft.HISFC.Models.HealthRecord.Case.EnumCaseBillState.OutAuditing:
                                    caseBill.OutAuditingOper.ID       = this.loginEmpl.ID;
                                    caseBill.OutAuditingOper.Dept.ID  = this.loginDept.ID;
                                    caseBill.OutAuditingOper.OperTime = operTime;
                                    caseBill.OutAuditingNurse.ID      = this.loginDept.ID;
                                    caseBill.CaseBillState            = Neusoft.HISFC.Models.HealthRecord.Case.EnumCaseBillState.OutAuditing;
                                    break;

                                case Neusoft.HISFC.Models.HealthRecord.Case.EnumCaseBillState.InConfirm:
                                    caseBill.InConfirmOper.ID       = this.loginEmpl.ID;
                                    caseBill.InConfirmOper.OperTime = operTime;
                                    caseBill.CaseBillState          = Neusoft.HISFC.Models.HealthRecord.Case.EnumCaseBillState.InConfirm;
                                    break;
                                }
                                this.callReturn = this.caseBillIntegrate.Update(caseBill);
                            }
                        }
                        else
                        {
                            caseBill.BillCode = this.billCode;

                            this.callReturn = this.caseBillIntegrate.Insert(caseBill);
                        }

                        if (this.callReturn != 1)
                        {
                            Neusoft.FrameWork.Management.PublicTrans.RollBack();

                            MessageBox.Show(this.caseBillIntegrate.Err, "保存失败");

                            return(-1);
                        }
                    }

                    Neusoft.FrameWork.Management.PublicTrans.Commit();

                    InitUC();

                    return(1);
                }
                else
                {
                    return(1);
                }
            }

            return(1);
        }
Пример #9
0
 /// <summary>
 /// 新建
 /// </summary>
 /// <param name="caseBill">单据</param>
 /// <returns>-1-失败,1-成功</returns>
 public int Insert(Neusoft.HISFC.Models.HealthRecord.Case.CaseBill caseBill)
 {
     this.SetDB(caseBillFunction);
     return(caseBillFunction.Insert(caseBill));
 }
Пример #10
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="caseBill">单据</param>
 /// <returns>-1-失败,影响的行数</returns>
 public int Delete(Neusoft.HISFC.Models.HealthRecord.Case.CaseBill caseBill)
 {
     this.SetDB(caseBillFunction);
     return(caseBillFunction.DeleteByID(caseBill.ID));
 }