LEIYI 6 months ago
parent
commit
094e5dc79c

+ 421 - 10
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -1,5 +1,6 @@
 using Aspose.Cells;
 using Aspose.Words;
+using Aspose.Words.Drawing;
 using Aspose.Words.Tables;
 using Microsoft.AspNetCore.SignalR;
 using NPOI.HSSF.UserModel;
@@ -26,6 +27,8 @@ using System.Collections;
 using System.Data;
 using System.Diagnostics;
 using System.Globalization;
+using System.Reflection.PortableExecutable;
+using Ubiety.Dns.Core;
 using static OASystem.Infrastructure.Repositories.Groups.AirTicketResRepository;
 using Bookmark = Aspose.Words.Bookmark;
 using Cell = Aspose.Words.Tables.Cell;
@@ -10753,7 +10756,7 @@ ORDER by  gctggrc.id DESC
             string strFileName = "HotelStatement/";
             var dele = await _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0 && it.Id == _dto.DiId).FirstAsync();
             if (dele != null)
-                strFileName += dele.TourCode;
+                strFileName += $"{dele.TourCode}_";
 
             var guestDatas = await _sqlSugar.Queryable<Crm_DeleClient>().Where(it => it.IsDel == 0).ToListAsync();
             for (int i = 0; i < hrDtas.Count; i++)
@@ -10803,45 +10806,453 @@ ORDER by  gctggrc.id DESC
                 }
             }
 
-            strFileName += "VOUCHER.docx";
+            strFileName += $"{DateTime.UtcNow.ToString("yyyyMMddHHmmss")}_VOUCHER.docx";
 
             Document doc = new Document();
-            DocumentBuilder builder = new DocumentBuilder(doc);
 
