示例#1
0
        public void ShowCurrentRegisterInvoiceNo()
        {
            HIS.MZ_BLL.OPDBillKind kind = HIS.MZ_BLL.OPDBillKind.门诊挂号发票;
            if (HIS.MZ_BLL.OPDParamter.Parameters["012"].ToString() == "1")
            {
                kind = HIS.MZ_BLL.OPDBillKind.门诊收费发票;
            }

            string perfChar  = "";
            string invoiceNo = HIS.MZ_BLL.InvoiceManager.GetBillNumber(kind, view.OperatorId, true, out perfChar);

            view.ShowCurrentRegisterInvoiceNo(invoiceNo);
        }
示例#2
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (cboChargetor.Text.Trim() == "" || cboChargetor.SelectedValue == null)
            {
                MessageBox.Show("请指定发票领用人!", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            HIS.MZ_BLL.OPDBillKind invoiceType = HIS.MZ_BLL.OPDBillKind.门诊收费发票;
            foreach (object obj in Enum.GetValues(typeof(HIS.MZ_BLL.OPDBillKind)))
            {
                if (obj.ToString() == cboInvoiceType.Text)
                {
                    invoiceType = (HIS.MZ_BLL.OPDBillKind)obj;
                    break;
                }
            }

            int chargeUserId = Convert.ToInt32(cboChargetor.SelectedValue);

            if (chkCommonUser.Checked)
            {
                chargeUserId = 0;
            }

            try
            {
                int    start    = Convert.ToInt32(txtKs.Text);
                int    end      = Convert.ToInt32(txtJs.Text);
                string perfChar = txtPerfChar.Text.Trim( ).ToUpper();
                if (end < start)
                {
                    MessageBox.Show("结束号不能大于开始号", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (HIS.MZ_BLL.InvoiceManager.CheckInvoiceExists(invoiceType, start, end, perfChar))
                {
                    HIS.MZ_BLL.InvoiceManager.SetInvoiceRecord(invoiceType, chargeUserId, perfChar, start, end, Convert.ToInt32(user.EmployeeID));
                    this.Close();
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#3
0
        private void btnQuery_Click(object sender, EventArgs e)
        {
            lblActCost.Text    = "";
            lblTotalCost.Text  = "";
            lblTotalNum.Text   = "";
            lblReturnCost.Text = "";
            lblReturnNum.Text  = "";
            lblTotalCash.Text  = "";
            lblTotalFavor.Text = "";
            lblTotalPOS.Text   = "";
            lblTotalTally.Text = "";
            plInvoice.Visible  = false;
            try
            {
                DataTable tbList = null;
                if (chkall.Checked)
                {
                    tbList = HIS.MZ_BLL.PublicDataReader.GetChargeInvoiceList(this.dtpFrom.Value, dtpTo.Value);
                }
                else
                {
                    tbList = HIS.MZ_BLL.PublicDataReader.GetChargeInvoiceList(this.dtpFrom.Value, dtpTo.Value, Convert.ToInt32(currentUser.EmployeeID));
                }

                HIS.MZ_BLL.OPDBillKind invoiceType = HIS.MZ_BLL.OPDBillKind.所有发票;

                foreach (object obj in Enum.GetValues(typeof(HIS.MZ_BLL.OPDBillKind)))
                {
                    if (obj.ToString( ) == cboInvoiceType.Text)
                    {
                        invoiceType = (HIS.MZ_BLL.OPDBillKind)obj;
                    }
                }
                string patTypeCode = "";

                if (chkPayType.Checked)
                {
                    patTypeCode = cboPatType.SelectedValue.ToString();
                }
                DataRow[] drs;
                DataTable tbList1 = tbList.Clone( );
                if (invoiceType == HIS.MZ_BLL.OPDBillKind.门诊挂号发票)
                {
                    string filter = "Hang_Flag=0";
                    if (patTypeCode != "")
                    {
                        filter = filter + " and MediType='" + patTypeCode + "'";
                    }
                    drs = tbList.Select(filter);
                    for (int i = 0; i < drs.Length; i++)
                    {
                        tbList1.Rows.Add(drs[i].ItemArray);
                    }
                }
                else if (invoiceType == HIS.MZ_BLL.OPDBillKind.门诊收费发票)
                {
                    string filter = "Hang_Flag=1";
                    if (patTypeCode != "")
                    {
                        filter = filter + " and MediType='" + patTypeCode + "'";
                    }

                    drs = tbList.Select(filter);
                    for (int i = 0; i < drs.Length; i++)
                    {
                        tbList1.Rows.Add(drs[i].ItemArray);
                    }
                }
                else
                {
                    string filter = "";
                    if (patTypeCode != "")
                    {
                        filter = filter + "MediType='" + patTypeCode + "'";
                    }

                    drs = tbList.Select(filter);
                    for (int i = 0; i < drs.Length; i++)
                    {
                        tbList1.Rows.Add(drs[i].ItemArray);
                    }
                }
                if (txtStartNo.Text.Trim( ) != "")
                {
                    tbList.Rows.Clear( );
                    string filter = "";
                    if (chkEndNo.Checked && txtEndNo.Text.Trim() != "")
                    {
                        long invoiceNum = Convert.ToInt64(txtStartNo.Text);
                        long endNum     = Convert.ToInt64(txtEndNo.Text);
                        if ((endNum - invoiceNum) > 1000)
                        {
                            if (MessageBox.Show("发票起止段查询范围过大,会消耗比较长的时间或导致程序无响应,是否继续?\r\n(建议值1000张以内)", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                            {
                                return;
                            }
                        }
                        while (true)
                        {
                            if (invoiceNum > endNum)
                            {
                                break;
                            }
                            else
                            {
                                filter = "InvoiceNo = '" + invoiceNum.ToString( ) + "'";
                                drs    = tbList1.Select(filter);
                                if (drs.Length > 0)
                                {
                                    tbList.Rows.Add(drs[0].ItemArray);
                                }
                                invoiceNum++;
                            }
                        }
                    }
                    else
                    {
                        filter = "InvoiceNo = '" + txtStartNo.Text.Trim( ) + "'";
                        drs    = tbList1.Select(filter);
                        for (int i = 0; i < drs.Length; i++)
                        {
                            tbList.Rows.Add(drs[i].ItemArray);
                        }
                        //if ( drs.Length > 0 )
                        //{
                        //    tbList.Rows.Add( drs[0].ItemArray );
                        //}
                    }
                    tbList1 = tbList;
                }

                tbList             = tbList1;
                dgvList.DataSource = tbList1;

                object objValue;

                lblTotalNum.Text  = tbList.Rows.Count.ToString( );
                objValue          = tbList.Compute("Sum(COST)", "");
                lblTotalCost.Text = Convert.ToDecimal(Convert.IsDBNull(objValue) ? "0" : objValue).ToString( );

                objValue          = tbList.Compute("count(InvoiceNo)", "UnChargeDate is not null");
                lblReturnNum.Text = Convert.ToInt32(Convert.IsDBNull(objValue)?"0":objValue).ToString( );

                objValue           = tbList.Compute("Sum(UnChargeCost)", "UnChargeDate is not null");
                lblReturnCost.Text = Convert.ToDecimal(Convert.IsDBNull(objValue) ? "0" : objValue).ToString( );

                objValue        = tbList.Compute("Sum(Cost)", "UnChargeDate is  null");
                lblActCost.Text = Convert.ToDecimal(Convert.IsDBNull(objValue) ? "0" : objValue).ToString( );

                objValue          = tbList.Compute("Sum(Cash)", "UnChargeDate is  null");
                lblTotalCash.Text = Convert.ToDecimal(Convert.IsDBNull(objValue) ? "0" : objValue).ToString( );

                objValue         = tbList.Compute("Sum(POS)", "UnChargeDate is  null");
                lblTotalPOS.Text = Convert.ToDecimal(Convert.IsDBNull(objValue) ? "0" : objValue).ToString( );

                objValue           = tbList.Compute("Sum(Tally)", "UnChargeDate is  null");
                lblTotalTally.Text = Convert.ToDecimal(Convert.IsDBNull(objValue) ? "0" : objValue).ToString( );

                objValue           = tbList.Compute("Sum(Favor)", "UnChargeDate is  null");
                lblTotalFavor.Text = Convert.ToDecimal(Convert.IsDBNull(objValue) ? "0" : objValue).ToString( );

                objValue = tbList.Compute("Sum(Self_Tally)", "UnChargeDate is  null");
                lblTotalSelfTally.Text = Convert.ToDecimal(Convert.IsDBNull(objValue) ? "0" : objValue).ToString( );
            }
            catch
            {
            }
        }