From 4761f2bc70814bde9929f1081a213a9ab38a7393 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 02 一月 2025 18:15:38 +0800
Subject: [PATCH] 采样管理确认采样增加调用lis请求

---
 ltkj-admin/src/main/java/com/ltkj/web/config/pdfutils/PdfUtils.java |  141 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 134 insertions(+), 7 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/config/pdfutils/PdfUtils.java b/ltkj-admin/src/main/java/com/ltkj/web/config/pdfutils/PdfUtils.java
index e175625..eb2050c 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/config/pdfutils/PdfUtils.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/config/pdfutils/PdfUtils.java
@@ -1,15 +1,19 @@
 package com.ltkj.web.config.pdfutils;
 
+import cn.hutool.core.io.FileUtil;
 import com.itextpdf.text.*;
 import com.itextpdf.text.pdf.BaseFont;
 import com.itextpdf.text.pdf.PdfContentByte;
 import com.itextpdf.text.pdf.PdfPCell;
 import com.itextpdf.text.pdf.PdfPTable;
 import com.ltkj.hosp.domain.TjPdfVO;
+import lombok.extern.slf4j.Slf4j;
 
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
 import java.io.IOException;
 import java.net.URLEncoder;
+import java.nio.file.Files;
 import java.util.List;
 
 import static com.itextpdf.text.Rectangle.NO_BORDER;
@@ -19,12 +23,14 @@
  * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/lige
  * @Date: 2022/12/8 9:31
  */
+@Slf4j
 public class PdfUtils {
 
     /**
      * 瀛椾綋瀛樻斁鐨勮窡璺緞锛岄粯璁や负'C:\Windows\Fonts\'
      */
-    private static final String FONT_PATH = "C:\\Windows\\Fonts\\";
+    private static final String FONT_PATH = System.getProperty("user.dir") + File.separator + "ltkj-admin"+File.separator+"src"+File.separator+"main"+File.separator+"resources"+File.separator+"Font"+File.separator;
+//    private static final String FONT_PATH = "C:\\Windows\\Fonts\\";
 //    private static final String FONT_PATH = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/ltkj_peis/ltkj-admin/src/main/resources/Font/";
 
     /**
@@ -50,7 +56,19 @@
             fontName = fontName + ",0";
         }
         String font = FONT_PATH + fontName;
+//        log.info("瀛椾綋璺緞 -> {}",font);
         return BaseFont.createFont(font, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
+    }
+
+    public static void main(String[] args) {
+        try {
+            BaseFont simsun = createBaseFont(null);
+            System.out.println("simsun = " + simsun);
+        } catch (DocumentException e) {
+            throw new RuntimeException(e);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
     }
 
     /**
@@ -93,7 +111,7 @@
             return font;
         } catch (Exception e) {
             e.printStackTrace();
-            throw new RuntimeException("璁剧疆瀛椾綋澶辫触锛�");
+            throw new RuntimeException("璁剧疆瀛椾綋澶辫触锛�"+FONT_PATH);
         }
     }
 
@@ -150,7 +168,7 @@
      * @param list
      * @return
      */
-    public static PdfPTable setTable(Font headFont, Font textFont, String[] title, List<TjPdfVO> list) {
+    public static PdfPTable setTable(Font headFont, Font textFont, String[] title, List<TjPdfVO> list,boolean flag) {
         //鍥涘垪
         PdfPTable table = createTable(new float[]{120, 120, 120});
         //鐢绘爣棰�
@@ -163,6 +181,47 @@
             table.addCell(createCell(tjPdfVO.getProResult(), textFont));
             table.addCell(createCell(tjPdfVO.getCompany(), textFont));
 //            table.addCell(createCell(tjPdfVO.getStandardValue(), textFont));
+            if ((tjPdfVO.getSj() != null || tjPdfVO.getTs() != null) && flag){
+                PdfPCell cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase("妫�鏌ユ墍瑙侊細", textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+
+                cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase(tjPdfVO.getSj(), textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+
+                cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase("缁撹锛�", textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+
+                cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase(tjPdfVO.getTs(), textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+            }
         }
         return table;
     }
@@ -202,9 +261,10 @@
      * @param list
      * @return
      */
-    public static PdfPTable setTable2(Font headFont, Font textFont, String[] title, List<TjPdfVO> list) {
+    public static PdfPTable setTable2(Font headFont, Font textFont, String[] title, List<TjPdfVO> list,boolean flag,float[] titleWidth) {
         //鍥涘垪
-        PdfPTable table = createTable(new float[]{240, 240,240});
+        PdfPTable table = createTable(titleWidth);
+//        PdfPTable table = createTable(new float[]{240, 240,240});
         //鐢绘爣棰�
         for (String head : title) {
             table.addCell(createCell(head, headFont));
@@ -214,12 +274,53 @@
             table.addCell(createCell(tjPdfVO.getProName(), textFont));
             table.addCell(createCell(tjPdfVO.getProResult(), textFont));
             table.addCell(createCell(tjPdfVO.getCompany(), textFont));
+            if ((tjPdfVO.getSj() != null || tjPdfVO.getTs() != null) && flag){
+                PdfPCell cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase("妫�鏌ユ墍瑙侊細", textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+
+                cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase(tjPdfVO.getSj(), textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+
+                cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase("缁撹锛�", textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+
+                cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase(tjPdfVO.getTs(), textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+            }
         }
         return table;
     }
 
 
-    private static PdfPTable createTable(float[] widths) {
+    public static PdfPTable createTable(float[] widths) {
         PdfPTable table = new PdfPTable(widths);
         try {
             // 璁剧疆琛ㄦ牸澶у皬
@@ -244,7 +345,7 @@
         return table;
     }
 
-    private static PdfPCell createCell(String value, Font font) {
+    public static PdfPCell createCell(String value, Font font) {
         PdfPCell cell = new PdfPCell();
         // 姘村钩銆佸瀭鐩村眳涓�
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
@@ -259,4 +360,30 @@
 
         return cell;
     }
+
+    /**
+     *
+     * @param value
+     * @param font
+     * @param boder Rectangle绫荤殑鏋氫妇
+     * @param txtAlign Element绫荤殑鏋氫妇
+     * @return
+     */
+    public static PdfPCell createCell(String value, Font font,int boder,int txtAlign,Float paddingTop,Float paddingBottom) {
+        PdfPCell cell = new PdfPCell();
+        // 姘村钩銆佸瀭鐩村眳涓�
+        cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+        cell.setHorizontalAlignment(txtAlign);
+        cell.setPhrase(new Phrase(value, font));
+        if (paddingTop != null)
+            cell.setPaddingTop(paddingTop);
+        if (paddingBottom != null)
+            cell.setPaddingBottom(paddingBottom);
+        // 璁剧疆鏃犺竟妗�
+        cell.setBorder(boder);
+        // 璁剧疆楂樺害
+        //cell.setFixedHeight(20);
+
+        return cell;
+    }
 }

--
Gitblit v1.8.0