zjh
2025-01-23 5e15f28db8bf83cc19697e1ce2bd0078cd9cdfb8
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -1100,72 +1100,74 @@
                    for (Map.Entry<Long, List<TjOrderDetail>> entry : collect.entrySet()) {
                        if (!entry.getKey().equals(proVo.getProId())) continue;
                        List<TjOrderDetail> details = entry.getValue();
                        String xmmc = details.get(0).getProName();
                        boolean isXmWrite = false;
                        int index = 1;
                        for (TjOrderDetail detail : details) {
                            if (!isXmWrite) {
                                xmXh++;
                                paragraph = new Paragraph("【" + xmXh + "." + xmmc + "】", defaultFont);
                                paragraph.setAlignment(Element.ALIGN_LEFT);
                                document2.add(paragraph);
                                isXmWrite = true;
                            }
                            String result = detail.getProResult();
                            if (StrUtil.isNotBlank(result)) {
                                int index1 = 1;
                                String[] split = result.split("\n");
                                StringBuilder builder = new StringBuilder();
                                for (String s : split) {
                                    if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
                                    builder.append("    (").append(index1).append(")").append(s).append("\n");
                                    index1++;
                        if(null !=details && !details.isEmpty()){
                            boolean isXmWrite = false;
                            int index = 1;
                            int index1 = 1;
                            for (TjOrderDetail detail : details) {
                                String xmmc = detail.getProName();
                                if (!isXmWrite) {
                                    xmXh++;
                                    paragraph = new Paragraph("【" + xmXh + "." + xmmc + "】", defaultFont);
                                    paragraph.setAlignment(Element.ALIGN_LEFT);
                                    document2.add(paragraph);
                                    isXmWrite = true;
                                }
                                result = builder.toString();
                            }
                            if (StrUtil.isNotBlank(result)) {
                                paragraph = new Paragraph(result, defaultFont);
                                paragraph.setAlignment(Element.ALIGN_LEFT);
                                document2.add(paragraph);
                            } else {
                                paragraph = new Paragraph("建议定期复查", defaultFont);
                                paragraph.setAlignment(Element.ALIGN_LEFT);
                                document2.add(paragraph);
                            }
                            String str = "     ";
                            List<Map<String, Object>> maps = new ArrayList<>();
                            LambdaQueryWrapper<TjOrderYcxm> ycwq=new LambdaQueryWrapper<>();
                            ycwq.eq(TjOrderYcxm::getTjh,tjOrder.getTjNumber());
                            ycwq.eq(TjOrderYcxm::getJcxm,xmmc);
                            TjOrderYcxm ycxm = ycxmService.getOne(ycwq);
                            if(null !=ycxm){
                                String jynr = ycxm.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);
                                String result = detail.getProResult();
                                if (StrUtil.isNotBlank(result)) {
                                    String[] split = result.split("\n");
                                    StringBuilder builder = new StringBuilder();
                                    for (String s : split) {
                                        if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
                                        builder.append("    (").append(index1).append(")").append(s).append("\n");
                                        index1++;
                                    }
                                    result = builder.toString();
                                }
                                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 = "     ";
                                    paragraph = new Paragraph(content, defaultFont);
                                if (StrUtil.isNotBlank(result)) {
                                    paragraph = new Paragraph(result, defaultFont);
                                    paragraph.setAlignment(Element.ALIGN_LEFT);
                                    document2.add(paragraph);
                                } else {
                                    paragraph = new Paragraph("建议定期复查", defaultFont);
                                    paragraph.setAlignment(Element.ALIGN_LEFT);
                                    document2.add(paragraph);
                                }
                                String str = "     ";
                                List<Map<String, Object>> maps = new ArrayList<>();
                                LambdaQueryWrapper<TjOrderYcxm> ycwq=new LambdaQueryWrapper<>();
                                ycwq.eq(TjOrderYcxm::getTjh,tjOrder.getTjNumber());
                                ycwq.eq(TjOrderYcxm::getJcxm,xmmc);
                                TjOrderYcxm ycxm = ycxmService.getOne(ycwq);
                                if(null !=ycxm){
                                    String jynr = ycxm.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);
                                    }
                                    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 = "     ";
                                        paragraph = new Paragraph(content, defaultFont);
                                        paragraph.setAlignment(Element.ALIGN_LEFT);
                                        document2.add(paragraph);
                                    }
                                }
                                index++;
                                paragraph = PdfUtils.setParagraph(defaultFont, "");
                                paragraph.setLeading(0f);
                                paragraph.setSpacingBefore(0f);
                                paragraph.setSpacingAfter(5f);
                                document2.add(paragraph);
                            }
                            index++;
                            paragraph = PdfUtils.setParagraph(defaultFont, "");
                            paragraph.setLeading(0f);
                            paragraph.setSpacingBefore(0f);
                            paragraph.setSpacingAfter(5f);
                            document2.add(paragraph);
                        }
                    }
                    // 检验