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