瀏覽代碼

Merge branch 'dev/nurseRule20220329' into debug

gaodm 3 年之前
父節點
當前提交
c560b45425

+ 11 - 0
cdssman-service/src/main/java/com/diagbot/client/CdssClient.java

@@ -3,12 +3,14 @@ package com.diagbot.client;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.hystrix.CdssHystrix;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.StaticKnowledgeDTO;
 import com.diagbot.entity.MappingConfig;
 import com.diagbot.entity.wrapper.MappingConfigWrapper;
 import com.diagbot.vo.IdListVO;
 import com.diagbot.vo.IdVO;
 import com.diagbot.vo.MappingConfigPageVO;
 import com.diagbot.vo.MappingConfigVO;
+import com.diagbot.vo.StaticKnowledgeVO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.MediaType;
 import org.springframework.transaction.annotation.Transactional;
@@ -187,4 +189,13 @@ public interface CdssClient {
      */
     @PostMapping("/tran/mappingConfig/deleteRecords")
     RespDTO<Boolean> deleteRecords(@RequestBody @Valid IdListVO idListVO);
+
+    /**
+     * 根据名称和类型获取静态知识内容
+     *
+     * @param staticKnowledgeVO
+     * @return
+     */
+    @PostMapping("/kl/conceptInfo/getStaticKnowledge")
+    RespDTO<StaticKnowledgeDTO> getStaticKnowledge(@Valid @RequestBody StaticKnowledgeVO staticKnowledgeVO);
 }

+ 14 - 0
cdssman-service/src/main/java/com/diagbot/client/hystrix/CdssHystrix.java

@@ -3,12 +3,14 @@ package com.diagbot.client.hystrix;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.CdssClient;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.StaticKnowledgeDTO;
 import com.diagbot.entity.MappingConfig;
 import com.diagbot.entity.wrapper.MappingConfigWrapper;
 import com.diagbot.vo.IdListVO;
 import com.diagbot.vo.IdVO;
 import com.diagbot.vo.MappingConfigPageVO;
 import com.diagbot.vo.MappingConfigVO;
+import com.diagbot.vo.StaticKnowledgeVO;
 import feign.FeignException;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.MediaType;
@@ -137,4 +139,16 @@ public class CdssHystrix implements CdssClient {
         log.error("【hystrix】调用{}异常", "deleteRecords");
         return null;
     }
+
+    /**
+     * 根据名称和类型获取静态知识内容
+     *
+     * @param staticKnowledgeVO
+     * @return
+     */
+    @Override
+    public RespDTO<StaticKnowledgeDTO> getStaticKnowledge(@Valid @RequestBody StaticKnowledgeVO staticKnowledgeVO) {
+        log.error("【hystrix】调用{}异常", "getStaticKnowledge");
+        return null;
+    }
 }

+ 2 - 1
cdssman-service/src/main/java/com/diagbot/dto/RuleConditionDTO.java

@@ -14,11 +14,12 @@ import java.util.List;
  */
 @Getter
 @Setter
-@ToString(exclude = { "ruleGroup", "msg", "description" }, includeFieldNames = false)
+@ToString(exclude = { "ruleGroup", "msg", "description", "names" }, includeFieldNames = false)
 public class RuleConditionDTO {
     private Integer hasSubCond;
     private String ruleGroup;
     private String msg;
     private String description;
+    private List<String> names; //静态信息名称列表
     private List<RuleBaseDTO> ruleBaseDTOList = new ArrayList<>();
 }

+ 4 - 1
cdssman-service/src/main/java/com/diagbot/facade/KlConceptStaticFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.client.CdssClient;
 import com.diagbot.client.CdssCoreClient;
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.KlConceptStaticDTO;
@@ -45,6 +46,8 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
     @Autowired
     private CdssCoreClient cdssCoreClient;
     @Autowired
+    private CdssClient cdssClient;
+    @Autowired
     private UserServiceClient userServiceClient;
     @Autowired
     private KlConceptDetailFacade klConceptDetailFacade;