+            DocumentBuilder builder = new DocumentBuilder(doc);
             try
             {
+                #region 设置页眉
+
+                string voucherHeaderPath = $"./Images/VoucherHeader.png";
+
+
+                builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
+
+                //靠右
+                builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;
+                //   设置页脚上下边距
+                builder.PageSetup.HeaderDistance = 42;
+
+                //   添加页眉线
+                Aspose.Words.Border borderHeader = null;
+                try
+                {
+                    borderHeader = builder.ParagraphFormat.Borders.Bottom;
+                }
+                catch (Exception e)
+                {
+                    // TODO Auto-generated catch block
+                    //e.printStackTrace();
+                }
+                borderHeader.Shadow = true;
+                borderHeader.DistanceFromText = 2;
+                borderHeader.LineStyle = Aspose.Words.LineStyle.Single;
+
+                //页眉加载图片
+                var image = Image.FromFile(voucherHeaderPath);
+                
+                builder.InsertImage(image, RelativeHorizontalPosition.Margin, 0, RelativeVerticalPosition.Margin, 0, 1.70, 2.70, WrapType.None);
+
+                #endregion
+
+
+                builder.MoveToDocumentStart();
+
 
                 foreach (var item in hrDtas)
                 {
                     //标题
                     builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Title;
-                    builder.Writeln("ACCOMMODATION  VOUCHER");
+                    builder.ParagraphFormat.LineSpacing = 1;
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    //builder.ParagraphFormat.Style.Font.Size = 12;
+                    //builder.ParagraphFormat.Style.Font.Bold = true;
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
+                    builder.Writeln(@$"ACCOMMODATION  VOUCHER");
 
                     builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Title;
-                    builder.Writeln($"VOUCHER No:{item.CheckNumber}   DATE: {item.CreateTime.ToString("yyyy-MM-dd")}");
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
+                    builder.ParagraphFormat.LineSpacing = 1;
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    //builder.ParagraphFormat.Style.Font.Size = 12;
+                    //builder.ParagraphFormat.Style.Font.Bold = true;
+                    builder.Writeln(@$"VOUCHER No:{item.CheckNumber}   DATE: {item.CreateTime.ToString("yyyy-MM-dd")}");
+
+                    //获取Font对象
+                    Aspose.Words.Font font = builder.Font;
+                    //字体大小
+                    font.Size = 8;
+                    //是否粗体
+                    font.Bold = false;
+                    //下划线样式,None为无下划线
+                    font.Underline = Underline.None;
+
+
+                    builder.StartTable();
+
+                    //RowFormat rowf = builder.RowFormat;
+                    //rowf.Height = 20;
+
+                    // 设置边框颜色
+                    builder.CellFormat.Borders.Top.Color = System.Drawing.Color.Black;
+                    //设置边框样式
+                    //builder.CellFormat.Borders.Top.LineStyle = Aspose.Words.LineStyle.Double;
+                    builder.CellFormat.Borders.LineStyle = Aspose.Words.LineStyle.None;
 
                     //表格
-                    builder.InsertCell(); //插入单元格
+                    #region 第一行
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 
+                    builder.Write("TOUR NO:");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐 
+                    builder.Write($"{dele?.TourCode ?? "-"}");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 
+                    builder.Write($"CITY:");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐 
+                    builder.Write($"{item.City}");
+
+                    builder.EndRow();
+                    #endregion
+
+                    #region 第二行
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 
+                    builder.Write("CONFIRMATION NO:");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
+                    builder.CellFormat.VerticalMerge = CellMerge.None;
+                    builder.CellFormat.HorizontalMerge = CellMerge.First;
+                    builder.Write($"{item.DetermineNo}");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
+
+                    builder.EndRow();
+                    #endregion
+
+                    #region 第三行
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 
+                    builder.Write($"HOTEL NAME:");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐 
+                    builder.CellFormat.HorizontalMerge = CellMerge.First;
+                    builder.Write($"{item.HotelName}");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
+                    builder.EndRow();
+                    #endregion
+
+                    #region 第四行
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 
+                    builder.Write($"HOTEL ADDRESS:");
+
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐 
+                    builder.CellFormat.HorizontalMerge = CellMerge.First;
+                    builder.Write($"{item.HotelAddress}");
+
+                    builder.InsertCell();
                     builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
-                    //builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
-                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 - 靠右
+                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
 
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
 
+                    builder.EndRow();
+                    #endregion
 
+                    #region 第五行
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 
+                    builder.Write("TEL:");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐 
+                    builder.Write($"{item.HotelTel}");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 
+                    builder.Write($"FAX:");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐 
+                    builder.Write($"{item.HotelFax}");
+
+                    builder.EndRow();
+                    #endregion
 
+                    #region 第六行
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 
+                    builder.Write("CHECK IN:");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐 
+                    DateTime dtCheckIn = Convert.ToDateTime(item.CheckInDate);
+                    string checkInStr = dtCheckIn.Day + " " + dtCheckIn.ToString("MMMM", CultureInfo.GetCultureInfo("en-US")) + " " + dtCheckIn.Year + " ";
+                    builder.Write($"{checkInStr}");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 
+                    builder.Write($"CHECK OUT:");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐 
+                    DateTime dtCheckOut = Convert.ToDateTime(item.CheckOutDate);
+                    string checkOutStr = dtCheckOut.Day + " " + dtCheckOut.ToString("MMMM", CultureInfo.GetCultureInfo("en-US")) + " " + dtCheckOut.Year + " ";
+                    builder.Write($"{checkOutStr}");
+
+                    builder.EndRow();
+                    #endregion
+
+                    #region 第七行
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 
+                    builder.Write($"GUEST NAME:");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐 
+                    builder.CellFormat.HorizontalMerge = CellMerge.First;
+                    builder.Write($"{item.GuestName}");
+
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
 
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
+                    builder.EndRow();
+                    #endregion
+
+                    #region 第八行
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 
+                    builder.Write($"ROOM TYPE:");
+
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
+                    builder.CellFormat.HorizontalMerge = CellMerge.First;
+                    builder.Write($"{item.RoomExplanation}");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
+                    builder.EndRow();
+                    #endregion
+
+                    #region 第九行
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 
+                    builder.Write($"NOTE:");
+
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                    builder.ParagraphFormat.Style.Font.Size = 8;
+                    builder.ParagraphFormat.Style.Font.Bold = false;
+                    builder.CellFormat.HorizontalMerge = CellMerge.None;
+                    builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
+                    builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐 
+                    builder.CellFormat.HorizontalMerge = CellMerge.First;
+                    builder.Write($"ROOM AND TAX ONLY\r\nTHIS SERVICE IS PAYABLE BY BEDSONLINE. FOR EXTRA CHARGE TO BE COLLECTED FROM THE GUEST");
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
+
+                    builder.InsertCell();
+                    builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
+                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
+                    builder.EndRow();
+                    #endregion
+
+                    builder.EndTable();
+                    builder.Writeln("");
+                    builder.Writeln("");
                 }
 
+                //// 遍历文档中的所有段落
+                //foreach (Paragraph para in doc.GetChildNodes(NodeType.Paragraph, true))
+                //{
+                //    // 设置段落的字体样式
+                //    // 这里我们设置字体为Times New Roman,大小为12,加粗
+                //    para.ParagraphFormat.Style.Font.Name = "微软雅黑";
+                //    para.ParagraphFormat.Style.Font.Size = 12;
+                //    para.ParagraphFormat.Style.Font.Bold = true;
+                //}
+
+                
+
             }
             catch (Exception ex)
             {
 
-                throw;
+                
             }
 
 
             var fileDir = AppSettingsHelper.Get("WordBasePath") + strFileName;
