/// <summary>
        /// hàm thực hiện in phiếu báo cáo
        /// thông tin
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmdBaoCao_Click(object sender, EventArgs e)
        {
            try
            {
                string nhomthuoc = "-1";

                nhomthuoc = txtLoaithuoc.MyID.ToString();
                string fromdate       = "01/01/2000";
                string todate         = "01/01/2000";
                string _value         = "1";
                string _tondau        = "Tồn đầu";
                string _toncuoi       = "Tồn cuối";
                string FromDateToDate = Utility.FromToDateTime(dtFromDate.Text, dtToDate.Text);
                if (optThang.Checked)
                {
                    if (cboThang.SelectedIndex < 0)
                    {
                        Utility.ShowMsg("Bạn phải chọn Tháng báo cáo");
                        cboThang.Focus();
                        return;
                    }
                    _value         = cboThang.SelectedValue.ToString();
                    _tondau        = "Tồn đầu tháng " + _value;
                    _toncuoi       = "Tồn cuối tháng " + _value;
                    FromDateToDate = "Tháng " + _value;
                    switch (_value)
                    {
                    case "2":
                        fromdate = new DateTime(dtpNam.Value.Year, Utility.Int32Dbnull(_value, 2), 1).ToString("dd/MM/yyyy");
                        todate   = new DateTime(dtpNam.Value.Year, Utility.Int32Dbnull(_value, 2), 29).ToString("dd/MM/yyyy");
                        break;

                    case "4":
                    case "6":
                    case "9":
                    case "11":
                        fromdate = new DateTime(dtpNam.Value.Year, Utility.Int32Dbnull(_value, 2), 1).ToString("dd/MM/yyyy");
                        todate   = new DateTime(dtpNam.Value.Year, Utility.Int32Dbnull(_value, 2), 30).ToString("dd/MM/yyyy");
                        break;

                    default:
                        fromdate = new DateTime(dtpNam.Value.Year, Utility.Int32Dbnull(_value, 2), 1).ToString("dd/MM/yyyy");
                        todate   = new DateTime(dtpNam.Value.Year, Utility.Int32Dbnull(_value, 2), 31).ToString("dd/MM/yyyy");
                        break;
                    }
                }
                else if (optQuy.Checked)
                {
                    if (cboQuy.SelectedIndex < 0)
                    {
                        Utility.ShowMsg("Bạn phải chọn Quý báo cáo");
                        cboQuy.Focus();
                        return;
                    }
                    _value         = cboQuy.SelectedValue.ToString();
                    _tondau        = "Tồn đầu quý " + _value;
                    _toncuoi       = "Tồn cuối quý " + _value;
                    FromDateToDate = "Quý " + _value;
                    switch (_value)
                    {
                    case "1":
                        fromdate = new DateTime(dtpNam.Value.Year, 1, 1).ToString("dd/MM/yyyy");
                        todate   = new DateTime(dtpNam.Value.Year, 3, 31).ToString("dd/MM/yyyy");
                        break;

                    case "2":
                        fromdate = new DateTime(dtpNam.Value.Year, 4, 1).ToString("dd/MM/yyyy");
                        todate   = new DateTime(dtpNam.Value.Year, 6, 30).ToString("dd/MM/yyyy");
                        break;

                    case "3":
                        fromdate = new DateTime(dtpNam.Value.Year, 7, 1).ToString("dd/MM/yyyy");
                        todate   = new DateTime(dtpNam.Value.Year, 9, 30).ToString("dd/MM/yyyy");
                        break;

                    case "4":
                        fromdate = new DateTime(dtpNam.Value.Year, 10, 1).ToString("dd/MM/yyyy");
                        todate   = new DateTime(dtpNam.Value.Year, 12, 31).ToString("dd/MM/yyyy");
                        break;

                    default:
                        fromdate = new DateTime(dtpNam.Value.Year, 1, 1).ToString("dd/MM/yyyy");
                        todate   = new DateTime(dtpNam.Value.Year, 12, 31).ToString("dd/MM/yyyy");
                        break;
                    }
                }
                else if (optNam.Checked)
                {
                    FromDateToDate = "Năm " + dtpNam.Value.Year.ToString();
                    _tondau        = "Tồn " + dtpNam.Value.AddYears(-1).Year.ToString();
                    _toncuoi       = "Tồn " + dtpNam.Value.Year.ToString();
                    fromdate       = new DateTime(dtpNam.Value.Year, 1, 1).ToString("dd/MM/yyyy");
                    todate         = new DateTime(dtpNam.Value.Year, 12, 31).ToString("dd/MM/yyyy");
                }
                else
                {
                    _tondau  = "Tồn đầu " + dtFromDate.Value.ToString("dd/MM/yyyy");
                    _toncuoi = "Tồn cuối " + dtToDate.Value.ToString("dd/MM/yyyy");
                    fromdate = dtFromDate.Value.ToString("dd/MM/yyyy");
                    todate   = dtToDate.Value.ToString("dd/MM/yyyy");
                }
                DataTable m_dtReport = null;
                if (cboReportType.SelectedIndex == 0)
                {
                    m_dtReport = BAOCAO_THUOC.ThuocBaocaoXuatthuockhoaNoitruTonghop(fromdate,
                                                                                    todate,
                                                                                    lstIdKhoxuat, lstIDKhoa, nhomthuoc, Utility.Int32Dbnull(txtthuoc.MyID, -1), Utility.Bool2byte(cboReportType.SelectedValue.ToString() != "0"));
                }

                else
                {
                    m_dtReport = BAOCAO_THUOC.ThuocBaocaoXuatthuockhoaNoitru(fromdate,
                                                                             todate,
                                                                             lstIdKhoxuat, lstIDKhoa, nhomthuoc, Utility.Int32Dbnull(txtthuoc.MyID, -1), Utility.Bool2byte(cboReportType.SelectedValue.ToString() != "0"));
                }


                Utility.SetDataSourceForDataGridEx(grdList, m_dtReport, true, true, "1=1", "");
                THU_VIEN_CHUNG.CreateXML(m_dtReport, "baocao_xuatnhapton_theoquy.xml");
                if (m_dtReport.Rows.Count <= 0)
                {
                    Utility.ShowMsg("Không tìm thấy dữ liệu", "Thông báo", MessageBoxIcon.Warning);
                    return;
                }


                thuoc_baocao.BaocaoXuatthuoctheoKhoaNoitru(m_dtReport, cboReportType.SelectedValue.ToString(), KIEU_THUOC_VT, baocaO_TIEUDE1.TIEUDE,
                                                           dtNgayIn.Value, FromDateToDate,
                                                           Utility.sDbnull(cboKho.Text) == "" ? "Tất cả" : Utility.sDbnull(cboKho.Text), Utility.sDbnull(cboKhoalinh.Text) == "" ? "Tất cả" : Utility.sDbnull(cboKhoalinh.Text), chkTheoNhomThuoc.Checked);
            }
            catch (Exception)
            {
            }
        }