浏览代码

PDF相关调整

zhouj1203@hotmail.com 3 年之前
父节点
当前提交
f516d1c8f2

+ 5 - 3
TEAMModelOS.FunctionV4/ServiceBus/ActiveTaskTopic.cs

@@ -628,7 +628,8 @@ namespace TEAMModelOS.FunctionV4.ServiceBus
                 List<string> tIds = ids.ToObject<List<string>>();
                 element.TryGetProperty("school", out JsonElement code);
                 string sname = string.Empty;
-                var scquery = $"SELECT c.name from c where c.id = '{code}'";
+                string areaId = string.Empty;
+                var scquery = $"SELECT c.name,c.areaId from c where c.id = '{code}'";
                 await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "School").GetItemQueryStreamIterator(queryText: scquery, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Base") }))
                 {
 
@@ -640,6 +641,7 @@ namespace TEAMModelOS.FunctionV4.ServiceBus
                         {
                             JsonElement account = accounts.Current;
                             sname = account.GetProperty("name").ToString();
+                            areaId = account.GetProperty("areaId").ToString();
                         }
                     }
                 }
@@ -692,7 +694,7 @@ namespace TEAMModelOS.FunctionV4.ServiceBus
                         cname = tchList.Where(c => c.id == id).FirstOrDefault().name;
                     }
 
-                    var queryInfo = $"select c.id,c.name,c.type,c.hour,c.startTime,c.endTime,c.presenter,c.topic,c.settings,c.desc from c where (c.status<>404 or IS_DEFINED(c.status) = false and array_contains(c.teacIds, '{id}') )";
+                    var queryInfo = $"select value(c) from c where (c.status<>404 or IS_DEFINED(c.status) = false and array_contains(c.teacIds, '{id}') )";
                     await foreach (var item in client.GetContainer("TEAMModelOS", "Common").GetItemQueryIterator<Study>(queryText: queryInfo, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Study-{code}") }))
                     {
                         studies.Add(item);
@@ -758,7 +760,7 @@ namespace TEAMModelOS.FunctionV4.ServiceBus
                                                         <td> 已完成 </td >
                                                     </tr> ");
                     }
-                    string blob = await StudyService.GenPdf(cname, sname, gname, stringBuilder.ToString(), _converter);
+                    string blob = await StudyService.GenPdf(id, areaId, cname, sname, gname, stringBuilder.ToString(), _converter, _azureStorage);
                 }
 
 

+ 5 - 2
TEAMModelOS.SDK/Models/Service/StudyService.cs

@@ -13,7 +13,7 @@ namespace TEAMModelOS.SDK.Models.Service
 {
     public static class StudyService
     {
-        public static async Task<string> GenPdf(string cname,string sname,string gname,string details, IConverter _converter)
+        public static async Task<string> GenPdf(string tId,string areaId, string cname,string sname,string gname,string details, IConverter _converter, AzureStorageFactory _azureStorage)
         {
             //https://article.itxueyuan.com/JAxOnG
             //http://t.zoukankan.com/hsiang-p-14608694.html
@@ -23,12 +23,13 @@ namespace TEAMModelOS.SDK.Models.Service
             try
             {
                 var html = Constant.html.Replace("{c.cname}", cname).Replace("{c.sname}", sname).Replace("{c.gname}", gname).Replace("{c.details}", details);
+                List<Task<string>> tasks = new List<Task<string>>();
                 GlobalSettings globalSettings = new GlobalSettings();
                 globalSettings.ColorMode = ColorMode.Color;
                 globalSettings.Orientation = Orientation.Portrait;
                 globalSettings.PaperSize = PaperKind.A4;
                 globalSettings.Margins = new MarginSettings { Top = 25, Bottom = 25 };
-                globalSettings.Out = @"E:\pdf\test.pdf";
+                //globalSettings.Out = @"E:\pdf\test.pdf";
                 ObjectSettings objectSettings = new ObjectSettings();
                 objectSettings.PagesCount = true;
                 objectSettings.HtmlContent = html;
@@ -54,6 +55,8 @@ namespace TEAMModelOS.SDK.Models.Service
                 };
                 var a = _converter.Convert(htmlToPdfDocument);
                 MemoryStream m = new MemoryStream(a);
+                tasks.Add(_azureStorage.UploadFileByContainer("teammodelos", m, $"{areaId}", $"{tId}/offline-report.pdf", false));
+                await Task.WhenAll(tasks);
                 string aa = "";
                 return aa;
                 /* FileStream fs = new FileStream("F:\\1111111111111\\SimplePdf1.pdf", FileMode.Create, FileAccess.Write, FileShare.Read);