Ejemplo n.º 1
0
        //导出报告
        private void btnExportReport_Click(object sender, RoutedEventArgs e)
        {
            //foreach (Model.TestInfoModel model in TestInfoModelList)
            //{
            //    model.IsChecked = true;
            //}
            //RefrenshChart();
            try
            {
                //生成数据xml对象,供导出报告使用
                //string title = "平均曲线对比-" + DateTime.Now.ToString("yyyyMMddHHmmss");

                //DSJL.Export.GenerateAvgReportXML garxml = new DSJL.Export.GenerateAvgReportXML();
                //garxml.CurrentTitle = "平均曲线对比报告";
                //garxml.TestInfoModelList = TestInfoModelList;
                //System.Xml.Linq.XDocument xdoc = garxml.Generate();

                //System.Windows.Forms.FolderBrowserDialog fbd = new System.Windows.Forms.FolderBrowserDialog();
                //fbd.Description = "选择保存报告的位置";
                //fbd.ShowNewFolderButton = true;
                //if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                //{
                //    //生成平均曲线图片
                //    DSJL.Export.SaveUIElementToImage.SaveToImage(avgPanel, AppDomain.CurrentDomain.BaseDirectory + "avg.jpg");
                //    //开始导出
                //    DSJL.Export.ExportAvgReport exportReport = new DSJL.Export.ExportAvgReport(xdoc);
                //    exportReport.Export(fbd.SelectedPath + "\\" + title + ".pdf");

                //    //删除平均曲线图片
                //    File.Delete(AppDomain.CurrentDomain.BaseDirectory + "avg.jpg");
                //    MessageBox.Show("导出成功!", "系统信息");
                //}
                List <Model.TestInfoModel> testInfoModelList = GetSortedTestInfoModelList();

                string pdfFileName = "";
                string reportTitle = "";
                string standName   = "";
                DSJL.Export.ExportModeEnum exportMode = DSJL.Export.ExportModeEnum.Mode1;
                if (rbMode1.IsChecked == true)//互相对比报告
                {
                    exportMode  = DSJL.Export.ExportModeEnum.Mode1;
                    pdfFileName = "等速肌力互相对比报告(" + DateTime.Now.ToString("yyyyMMddHHmmss") + ")";
                    reportTitle = "等速肌力互相对比报告";
                }
                else if (rbMode2.IsChecked == true)//与平均曲线对比报告
                {
                    exportMode  = DSJL.Export.ExportModeEnum.Mode2;
                    pdfFileName = "等速肌力个人与平均曲线报告(" + DateTime.Now.ToString("yyyyMMddHHmmss") + ")";
                    reportTitle = "等速肌力个人与平均曲线报告";
                }
                else if (rbMode3.IsChecked == true)//与参考值对比报告
                {
                    if (stand.SelectedItem == null)
                    {
                        MessageBox.Show("请选择测试参考值!", "系统信息");
                        return;
                    }
                    else
                    {
                        standName = stand.SelectedItem.Stand_Name;
                    }
                    exportMode = DSJL.Export.ExportModeEnum.Mode3;

                    BLL.TB_StandardInfo   standInfoBLL    = new BLL.TB_StandardInfo();
                    Model.TB_StandardInfo parentStandInfo = standInfoBLL.GetModel((int)stand.SelectedItem.Stand_ParentID);
                    foreach (Model.TestInfoModel testInfoModel in testInfoModelList)
                    {
                        pdfFileName += testInfoModel.Ath_Name;
                    }
                    pdfFileName += "与" + parentStandInfo.Stand_Name + stand.SelectedItem.Stand_Name + "对比报告(" + DateTime.Now.ToString("yyyyMMddHHmmss") + ")";
                    //pdfFileName = "等速肌力个人与参考值对比报告(" + DateTime.Now.ToString("yyyyMMddHHmmss") + ")";
                    reportTitle = "等速肌力个人与参考值对比报告";
                }

                System.Windows.Forms.SaveFileDialog saveFileDialog = new System.Windows.Forms.SaveFileDialog();
                saveFileDialog.AddExtension    = true;
                saveFileDialog.OverwritePrompt = true;
                saveFileDialog.Title           = "选择保存报告的位置";
                saveFileDialog.FileName        = pdfFileName;
                saveFileDialog.DefaultExt      = "pdf";
                saveFileDialog.Filter          = "PDF文件(*.pdf)|*.pdf";
                if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    //生成数据xml对象,供导出报告使用
                    DSJL.Export.GenerateCompareResportXml garxml = new DSJL.Export.GenerateCompareResportXml(exportMode);
                    garxml.CurrentTitle              = reportTitle;
                    garxml.TestInfoModelList         = GetSortedTestInfoModelList();
                    garxml.StandardTestInfoModelList = standTestInfoModelList;
                    garxml.StandName = standName;
                    System.Xml.Linq.XDocument xdoc = garxml.GenerateXDoc();


                    //生成平均曲线图片
                    DSJL.Export.SaveUIElementToImage.SaveToImage(avgPanel, AppDomain.CurrentDomain.BaseDirectory + "avg.jpg");
                    //开始导出
                    DSJL.Export.ExportCompareReport exportReport = new DSJL.Export.ExportCompareReport(xdoc);
                    exportReport.Export(saveFileDialog.FileName);

                    //删除平均曲线图片
                    File.Delete(AppDomain.CurrentDomain.BaseDirectory + "avg.jpg");
                    MessageBox.Show("导出成功!", "系统信息");
                }
            }
            catch (Exception ee)
            {
                MessageBox.Show("导出出错!\r\n" + ee.Message, "系统错误");
            }
        }
