From 5e4d1aa4b27cfbcf1c4c8beb2ac05f3c7a0cf1bb Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 18 二月 2025 16:55:45 +0800
Subject: [PATCH] zjh20250218

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java     |   20 ------
 ltkj-admin/src/test/java/zjhTest.java                                               |    7 +-
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |    6 +
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java                |    8 +-
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java      |    8 ++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportServiceImpl.java         |   90 +++++++++++++++++++----------
 6 files changed, 79 insertions(+), 60 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
index ea284e3..2284879 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -1476,9 +1476,11 @@
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 document2.add(paragraph);
                                 String str = "    ";
-                                List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5), "",
-                                        i.get(2), tjOrder.getTjNumber(), i.get(0).replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                                .replaceAll("[ 娴嬪畾妫�娴媇", ""), i.get(1));
+                                List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5), i.get(0).replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                                .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""),
+                                        i.get(2), tjOrder.getTjNumber(), i.get(0).replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
+                                                .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), i.get(1));
+
                                 if (!maps.isEmpty()) {
                                     for (Map<String, Object> objectMap : maps) {
                                         Object bt = objectMap.get("bt");
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
index 6b65b14..4ac8e85 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -618,11 +618,13 @@
                     if(null !=ycxm){
                         ycxm.setJcjg(detail.getProResult());
                         List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
-                                ,"","",order.getTjNumber()
                                 ,detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                        .replaceAll("[ 娴嬪畾妫�娴媇","")
+                                        .replaceAll("[ 娴嬪畾妫�娴媇","").replaceAll("\\[.*?\\]", ""),"",order.getTjNumber()
+                                ,detail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
+                                        .replaceAll("[ 娴嬪畾妫�娴媇","").replaceAll("\\[.*?\\]", "")
                                 ,detail.getProResult());
 
+
                         String[] split = detail.getProResult().split("銆倈,|锛�");
                         List<Map<String,Object>> mapList=new ArrayList<>();
                         for (String s : split) {
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
index d1aa066..4d502e0 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -1748,13 +1748,17 @@
                             if(null !=tjOrderDetail.getProId()&& null !=tjOrderDetail.getYcbz()){
                                 if(!tjOrderDetail.getDeptId().equals("2")){
                                     List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
-                                            ,"",tjOrderDetail.getYcbz().replaceAll(" ", ""),tjNumber
                                             ,tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                                    .replaceAll("[ 娴嬪畾妫�娴媇","")
+                                                    .replaceAll("[ 娴嬪畾妫�娴媇","").replaceAll("\\[.*?\\]", ""),tjOrderDetail.getYcbz().replaceAll(" ", ""),tjNumber
+                                            ,tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
+                                                    .replaceAll("[ 娴嬪畾妫�娴媇","").replaceAll("\\[.*?\\]", "")
                                             ,tjOrderDetail.getProResult());
+
+
                                     if(null !=maps && !maps.isEmpty()){
                                         tjOrderDetail.setAdvices(maps);
                                     }
+
                                 }else {
                                     String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�");
                                     List<Map<String,Object>> mapList=new ArrayList<>();
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
index 3243c0d..a40d34a 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
@@ -1005,7 +1005,6 @@
             if (flag) {
                 // 鍦ㄧ嚎鎵撳紑鏂瑰紡
                 URL u = new URL("file:///" + filePath);
-                //System.out.println(u);
                 String contentType = u.openConnection().getContentType();
                 response.setContentType(contentType);
                 response.setHeader("Content-Disposition", "inline;filename="
@@ -1021,17 +1020,6 @@
             while ((len = br.read(bs)) > 0) {
                 out.write(bs, 0, len);
             }
-//            if(null !=tjOrder.getHeshouTime() && tjOrder.getHeshouStatus()==1){
-//                TjReportPrint print=new TjReportPrint();
-//                print.setTjNumber(tjNumber);
-//                print.setPrintBy(SecurityUtils.getLoginUser().getUser().getNickName());
-//                print.setPrintTime(date);
-//                print.setPrintStatus("宸叉墦鍗�");
-//                if (printService.save(print)) {
-//                    tjOrder.setPrintLastTime(date);
-//                    tjOrderService.updateById(tjOrder);
-//                }
-//            }
             out.flush();
             out.close();
             br.close();
@@ -1073,13 +1061,9 @@
         key = key.replace("ltkjpeis10_","");
 
 //        String userId = SecurityUtils.getLoginUser().getUsername();
-        PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + File.separator + key + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf");
-        String filePath = value + File.separator + key + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf";
+//        PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + File.separator + key + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf");
+        String filePath = value + File.separator + key + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_鎶ュ憡.pdf";
         File f = new File(filePath);
-        if (filePath.isEmpty()) {
-            System.out.println("鏂囦欢涓嶅瓨鍦紒");
-            return;
-        }
         BufferedInputStream br = null;
         OutputStream out = null;
         FileInputStream fileInputStream = null;
diff --git a/ltkj-admin/src/test/java/zjhTest.java b/ltkj-admin/src/test/java/zjhTest.java
index 54c1c95..da7386c 100644
--- a/ltkj-admin/src/test/java/zjhTest.java
+++ b/ltkj-admin/src/test/java/zjhTest.java
@@ -129,9 +129,10 @@
 //            BigDecimal multiply = ordPrice.multiply((new BigDecimal("6.5").divide(BigDecimal.valueOf(10))));
 //            System.out.println(multiply);
 
-            String a="鎶楃敳鐘惰吅鐞冭泲鐧芥姉浣擄紙TGAb锛夋娴�,1111锛�2222銆�33333锛�555555:666666";
-            String[] split = a.split(",|锛寍銆倈锛殀:");
-            System.out.println(split);
+            String a="鐧界粏鑳�(闄旽R)(WBC)";
+            String s = a.replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
+                    .replaceAll("[ 娴嬪畾妫�娴媇", "");
+            System.out.println(s);
         }
 
 
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 c77c09b..337ad2d 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
@@ -2,6 +2,7 @@
 
 import java.io.*;
 import java.nio.file.Files;
+import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.*;
 import java.util.List;
@@ -26,6 +27,7 @@
 import com.ltkj.common.utils.pdfutils.MyHeaderFooter;
 import com.ltkj.common.utils.pdfutils.PDFBinaryUtil;
 import com.ltkj.common.utils.pdfutils.PdfUtils;
+import com.ltkj.db.DataSourceContextHolder;
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.service.*;
 import com.ltkj.mall.mallOrderUtils.TjConstants;
@@ -75,7 +77,8 @@
     private ITjOrderRemarkService tjOrderRemarkService;
     @Resource
     private ITjStandardService tjStandardService;
-
+    @Autowired
+    private ITjReportPrintService printService;
     /**
      * 鏌ヨ浣撴鎶ュ憡瀛樺偍
      *
@@ -529,39 +532,62 @@
      * @return
      */
     private AjaxResult sqlGetReportToMake(List<String> tjNumbers) {
-        LambdaQueryWrapper<TjReport> tjReportLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        tjReportLambdaQueryWrapper.in(TjReport::getTjNumber, tjNumbers);
-        List<TjReport> list = tjReportService.list(tjReportLambdaQueryWrapper);
+//        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;
+//        for (TjReport report : list) {
+//            if (report == null || report.getReport() == null) {
+//                // 娌℃湁璇ユ姤鍛� 鐩存帴璺宠繃
+//                continue;
+//            }
+//            base64Pdfs.add(report.getReport());
+//        }
+        String key = DataSourceContextHolder.getDataSourceKey();
+        key = key.replace("ltkjpeis10_","");
+
+        if(null !=tjNumbers && !tjNumbers.isEmpty()){
+            for (String number : tjNumbers) {
+                TjOrder order = tjOrderService.getOrderByTjNum(number);
+                TjCustomer tjCustomer = tjCustomerService.getById( order.getUserId());
+                String filePath = value + File.separator + key + File.separator + tjCustomer.getCusId() + order.getTjNumber() + tjCustomer.getCusName() + "_鎶ュ憡.pdf";
+                try {
+                    // 璇诲彇鏂囦欢涓哄瓧鑺傛暟缁�
+                    Path path = Paths.get(filePath);
+                    byte[] fileBytes = Files.readAllBytes(path);
+
+                    // 灏嗗瓧鑺傛暟缁勮浆鎹负 Base64 瀛楃涓�
+                    String base64String = Base64.getEncoder().encodeToString(fileBytes);
+                    base64Pdfs.add(base64String);
+                    // 杈撳嚭 Base64 缂栫爜鐨勫瓧绗︿覆
+//                    System.out.println(base64String);
+
+                    TjReportPrint print=new TjReportPrint();
+                    print.setTjNumber(order.getTjNumber());
+                    print.setPrintBy(SecurityUtils.getLoginUser().getUser().getNickName());
+                    print.setPrintTime(new Date());
+                    print.setPrintStatus("宸叉墦鍗�");
+                    if (printService.save(print)) {
+                        order.setPrintLastTime(new Date());
+                        order.setStatus(TjConstants.TJ_END);
+                        tjOrderService.updateById(order);
+                    }
+
+                } catch (IOException e) {
+                    e.printStackTrace();
+                    log.error(String.valueOf(e));
+                }
             }
-            base64Pdfs.add(report.getReport());
+            try {
+                byte[] mergePDF = PDFDocumentUtil.mergePDFs(base64Pdfs);
+                String s = Base64.getEncoder().encodeToString(mergePDF);
+                return AjaxResult.success().put("file",s);
+            } catch (DocumentException | IOException e) {
+                e.printStackTrace();
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("鎵归噺鐢熸垚澶辫触");
+            }
         }
-        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("鎵归噺鐢熸垚澶辫触");
-        }
+        return AjaxResult.error("鎵归噺鐢熸垚澶辫触");
     }
 }

--
Gitblit v1.8.0