rengb пре 4 година
родитељ
комит
a93a5971b7

+ 1 - 1
structure-center/src/main/java/com/lantone/structure/controller/StructureController.java

@@ -32,7 +32,7 @@ public class StructureController {
         return RespDTO.onSuc(structureFacade.analysis(analysisVO));
     }
 
-    @ApiOperation(value = "解析")
+    @ApiOperation(value = "解析(上传文件版)")
     @PostMapping("analysisTest")
     public RespDTO<AnalysisDTO> analysisTest(@RequestParam("file") MultipartFile file, String type) {
         AnalysisVO analysisVO = new AnalysisVO();

+ 27 - 10
structure-center/src/main/java/com/lantone/structure/facade/StructureFacade.java

@@ -1,14 +1,19 @@
 package com.lantone.structure.facade;
 
-import com.lantone.structure.client.CRFServiceClient;
-import com.lantone.structure.client.SimilarityServiceClient;
+import com.lantone.common.util.StringUtil;
 import com.lantone.structure.dto.AnalysisDTO;
-import com.lantone.structure.facade.tran.*;
+import com.lantone.structure.facade.tran.CesareanSectionTran;
+import com.lantone.structure.facade.tran.ClinicalBloodTran;
+import com.lantone.structure.facade.tran.RescueTran;
+import com.lantone.structure.facade.tran.StagesSummaryTran;
+import com.lantone.structure.facade.tran.TargetTran;
 import com.lantone.structure.vo.AnalysisVO;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.apache.commons.collections.MapUtils;
 import org.springframework.stereotype.Component;
 
+import java.util.Map;
+
 /**
  * @Description:
  * @author: rengb
@@ -17,11 +22,6 @@ import org.springframework.stereotype.Component;
 @Slf4j
 @Component
 public class StructureFacade {
-    @Autowired
-    CRFServiceClient crfServiceClient;
-    @Autowired
-    SimilarityServiceClient similarityServiceClient;
-
 
     public AnalysisDTO analysis(AnalysisVO analysisVO) {
         AnalysisDTO analysisDTO = new AnalysisDTO();
@@ -43,11 +43,28 @@ public class StructureFacade {
                 break;
         }
         try {
-            analysisDTO.setResult(targetTran.convert(analysisVO.getText()));
+            Map<String, String> result = targetTran.convert(analysisVO.getText());
+            resultHandle(result);
+            analysisDTO.setResult(result);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
         }
         return analysisDTO;
     }
 
+    private void resultHandle(Map<String, String> result) {
+        if (MapUtils.isEmpty(result)) {
+            return;
+        }
+        result.forEach((key, value) -> {
+            if (StringUtil.isNotBlank(value)) {
+                value = StringUtil.trim(value);
+                if (value.endsWith(";") || value.endsWith(";")) {
+                    value = value.substring(0, value.length() - 1);
+                }
+                result.put(key, value);
+            }
+        });
+    }
+
 }

+ 15 - 20
structure-center/src/main/java/com/lantone/structure/facade/tran/CesareanSectionTran.java

@@ -62,12 +62,12 @@ public class CesareanSectionTran extends TargetTran {
             String opeEndTime = sourceMap.get("手术结束时间");
             if (StringUtil.isNotBlank(sourceMap.get("手术日期"))) {
                 String[] arry = sourceMap.get("手术日期").split("-");
-                opeStartTime = StringUtil.removeBlank(arry[0].replaceAll("(开始时间)[::]",""));
-                opeEndTime = StringUtil.removeBlank(arry[1].replaceAll("(结束时间)[::]",""));
+                opeStartTime = StringUtil.removeBlank(arry[0].replaceAll("(开始时间)[::]", ""));
+                opeEndTime = StringUtil.removeBlank(arry[1].replaceAll("(结束时间)[::]", ""));
             }
             ret.put("手术开始日期时间", opeStartTime);
             ret.put("手术结束日期时间", opeEndTime);
-            ret.put("手术全程时间(min)", (DateUtil.parseDate(opeEndTime, "yyyy年MM月dd日HH时mm分").getTime() - DateUtil.parseDate(opeStartTime, "yyyy年MM月dd日HH时mm分").getTime()) / 60000 + "");
+            ret.put("手术全程时间(min)", (DateUtil.parseDate(opeEndTime, "yyyy年MM月dd日HH时mm分").getTime() - DateUtil.parseDate(opeStartTime, "yyyy年MM月dd日HH时mm分").getTime()) / 60000 + "min");
         } catch (Exception e) {
             log.error(e.getMessage(), e);
         }
@@ -86,14 +86,14 @@ public class CesareanSectionTran extends TargetTran {
         StringBuffer value = new StringBuffer();
 
         //手术指征
-//        if (ListUtil.isNotEmpty(caesareanSectionLabel.getDiagnosis())) {
-//            caesareanSectionLabel.getDiagnosis().stream().filter(i -> i != null && StringUtil.isNotBlank(i.getName())).forEach(i -> {
-//                value.append(i.getName()).append(";");
-//                ;
-//            });
-//            sourceMap.put("手术指征", value.toString());
-//            value.setLength(0);
-//        }
+        //        if (ListUtil.isNotEmpty(caesareanSectionLabel.getDiagnosis())) {
+        //            caesareanSectionLabel.getDiagnosis().stream().filter(i -> i != null && StringUtil.isNotBlank(i.getName())).forEach(i -> {
+        //                value.append(i.getName()).append(";");
+        //                ;
+        //            });
+        //            sourceMap.put("手术指征", value.toString());
+        //            value.setLength(0);
+        //        }
 
         //麻醉体位
         if (caesareanSectionLabel.getAnesthesiaMethod() != null) {
@@ -265,16 +265,11 @@ public class CesareanSectionTran extends TargetTran {
         //Apgar评分值
         if (ListUtil.isNotEmpty(caesareanSectionLabel.getApgarScores())) {
             List<ApgarScore> apgarScores = caesareanSectionLabel.getApgarScores().stream()
-                    .filter(i -> i != null && StringUtil.isNotBlank(i.getName()))
+                    .filter(i -> i != null && StringUtil.isNotBlank(i.getName()) && i.getScore() != null && StringUtil.isNotBlank(i.getScore().getName()))
                     .collect(Collectors.toList());
-            apgarScores.forEach(i -> {
-                if (i.getScore() != null && StringUtil.isNotBlank(i.getScore().getName())) {
-                    value.append(i.getName()).append(" ").append(i.getScore().getName());
-                }
-                value.append(";");
-            });
-            sourceMap.put("Apgar评分值", value.toString());
-            value.setLength(0);
+            if (ListUtil.isNotEmpty(apgarScores)) {
+                sourceMap.put("Apgar评分值", apgarScores.get(0).getScore().getName());
+            }
         }
 
         //产瘤大小