Ejemplo n.º 2
0
        //导出报告
        private void btnExportReport_Click(object sender, RoutedEventArgs e)
        {
            //foreach (Model.TestInfoModel model in TestInfoModelList)
            //{
            //    model.IsChecked = true;
            //}
            //RefrenshChart();
            try
            {
                //生成数据xml对象,供导出报告使用
                //string title = "平均曲线对比-" + DateTime.Now.ToString("yyyyMMddHHmmss");

                //DSJL.Export.GenerateAvgReportXML garxml = new DSJL.Export.GenerateAvgReportXML();
                //garxml.CurrentTitle = "平均曲线对比报告";
                //garxml.TestInfoModelList = TestInfoModelList;
                //System.Xml.Linq.XDocument xdoc = garxml.Generate();

                //System.Windows.Forms.FolderBrowserDialog fbd = new System.Windows.Forms.FolderBrowserDialog();
                //fbd.Description = "选择保存报告的位置";
                //fbd.ShowNewFolderButton = true;
                //if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                //{
                //    //生成平均曲线图片
                //    DSJL.Export.SaveUIElementToImage.SaveToImage(avgPanel, AppDomain.CurrentDomain.BaseDirectory + "avg.jpg");
                //    //开始导出
                //    DSJL.Export.ExportAvgReport exportReport = new DSJL.Export.ExportAvgReport(xdoc);
                //    exportReport.Export(fbd.SelectedPath + "\\" + title + ".pdf");

                //    //删除平均曲线图片
                //    File.Delete(AppDomain.CurrentDomain.BaseDirectory + "avg.jpg");
                //    MessageBox.Show("导出成功!", "系统信息");
                //}
                List<Model.TestInfoModel> testInfoModelList = GetSortedTestInfoModelList();

                string pdfFileName = "";
                string reportTitle = "";
                string standName = "";
                DSJL.Export.ExportModeEnum exportMode = DSJL.Export.ExportModeEnum.Mode1;
                if (rbMode1.IsChecked == true)//互相对比报告
                {
                    exportMode = DSJL.Export.ExportModeEnum.Mode1;
                    pdfFileName = "等速肌力互相对比报告(" + DateTime.Now.ToString("yyyyMMddHHmmss") + ")";
                    reportTitle = "等速肌力互相对比报告";
                }
                else if (rbMode2.IsChecked == true)//与平均曲线对比报告
                {
                    exportMode = DSJL.Export.ExportModeEnum.Mode2;
                    pdfFileName = "等速肌力个人与平均曲线报告(" + DateTime.Now.ToString("yyyyMMddHHmmss") + ")";
                    reportTitle = "等速肌力个人与平均曲线报告";
                }
                else if (rbMode3.IsChecked == true)//与参考值对比报告
                {
                    if (stand.SelectedItem == null)
                    {
                        MessageBox.Show("请选择测试参考值!", "系统信息");
                        return;
                    }
                    else
                    {
                        standName = stand.SelectedItem.Stand_Name;
                    }
                    exportMode = DSJL.Export.ExportModeEnum.Mode3;

                    BLL.TB_StandardInfo standInfoBLL = new BLL.TB_StandardInfo();
                    Model.TB_StandardInfo parentStandInfo = standInfoBLL.GetModel((int)stand.SelectedItem.Stand_ParentID);
                    foreach (Model.TestInfoModel testInfoModel in testInfoModelList) {
                        pdfFileName += testInfoModel.Ath_Name;
                    }
                    pdfFileName += "与" + parentStandInfo.Stand_Name + stand.SelectedItem.Stand_Name + "对比报告(" + DateTime.Now.ToString("yyyyMMddHHmmss") + ")";
                    //pdfFileName = "等速肌力个人与参考值对比报告(" + DateTime.Now.ToString("yyyyMMddHHmmss") + ")";
                    reportTitle = "等速肌力个人与参考值对比报告";
                }

                System.Windows.Forms.SaveFileDialog saveFileDialog = new System.Windows.Forms.SaveFileDialog();
                saveFileDialog.AddExtension = true;
                saveFileDialog.OverwritePrompt = true;
                saveFileDialog.Title = "选择保存报告的位置";
                saveFileDialog.FileName = pdfFileName;
                saveFileDialog.DefaultExt = "pdf";
                saveFileDialog.Filter = "PDF文件(*.pdf)|*.pdf";
                if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {

                    //生成数据xml对象,供导出报告使用
                    DSJL.Export.GenerateCompareResportXml garxml = new DSJL.Export.GenerateCompareResportXml(exportMode);
                    garxml.CurrentTitle = reportTitle;
                    garxml.TestInfoModelList = GetSortedTestInfoModelList();
                    garxml.StandardTestInfoModelList = standTestInfoModelList;
                    garxml.StandName = standName;
                    System.Xml.Linq.XDocument xdoc = garxml.GenerateXDoc();

                    //生成平均曲线图片
                    DSJL.Export.SaveUIElementToImage.SaveToImage(avgPanel, AppDomain.CurrentDomain.BaseDirectory + "avg.jpg");
                    //开始导出
                    DSJL.Export.ExportCompareReport exportReport = new DSJL.Export.ExportCompareReport(xdoc);
                    exportReport.Export(saveFileDialog.FileName);

                    //删除平均曲线图片
                    File.Delete(AppDomain.CurrentDomain.BaseDirectory + "avg.jpg");
                    MessageBox.Show("导出成功!", "系统信息");
                }
            }
            catch (Exception ee)
            {
                MessageBox.Show("导出出错!\r\n" + ee.Message, "系统错误");
            }
        }