From c4962d4a0cb4089bcffda90b07da34d666e4bbc2 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期五, 19 七月 2024 18:14:53 +0800
Subject: [PATCH] 查询签名图片字段

---
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportServiceImpl.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 2 deletions(-)

diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportServiceImpl.java
index f74400a..bd9c607 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportServiceImpl.java
@@ -1,11 +1,11 @@
 package com.ltkj.hosp.service.impl;
 
-import java.io.File;
-import java.io.OutputStream;
+import java.io.*;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.util.*;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.io.FileUtil;
@@ -18,7 +18,9 @@
 import com.itextpdf.text.pdf.*;
 import com.itextpdf.text.pdf.draw.LineSeparator;
 import com.ltkj.common.core.domain.AjaxResult;
+import com.ltkj.common.core.domain.entity.SysDictData;
 import com.ltkj.common.utils.DateUtils;
+import com.ltkj.common.utils.PDFDocumentUtil;
 import com.ltkj.common.utils.SecurityUtils;
 import com.ltkj.common.utils.pdfutils.MergePdf;
 import com.ltkj.common.utils.pdfutils.MyHeaderFooter;
@@ -26,10 +28,13 @@
 import com.ltkj.common.utils.pdfutils.PdfUtils;
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.service.*;
+import com.ltkj.mall.mallOrderUtils.TjConstants;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import com.ltkj.hosp.mapper.TjReportMapper;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import javax.annotation.Resource;
 
@@ -509,4 +514,54 @@
         }
         return table;
     }
+
+
+    @Override
+    public AjaxResult makeBatchReport(List<String> tjNumbers) {
+        return sqlGetReportToMake(tjNumbers);
+
+    }
+
+    /**
+     * 閫氳繃sql 鐩存帴鏌ユ姤鍛奲ase64杩涜鏁村悎杩斿洖
+     * 濡傛灉sql鏁版嵁閲忓法澶� 鏌ヨ缂撴參 鍙互璇曡瘯 makeReport(List<String > tjNumbers)宸叉敞閲�
+     * @param tjNumbers
+     * @return
+     */
+    private AjaxResult sqlGetReportToMake(List<String> tjNumbers) {
+        LambdaQueryWrapper<TjReport> tjReportLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        tjReportLambdaQueryWrapper.in(TjReport::getTjNumber, tjNumbers);
+        List<TjReport> list = tjReportService.list(tjReportLambdaQueryWrapper);
+        ArrayList<String> base64Pdfs = new ArrayList<>();
+        for (TjReport report : list) {
+            if (report == null || report.getReport() == null) {
+                // 娌℃湁璇ユ姤鍛� 鐩存帴璺宠繃
+                continue;
+            }
+            base64Pdfs.add(report.getReport());
+        }
+        tjNumbers.forEach(tjNumber ->{
+            LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(TjOrder::getTjNumber, tjNumber);
+            updateWrapper.set(TjOrder::getPrintLastTime, new Date());
+            updateWrapper.set(TjOrder::getDownloadLastTime, new Date());
+            updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END);
+            tjOrderService.update(updateWrapper);
+        });
+        try {
+            byte[] mergePDF = PDFDocumentUtil.mergePDFs(base64Pdfs);
+            String s = Base64.getEncoder().encodeToString(mergePDF);
+            return AjaxResult.success().put("file",s);
+            // 鏈湴鐢熸垚娴嬭瘯
+//            String PDF_FILE = "d:\\Users\\w\\Desktop\\test.pdf";
+//            BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(PDF_FILE));
+//            outputStream.write(mergePDF);
+//            outputStream.flush();
+//            outputStream.close();
+        } catch (DocumentException | IOException e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return AjaxResult.error("鎵归噺鐢熸垚澶辫触");
+        }
+    }
 }

--
Gitblit v1.8.0