Browse Source

优化 travelExport 命名空间中的 TripItem 初始化

修改了 `Home.cs` 文件中的 `travelExport` 命名空间:
* 删除旧的 `TripItem` 并添加新的 `TripItem`。
* 修改 `dayBeforeTrip` 和 `trip` 字符串拼接方式,去掉末尾换行符。
* 取消对 `trip` 字符串的注释,添加结束语。
* 修改 `Days` 属性赋值方式,从 `index++` 改为 `++index`。
* 添加条件判断,时间小于19点时添加入住酒店信息。
* 在 `Monitor.Exit(Key)` 语句前后添加空行。
* 处理 `Aspose.Words` 的 `Font` 对象时,增加对 `run` 是否为空的判断。
yuanrf 4 months ago
parent
commit
5638137a58
1 changed files with 38 additions and 19 deletions
  1. 38 19
      travelExport/Home.cs

+ 38 - 19
travelExport/Home.cs

@@ -56,7 +56,7 @@ namespace travelExport
                 Path = "C:\\日行程3.docx#D:\\日行程3.docx"
             },
 
-             new TripItem
+            new TripItem
             {
                 Id = 2,
                 Name = "贵州行程模板",
@@ -404,7 +404,7 @@ namespace travelExport
                                                 {
                                                     if (takeOffTime.AddHours(-3).Day < takeOffTime.Day)
                                                     {
-                                                        dayBeforeTrip += $"{takeOffTime.AddHours(-3).ToString("HH:mm")} 抵达{start_Object.AirPort}{tabRow["StartBuilding"].ToString().Trim()}航站楼,办理登机手续:\r\n";
+                                                        dayBeforeTrip += $"{takeOffTime.AddHours(-3).ToString("HH:mm")} 抵达{start_Object.AirPort}{tabRow["StartBuilding"].ToString().Trim()}航站楼,办理登机手续:";
                                                     }
                                                     else
                                                     {
@@ -641,7 +641,7 @@ namespace travelExport
 
                                         if (index == timeArr.Count)
                                         {
-                                            //trip += "圆满结束此次访问之行!";
+                                            trip += "圆满结束此次访问之行!";
                                             NewListTravel.Add(new Grp_TravelList
                                             {
                                                 CreateTime = DateTime.Now,
@@ -668,7 +668,7 @@ namespace travelExport
                                                     Date = Convert.ToDateTime(item).AddDays(1).ToString("M月d日"),
                                                     Trip = "",
                                                     WeekDay = weekdays[(int)time.AddDays(1).DayOfWeek],
-                                                    Days = index++,
+                                                    Days = ++index,
                                                     Traffic_First = "飞机",
                                                     Traffic_Second = "汽车",
                                                     Diffgroup = 1,
@@ -736,6 +736,11 @@ namespace travelExport
                                             trip += $"\r\n18:00 晚餐于当地餐厅;";
                                         }
 
+                                        if (time.Hour < 19)
+                                        {
+                                            trip += $"\r\n19:00 入住酒店休息;";
+                                        }
+
                                         //time = time.AddHours(1);
                                         //trip += $"\r\n{time.ToString("HH:mm")} 搭乘专车前往酒店,抵达后办理入住;";
                                     }
@@ -869,7 +874,7 @@ namespace travelExport
                     {
                         if (lockTaken)
                         {
-                            Monitor.Exit(Key);
+                            Monitor.Exit(Key); 
                         }
                     }
                 }
@@ -1363,7 +1368,7 @@ namespace travelExport
                                                 {
                                                     if (takeOffTime.AddHours(-3).Day < takeOffTime.Day)
                                                     {
-                                                        dayBeforeTrip += $"{takeOffTime.AddHours(-3).ToString("HH:mm")} 抵达{start_Object.AirPort}{tabRow["StartBuilding"].ToString().Trim()}航站楼,办理登机手续:\r\n";
+                                                        dayBeforeTrip += $"{takeOffTime.AddHours(-3).ToString("HH:mm")} 抵达{start_Object.AirPort}{tabRow["StartBuilding"].ToString().Trim()}航站楼,办理登机手续:";
                                                     }
                                                     else
                                                     {
@@ -1487,7 +1492,7 @@ namespace travelExport
 
                                         if (index == timeArr.Count)
                                         {
-                                            //trip += "圆满结束此次访问之行!";
+                                            trip += "圆满结束此次访问之行!";
                                             NewListTravel.Add(new Grp_TravelList
                                             {
                                                 CreateTime = DateTime.Now,
@@ -1514,7 +1519,7 @@ namespace travelExport
                                                     Date = Convert.ToDateTime(item).AddDays(1).ToString("M月d日"),
                                                     Trip = "",
                                                     WeekDay = weekdays[(int)time.AddDays(1).DayOfWeek],
-                                                    Days = index++,
+                                                    Days = ++index,
                                                     Traffic_First = "飞机",
                                                     Traffic_Second = "汽车",
                                                     Diffgroup = 1,
@@ -1994,18 +1999,32 @@ namespace travelExport
                     // 获取特定索引的段落
                     Paragraph paragraph = (Paragraph)paragraphs[0];
                     Run run = paragraph.Runs[0];
-                    Aspose.Words.Font font = run.Font;
-                    font.Name = "黑体";
-
-                    //设置双休红色
-                    cell = (Aspose.Words.Tables.Cell)doc.GetChild(NodeType.Cell, ((i + 2) * 4) - 3, true);
-                    paragraphs = cell.GetChildNodes(NodeType.Paragraph, true);
-                    paragraph = (Paragraph)paragraphs[1];
-                    if (paragraph.GetText().Contains("星期六") || paragraph.GetText().Contains("星期日"))
+                    
+                    if (run != null)
+                    {
+                        Aspose.Words.Font font = run.Font;
+                        font.Name = "黑体";
+
+                        //设置双休红色
+                        cell = (Aspose.Words.Tables.Cell)doc.GetChild(NodeType.Cell, ((i + 2) * 4) - 3, true);
+                        paragraphs = cell.GetChildNodes(NodeType.Paragraph, true);
+                        paragraph = (Paragraph)paragraphs[1];
+                        if (paragraph.GetText().Contains("星期六") || paragraph.GetText().Contains("星期日"))
+                        {
+                            run = paragraph.Runs[0];
+                            font = run.Font;
+                            font.Color = Color.Red;
+                        }
+                    }
+                    else
                     {
-                        run = paragraph.Runs[0];
-                        font = run.Font;
-                        font.Color = Color.Red;
+                        cell = (Aspose.Words.Tables.Cell)doc.GetChild(NodeType.Cell, ((i + 2) * 4) - 3, true);
+                        paragraphs = cell.GetChildNodes(NodeType.Paragraph, true);
+                        paragraph = (Paragraph)paragraphs[1];
+                        if (paragraph.GetText().Contains("星期六") || paragraph.GetText().Contains("星期日"))
+                        {
+                            paragraph.Runs[0].Font.Color = Color.Red;
+                        }
                     }
                 }
             }