void controller_AfterBalanceEndEvent(object sender, AfterBalanceEndArgs e) { if (e.Success) { try { PrintController.PrintChargeInvoice(e.Invoices); frmPreviousInfo.PatientName = plPatient.OutPatient.PatientName; frmPreviousInfo.InvoicePics = e.Invoices.Length.ToString( ); frmPreviousInfo.TotalMoney = e.BalanceInfo.TotalFee.ToString(decimalFormat); frmPreviousInfo.FavorMoney = e.BalanceInfo.FavorFee.ToString(decimalFormat); frmPreviousInfo.InsurMoney = e.BalanceInfo.VillageFee.ToString(decimalFormat); frmPreviousInfo.SelfPayMoney = e.BalanceInfo.SelfFee.ToString(decimalFormat); frmPreviousInfo.SelfTollyMoney = e.BalanceInfo.SelfTally.ToString(decimalFormat); frmPreviousInfo.PosMoney = e.BalanceInfo.PosFee.ToString(decimalFormat); frmPreviousInfo.Show( ); controller.ReadPatientNotBalancePrescription(true); } catch (Exception err) { MessageBox.Show(err.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
/// <summary> /// 结算 /// </summary> /// <param name="e">预算的消息参数</param> public void Balance(AfterBudgetEndArgs e) { Invoice[] invoicies; ChargeInfo[] chargeInfos = e.BudgetInfos; AfterBalanceEndArgs even = new AfterBalanceEndArgs( ); try { bool ret = e.ChargeController.Charge(chargeInfos, e.Prescriptions, out invoicies); even.Success = ret; even.Invoices = invoicies; even.BalanceInfo = e.TotalBugetInfo; } catch (Exception err) { even.Success = false; even.Cancel = true; even.Message = err.Message; } if (AfterBalanceEndEvent != null) { AfterBalanceEndEvent(this, even); } try { string perfChar = ""; string currentInvoiceNo = HIS.MZ_BLL.InvoiceManager.GetBillNumber(OPDBillKind.门诊收费发票, formView.CurrentEmployeeId, true, out perfChar); formView.InvoicePerfChar = perfChar; formView.CurrentInvoiceNo = currentInvoiceNo; } catch (Exception err) { throw err; } }