@@ -83,7 +86,7 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
     public StaticKnowledgeDTO getStaticKnowledge(StaticKnowledgeVO staticKnowledgeVO) {
         StaticKnowledgeDTO staticKnowledgeDTO = new StaticKnowledgeDTO();
 
-        RespDTO<StaticKnowledgeDTO> respDTO = cdssCoreClient.getStaticKnowledge(staticKnowledgeVO);
+        RespDTO<StaticKnowledgeDTO> respDTO = cdssClient.getStaticKnowledge(staticKnowledgeVO);
         if (RespDTOUtil.respIsOK(respDTO)) {
             staticKnowledgeDTO = respDTO.data;
         } else {

File diff suppressed because it is too large
+ 1011 - 0
cdssman-service/src/main/java/com/diagbot/facade/ResultStaticKnowledgeNeoFacade.java


+ 2 - 0
cdssman-service/src/main/java/com/diagbot/vo/RuleQueryKeyVO.java

@@ -26,4 +26,6 @@ public class RuleQueryKeyVO {
     private String baseLibName;
     //基础规则术语类型
     private Integer baseLibType;
+    //关联静态信息名称
+    private String staticName;
 }

+ 2 - 0
cdssman-service/src/main/java/com/diagbot/vo/RuleQueryVO.java

@@ -24,4 +24,6 @@ public class RuleQueryVO extends Page {
     private String baseLibName;
     //基础规则术语类型
     private Integer baseLibType;
+    //关联静态信息名称
+    private String staticName;
 }

+ 5 - 0
cdssman-service/src/main/java/com/diagbot/vo/StaticKnowledgeIndexVO.java

@@ -32,4 +32,9 @@ public class StaticKnowledgeIndexVO {
      */
     @ApiModelProperty(hidden = true)
     private Integer hasInfo;
+
+    /**
+     * 去重id
+     */
+    private List<Long> notInIds;
 }

+ 11 - 0
cdssman-service/src/main/java/com/diagbot/web/ConceptInfoController.java

@@ -52,6 +52,17 @@ public class ConceptInfoController {
         return RespDTO.onSuc(data);
     }
 
+    @ApiOperation(value = "医学知识(静态知识)检索[zhaops]",
+            notes = "types: 类型(多选):0-全部、1-诊断、2-药品、3-检验、5-检查、6-手术和操作、8-量表、9-护理、10-政策法规 <br>" +
+                    "inputStr: 检索内容<br>")
+    @PostMapping("/staticKnowledgeIndex")
+    @SysLogger("staticKnowledgeIndex")
+    public RespDTO<List<StaticKnowledgeIndexDTO>> staticKnowledgeIndex(@Valid @RequestBody StaticKnowledgeIndexVO staticKnowledgeIndexVO) {
+        staticKnowledgeIndexVO.setHasInfo(1);
+        List<StaticKnowledgeIndexDTO> data = klConceptStaticFacade.staticKnowledgeIndex(staticKnowledgeIndexVO);
+        return RespDTO.onSuc(data);
+    }
+
     @ApiOperation(value = "获取静态知识列表[zhaops]",
             notes = "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验明细、5-检查、6-手术和操作、8-量表、9-护理、10-政策法规 <br>" +
                     "name: 术语名称<br>" +

+ 4 - 2
cdssman-service/src/main/java/com/diagbot/web/KlRuleController.java

@@ -94,7 +94,8 @@ public class KlRuleController {
                     "ruleType: 规则类型<br>" +
                     "description: 规则名称<br>" +
                     "baseLibName: 基础医学标准术语<br>" +
-                    "baseLibType: 基础规则术语类型")
+                    "baseLibType: 基础规则术语类型<br>" +
+                    "staticName: 关联静态信息名称")
     @PostMapping("/getRulePage")
     @SysLogger("getRulePage")
     public RespDTO<Page<RuleQueryDTO>> getRulePage(@RequestBody RuleQueryVO ruleQueryVO) {
@@ -107,7 +108,8 @@ public class KlRuleController {
                     "ruleType: 规则类型<br>" +
                     "description: 规则名称<br>" +
                     "baseLibName: 基础医学标准术语<br>" +
-                    "baseLibType: 基础规则术语类型")
+                    "baseLibType: 基础规则术语类型<br>" +
+                    "staticName: 关联静态信息名称")
     @PostMapping("/getRuleDetail")
     @SysLogger("getRuleDetail")
     public RespDTO<RuleDTO> getRuleDetail(@RequestBody @Valid RuleQueryKeyVO ruleQueryKeyVO) {

+ 48 - 5
cdssman-service/src/main/java/com/diagbot/web/StaticKnowledgeTestController.java

@@ -8,6 +8,7 @@ import com.diagbot.entity.ResultStaticKnowledge;
 import com.diagbot.enums.StaticKnowledgeEnum;
 import com.diagbot.facade.ResultStaticInfoFacade;
 import com.diagbot.facade.ResultStaticKnowledgeFacade;
+import com.diagbot.facade.ResultStaticKnowledgeNeoFacade;
 import com.diagbot.facade.RunningInfoFacade;
 import com.diagbot.vo.HospitalIdVO;
 import com.diagbot.vo.ResultStaticPageVO;
@@ -22,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
@@ -44,6 +46,8 @@ public class StaticKnowledgeTestController {
     private ResultStaticKnowledgeFacade resultStaticKnowledgeFacade;
     @Autowired
     private RunningInfoFacade runningInfoFacade;
+    @Autowired
+    private ResultStaticKnowledgeNeoFacade resultStaticKnowledgeNeoFacade;
 
     @ApiOperation(value = "静态知识测试总览列表[zhaops]",
             notes = "hospitalId: 医院Id <br>")
@@ -76,15 +80,54 @@ public class StaticKnowledgeTestController {
         runningInfoVO.setStatus(1);
         runningInfoFacade.updateStatus(runningInfoVO);
         if (type.equals(StaticKnowledgeEnum.Lis.getKey())) {
-            data = resultStaticKnowledgeFacade.lisTest(file, testVO);
+            data = resultStaticKnowledgeNeoFacade.lisTest(file, testVO);
+        } else if (type.equals(StaticKnowledgeEnum.Pacs.getKey())) {
+            data = resultStaticKnowledgeNeoFacade.pacsTest(file, testVO);
+        } else if (type.equals(StaticKnowledgeEnum.Drug.getKey())) {
+            data = resultStaticKnowledgeNeoFacade.drugTest(file, testVO);
+        } else if (type.equals(StaticKnowledgeEnum.Disease.getKey())) {
+            data = resultStaticKnowledgeNeoFacade.diseaseTest(file, testVO);
+        } else if (type.equals(StaticKnowledgeEnum.Operation.getKey())) {
+            data = resultStaticKnowledgeNeoFacade.operationTest(file, testVO);
+        }
+        //结束运行
+        runningInfoVO.setStatus(0);
+        runningInfoFacade.updateStatus(runningInfoVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "静态知识测试[zhaops]",
+            notes = "hospitalId: 医院Id <br>" +
+                    " type:术语类型(1:诊断、2:检验、3:检查、4:药品、5:手术/操作)<br>" +
+                    "caseId: 测试用例id<br>")
+    @PostMapping("/staticKnowledgeTestNeo")
+    @SysLogger("staticKnowledgeTestNeo")
+    @ApiIgnore
+    public RespDTO<Boolean> staticKnowledgeTestNeo(@RequestParam("file") MultipartFile file,
+                                                   @RequestParam("hospitalId") Long hospitalId,
+                                                   @RequestParam("type") Integer type,
+                                                   @RequestParam("caseId") Long caseId) {
+        StaticKnowledgeTestVO testVO = new StaticKnowledgeTestVO();
+        testVO.setHospitalId(hospitalId);
+        testVO.setType(type);
+        testVO.setCaseId(caseId);
+        Boolean data = false;
+        //开始运行
+        RunningInfoVO runningInfoVO = new RunningInfoVO();
+        runningInfoVO.setCaseId(caseId);
+        runningInfoVO.setHospitalId(hospitalId);
+        runningInfoVO.setStatus(1);
+        runningInfoFacade.updateStatus(runningInfoVO);
+        if (type.equals(StaticKnowledgeEnum.Lis.getKey())) {
+            data = resultStaticKnowledgeNeoFacade.lisTest(file, testVO);
         } else if (type.equals(StaticKnowledgeEnum.Pacs.getKey())) {
-            data = resultStaticKnowledgeFacade.pacsTest(file, testVO);
+            data = resultStaticKnowledgeNeoFacade.pacsTest(file, testVO);
         } else if (type.equals(StaticKnowledgeEnum.Drug.getKey())) {
-            data = resultStaticKnowledgeFacade.drugTest(file, testVO);
+            data = resultStaticKnowledgeNeoFacade.drugTest(file, testVO);
         } else if (type.equals(StaticKnowledgeEnum.Disease.getKey())) {
-            data = resultStaticKnowledgeFacade.diseaseTest(file, testVO);
+            data = resultStaticKnowledgeNeoFacade.diseaseTest(file, testVO);
         } else if (type.equals(StaticKnowledgeEnum.Operation.getKey())) {
-            data = resultStaticKnowledgeFacade.operationTest(file, testVO);
+            data = resultStaticKnowledgeNeoFacade.operationTest(file, testVO);
         }
         //结束运行
         runningInfoVO.setStatus(0);