From dedacd79c93f8ef95e0cb986f5e7fbd27ddbd907 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 03 七月 2025 09:12:49 +0800
Subject: [PATCH] 2025-07-03

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 104 insertions(+), 4 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java
index b6e6a79..6ac4969 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java
@@ -5,14 +5,19 @@
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.itextpdf.text.Element;
+import com.itextpdf.text.Paragraph;
 import com.ltkj.common.core.domain.AjaxResult;
 import com.ltkj.hosp.domain.TjCustomer;
 import com.ltkj.hosp.domain.TjOrder;
+import com.ltkj.hosp.domain.TjOrderYcxm;
 import com.ltkj.hosp.mapper.TjCustomerMapper;
 import com.ltkj.hosp.service.ITjOrderDetailService;
 import com.ltkj.hosp.service.ITjOrderService;
+import com.ltkj.hosp.service.TjOrderYcxmService;
 import com.ltkj.hosp.vodomain.ShenGaoTiZhongVo;
 import com.ltkj.system.service.ISysConfigService;
+import com.ltkj.web.config.pdfutils.PdfUtils;
 import com.ltkj.web.controller.system.TjCheckController;
 import com.ltkj.web.controller.system.TjReportController;
 import io.swagger.annotations.ApiOperation;
@@ -25,10 +30,8 @@
 import java.io.IOException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log;
 
@@ -53,6 +56,8 @@
     private ITjOrderDetailService detailService;
     @Autowired
     private ISysConfigService sysConfigService;
+    @Autowired
+    private TjOrderYcxmService tjOrderYcxmService;
 
     /**
      * 鎻愪緵缁欎笁鏂硅皟鐢ㄧ殑鎶ュ憡鏌ョ湅鎺ュ彛
@@ -106,6 +111,101 @@
             return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒");
         }
         JSONObject entries = JSONUtil.parseObj(tjCheckController.updateCheckType(tjNum));
+
+        LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+        wq.eq(TjOrderYcxm::getTjh, tjNum);
+        List<TjOrderYcxm> ycxms = tjOrderYcxmService.list(wq);
+        Map<String, List<TjOrderYcxm>> stringListMap = ycxms.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName));
+        int xmXh = 1;
+        JSONArray jczs = JSONUtil.createArray();
+        for (Map.Entry<String, List<TjOrderYcxm>> entry : stringListMap.entrySet()) {
+            List<TjOrderYcxm> details = entry.getValue();
+            String xmmc = entry.getKey();
+            boolean isXmWrite = false;
+            int index = 1;
+            JSONObject object = JSONUtil.createObj();
+            for (TjOrderYcxm detail : details) {
+                if (!isXmWrite) {
+                    object.putOpt("xh",xmXh);
+                    object.putOpt("xmmc",xmmc);
+                    xmXh++;
+                }
+                String result = detail.getJcjg();
+                if (StrUtil.isNotBlank(result)) {
+                    result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", "");
+                    StringBuilder builder = new StringBuilder();
+                    if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue;
+                    builder.append("    (").append(index).append(")").append(detail.getJcxm()).append(": ").append(result).append("\n");
+                    index++;
+                    result = builder.toString();
+                }
+                object.putOpt("result",result);
+            }
+            jczs.add(object);
+        }
+        entries.putOpt("jczs",jczs);
+
+        xmXh = 1;
+        JSONArray ysjy = JSONUtil.createArray();
+        for (Map.Entry<String, List<TjOrderYcxm>> entry : stringListMap.entrySet()) {
+            List<TjOrderYcxm> details = entry.getValue();
+            if(null !=details && !details.isEmpty()){
+                details= details.stream()
+                        .sorted(Comparator.comparing(TjOrderYcxm::getJcxm))
+                        .collect(Collectors.toList());
+                boolean isXmWrite = false;
+                int index1 = 1;
+                for (TjOrderYcxm detail : details) {
+                    JSONObject obj = JSONUtil.createObj();
+                    String xmmc = entry.getKey().toString();
+                    if (!isXmWrite) {
+                        isXmWrite = true;
+                        obj.putOpt("xh",xmXh);
+                        obj.putOpt("xmmc",xmmc);
+                        xmXh++;
+                    }
+                    String result = detail.getJcjg();
+                    if (StrUtil.isNotBlank(result)) {
+                        StringBuilder builder = new StringBuilder();
+                        if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue;
+                        builder.append("    (").append(index1).append(")").append(detail.getJcxm()).append(": ").append(result).append("\n");
+                        index1++;
+                        result = builder.toString();
+                    }
+                    if (StrUtil.isNotBlank(result)) {
+                        obj.putOpt("result",result);
+                    } else {
+                        obj.putOpt("result","寤鸿瀹氭湡澶嶆煡");
+                    }
+                    String str = "     ";
+                    List<Map<String, Object>> maps = new ArrayList<>();
+
+                    String jynr = detail.getJynr();
+                    JSONArray array = JSONUtil.parseArray(jynr);
+                    for (Object object : array) {
+                        Map<String,Object> objectMap=new HashMap<>();
+                        JSONObject jsonObject = (JSONObject) object;
+                        String bt = jsonObject.getStr("bt");
+                        String nr = jsonObject.getStr("nr");
+                        objectMap.put("bt",bt);
+                        objectMap.put("nr",nr);
+                        if(null !=bt || null !=nr) maps.add(objectMap);
+                    }
+                    ArrayList<String> strings = new ArrayList<>();
+                    List<Map<String, Object>> collect1 = maps.stream().distinct().collect(Collectors.toList());
+                    for (Map<String, Object> objectMap : collect1) {
+                        String content = str + objectMap.get("bt").toString() + objectMap.get("nr").toString();
+                        if (StrUtil.isBlank(content)) content = "     ";
+                        strings.add(content);
+                    }
+                    obj.putOpt("contents",strings);
+                    ysjy.add(obj);
+                }
+            }
+        }
+
+        entries.putOpt("ysjy",ysjy);
+
         removeNullFields(entries);
         return JSONUtil.toBean(entries, AjaxResult.class);
     }

--
Gitblit v1.8.0