From 148a7f11b0ead8539cae824f02dda19a703f4d0b Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期六, 07 十二月 2024 16:54:02 +0800
Subject: [PATCH] zjh20241207

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java |   94 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 83 insertions(+), 11 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 c9518ba..e1955ac 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
@@ -14,6 +14,7 @@
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.mapper.DictUserInfoMapper;
 import com.ltkj.hosp.service.*;
+import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd;
 import com.ltkj.hosp.sqlDomain.LtkjHybgd;
 import com.ltkj.hosp.sqlDomain.LtkjHysqd;
 import com.ltkj.system.service.ISysConfigService;
@@ -24,11 +25,13 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
+import javax.annotation.Resource;
 import java.io.*;
 import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.List;
 
@@ -74,6 +77,10 @@
     private DictUserInfoMapper dictUserInfoMapper;
     @Autowired
     private ISysConfigService sysConfigService;
+    @Resource
+    private LtkjExamJcbgdService jcbgdService;
+    @Resource
+    private LtkjExamJcsqdService jcsqdService;
 
     private List<Map<String, Object>> makePDFInfo(HashMap<String, Object> map, AjaxResult ajaxResult, String key) {
         List<Map<String, Object>> data = null;
@@ -127,7 +134,10 @@
         // 缁勮妫�楠屾暟鎹�
         HashMap<String, Object> map = makeHisJianYan(tjOrder, customer);
         makeHisJianYanTable(document1, map);
+
+
         List<ByteArrayOutputStream> jianchas = makeHisJianChaTable(tjOrder);
+//        List<ByteArrayOutputStream> jianchas = makeCcgcHisJianChaTable(tjOrder);
         document1.close();
         pdfWriter.close();
         PdfReader reader = null;
@@ -203,7 +213,7 @@
         elements.setSpacingAfter(10f);
         elements.setAlignment(Element.ALIGN_RIGHT);
         Phrase phrase = new Phrase();
-        Font doctorFonts = PdfUtils.setFont(9);
+        Font doctorFonts = PdfUtils.setFont(11);
         for (LtkjGetexamreportinfo getexamreportinfo : list) {
             String xm = getexamreportinfo.getHzxm();
             String xb = getexamreportinfo.getHzxb().equals("2") ? "濂�" : "鐢�";
@@ -273,6 +283,67 @@
         return jianchas;
     }
 
+
+    /**
+     * 鐢熸垚妫�鏌ヨ〃鏍煎瓨鍌ㄨ繃绋嬫椂鐢�
+     *
+     * @param tjOrder
+     * @return
+     */
+    private List<ByteArrayOutputStream> makeCcgcHisJianChaTable(TjOrder tjOrder) throws Exception {
+
+        TjCustomer customer = tjCustomerService.getById(tjOrder.getUserId());
+
+       List<LtkjExamJcbgd> list=jcbgdService.getJianJcBaoGaoDanByTjh(tjOrder.getCardId());
+
+        List<ByteArrayOutputStream> jianchas = new ArrayList<>();
+        Paragraph elements = new Paragraph();
+        elements.setLeading(5f);
+        elements.setSpacingBefore(10f);
+        elements.setSpacingAfter(10f);
+        elements.setAlignment(Element.ALIGN_RIGHT);
+
+        for (LtkjExamJcbgd getexamreportinfo : list) {
+            String xm = customer.getCusName();
+            String xb = customer.getCusSex()==2 ? "濂�" : "鐢�";
+            String nl = customer.getAge();
+            String jcks = "浣撴涓績";
+            String sjks = "";
+            String jcsb = "";
+            String jch = getexamreportinfo.getTmh();
+            String jcxm = getexamreportinfo.getXmmc();
+            String ms = getexamreportinfo.getYxbx();
+            String ts = getexamreportinfo.getYxzd();
+            String bgysqm = getexamreportinfo.getShysxm();
+            String shysqm = getexamreportinfo.getShysdm();
+            String sqrxm = "鐜嬪仴钀�";
+            String zyh = "";
+            String ch = "";
+            String jcysqm = getexamreportinfo.getShysdm();
+            StringBuilder builder;
+            String footer;
+            builder = new StringBuilder();
+            if (null != sqrxm && StrUtil.isNotBlank(sqrxm)){
+                builder.append("鐢宠浜猴細").append(sqrxm);
+            }
+            if (null != jcysqm && StrUtil.isNotBlank(jcysqm)){
+                builder.append("     妫�鏌ュ尰甯堬細").append(jcysqm);
+            }
+            if (null != shysqm && StrUtil.isNotBlank(shysqm)){
+                builder.append("     瀹℃牳鍖诲笀锛�").append(shysqm);
+            }
+            if (null != bgysqm && StrUtil.isNotBlank(bgysqm)){
+                builder.append("     鎶ュ憡鍖诲笀锛�").append(bgysqm);
+            }
+            footer = builder.toString().trim();
+            ByteArrayOutputStream outputStream = makeJcPDFByteArrayStream(xm, xb, nl, jcks, zyh, ch, sjks, jcsb, jch, jcxm, ms, ts, null, footer,elements);
+            if (outputStream == null)
+                throw new Exception();
+            jianchas.add(outputStream);
+        }
+        return jianchas;
+    }
+
     /**
      * 鍖诲笀淇℃伅琛�
      * @param phrase
@@ -310,7 +381,7 @@
     private void savePDFFile(String outputFileName1, TjOrder tjOrder, TjCustomer customer, ByteArrayOutputStream finalOutPut) throws IOException {
         // 鏂囦欢閰嶇疆
 //        String outputPath1 = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/";
-        String outputPath1 = value + "\\";
+        String outputPath1 = value + File.separator;
         File file = new File(outputPath1 + outputFileName1);
         BufferedOutputStream outputStream = null;
         outputStream = new BufferedOutputStream(new FileOutputStream(file));
@@ -338,7 +409,7 @@
                 ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data");
                 addJianYanTable(document1, titleName, titles, titlesWidth, lists);
                 if (!jyys.isEmpty()) {
-                    Font doctorFonts = PdfUtils.setFont(9);
+                    Font doctorFonts = PdfUtils.setFont(11);
                     String doctors = "";
                     Paragraph elements = new Paragraph();
                     elements.setLeading(5f);
@@ -564,7 +635,6 @@
         LambdaQueryWrapper<LtkjHysqd> ltkjHysqdLambdaQueryWrapper = new LambdaQueryWrapper<>();
         ltkjHysqdLambdaQueryWrapper.eq(LtkjHysqd::getTjh, tjOrder.getCardId());
         List<LtkjHysqd> list = ltkjHysqdService.list(ltkjHysqdLambdaQueryWrapper);
-//        List<LtkjHysqd> list = ltkjHysqdService.list();
         HashMap<String, Object> data = new HashMap<>();
         for (LtkjHysqd hysqd : list) {
             LambdaQueryWrapper<LtkjHybgd> ltkjHybgdLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -714,6 +784,7 @@
             }
             //寮傚父椤圭洰
             data.put("yichang", str.toString());
+            data.put("zjrq",new SimpleDateFormat("yyyy-MM-dd").format(tjOrder.getCheckTime()));
             // 閬嶅巻data 缁檖df琛ㄥ崟琛ㄦ牸璧嬪��
             for (String key : data.keySet()) {
                 acroFields.setField(key, data.get(key).toString());
@@ -757,12 +828,13 @@
      * @param customer
      */
     private void notHuaYanData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport, TjOrder one, TjCustomer customer) {
-        LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>();
-        wqq.eq(TjOrderRemark::getTjNumber, tjNumber);
-        wqq.ne(TjOrderRemark::getDeptId, "241");
-        wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257");
-        wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId());
-        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
+//        LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>();
+//        wqq.eq(TjOrderRemark::getTjNumber, tjNumber);
+//        wqq.ne(TjOrderRemark::getDeptId, "241");
+//        wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257");
+//        wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId());
+//        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
+        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.notHuaYanData(tjNumber);
         for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
             printReport.put(tjOrderRemark, null);
         }
@@ -994,7 +1066,7 @@
             table1.setSpacingAfter(10f);
 
             Font titleFont = PdfUtils.setFont(12);
-            PdfPCell mergedCell = new PdfPCell(new Phrase("娉� 宸� 鍘� 浜� 姘� 鍖� 闄�", titleFont));
+            PdfPCell mergedCell = new PdfPCell(new Phrase("闄曞仴鍖绘緞鍚堢熆鍔″眬涓績鍖婚櫌", titleFont));
             mergedCell.setBorder(Rectangle.NO_BORDER);
             mergedCell.setColspan(10);
             mergedCell.setHorizontalAlignment(Element.ALIGN_CENTER);

--
Gitblit v1.8.0