-            //doc.Save(fileDir);
+            doc.Save(fileDir);
             string Url = AppSettingsHelper.Get("WordBaseUrl") + "Office/Word/" + strFileName;
             return Ok(JsonView(true, "操作成功!", Url));
         }

+ 4 - 2
OASystem/OASystem.Api/Controllers/StatisticsController.cs

@@ -303,8 +303,10 @@ namespace OASystem.API.Controllers
 										         From Fin_PaymentRefundAndOtherMoney prom
 										         Left Join Grp_CreditCardPayment ccp On prom.DiId = ccp.DIId And prom.Id = ccp.CId
 										         Left Join Sys_Users u On ccp.CreateUserId = u.Id
-										         Where prom.IsDel = 0  And prom.PayType = 1 And ccp.CTable = 285
-										         {1} And ccp.IsPay = 1
+										         Where prom.IsDel = 0  
+                                                 And prom.PayType = 1 
+                                                 And ccp.CTable = 285
+										         {1} 
 										         And prom.DiId = {0} Order By PrCreateTime", _dto.DiId, _dto.isAudit ? "And ccp.IsAuditGM = 1" : " ");
                 var _promDatas = await _sqlSugar.SqlQueryable<Gsd_PaymentRefundAndOtherMoneyDataSource1View>(_ropSql).ToListAsync();
 

BIN
OASystem/OASystem.Api/Images/VoucherHeader.png


+ 8 - 0
OASystem/OASystem.Api/OASystem.API.csproj

@@ -19,6 +19,10 @@
     <None Remove="Logs\**" />
   </ItemGroup>
 
+  <ItemGroup>
+    <None Remove="Images\VoucherHeader.png" />
+  </ItemGroup>
+
   <ItemGroup>
     <PackageReference Include="AlibabaCloud.SDK.Dysmsapi20170525" Version="2.0.23" />
     <PackageReference Include="Aspose.Cells" Version="23.4.0" />
@@ -57,6 +61,10 @@
       <HintPath>..\package\Aspose.Words.dll</HintPath>
     </Reference>
   </ItemGroup>
+	
+  <ItemGroup>
+    <Resource Include="Images\VoucherHeader.png" />
+  </ItemGroup>
 
   <ProjectExtensions><VisualStudio><UserProperties properties_4launchsettings_1json__JsonSchema="" /></VisualStudio></ProjectExtensions>