From 8cde73e112a399f95b332e6ebfc37a16f63c9be1 Mon Sep 17 00:00:00 2001 From: wanghaomei Date: Wed, 4 Jan 2023 16:50:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=8E=A5=E5=8F=A3=E7=BB=9F?= =?UTF-8?q?=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BookingOrder/BookingOrderService.cs | 64 +++++++++++-------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs b/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs index 5c72925a..b5a82175 100644 --- a/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs +++ b/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs @@ -1662,9 +1662,10 @@ namespace Myshipping.Application /// 订舱Id /// 打印模板ID /// 类型,1:pdf、2:xlsx、3:docx + /// 打印类型,10:FastReport、20:Excel模板 /// [HttpGet("/BookingOrder/PrintFastReport")] - public async Task PrintFastReport(long bookingId, long templateId, int type = 1) + public async Task PrintFastReport(long bookingId, long templateId, int type = 1, BookingPrintTemplateType printType = BookingPrintTemplateType.FastReport) { var printTemplate = await _repPrintTemplate.AsQueryable().Filter(null, true).FirstAsync(x => x.Id == templateId); if (printTemplate == null) @@ -1672,38 +1673,46 @@ namespace Myshipping.Application throw Oops.Bah(BookingErrorCode.BOOK115); } - var bs = await GenPrintFile(bookingId, printTemplate, type); - var fileType = ""; - if (type == 1) - { - fileType = ".pdf"; - } - else if (type == 2) - { - fileType = ".xlsx"; - } - else if (type == 3) - { - fileType = ".docx"; - } - else + var fileName = string.Empty; + if (printType == BookingPrintTemplateType.FastReport) { - throw Oops.Bah("类型参数不正确"); - } + var bs = await GenPrintFile(bookingId, printTemplate, type); + var fileType = ""; + if (type == 1) + { + fileType = ".pdf"; + } + else if (type == 2) + { + fileType = ".xlsx"; + } + else if (type == 3) + { + fileType = ".docx"; + } + else + { + throw Oops.Bah("类型参数不正确"); + } - var fileName = HttpUtility.UrlEncode($"{bookingId}_{DateTime.Now.Ticks}{fileType}", Encoding.GetEncoding("UTF-8"));//名称 - var opt = App.GetOptions().Path; - var serverpath = Path.Combine(App.WebHostEnvironment.WebRootPath, opt);//服务器路径 - if (!Directory.Exists(serverpath)) + fileName = HttpUtility.UrlEncode($"{bookingId}_{DateTime.Now.Ticks}{fileType}", Encoding.GetEncoding("UTF-8"));//名称 + var opt = App.GetOptions().Path; + var serverpath = Path.Combine(App.WebHostEnvironment.WebRootPath, opt);//服务器路径 + if (!Directory.Exists(serverpath)) + { + Directory.CreateDirectory(serverpath); + } + + var fullPath = Path.Combine(serverpath, fileName); + await File.WriteAllBytesAsync(fullPath, bs); + } + else if (printType == BookingPrintTemplateType.ExcelTemplate) { - Directory.CreateDirectory(serverpath); + //todo:excel模板打印功能 } - var fullPath = Path.Combine(serverpath, fileName); - await File.WriteAllBytesAsync(fullPath, bs); - //记录打印次数和时间,用于前端动态展示常用的打印类型 - var printRecentListKey = $"{PrintRecentListTypeKey}_{printTemplate.CateCode}_{BookingPrintTemplateType.FastReport}"; + var printRecentListKey = $"{PrintRecentListTypeKey}_{printTemplate.CateCode}_{printType}"; var usrCfg = _repUserConfig.AsQueryable().First(x => x.CreatedUserId == UserManager.UserId && x.Type == printRecentListKey); if (usrCfg == null) { @@ -1720,7 +1729,6 @@ namespace Myshipping.Application await _repUserConfig.UpdateAsync(usrCfg); } - return fileName; }