From bd1bf2bde1db1b2349104808a9214245256784e8 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 12 一月 2026 17:05:45 +0800
Subject: [PATCH] 新增

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/pdf/TripSheetGenerator.java |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/pdf/TripSheetGenerator.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/pdf/TripSheetGenerator.java
index 9e2e2f8..cd983ff 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/pdf/TripSheetGenerator.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/pdf/TripSheetGenerator.java
@@ -64,7 +64,7 @@
 
     private void addLogoAndTitle(Document document) throws DocumentException {
         try {
-            document.setMargins(10, 50, 50, 50); // 左=0,右=50,上=50,下=50(单位:pt)
+            document.setMargins(0, 50, 50, 50); // 左=0,右=50,上=50,下=50(单位:pt)
             Resource logoResource = new ClassPathResource("static/img/logo.png");
             if (logoResource.exists()) {
                 Image logo = Image.getInstance(logoResource.getURL());
@@ -73,7 +73,7 @@
                 // 1. 调整表格列宽:左列刚好容纳logo,右列仅够放下文字(缩小间距)
                 // 列宽比例:左列100pt(logo宽度),右列80pt(文字宽度,足够放下“贵人家园”)
                 PdfPTable layoutTable = new PdfPTable(new float[]{81f, 100f}); // 左列(Logo),右列100f(文字)
-                layoutTable.setWidthPercentage(35);
+                layoutTable.setWidthPercentage(25);
                 layoutTable.setSpacingAfter(15f); // 与下方主标题的间距不变
                 layoutTable.setHorizontalAlignment(Element.ALIGN_LEFT); // 整体左对齐,避免居中导致的空隙
 
@@ -142,7 +142,7 @@
         Font infoFont = getChineseFont(10, Font.NORMAL);
         // 申请时间现在的时间
         String applyTime = DATE_TIME_FORMATTER.format(LocalDateTime.now());
-// 首先定义SimpleDateFormat(可以是类的静态成员)
+        // 首先定义SimpleDateFormat(可以是类的静态成员)
         SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
         String tripTimeStart = first.getBoardingTime() != null
@@ -167,7 +167,7 @@
         line1Table.setWidthPercentage(100);
         line1Table.setSpacingAfter(5f);
         // 列宽比例:分隔条列固定为8pt,内容列按比例分配
-        line1Table.setWidths(new float[]{4, 200, 4, 374});
+        line1Table.setWidths(new float[]{1, 300, 1, 374});
 
         // 列1:申请时间前的蓝色分隔条(宽度由表格列宽控制)
         line1Table.addCell(createBlueSeparatorCell());
@@ -195,7 +195,7 @@
         line2Table.setWidthPercentage(100);
         line2Table.setSpacingAfter(15f);
         // 与第一行保持完全相同的列宽比例(确保分隔条对齐)
-        line2Table.setWidths(new float[]{4, 200, 4, 374});
+        line2Table.setWidths(new float[]{1, 300, 1, 374});
 
         // 列1:手机号前的蓝色分隔条
         line2Table.addCell(createBlueSeparatorCell());
@@ -243,6 +243,8 @@
         cell.setHorizontalAlignment(Element.ALIGN_LEFT);
         return cell;
     }
+
+
     private void addOrderTable(Document document, List<TripOrderVo> orders) throws DocumentException {
         // 调整列宽:第1列(序号)加宽至1.5f
         float[] columnWidths = {1.5f, 2f, 2f, 3f, 2f, 3f, 3f, 2f};
@@ -259,13 +261,15 @@
         for (String header : headers) {
             PdfPCell cell = new PdfPCell(new Paragraph(header, headerFont));
             cell.setBackgroundColor(headerBg);
-            cell.setPadding(5);
+            cell.setPadding(8);
             cell.setHorizontalAlignment(Element.ALIGN_CENTER);
+            cell.setBorder(Rectangle.NO_BORDER); // 无边框
             table.addCell(cell);
         }
-           SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 格式可根据需求调整
+        SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 格式可根据需求调整
         // 单元格样式(居中对齐,统一处理)
         Font cellFont = getChineseFont(9, Font.NORMAL);
+        cellFont.setColor(new BaseColor(80, 80, 80));
         for (int i = 0; i < orders.size(); i++) {
             TripOrderVo order = orders.get(i);
             // 序号列:强制居中,内容为 i+1
@@ -289,6 +293,9 @@
             );
             moneyCell.setHorizontalAlignment(Element.ALIGN_RIGHT);
             moneyCell.setPadding(5);
+            moneyCell.setBorder(Rectangle.NO_BORDER); // 无边框
+            moneyCell.setBorderWidthBottom(0.5f);
+            moneyCell.setBorderColorBottom(new BaseColor(190, 190, 190));
             table.addCell(moneyCell);
         }
 
@@ -297,9 +304,13 @@
 
     // 辅助方法:创建居中对齐的单元格
     private void addCenteredCell(PdfPTable table, String text, Font font) {
-        PdfPCell cell = new PdfPCell(new Paragraph(text != null ? text : "", font));
+        Paragraph elements = new Paragraph(text != null ? text : "", font);
+        PdfPCell cell = new PdfPCell(elements);
         cell.setPadding(5);
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
+        cell.setBorder(Rectangle.NO_BORDER); // 无边框
+        cell.setBorderWidthBottom(0.5f);
+        cell.setBorderColorBottom(new BaseColor(190, 190, 190));
         table.addCell(cell);
     }
 

--
Gitblit v1.7.1