private PrintRzjg ToPrintData() { PrintRzjg rzjgObj = new PrintRzjg(); rzjgObj.Nsrsbh = GlobalInfo.NSRSBH; rzjgObj.Qymc = GlobalInfo.NSRMC; rzjgObj.Skssq = RzqdViewModelInstance.QueryModel.Skssq.Value.ToString("yyyy年MM月"); rzjgObj.NowDate = DateTime.Now; List <ExportRzjg> rzjgList = new List <ExportRzjg>(); foreach (var item in invoiceList) { ExportRzjg rzjgData = new ExportRzjg(); rzjgData.Xh = invoiceList.IndexOf(item) + 1; rzjgData.Fpdm = item.InvoiceCode; rzjgData.Fphm = item.InvoiceNo; rzjgData.Kprq = item.InvoiceDate; rzjgData.Xsfmc = item.XSFMC; rzjgData.Je = item.HJBHSJE.HasValue ? item.HJBHSJE.Value : 0; rzjgData.Se = item.SE.HasValue ? item.SE.Value : 0; rzjgData.Slv = Math.Round((rzjgData.Se / rzjgData.Je * 100)).ToString() + "%"; rzjgData.Rzjg = "认证相符"; rzjgData.Fplx = "增值税专票"; rzjgList.Add(rzjgData); } var ls = rzjgList.GroupBy(x => x.Slv).Select(x => new ExportSlType { Slv = x.Key, count = x.Count(), Je = x.Sum(g => g.Je), Se = x.Sum(g => g.Se) }).ToList(); ExportSlType calcData = new ExportSlType(); calcData.Slv = "总计"; calcData.count = ls.Sum(x => x.count); calcData.Je = ls.Sum(x => x.Je); calcData.Se = ls.Sum(x => x.Se); ls.Add(calcData); rzjgObj.ExportRzjgList = rzjgList; rzjgObj.ExportSlTypeList = ls; rzjgObj.JgContent = string.Format(PRO_ReceiptsInvMgr.Resources.Message.ExportJXJgContent, RzqdViewModelInstance.QueryModel.Skssq.Value.ToString("yyyy年MM月"), invoiceList.Count, invoiceList.Count, invoiceList.Sum(x => x.SE)); return(rzjgObj); }
public bool Export(PrintRzjg rzjgObj) { string filePath = string.Empty; SaveFileDialog saveFileDlg = new SaveFileDialog(); saveFileDlg.Filter = "Excel files(*.xlsx)|*.xlsx|All files(*.*)|*.*"; if (saveFileDlg.ShowDialog() == DialogResult.OK) { filePath = saveFileDlg.FileName; } else { return(false); } try { Dictionary <string, DataTable> dic = new Dictionary <string, DataTable>(StringComparer.OrdinalIgnoreCase); var tempStream = Assembly.GetEntryAssembly().GetManifestResourceStream("PRO_ReceiptsInvMgr.Client.认证清单格式.xlsx"); rzjgObj.Skssq = string.Format("税款所属期:{0}", rzjgObj.Skssq); rzjgObj.Qymc = string.Format("企业名称:{0}", rzjgObj.Qymc); rzjgObj.Nsrsbh = string.Format("纳税人识别号:{0}", rzjgObj.Nsrsbh); DataTable dt = new List <PrintRzjg> { rzjgObj }.ToDataTable("T"); DataTable dt1 = rzjgObj.ExportRzjgList.ToDataTable("T1"); DataTable dt2 = rzjgObj.ExportSlTypeList.ToDataTable("T2"); dic.Add(dt.TableName, dt); dic.Add(dt1.TableName, dt1); dic.Add(dt2.TableName, dt2); ExcelHelper.ExportExcel(tempStream, filePath, dic); } catch (Exception ex) { Logging.Log4NetHelper.Error(this, "Export Error", ex); return(false); } return(true); }
private void btnPrint_Click(object sender, RoutedEventArgs e) { if (!Valid()) { return; } try { PrintRzjg rzjgObj = ToPrintData(); PrintPreviewWindow previewWnd = new PrintPreviewWindow("/UI/JXGL/Print/Document.xaml", rzjgObj, new DocumentRenderer()); previewWnd.Owner = JXManager.JXManagerInstance; previewWnd.ShowInTaskbar = false; previewWnd.ShowDialog(); } catch (Exception ex) { Logging.Log4NetHelper.Error(this, PRO_ReceiptsInvMgr.Resources.Message.PrintRzqdError, ex); MessageBoxEx.Show(JXManager.JXManagerInstance, PRO_ReceiptsInvMgr.Resources.Message.PrintRzqdError, PRO_ReceiptsInvMgr.Resources.Message.Tips, MessageBoxExButtons.OK, MessageBoxExIcon.Error); } }
private void btnExport_Click(object sender, RoutedEventArgs e) { if (!Valid()) { return; } try { PrintRzjg rzjgObj = ToPrintData(); if (Export(rzjgObj)) { MessageBoxEx.Show(JXManager.JXManagerInstance, PRO_ReceiptsInvMgr.Resources.Message.ExportSuccess, PRO_ReceiptsInvMgr.Resources.Message.Tips, MessageBoxExButtons.OK, MessageBoxExIcon.Information); } } catch (Exception ex) { Logging.Log4NetHelper.Error(this, PRO_ReceiptsInvMgr.Resources.Message.ExportRzqdFail, ex); MessageBoxEx.Show(JXManager.JXManagerInstance, PRO_ReceiptsInvMgr.Resources.Message.ExportRzqdFail, PRO_ReceiptsInvMgr.Resources.Message.Tips, MessageBoxExButtons.OK, MessageBoxExIcon.Error); } }