示例#1
0
        //#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            = "正在查询数据数据,请等待......";
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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();
                }
            }
        }
示例#4
0
        /// <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();
            }
        }