From 236e9f28c9eed5ca5c508ee97b881b9688546a64 Mon Sep 17 00:00:00 2001 From: 13405411873 <1994398261@qq.com> Date: Mon, 3 Mar 2025 12:52:38 +0800 Subject: [PATCH] =?UTF-8?q?bug=20=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PatientScriptServiceImpl.java | 73 ++++++++++-------- .../java/com/ruoyi/script/util/ShellUtil.java | 8 +- .../src/main/resources/static/mriTemp.docx | Bin 23754 -> 23575 bytes 3 files changed, 44 insertions(+), 37 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/script/service/impl/PatientScriptServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/script/service/impl/PatientScriptServiceImpl.java index 11ffcc2..ce874bf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/script/service/impl/PatientScriptServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/script/service/impl/PatientScriptServiceImpl.java @@ -14,28 +14,18 @@ import com.ruoyi.script.mapper.PatientScriptMapper; import com.ruoyi.script.service.PatientScriptService; import com.ruoyi.script.util.ShellUtil; import com.ruoyi.script.util.Word2PdfUtil; -import com.ruoyi.script.util.WordToPdfConverter; -import com.ruoyi.script.util.WorldToPdf; import lombok.SneakyThrows; -import org.apache.commons.compress.archivers.ArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; -import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; import org.apache.commons.compress.archivers.zip.ZipFile; -import org.apache.commons.compress.utils.IOUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.RandomUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.poi.xwpf.usermodel.XWPFDocument; -import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.*; -import java.nio.channels.FileChannel; -import java.nio.channels.FileLock; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; @@ -44,8 +34,6 @@ import java.util.List; import java.util.concurrent.Executor; import static com.ruoyi.script.util.ShellUtil.shUtil; -import static com.ruoyi.script.util.WordToPdfConverter.convertToPdf; -import static com.ruoyi.script.util.WordToPdfConverter.replacePlaceholders; import static com.ruoyi.script.util.YmlUtil.createFile; import static com.ruoyi.system.util.pdfUtil.PdfUtil.chineseFont; import static com.ruoyi.system.util.pdfUtil.PdfUtil.getImageFromInputStream; @@ -947,22 +935,34 @@ public class PatientScriptServiceImpl implements PatientScriptService { } String resInfo = patientScript.getResInfo(); + String[] resList = resInfo.split("&*&*&"); String[] brainList ={}; //分类信息 Map classMap = new HashMap<>(); - String[] correlationList ={}; + String[] StrongCorrelationList ={}; + String[] weakCorrelationList ={}; List msgList = new ArrayList<>(); if (resInfo.contains("brain_regions:")){ - String[] split = resInfo.split("', '"); - String replace = split[0].replace("('brain_regions:", ""); + String[] split = resInfo.split("&*&*&"); + String replace = split[0].replace("brain_regions:", ""); brainList = replace.split(","); } - if (resInfo.contains("correlation:")){ - String[] split = resInfo.split("', '"); - String replace = split[1].replace("correlation:", "").replace("')",""); - correlationList = replace.split(","); + for (String tempStr : resList) { + if (tempStr.contains("correlation_enhanced:")){ + try { + String replace = tempStr.replace("correlation_enhanced:", ""); + StrongCorrelationList = replace.split(","); + }catch (Exception ignored){} + } + if (tempStr.contains("correlation_weakened:")){ + try { + String replace = tempStr.replace("correlation_weakened:", ""); + weakCorrelationList = replace.split(","); + }catch (Exception ignored){} + } } + for (String key : brainList) { key = key.replaceAll(" ",""); try { @@ -1028,31 +1028,36 @@ public class PatientScriptServiceImpl implements PatientScriptService { placeholders.put("brainInfo",brainInfo); - String joinInfo = ""; - for (int i = 0; i < correlationList.length; i++) { - if (i==correlationList.length-1){ - joinInfo= joinInfo+correlationList[i]; + String strongJoinInfo = ""; + for (int i = 0; i < StrongCorrelationList.length; i++) { + if (i==StrongCorrelationList.length-1){ + strongJoinInfo= strongJoinInfo+StrongCorrelationList[i]; }else { - joinInfo= joinInfo+correlationList[i]+"\n"; + strongJoinInfo= strongJoinInfo+StrongCorrelationList[i]+"\n"; } } - placeholders.put("joinInfo",joinInfo); - final String[] diagInfo = {""}; + + String weakJoinInfo = ""; + for (int i = 0; i < weakCorrelationList.length; i++) { + if (i==weakCorrelationList.length-1){ + weakJoinInfo= weakJoinInfo+weakCorrelationList[i]; + }else { + weakJoinInfo= weakJoinInfo+weakCorrelationList[i]+"\n"; + } + } + placeholders.put("strongJoinInfo",strongJoinInfo); + placeholders.put("weakJoinInfo",weakJoinInfo); + final String[] diagInfo = {"1.大脑解剖区域分布:"}; classMap.forEach((item, index)->{ diagInfo[0] = diagInfo[0] +index+"个属于"+item+","; }); int idx = diagInfo[0].lastIndexOf(","); diagInfo[0] = diagInfo[0].substring(0,idx); - diagInfo[0]=diagInfo[0]+"。"+"\n"; + diagInfo[0]=diagInfo[0]+"。"+"\n2.个体化大脑影像学差异的脑区功能解读: \n"; for (int i = 0; i < msgList.size(); i++) { - if (i==msgList.size()-1){ - diagInfo[0]= diagInfo[0]+" "+msgList.get(i); - }else { - diagInfo[0]= diagInfo[0]+" "+msgList.get(i)+"\n"; - } + diagInfo[0]= diagInfo[0]+" "+(i+1)+") "+msgList.get(i)+"\n"; } - placeholders.put("diagInfo", " 异常脑区中,"+diagInfo[0]); - placeholders.put("resInfo", patientScript.getResInfo().equals("异常")?"孤独症谱系障碍":"正常发育个体"); + placeholders.put("diagInfo", diagInfo[0]); placeholders.put("zdDoctor", patientScript.getZdDoctor()); placeholders.put("shDoctor", patientScript.getShDoctor()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/script/util/ShellUtil.java b/ruoyi-admin/src/main/java/com/ruoyi/script/util/ShellUtil.java index 87c4a6f..5005063 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/script/util/ShellUtil.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/script/util/ShellUtil.java @@ -25,10 +25,12 @@ public class ShellUtil { if (line.contains("brain_regions")||line.contains("correlation")){ String resInfo1 = patientScript.getResInfo(); - if (null==resInfo1){ - resInfo1=""; + if (StringUtils.isEmpty(resInfo1)){ + resInfo1=line; + }else{ + resInfo1=resInfo1+"&*&*&"+line; } - resInfo1=resInfo1+"&*&*&"+line; + patientScript.setResInfo(resInfo1); } if (line.contains("result===")){ diff --git a/ruoyi-admin/src/main/resources/static/mriTemp.docx b/ruoyi-admin/src/main/resources/static/mriTemp.docx index 0884d7a9cb82a093a088dd36768848d9eb46e0b7..540d446561ada91037f12f6c59e260f5fc08704f 100644 GIT binary patch delta 14996 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 XpqmLMx?Et;xCvRh)KJIj{{j6khBNNP delta 15148 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 J()y31{{=bDMo|C&