//#endregion #region 窗口加载 /// <summary> /// 窗口加载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmQueryFeeDetail_Load(object sender, System.EventArgs e) { Neusoft.HISFC.BizLogic.Fee.Outpatient function = new Neusoft.HISFC.BizLogic.Fee.Outpatient(); this.dtpFromDate.Value = function.GetDateTimeFromSysDateTime(); this.dtpDateTo.Value = function.GetDateTimeFromSysDateTime(); frmWait.Tip = "正在查询数据数据,请等待......"; }
/// <summary> /// 按发票号检索发票基本信息 /// </summary> public int QueryInvoiceInfromationByInvoiceNo() { // 变量定义 int intReturn = 0; string strCode = ""; System.Data.DataSet dsResult1 = new DataSet(); System.Data.DataSet dsResult2 = new DataSet(); System.Data.DataSet dsResult3 = new DataSet(); Neusoft.HISFC.BizLogic.Fee.Outpatient outpatient = new Neusoft.HISFC.BizLogic.Fee.Outpatient(); // 获取检索码 intReturn = this.GetInput(ref strCode); if (intReturn == -1) { this.frmWait.Hide(); return(-1); } // 执行查询 intReturn = outpatient.QueryBalancesByInvoiceNO(strCode, ref dsResult1); if (-1 == intReturn) { MessageBox.Show("获取发票基本信息失败" + outpatient.Err); this.frmWait.Hide(); return(-1); } this.fpSpread1_Sheet1.DataSource = dsResult1; // 按发票号查询同时查询发票明细和费用明细 intReturn = outpatient.QueryBalanceListsByInvoiceNO(strCode, ref dsResult2); if (-1 == intReturn) { MessageBox.Show("获取发票明细失败" + outpatient.Err); this.frmWait.Hide(); return(-1); } this.fpSpread1_Sheet2.DataSource = dsResult2; intReturn = outpatient.QueryFeeItemListsByInvoiceNO(strCode, ref dsResult3); if (-1 == intReturn) { MessageBox.Show("获取费用明细失败" + outpatient.Err); this.frmWait.Hide(); return(-1); } this.fpSpread1_Sheet3.DataSource = dsResult3; if (this.fpSpread1_Sheet3.RowCount > 0) { this.SetSheet3DisplayData(); } return(1); }
/// <summary> /// 双击表格第一页,根据发票号查询发票明细和费用明细 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void fpSpread1_CellDoubleClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) { if (this.fpSpread1.ActiveSheet == this.fpSpread1_Sheet1) { if (this.fpSpread1_Sheet1.RowCount > 0) { this.frmWait.Show(); // 返回值 int intReturn = 0; // 声明变量 = 所选行的发票号 string strCode = this.fpSpread1_Sheet1.Cells[e.Row, 0].Text; // 返回的数据源 System.Data.DataSet dsResult1 = new DataSet(); System.Data.DataSet dsResult2 = new DataSet(); // 业务层 Neusoft.HISFC.BizLogic.Fee.Outpatient outpatient = new Neusoft.HISFC.BizLogic.Fee.Outpatient(); // 查询患者发票明细 intReturn = outpatient.QueryBalanceListsByInvoiceNO(strCode, ref dsResult1); if (-1 == intReturn) { this.frmWait.Hide(); MessageBox.Show("获取发票明细失败" + outpatient.Err); return; } this.fpSpread1_Sheet2.DataSource = dsResult1; this.fpSpread1.ActiveSheet = this.fpSpread1_Sheet2; // 查询患者费用明细 intReturn = outpatient.QueryFeeItemListsByInvoiceNO(strCode, ref dsResult2); if (-1 == intReturn) { this.frmWait.Hide(); MessageBox.Show("获取费用明细失败" + outpatient.Err); return; } this.fpSpread1_Sheet3.DataSource = dsResult2; if (this.fpSpread1_Sheet3.RowCount > 0) { this.SetSheet3DisplayData(); } this.frmWait.Hide(); } } }
/// <summary> /// 按姓名检索发票基本信息 /// </summary> public int QueryInvoiceInfromationByName() { // 变量定义 int intReturn = 0; string strCode = ""; DateTime dtFrom = DateTime.MinValue; DateTime dtTo = DateTime.MaxValue; System.Data.DataSet dsResult = new DataSet(); Neusoft.HISFC.BizLogic.Fee.Outpatient outpatient = new Neusoft.HISFC.BizLogic.Fee.Outpatient(); // 获取检索码 intReturn = this.GetInput(ref strCode); if (intReturn == -1) { this.frmWait.Hide(); return(-1); } // 获取时间范围 this.GetQueryDate(ref dtFrom, ref dtTo); // 执行查询 intReturn = outpatient.QueryBalancesByPatientName(strCode, dtFrom, dtTo, ref dsResult); if (-1 == intReturn) { this.frmWait.Hide(); MessageBox.Show("获取发票基本信息失败" + outpatient.Err); return(-1); } // 设置查询结果 this.fpSpread1_Sheet1.DataSource = dsResult; this.fpSpread1_Sheet2.DataSource = null; this.fpSpread1_Sheet3.DataSource = null; return(1); }
/// <summary> /// 保存日结数据 /// </summary> public void DayBalance() { if (this.alBalanceData == null) { return; } if (MessageBox.Show("是否进行日结,日结后数据将不能恢复?", "门诊收款员缴款日报", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { // // 变量定义 // // 返回值 int intReturn = 0; // 事务对象 //Neusoft.FrameWork.Management.Transaction transaction = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance); // 等待窗口 Neusoft.FrameWork.WinForms.Forms.frmWait waitForm = new Neusoft.FrameWork.WinForms.Forms.frmWait(); // 门诊收费业务层 Neusoft.HISFC.BizLogic.Fee.Outpatient outpatient = new Neusoft.HISFC.BizLogic.Fee.Outpatient(); // 日结序号 string sequence = ""; // // 判断合法性 // if (!this.enableBalance) { MessageBox.Show("不能进行日结"); return; } if (this.alBalanceData == null) { return; } // 启动等待窗口 waitForm.Tip = "正在进行日结"; waitForm.Show(); // // 设置事务 // Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); //transaction.BeginTransaction(); this.clinicDayBalance.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); outpatient.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); // // 保存日结数据 // this.operateDate = this.clinicDayBalance.GetDateTimeFromSysDateTime().ToString(); // 获取日结序号 intReturn = this.clinicDayBalance.GetBalanceSequence(ref sequence); if (intReturn == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); waitForm.Hide(); MessageBox.Show("获取日结序列号失败"); return; } foreach (Class.ClinicDayBalance tempBalance in this.alBalanceData) { tempBalance.BalanceSequence = sequence; tempBalance.BalanceDate = DateTime.Parse(this.operateDate); intReturn = clinicDayBalance.CreateClinicDayBalance(tempBalance); if (intReturn == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); waitForm.Hide(); MessageBox.Show("日结失败" + outpatient.Err); return; } } // // 更新其他表 // // 更新发票主表表FIN_OPB_INVOICEINFO intReturn = outpatient.UpdateInvoiceForDayBalance(DateTime.Parse(this.lastDate), DateTime.Parse(this.dayBalanceDate), "1", sequence, DateTime.Parse(this.operateDate)); if (intReturn <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); waitForm.Hide(); MessageBox.Show("更新发票主表失败" + outpatient.Err); return; } // 更新发票明细表FIN_OPB_INVOICEDETAIL intReturn = outpatient.UpdateInvoiceDetailForDayBalance(DateTime.Parse(this.lastDate), DateTime.Parse(this.dayBalanceDate), "1", sequence, DateTime.Parse(this.operateDate)); if (intReturn <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); waitForm.Hide(); MessageBox.Show("更新发票明细表失败"); return; } // 更新支付情况表FIN_OPB_PAYMODE intReturn = outpatient.UpdatePayModeForDayBalance(DateTime.Parse(this.lastDate), DateTime.Parse(this.dayBalanceDate), "1", sequence, DateTime.Parse(this.operateDate)); if (intReturn <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); waitForm.Hide(); MessageBox.Show("更新支付情况表失败" + outpatient.Err); return; } // // 保存成功 // Neusoft.FrameWork.Management.PublicTrans.Commit(); waitForm.Hide(); MessageBox.Show("日结成功完成"); this.PrintPanel(this.panelPrint); alBalanceData = null; // 设置上次日结时间显示 this.ucClinicDayBalanceDateControl1.tbLastDate.Text = this.dayBalanceDate; this.ucClinicDayBalanceDateControl1.dtpBalanceDate.Value = this.clinicDayBalance.GetDateTimeFromSysDateTime(); } }