Browse Source

报批行程最终细节确定

yuanrf 10 months ago
parent
commit
3b4799172d
1 changed files with 49 additions and 19 deletions
  1. 49 19
      OASystem/OASystem.Api/Controllers/GroupsController.cs

+ 49 - 19
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -12615,7 +12615,7 @@ And (UnitName != '' Or UnitName != null) {sqlWhere}");
                     CreateUserId = dto.UserId,
                     Details = x.details,
                     ParentId = x.parentId,
-                    Time = x.timeInterval.Count > 1 ? x.timeInterval[0] + "-" + x.timeInterval[1] : "",
+                    Time = x.timeInterval.Where(x=>!string.IsNullOrWhiteSpace(x)).Count() > 1 ? x.timeInterval[0] + "-" + x.timeInterval[1] : "",
                     Remark = "",
                     IsDel = 0
                 }).ToList()).ExecuteCommand();
@@ -12625,7 +12625,7 @@ And (UnitName != '' Or UnitName != null) {sqlWhere}");
                     Id = x.id,
                     Details = x.details,
                     ParentId = x.parentId,
-                    Time = x.timeInterval.Count > 1 ? x.timeInterval[0] + "-" + x.timeInterval[1] : "",
+                    Time = x.timeInterval.Where(x => !string.IsNullOrWhiteSpace(x)).Count() > 1 ? x.timeInterval[0] + "-" + x.timeInterval[1] : "",
                 }).ToList()).UpdateColumns(x=> new Grp_ApprovalTravelDetails
                 {
                     Details = x.Details,
@@ -12824,6 +12824,16 @@ And (UnitName != '' Or UnitName != null) {sqlWhere}");
                                 flightTime = flightTime.Replace("M", "分钟");
                             }
 
+                            IFormatProvider ifp = new CultureInfo("zh-CN", true);
+                            if (DateTime.TryParseExact(flightTime, "HH小时mm分钟", ifp, DateTimeStyles.None, out DateTime flightDataTime))
+                            {
+                                flightTime = flightDataTime.Hour > 0 
+                                    ? flightDataTime.Hour.ToString() + "小时" + (flightDataTime.Minute > 0  
+                                    ? flightDataTime.Minute.ToString() + "分钟": "") : flightDataTime.Minute > 0 
+                                    ? flightDataTime.Minute.ToString() + "分钟" : "" ;
+                            }
+
+
                             //航班号
                             string flightcode = item["Fliagtcode"].ToString();
 
@@ -12841,17 +12851,17 @@ And (UnitName != '' Or UnitName != null) {sqlWhere}");
                             }
 
                             //从成都天府国际机场搭乘四川航空公司3U3961飞往东京
-                            trip += $" {start_Object.AirPort}搭乘{aircompany.CnName} {flightcode} 飞往 {end_Object.City};\r\n       {start_Object.AirPort}/{end_Object.AirPort}  机型:{airModel}    飞行时间{flightTime});\r\n";
+                            trip += $"从{start_Object.AirPort}搭乘{aircompany.CnName} {flightcode} 飞往 {end_Object.City};\r\n({start_Object.AirPort}/{end_Object.AirPort}  机型:{airModel}    飞行时间{flightTime});\r\n";
 
                             isTrade = Convert.ToBoolean(item["isTransitShipment"]);
 
                             if (isTrade)
                             {
-                                trip += $"抵达{end_Object.AirPort}{item["EndBuilding"].ToString().Trim()}航站楼(中转时间: 行李直达)";
+                                trip += $"抵达{end_Object.AirPort}{item["EndBuilding"].ToString().Trim()}航站楼(中转 行李直达)\r\n";
                             }
                             else
                             {
-                                trip += $"抵达{end_Object.AirPort}{item["EndBuilding"].ToString().Trim()}航站楼,办理入境手续,之后前往提取行李\r\n";
+                                trip += "\r\n"; //$"抵达{end_Object.AirPort}{item["EndBuilding"].ToString().Trim()}航站楼,办理入境手续,之后前往提取行李\r\n";
                             }
 
                         }
@@ -12955,8 +12965,8 @@ And (UnitName != '' Or UnitName != null) {sqlWhere}");
             }
 
             //模板路径
-            string tempPath = (AppSettingsHelper.Get("WordBasePath") + "Template/公务行程导出模板.docx");
-            
+            string tempPath = (AppSettingsHelper.Get("WordBasePath") + "Template/公务行程导出模板.docx");  //"C:\\Server\\File\\OA2023\\Office\\Word\\Template/公务行程导出模板.docx"
+
             //载入模板
             Document doc = new Document(tempPath);
 
@@ -13031,8 +13041,8 @@ And (UnitName != '' Or UnitName != null) {sqlWhere}");
             }
 
             string strFileName = "/Travel/ExportApprovalJourneyWord/" + group.TeamName + "商邀出访日程.doc";
-            doc.Save(AppSettingsHelper.Get("WordBasePath")  + strFileName);
-            jw.Data = AppSettingsHelper.Get("WordBaseUrl") + AppSettingsHelper.Get("WordFtpPath") + strFileName; ;
+            doc.Save(AppSettingsHelper.Get("WordBasePath") + strFileName);  //"C:\\Server\\File\\OA2023\\Office\\Word" + strFileName
+            jw.Data = AppSettingsHelper.Get("WordBaseUrl") + AppSettingsHelper.Get("WordFtpPath") + strFileName;  //"C:\\Server\\File\\OA2023\\Office\\Word" + strFileName
             jw.Code = 200;
             jw.Msg = "";
             return Ok(jw);
@@ -13081,16 +13091,36 @@ And (UnitName != '' Or UnitName != null) {sqlWhere}");
         {
             //获取table中的某个单元格,从0开始
             Cell lshCell = table.Rows[rows].Cells[cells];
-            //将单元格中的第一个段落移除
-            lshCell.FirstParagraph.Remove();
-            //新建一个段落
-            Paragraph p = new Paragraph(doc);
-            var r = new Run(doc, val);
-            //把设置的值赋给之前新建的段落
-            p.AppendChild(r);
-
-            //将此段落加到单元格内
-            lshCell.AppendChild(p);
+            //将单元格中段落移除
+            foreach (Node item in lshCell.Paragraphs)
+            {
+                lshCell.Paragraphs.Remove(item);
+            }
+
+            if (val.Contains("\r\n"))
+            {
+                var spArr = val.Split("\r\n").Where(x=>!string.IsNullOrWhiteSpace(x));
+                foreach (var item in spArr)
+                {
+                    //新建一个段落
+                    Paragraph p = new Paragraph(doc);
+                    var r = new Run(doc, item);
+                    //把设置的值赋给之前新建的段落
+                    p.AppendChild(r);
+                    //将此段落加到单元格内
+                    lshCell.AppendChild(p);
+                }
+            }
+            else
+            {
+                //新建一个段落
+                Paragraph p = new Paragraph(doc);
+                var r = new Run(doc, val);
+                //把设置的值赋给之前新建的段落
+                p.AppendChild(r);
+                //将此段落加到单元格内
+                lshCell.AppendChild(p);
+            }
         }
 
         [HttpPost]