diff --git a/PEIS/PEIS.csproj b/PEIS/PEIS.csproj index 89cc22d..7075a43 100644 --- a/PEIS/PEIS.csproj +++ b/PEIS/PEIS.csproj @@ -662,6 +662,9 @@ Always + + Always + Always diff --git a/PEIS/ReportFiles/OrgExcel.frx b/PEIS/ReportFiles/OrgExcel.frx new file mode 100644 index 0000000..7058376 --- /dev/null +++ b/PEIS/ReportFiles/OrgExcel.frx @@ -0,0 +1,105 @@ + + + using System; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Windows.Forms; +using System.Drawing; +using System.Data; +using FastReport; +using FastReport.Data; +using FastReport.Dialog; +using FastReport.Barcode; +using FastReport.Table; +using FastReport.Utils; + +namespace FastReport +{ + public class ReportScript + { + + private void PeopleCount_AfterData(object sender, EventArgs e) + { + DataSourceBase rowData = Report.GetDataSource("O"); + Cell86.Text = rowData["SignTime"] == null ? "" : Convert.ToDateTime(rowData["SignTime"]).ToString("yyyy-MM-dd"); + } + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PEIS/View/Enrollment/EnrollmentOrgForm.Designer.cs b/PEIS/View/Enrollment/EnrollmentOrgForm.Designer.cs index bff4826..6b9e493 100644 --- a/PEIS/View/Enrollment/EnrollmentOrgForm.Designer.cs +++ b/PEIS/View/Enrollment/EnrollmentOrgForm.Designer.cs @@ -28,12 +28,11 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EnrollmentOrgForm)); - DevExpress.XtraGrid.GridFormatRule gridFormatRule3 = new DevExpress.XtraGrid.GridFormatRule(); - DevExpress.XtraEditors.FormatConditionRuleExpression formatConditionRuleExpression3 = new DevExpress.XtraEditors.FormatConditionRuleExpression(); DevExpress.XtraGrid.GridFormatRule gridFormatRule1 = new DevExpress.XtraGrid.GridFormatRule(); DevExpress.XtraEditors.FormatConditionRuleExpression formatConditionRuleExpression1 = new DevExpress.XtraEditors.FormatConditionRuleExpression(); + DevExpress.XtraGrid.GridFormatRule gridFormatRule2 = new DevExpress.XtraGrid.GridFormatRule(); + DevExpress.XtraEditors.FormatConditionRuleExpression formatConditionRuleExpression2 = new DevExpress.XtraEditors.FormatConditionRuleExpression(); this.gridColumn99 = new DevExpress.XtraGrid.Columns.GridColumn(); this.gridColumn102 = new DevExpress.XtraGrid.Columns.GridColumn(); this.repositoryItemMemoEdit21 = new DevExpress.XtraEditors.Repository.RepositoryItemMemoEdit(); @@ -68,7 +67,7 @@ this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl(); this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage(); this.DgcGroupPatient = new DevExpress.XtraGrid.GridControl(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(); this.FastGroupMove = new System.Windows.Forms.ToolStripMenuItem(); this.DgvGroupPatient = new DevExpress.XtraGrid.Views.Grid.GridView(); this.gridColumn32 = new DevExpress.XtraGrid.Columns.GridColumn(); @@ -202,7 +201,7 @@ this.xtraTabControl4 = new DevExpress.XtraTab.XtraTabControl(); this.xtraTabPage4 = new DevExpress.XtraTab.XtraTabPage(); this.DgcCheckCost2 = new DevExpress.XtraGrid.GridControl(); - this.PersonCostFastMenu = new System.Windows.Forms.ContextMenuStrip(this.components); + this.PersonCostFastMenu = new System.Windows.Forms.ContextMenuStrip(); this.PFastCharge = new System.Windows.Forms.ToolStripMenuItem(); this.PFastAllCharge = new System.Windows.Forms.ToolStripMenuItem(); this.PFastDeleteCost = new System.Windows.Forms.ToolStripMenuItem(); @@ -233,7 +232,7 @@ this.xtraTabControl3 = new DevExpress.XtraTab.XtraTabControl(); this.xtraTabPage2 = new DevExpress.XtraTab.XtraTabPage(); this.DgcCheckCost = new DevExpress.XtraGrid.GridControl(); - this.TeamCostFastMenu = new System.Windows.Forms.ContextMenuStrip(this.components); + this.TeamCostFastMenu = new System.Windows.Forms.ContextMenuStrip(); this.TFastCharge = new System.Windows.Forms.ToolStripMenuItem(); this.TFastAllCharge = new System.Windows.Forms.ToolStripMenuItem(); this.TFastDeleteCost = new System.Windows.Forms.ToolStripMenuItem(); @@ -324,7 +323,7 @@ this.splitterControl1 = new DevExpress.XtraEditors.SplitterControl(); this.panel11 = new System.Windows.Forms.Panel(); this.DgcEnrollment = new DevExpress.XtraGrid.GridControl(); - this.InfoFastMenu = new System.Windows.Forms.ContextMenuStrip(this.components); + this.InfoFastMenu = new System.Windows.Forms.ContextMenuStrip(); this.FastCamera = new System.Windows.Forms.ToolStripMenuItem(); this.FastDelete = new System.Windows.Forms.ToolStripMenuItem(); this.FastExport = new System.Windows.Forms.ToolStripMenuItem(); @@ -348,7 +347,6 @@ this.gridColumn105 = new DevExpress.XtraGrid.Columns.GridColumn(); this.gridColumn104 = new DevExpress.XtraGrid.Columns.GridColumn(); this.gridColumn92 = new DevExpress.XtraGrid.Columns.GridColumn(); - this.gridColumn106 = new DevExpress.XtraGrid.Columns.GridColumn(); this.PatientSearch = new System.Windows.Forms.TextBox(); this.gridColumn109 = new DevExpress.XtraGrid.Columns.GridColumn(); this.新建NToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -2977,15 +2975,15 @@ this.gridColumn100, this.gridColumn99}); this.DgvCheckCost2.FixedLineWidth = 1; - gridFormatRule3.ApplyToRow = true; - gridFormatRule3.Column = this.gridColumn99; - gridFormatRule3.Name = "Format0"; - formatConditionRuleExpression3.Appearance.ForeColor = System.Drawing.Color.Gray; - formatConditionRuleExpression3.Appearance.Options.UseForeColor = true; - formatConditionRuleExpression3.Expression = "[CancelTime] Is Not Null"; - formatConditionRuleExpression3.PredefinedName = "Strikeout Text"; - gridFormatRule3.Rule = formatConditionRuleExpression3; - this.DgvCheckCost2.FormatRules.Add(gridFormatRule3); + gridFormatRule1.ApplyToRow = true; + gridFormatRule1.Column = this.gridColumn99; + gridFormatRule1.Name = "Format0"; + formatConditionRuleExpression1.Appearance.ForeColor = System.Drawing.Color.Gray; + formatConditionRuleExpression1.Appearance.Options.UseForeColor = true; + formatConditionRuleExpression1.Expression = "[CancelTime] Is Not Null"; + formatConditionRuleExpression1.PredefinedName = "Strikeout Text"; + gridFormatRule1.Rule = formatConditionRuleExpression1; + this.DgvCheckCost2.FormatRules.Add(gridFormatRule1); this.DgvCheckCost2.GridControl = this.DgcCheckCost2; this.DgvCheckCost2.GroupFormat = "{0}"; this.DgvCheckCost2.IndicatorWidth = 40; @@ -3423,15 +3421,15 @@ this.gridColumn101, this.gridColumn102}); this.DgvCheckCost.FixedLineWidth = 1; - gridFormatRule1.ApplyToRow = true; - gridFormatRule1.Column = this.gridColumn102; - gridFormatRule1.Name = "Format0"; - formatConditionRuleExpression1.Appearance.ForeColor = System.Drawing.Color.Gray; - formatConditionRuleExpression1.Appearance.Options.UseForeColor = true; - formatConditionRuleExpression1.Expression = "[CancelTime] Is Not Null"; - formatConditionRuleExpression1.PredefinedName = "Strikeout Text"; - gridFormatRule1.Rule = formatConditionRuleExpression1; - this.DgvCheckCost.FormatRules.Add(gridFormatRule1); + gridFormatRule2.ApplyToRow = true; + gridFormatRule2.Column = this.gridColumn102; + gridFormatRule2.Name = "Format0"; + formatConditionRuleExpression2.Appearance.ForeColor = System.Drawing.Color.Gray; + formatConditionRuleExpression2.Appearance.Options.UseForeColor = true; + formatConditionRuleExpression2.Expression = "[CancelTime] Is Not Null"; + formatConditionRuleExpression2.PredefinedName = "Strikeout Text"; + gridFormatRule2.Rule = formatConditionRuleExpression2; + this.DgvCheckCost.FormatRules.Add(gridFormatRule2); this.DgvCheckCost.GridControl = this.DgcCheckCost; this.DgvCheckCost.GroupCount = 1; this.DgvCheckCost.GroupFormat = ""; @@ -4692,8 +4690,7 @@ this.gridColumn96, this.gridColumn105, this.gridColumn104, - this.gridColumn92, - this.gridColumn106}); + this.gridColumn92}); this.DgvEnrollment.GridControl = this.DgcEnrollment; this.DgvEnrollment.GroupCount = 1; this.DgvEnrollment.GroupFormat = ""; @@ -4984,23 +4981,6 @@ this.gridColumn92.Visible = true; this.gridColumn92.VisibleIndex = 10; // - // gridColumn106 - // - this.gridColumn106.AppearanceCell.Font = new System.Drawing.Font("微软雅黑", 12F); - this.gridColumn106.AppearanceCell.Options.UseFont = true; - this.gridColumn106.Caption = "体检费用"; - this.gridColumn106.FieldName = "Fee"; - this.gridColumn106.Name = "gridColumn106"; - this.gridColumn106.OptionsColumn.AllowEdit = false; - this.gridColumn106.OptionsColumn.AllowGroup = DevExpress.Utils.DefaultBoolean.False; - this.gridColumn106.OptionsColumn.AllowMerge = DevExpress.Utils.DefaultBoolean.False; - this.gridColumn106.OptionsColumn.AllowMove = false; - this.gridColumn106.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False; - this.gridColumn106.OptionsColumn.ReadOnly = true; - this.gridColumn106.OptionsFilter.AllowFilter = false; - this.gridColumn106.Visible = true; - this.gridColumn106.VisibleIndex = 13; - // // PatientSearch // this.PatientSearch.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; @@ -5686,6 +5666,5 @@ private System.Windows.Forms.ToolStripMenuItem FastExportTime; private DevExpress.XtraGrid.Columns.GridColumn gridColumn104; private DevExpress.XtraGrid.Columns.GridColumn gridColumn105; - private DevExpress.XtraGrid.Columns.GridColumn gridColumn106; } } \ No newline at end of file diff --git a/PEIS/View/Enrollment/EnrollmentOrgForm.cs b/PEIS/View/Enrollment/EnrollmentOrgForm.cs index d5d1851..c9bf2c7 100644 --- a/PEIS/View/Enrollment/EnrollmentOrgForm.cs +++ b/PEIS/View/Enrollment/EnrollmentOrgForm.cs @@ -3,6 +3,7 @@ using DevExpress.XtraGrid.Columns; using DevExpress.XtraGrid.Views.Grid; using DevExpress.XtraGrid.Views.Grid.ViewInfo; using DevExpress.XtraPrinting.Native; +using FastReport; using PEIS.Base; using PEIS.Entity; using PEIS.Event; @@ -14,6 +15,7 @@ using System.Collections.Generic; using System.Data; using System.Drawing; using System.Globalization; +using System.IO; using System.Linq; using System.Windows.Forms; @@ -859,43 +861,31 @@ namespace PEIS.View.Enrollment if (_lstExcelEPatient.Count != 0) { - DgcEnrollment.DataSource = _lstExcelEPatient; - SaveFileDialog saveFileDialog = new SaveFileDialog(); - saveFileDialog.Title = "导出Excel"; - saveFileDialog.FileName = "团体名单"; - saveFileDialog.Filter = "Excel文件(*.xls)|*.xls"; - DialogResult dialogResult = saveFileDialog.ShowDialog(this); - if (dialogResult == DialogResult.OK) + var rpt = new FastReport.Report(); //实例化一个Report报表 + try { - DevExpress.XtraPrinting.XlsExportOptionsEx options = new DevExpress.XtraPrinting.XlsExportOptionsEx(); - options.ShowGridLines = true; - options.TextExportMode = DevExpress.XtraPrinting.TextExportMode.Value; - options.ExportType = DevExpress.Export.ExportType.WYSIWYG; - - // 首先,创建一个新的列对象 - GridColumn newColumn = new GridColumn(); - // 设置列的标题,例如"序号" - newColumn.Caption = "序号"; - // 设置列的字段名称,这将用于数据绑定 - newColumn.FieldName = "RowNumber"; - newColumn.VisibleIndex = 0; - newColumn.AppearanceCell.Font = new Font("微软雅黑", 12); - - // 将列添加到GridView的Columns集合中 - DgvEnrollment.Columns.Add(newColumn); - - for (int i = 0; i < _lstExcelEPatient.Count(); i++) - { - // 使用GetRowCellValue方法获取当前行的序号列的值 - int rowNumber = DgvEnrollment.GetRowHandle(i); // 行句柄 - DgvEnrollment.SetRowCellValue(rowNumber, "RowNumber", i + 1); // 设置序号列的值 - } - - DgcEnrollment.ExportToXls(saveFileDialog.FileName, options); - DgvEnrollment.Columns.Remove(newColumn); + var reportFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ReportFiles", "OrgExcel.frx"); + rpt.Load(reportFile); + + rpt.SetParameterValue("TotalCount", _lstExcelEPatient.Count()); + rpt.SetParameterValue("No", _lstExcelEPatient.Where(w => w.SignTime == null).ToList().Count()); + rpt.SetParameterValue("Yes", _lstExcelEPatient.Where(w => w.SignTime != null).ToList().Count()); + rpt.SetParameterValue("OrgName", DgvOrg.GetRowCellValue(DgvOrg.GetSelectedRows()[0], "Name").ToString()); + + // 人员数据 + rpt.RegisterData(_lstExcelEPatient, "O"); + DataBand checkCost = rpt.Report.FindObject("OrgExcel") as DataBand; + checkCost.DataSource = rpt.Report.GetDataSource("O"); + rpt.GetDataSource("O").Enabled = true; + + rpt.Prepare(); + rpt.Show(); + } + catch (Exception) + { + Global.MsgErr("预览失败,请联系管理员!"); } } - ShowEnrollmentPatient(_lstEnrollmentPatient); } private void FastExportTime_Click(object sender, EventArgs e) // 导出指定时间范围成员 @@ -934,45 +924,31 @@ namespace PEIS.View.Enrollment { if (_lstExcelEPatient.Count != 0) { - DgcEnrollment.DataSource = _lstExcelEPatient; - SaveFileDialog saveFileDialog = new SaveFileDialog(); - saveFileDialog.Title = "导出Excel"; - saveFileDialog.FileName = "团体名单"; - saveFileDialog.Filter = "Excel文件(*.xls)|*.xls"; - DialogResult dialogResult = saveFileDialog.ShowDialog(this); - if (dialogResult == DialogResult.OK) + var rpt = new FastReport.Report(); //实例化一个Report报表 + try + { + var reportFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ReportFiles", "OrgExcel.frx"); + rpt.Load(reportFile); + + rpt.SetParameterValue("TotalCount", _lstExcelEPatient.Count()); + rpt.SetParameterValue("No", _lstExcelEPatient.Where(w => w.SignTime == null).ToList().Count()); + rpt.SetParameterValue("Yes", _lstExcelEPatient.Where(w => w.SignTime != null).ToList().Count()); + rpt.SetParameterValue("OrgName", DgvOrg.GetRowCellValue(DgvOrg.GetSelectedRows()[0], "Name").ToString()); + + // 人员数据 + rpt.RegisterData(_lstExcelEPatient, "O"); + DataBand checkCost = rpt.Report.FindObject("OrgExcel") as DataBand; + checkCost.DataSource = rpt.Report.GetDataSource("O"); + rpt.GetDataSource("O").Enabled = true; + + rpt.Prepare(); + rpt.Show(); + } + catch (Exception) { - DevExpress.XtraPrinting.XlsExportOptionsEx options = new DevExpress.XtraPrinting.XlsExportOptionsEx(); - options.ShowGridLines = true; - options.TextExportMode = DevExpress.XtraPrinting.TextExportMode.Value; - options.ExportType = DevExpress.Export.ExportType.WYSIWYG; - - // 首先,创建一个新的列对象 - GridColumn newColumn = new GridColumn(); - // 设置列的标题,例如"序号" - newColumn.Caption = "序号"; - // 设置列的字段名称,这将用于数据绑定 - newColumn.FieldName = "RowNumber"; - newColumn.VisibleIndex = 0; - newColumn.AppearanceCell.Font = new Font("微软雅黑", 12); - - // 将列添加到GridView的Columns集合中 - DgvEnrollment.Columns.Add(newColumn); - - - DgcEnrollment.DataSource = _lstExcelEPatient.Where(w => w.SignTime > begTime.Value.Date && w.SignTime < endTime.Value.AddDays(1).Date); - for (int i = 0; i < _lstExcelEPatient.Where(w => w.SignTime > begTime.Value.Date && w.SignTime < endTime.Value.AddDays(1).Date).Count(); i++) - { - // 使用GetRowCellValue方法获取当前行的序号列的值 - int rowNumber = DgvEnrollment.GetRowHandle(i); // 行句柄 - DgvEnrollment.SetRowCellValue(rowNumber, "RowNumber", i + 1); // 设置序号列的值 - } - - DgcEnrollment.ExportToXls(saveFileDialog.FileName, options); - DgvEnrollment.Columns.Remove(newColumn); + Global.MsgErr("预览失败,请联系管理员!"); } } - ShowEnrollmentPatient(_lstEnrollmentPatient); dateForm.Close(); }; diff --git a/PEIS/View/Enrollment/EnrollmentOrgForm.resx b/PEIS/View/Enrollment/EnrollmentOrgForm.resx index ab5bfdc..debec70 100644 --- a/PEIS/View/Enrollment/EnrollmentOrgForm.resx +++ b/PEIS/View/Enrollment/EnrollmentOrgForm.resx @@ -120,15 +120,6 @@ 510, 16 - - 510, 16 - - - 1914, 17 - - - 1358, 18 - 1597, 17 @@ -314,7 +305,7 @@ frF0DeOou0VjfCumLZLL/QM6DnLkln25BAAAAABJRU5ErkJggg== - + iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAABGdBTUEAALGPC/xhBQAAAXpJREFUWEft VMttxCAQdQlpIA3klEPMKreUEGlB2nSzp+0gh7Swl5SQEnwAK+UkzAL2gAa8tgHl4yc9WQzj956xPc2G @@ -326,7 +317,7 @@ E2hYuQ0bCqJpvgGNsilBELCZFAAAAABJRU5ErkJggg== - + iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAABGdBTUEAALGPC/xhBQAAAXpJREFUWEft VMttxCAQdQlpIA3klEPMKreUEGlB2nSzp+0gh7Swl5SQEnwAK+UkzAL2gAa8tgHl4yc9WQzj956xPc2G @@ -338,7 +329,7 @@ E2hYuQ0bCqJpvgGNsilBELCZFAAAAABJRU5ErkJggg== - + iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAABGdBTUEAALGPC/xhBQAAAXpJREFUWEft VMttxCAQdQlpIA3klEPMKreUEGlB2nSzp+0gh7Swl5SQEnwAK+UkzAL2gAa8tgHl4yc9WQzj956xPc2G @@ -350,7 +341,7 @@ E2hYuQ0bCqJpvgGNsilBELCZFAAAAABJRU5ErkJggg== - + iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAABGdBTUEAALGPC/xhBQAAAXpJREFUWEft VMttxCAQdQlpIA3klEPMKreUEGlB2nSzp+0gh7Swl5SQEnwAK+UkzAL2gAa8tgHl4yc9WQzj956xPc2G @@ -435,6 +426,9 @@ mAjBS46PQpxtC8HWE5/4muCP01lHCF/A7hOfW+9fQwAAAABJRU5ErkJggg== + + 1358, 18 + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAARhJREFUSEvt