Преглед изворни кода

Merge remote-tracking branch 'origin/master'

MarkHuang пре 4 година
родитељ
комит
96cf7dbbb4

+ 1 - 1
src/main/java/com/diagbot/facade/BillFacade.java

@@ -42,7 +42,7 @@ public class BillFacade {
 
         // 规则处理
         billProcess.process(billNeoDTOList, wordCrfDTO, res);
-        System.out.println(res);
+        // System.out.println(res);
     }
 
 

+ 1 - 1
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -56,7 +56,7 @@ public class NeoFacade {
     StandConvertServiceClient standConvertServiceClient;
     @Autowired
     RedisUtil redisUtil;
-    @Value("StandConvert.rate")
+    @Value("${StandConvert.rate}")
     String standConvertRate;
 
     /**

+ 23 - 0
src/main/java/com/diagbot/facade/StaticKnowledgeFacade.java

@@ -0,0 +1,23 @@
+package com.diagbot.facade;
+
+import com.diagbot.vo.HasStaticKnowledgeVO;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/8/25 14:13
+ */
+@Component
+public class StaticKnowledgeFacade {
+
+    /**
+     * 更新是否包含静态知识状态
+     *
+     * @param hasStaticKnowledgeVO
+     * @return
+     */
+    public Boolean updateHasInfoStatus(HasStaticKnowledgeVO hasStaticKnowledgeVO) {
+        return true;
+    }
+}

+ 38 - 38
src/main/java/com/diagbot/process/BillProcess.java

@@ -4,7 +4,6 @@ import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.BillNeoDTO;
 import com.diagbot.dto.BillNeoMaxDTO;
 import com.diagbot.dto.IndicationDTO;
-import com.diagbot.dto.NodeNeoDTO;
 import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.enums.NeoEnum;
 import com.diagbot.facade.NeoFacade;
@@ -60,43 +59,44 @@ public class BillProcess {
             }
             billNeoMaxDTO.setOrderName(billNeoDTO.getName()); // 开单名称
             billNeoMaxDTO.setOrderStandName(billNeoDTO.getStandname()); // 开单标准名称
-            // TODO 测试数据开始
-            if (billNeoDTO.getName().equals("普通胃镜检查")) {
-                NodeNeoDTO sexNeo = new NodeNeoDTO();
-                sexNeo.setName("男性");
-                billNeoMaxDTO.setGender(sexNeo);
-
-                NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
-                nodeNeoDTO.setName("红细胞压积");
-                nodeNeoDTO.setVal("阳性");
-                billNeoDTO.getPacsBillNeoDTO().getLis().add(nodeNeoDTO);
-
-                NodeNeoDTO nodepacsDTO = new NodeNeoDTO();
-                nodepacsDTO.setName("上腹部平扫");
-                billNeoDTO.getPacsBillNeoDTO().getPacs().add(nodepacsDTO);
-
-                NodeNeoDTO opereat = new NodeNeoDTO();
-                opereat.setName("胸腔镜下左下肺叶切除术");
-                billNeoDTO.getPacsBillNeoDTO().getOperations().add(opereat);
-                NodeNeoDTO opereat2 = new NodeNeoDTO();
-                opereat2.setName("区域淋巴结清扫术");
-                billNeoDTO.getPacsBillNeoDTO().getOperations().add(opereat2);
-
-                NodeNeoDTO drug = new NodeNeoDTO();
-                drug.setName("青霉素类");
-                billNeoDTO.getPacsBillNeoDTO().getAllergicmeds().add(drug);
-
-                NodeNeoDTO drug3 = new NodeNeoDTO();
-                drug3.setName("泰舒达类");
-                billNeoDTO.getPacsBillNeoDTO().getOralmeds().add(drug3);
-
-                // NodeNeoDTO vital = new NodeNeoDTO();
-                // vital.setName("体温");
-                // vital.setMax(new BigDecimal("39.1"));
-                // vital.setMin(new BigDecimal(35.1));
-                // billNeoDTO.getPacsBillNeoDTO().getVitals().add(vital);
-
-            }
+            // // TODO 测试数据开始
+            // if (billNeoDTO.getName().equals("普通胃镜检查")) {
+            //     NodeNeoDTO sexNeo = new NodeNeoDTO();
+            //     sexNeo.setName("男性");
+            //     billNeoMaxDTO.setGender(sexNeo);
+            //
+            //     NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
+            //     nodeNeoDTO.setName("红细胞压积");
+            //     nodeNeoDTO.setVal("阳性");
+            //     billNeoDTO.getPacsBillNeoDTO().getLis().add(nodeNeoDTO);
+            //
+            //     NodeNeoDTO nodepacsDTO = new NodeNeoDTO();
+            //     nodepacsDTO.setName("上腹部平扫");
+            //     billNeoDTO.getPacsBillNeoDTO().getPacs().add(nodepacsDTO);
+            //
+            //     NodeNeoDTO opereat = new NodeNeoDTO();
+            //     opereat.setName("胸腔镜下左下肺叶切除术");
+            //     billNeoDTO.getPacsBillNeoDTO().getOperations().add(opereat);
+            //     NodeNeoDTO opereat2 = new NodeNeoDTO();
+            //     opereat2.setName("区域淋巴结清扫术");
+            //     billNeoDTO.getPacsBillNeoDTO().getOperations().add(opereat2);
+            //
+            //     NodeNeoDTO drug = new NodeNeoDTO();
+            //     drug.setName("青霉素类");
+            //     billNeoDTO.getPacsBillNeoDTO().getAllergicmeds().add(drug);
+            //
+            //     NodeNeoDTO drug3 = new NodeNeoDTO();
+            //     drug3.setName("泰舒达类");
+            //     billNeoDTO.getPacsBillNeoDTO().getOralmeds().add(drug3);
+            //
+            //     // NodeNeoDTO vital = new NodeNeoDTO();
+            //     // vital.setName("体温");
+            //     // vital.setMax(new BigDecimal("39.1"));
+            //     // vital.setMin(new BigDecimal("35.1"));
+            //     // vital.setValType(1);
+            //     // billNeoDTO.getPacsBillNeoDTO().getVitals().add(vital);
+            //
+            // }
             // 测试数据结束
 
             System.out.println(billNeoMaxDTO);

+ 5 - 22
src/main/java/com/diagbot/rule/VitalRule.java

@@ -6,9 +6,9 @@ import com.diagbot.dto.NodeNeoDTO;
 import com.diagbot.model.entity.Vital;
 import com.diagbot.util.CoreUtil;
 import com.diagbot.util.ListUtil;
-import com.diagbot.util.StringUtil;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @description: 体征规则
@@ -29,28 +29,11 @@ public class VitalRule {
         if(ListUtil.isNotEmpty(neoList) && ListUtil.isNotEmpty(inputLis)){
             for (NodeNeoDTO neo : neoList) {
                 for (Vital vit : inputLis) {
-                    String val = vit.getName();
-                    val = vit.getStandName();
-                    if (StringUtil.isNotBlank(val) && val.equals(neo.getName()) && "体温".equals(val)) {
-//                        String val_name = lis.getDetailName();
-                        // 如果有结果数据,就不用比较数值
-                        String message = "";
-                        boolean flag = false;
-//                        if (StringUtil.isNotBlank(lis.getValue())) {
-//                            flag = CoreUtil.compareStr(neo, lis.getValue());
-//                            if (flag) {
-//                                message = CoreUtil.getStrMsg(neo, val, lis.getValue());
-//                            }
-//                        } else
-                            if (vit.getPd() != null) {
-                            flag = CoreUtil.compareNum(neo, Double.parseDouble(vit.getPd().getValue()));
-                            if (flag) {
-                                message = CoreUtil.getNumMsg(neo, val, Double.parseDouble(vit.getPd().getValue()), vit.getPd().getUnit());
-                            }
-                        }
-                        if (flag) {
+                    if (neo.getName().equals(vit.getStandName())) {
+                        Map<String, Object> map = CoreUtil.compareNumWtihMap(neo, vit.getName(), vit.getStandName(), vit.getPd().getValue());
+                        if ((Boolean) map.get("flag") == true) {
                             BillMsg commonBillMsg = CoreUtil.getCommonBillMsg(billNeoMaxDTO.getOrderName(),
-                                    billNeoMaxDTO.getOrderStandName(), message, type);
+                                    billNeoMaxDTO.getOrderStandName(), (String) map.get("msg"), type);
                             billMsgList.add(commonBillMsg);
                         }
                     }

+ 29 - 0
src/main/java/com/diagbot/util/CoreUtil.java

@@ -295,6 +295,35 @@ public class CoreUtil {
         return map;
     }
 
+    /**
+     * 比较数值是否匹配
+     *
+     * @param nodeNeoDTO
+     * @param name
+     * @param standName
+     * @param value
+     * @return
+     */
+    public static Map<String, Object> compareNumWtihMap(NodeNeoDTO nodeNeoDTO, String name, String standName, String value) {
+        Map<String, Object> map = new LinkedHashMap<>();
+        boolean flag = false;
+        if (nodeNeoDTO == null || StringUtil.isBlank(name) || StringUtil.isBlank(standName) || StringUtil.isBlank(value)) {
+            map.put("flag", flag);
+            return map;
+        }
+        try {
+            flag = compareNum(nodeNeoDTO, Double.parseDouble(value));
+            if (flag) {
+                map.put("msg", name + subZeroAndDot(String.valueOf(value)));
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        map.put("flag", flag);
+        return map;
+    }
+
     /**
      * 比较数值大小(int)
      *

+ 32 - 0
src/main/java/com/diagbot/vo/HasStaticKnowledgeVO.java

@@ -0,0 +1,32 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/8/25 14:02
+ */
+@Getter
+@Setter
+public class HasStaticKnowledgeVO {
+    /**
+     * 标准术语名称
+     */
+    @NotBlank(message = "请输入标准术语名称")
+    private String name;
+    /**
+     * 术语类型
+     */
+    @NotBlank(message = "请输入术语类型")
+    private String type;
+    /**
+     * 是否有静态知识:0-无,1-有
+     */
+    @NotNull(message = "请输入是否有静态信息(0-无,1-有)")
+    private Integer hasInfo;
+}

+ 39 - 0
src/main/java/com/diagbot/web/StaticKnowledgeController.java

@@ -0,0 +1,39 @@
+package com.diagbot.web;
+
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.StaticKnowledgeFacade;
+import com.diagbot.vo.HasStaticKnowledgeVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/8/25 14:16
+ */
+@RestController
+@RequestMapping("/staticKnowledge")
+@Api(value = "静态信息相关API", tags = { "静态信息相关API" })
+@SuppressWarnings("unchecked")
+public class StaticKnowledgeController {
+
+    @Autowired
+    private StaticKnowledgeFacade staticKnowledgeFacade;
+
+    @ApiOperation(value = "更新是否有静态信息状态[zhaops]",
+            notes = "type: 术语类型<br>" +
+                    "name: 标准术语名称<br>" +
+                    "是否有静态知识:0-无,1-有<br>")
+    @PostMapping("/updateHasInfoStatus")
+    public RespDTO<Boolean> updateHasInfoStatus(@Valid @RequestBody HasStaticKnowledgeVO hasStaticKnowledgeVO) {
+        Boolean data = staticKnowledgeFacade.updateHasInfoStatus(hasStaticKnowledgeVO);
+        return RespDTO.onSuc(data);
+    }
+}