Browse Source

测试接口

zhoutg 4 years ago
parent
commit
e641dae4f8

+ 17 - 0
src/main/java/com/diagbot/facade/TestFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.diagbot.biz.push.entity.Item;
 import com.diagbot.biz.push.entity.Lis;
 import com.diagbot.biz.push.entity.Pacs;
+import com.diagbot.client.CRFServiceClient;
 import com.diagbot.client.StandConvertNewServiceClient;
 import com.diagbot.client.StandConvertServiceClient;
 import com.diagbot.dto.IndicationDTO;
@@ -11,6 +12,7 @@ import com.diagbot.dto.StandConvertCrfDTO;
 import com.diagbot.enums.RedisEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.model.ai.BeHospitalizedAI;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ExcelUtils;
 import com.diagbot.util.ListUtil;
@@ -21,6 +23,7 @@ import com.diagbot.vo.IndicationPushVO;
 import com.diagbot.vo.ItemExt;
 import com.diagbot.vo.StandConvertCrfVO;
 import com.diagbot.vo.TestAllVO;
+import com.diagbot.vo.TestCrfVO;
 import com.diagbot.vo.TestExport;
 import com.diagbot.vo.TestIndicationVO;
 import com.diagbot.vo.TestLineVO;
@@ -67,6 +70,10 @@ public class TestFacade {
     RedisUtil redisUtil;
     @Autowired
     CacheFacade cacheFacade;
+    @Autowired
+    CRFServiceClient crfServiceClient;
+    @Autowired
+    BeHospitalizedAI beHospitalizedAI;
 
     /**
      * 测试导出
@@ -1380,4 +1387,14 @@ public class TestFacade {
 
         return res;
     }
+
+    /**
+     * crf解析测试
+     *
+     * @param testCrfVO
+     * @return
+     */
+    public Object testCrf(TestCrfVO testCrfVO) {
+        return beHospitalizedAI.medrec(testCrfVO, crfServiceClient);
+    }
 }

+ 38 - 3
src/main/java/com/diagbot/model/ai/BeHospitalizedAI.java

@@ -6,13 +6,36 @@ import com.diagbot.client.CRFServiceClient;
 import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
-import com.diagbot.model.ai.process.*;
-import com.diagbot.model.entity.*;
-import com.diagbot.model.label.*;
+import com.diagbot.model.ai.process.EntityProcessClinic;
+import com.diagbot.model.ai.process.EntityProcessDiag;
+import com.diagbot.model.ai.process.EntityProcessFamily;
+import com.diagbot.model.ai.process.EntityProcessLis;
+import com.diagbot.model.ai.process.EntityProcessMarital;
+import com.diagbot.model.ai.process.EntityProcessMenses;
+import com.diagbot.model.ai.process.EntityProcessPacs;
+import com.diagbot.model.ai.process.EntityProcessPast;
+import com.diagbot.model.ai.process.EntityProcessPersonal;
+import com.diagbot.model.ai.process.EntityProcessVital;
+import com.diagbot.model.entity.Diag;
+import com.diagbot.model.entity.Lis;
+import com.diagbot.model.entity.Medicine;
+import com.diagbot.model.entity.Usual;
+import com.diagbot.model.entity.Vital;
+import com.diagbot.model.label.ChiefLabel;
+import com.diagbot.model.label.DiagLabel;
+import com.diagbot.model.label.FamilyLabel;
+import com.diagbot.model.label.MaritalLabel;
+import com.diagbot.model.label.MenstrualLabel;
+import com.diagbot.model.label.PacsLabel;
+import com.diagbot.model.label.PastLabel;
+import com.diagbot.model.label.PersonalLabel;
+import com.diagbot.model.label.PresentLabel;
+import com.diagbot.model.label.VitalLabel;
 import com.diagbot.util.Content;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.SearchData;
+import com.diagbot.vo.TestCrfVO;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -750,4 +773,16 @@ public class BeHospitalizedAI extends ModelAI {
         return takems;*/
         return medicines;
     }
+
+    public Object medrec(TestCrfVO testCrfVO, CRFServiceClient crfServiceClient) {
+        JSONArray crfContent = new JSONArray();
+        putContent(crfContent, testCrfVO.getModelType(), testCrfVO.getContent(), "内容");
+        JSONObject midData = null;
+        try {
+            midData = loadAI(crfContent, crfServiceClient);
+        } catch (Exception e) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "CRF模型【服务器】挂了!" + e.getMessage());
+        }
+        return midData;
+    }
 }

+ 14 - 0
src/main/java/com/diagbot/vo/TestCrfVO.java

@@ -0,0 +1,14 @@
+package com.diagbot.vo;
+
+import lombok.Data;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/11/17 16:53
+ */
+@Data
+public class TestCrfVO {
+    private String modelType;
+    private String content;
+}

+ 8 - 0
src/main/java/com/diagbot/web/TestController.java

@@ -12,6 +12,7 @@ import com.diagbot.vo.DiagnoseVO;
 import com.diagbot.vo.PushNewVO;
 import com.diagbot.vo.StandConvertCrfVO;
 import com.diagbot.vo.TestAllVO;
+import com.diagbot.vo.TestCrfVO;
 import com.diagbot.vo.TestLineVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -181,5 +182,12 @@ public class TestController {
     public RespDTO<PushNewDTO> testPush(@RequestBody PushNewVO pushNewVO) {
         return RespDTO.onSuc(pushFacade.testPushFac(pushNewVO));
     }
+
+    @ApiOperation(value = "crf解析测试[zhoutg]", notes = "content:文本内容\n" +
+            "modelType:模型类型,主诉、现病史:chief_present,既往史:PastFamily_cx,查体:Present_cx,个人史:PersonalHistory_cx,诊断:Diagnoses_cx")
+    @PostMapping("/testCrf")
+    public RespDTO<Object> testCrf(@RequestBody TestCrfVO testCrfVO) {
+        return RespDTO.onSuc(testFacade.testCrf(testCrfVO));
+    }
 }