5 changed files with 160 additions and 35 deletions
			
			
		- 
					15src/Shentun.Peis.Application.Contracts/Reports/PrintReportDto.cs
 - 
					15src/Shentun.Peis.Application.Contracts/Reports/UploadPdfDto.cs
 - 
					41src/Shentun.Peis.Application/ReportFormatTemplates/ReportFormatTemplateAppService.cs
 - 
					76src/Shentun.Peis.Application/Reports/ReportAppService.cs
 - 
					42src/Shentun.Peis.Domain/FileHelper.cs
 
@ -0,0 +1,15 @@ | 
			
		|||||
 | 
				using System; | 
			
		||||
 | 
				using System.Collections.Generic; | 
			
		||||
 | 
				using System.Text; | 
			
		||||
 | 
				using Shentun.Peis.ReportFormatTemplates; | 
			
		||||
 | 
				using Shentun.Peis.ReportPrinters; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				namespace Shentun.Peis.Reports | 
			
		||||
 | 
				{ | 
			
		||||
 | 
				    public class PrintReportDto | 
			
		||||
 | 
				    { | 
			
		||||
 | 
				        public ReportFormatTemplateDto reportFormatTemplate { get; set; } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        public ReportPrinterDto reportPrinter { get; set; } | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				} | 
			
		||||
@ -0,0 +1,15 @@ | 
			
		|||||
 | 
				using System; | 
			
		||||
 | 
				using System.Collections.Generic; | 
			
		||||
 | 
				using System.Text; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				namespace Shentun.Peis.Reports | 
			
		||||
 | 
				{ | 
			
		||||
 | 
				    public class UploadPdfDto | 
			
		||||
 | 
				    { | 
			
		||||
 | 
				        public string File { get; set; } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        public string ReportId { get; set; } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        public string PatientId { get; set; } | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				} | 
			
		||||
@ -0,0 +1,42 @@ | 
			
		|||||
 | 
				using System; | 
			
		||||
 | 
				using System.Collections.Generic; | 
			
		||||
 | 
				using System.IO; | 
			
		||||
 | 
				using System.Linq; | 
			
		||||
 | 
				using System.Resources; | 
			
		||||
 | 
				using System.Text; | 
			
		||||
 | 
				using System.Threading.Tasks; | 
			
		||||
 | 
				using static OpenIddict.Abstractions.OpenIddictConstants; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				namespace Shentun.Peis | 
			
		||||
 | 
				{ | 
			
		||||
 | 
				    public class FileHelper | 
			
		||||
 | 
				    { | 
			
		||||
 | 
				        public static bool IsBase64String(string input) | 
			
		||||
 | 
				        { | 
			
		||||
 | 
				            input = input.Trim(); | 
			
		||||
 | 
				            return (input.Length % 4 == 0) && | 
			
		||||
 | 
				                   System.Text.RegularExpressions.Regex.IsMatch(input, @"^[a-zA-Z0-9\+/]*={0,2}$", System.Text.RegularExpressions.RegexOptions.None); | 
			
		||||
 | 
				        } | 
			
		||||
 | 
				        public static async Task<string> Base64StringConvertPDF(string file,string fileName) | 
			
		||||
 | 
				        { | 
			
		||||
 | 
				            Task<String> task = Task.Factory.StartNew<String>(() => | 
			
		||||
 | 
				            {    | 
			
		||||
 | 
				                string base64BinaryStr = file; | 
			
		||||
 | 
				                if (!IsBase64String(base64BinaryStr)) return "非法字符串,不是BASE64"; | 
			
		||||
 | 
				                byte[] bytes = Convert.FromBase64String(base64BinaryStr);       | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				                using (var stream = new FileStream(fileName, FileMode.CreateNew)) | 
			
		||||
 | 
				                { | 
			
		||||
 | 
				                    using (var writer = new BinaryWriter(stream)) | 
			
		||||
 | 
				                    { | 
			
		||||
 | 
				                        writer.Write(bytes, 0, bytes.Length); | 
			
		||||
 | 
				                    } | 
			
		||||
 | 
				                } | 
			
		||||
 | 
				                return "Success"; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            }); | 
			
		||||
 | 
				           String result= await task; | 
			
		||||
 | 
				           return result; | 
			
		||||
 | 
				        } | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				} | 
			
		||||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue