Browse Source

开单合理性维护

zhaops 4 years ago
parent
commit
d267d25629

+ 1 - 1
src/main/java/com/diagbot/entity/node/IndicationConcept.java

@@ -12,7 +12,7 @@ import org.springframework.data.neo4j.annotation.QueryResult;
 @Getter
 @Setter
 @QueryResult
-public class IndicationConcept {
+public class BillConcept {
     private Long id;
     private String name;
     private Long status;

+ 1 - 1
src/main/java/com/diagbot/entity/node/IndicationCondition.java

@@ -12,7 +12,7 @@ import org.springframework.data.neo4j.annotation.QueryResult;
 @Getter
 @Setter
 @QueryResult
-public class IndicationCondition {
+public class BillCondition {
     private Long id;
     private String name;
     private Long status;

+ 1 - 1
src/main/java/com/diagbot/entity/node/Indication.java

@@ -12,7 +12,7 @@ import org.springframework.data.neo4j.annotation.QueryResult;
 @Setter
 @Getter
 @QueryResult
-public class Indication {
+public class BillItem {
     private String ruleName;
     private String ruleType;
     private Integer type;

+ 24 - 24
src/main/java/com/diagbot/facade/IndicationManFacade.java

@@ -1,15 +1,15 @@
 package com.diagbot.facade;
 
 import com.diagbot.dto.DictionaryInfoDTO;
-import com.diagbot.entity.node.Indication;
-import com.diagbot.entity.node.IndicationConcept;
-import com.diagbot.entity.node.IndicationCondition;
-import com.diagbot.repository.IndicationRepository;
+import com.diagbot.entity.node.BillItem;
+import com.diagbot.entity.node.BillConcept;
+import com.diagbot.entity.node.BillCondition;
+import com.diagbot.repository.BillManRepository;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.vo.ConceptIndexVO;
 import com.diagbot.vo.ConditionIndexVO;
-import com.diagbot.vo.IndicationPageVO;
+import com.diagbot.vo.BillPageVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -27,19 +27,19 @@ import java.util.stream.Collectors;
  * @time: 2020/11/17 13:53
  */
 @Component
-public class IndicationManFacade {
+public class BillManFacade {
     @Autowired
-    IndicationRepository indicationRepository;
+    BillManRepository billManRepository;
     @Autowired
     DictionaryFacade dictionaryFacade;
 
     /**
      * 获取开单合理项列表
      *
-     * @param indicationPageVO
+     * @param billPageVO
      * @return
      */
-    public Page<Indication> getPage(IndicationPageVO indicationPageVO) {
+    public Page<BillItem> getPage(BillPageVO billPageVO) {
         List<DictionaryInfoDTO> dicTypeConvert = dictionaryFacade.getListByGroupType(8);
         List<DictionaryInfoDTO> dicIndicationManType = dictionaryFacade.getListByGroupType(11);
         Map<String, String> dicTypeConvertMap
@@ -47,20 +47,20 @@ public class IndicationManFacade {
         Map<String, String> dicIndicationManTypeMap
                 = EntityUtil.makeMapWithKeyValue(dicIndicationManType, "val", "name");
         List<String> labels = Lists.newArrayList();
-        if (ListUtil.isNotEmpty(indicationPageVO.getTypes())) {
-            for (Integer type : indicationPageVO.getTypes()) {
+        if (ListUtil.isNotEmpty(billPageVO.getTypes())) {
+            for (Integer type : billPageVO.getTypes()) {
                 if (dicIndicationManTypeMap.containsKey(type.toString())
                         && dicTypeConvertMap.containsKey(dicIndicationManTypeMap.get(type.toString()))) {
                     labels.add(dicTypeConvertMap.get(dicIndicationManTypeMap.get(type.toString())));
                 }
             }
         }
-        indicationPageVO.setLabels(labels);
-        Pageable pageable = PageRequest.of(indicationPageVO.getNumber(), indicationPageVO.getSize());
-        Page<Indication> page = indicationRepository.getPage(indicationPageVO.getLabels(),
-                indicationPageVO.getConceptName(),
-                indicationPageVO.getConditionName(),
-                indicationPageVO.getRelationStatus(),
+        billPageVO.setLabels(labels);
+        Pageable pageable = PageRequest.of(billPageVO.getNumber(), billPageVO.getSize());
+        Page<BillItem> page = billManRepository.getPage(billPageVO.getLabels(),
+                billPageVO.getConceptName(),
+                billPageVO.getConditionName(),
+                billPageVO.getRelationStatus(),
                 pageable);
         return page;
     }
@@ -71,7 +71,7 @@ public class IndicationManFacade {
      * @param conditionIndexVO
      * @return
      */
-    public List<IndicationCondition> conditionIndex(ConditionIndexVO conditionIndexVO) {
+    public List<BillCondition> conditionIndex(ConditionIndexVO conditionIndexVO) {
         List<DictionaryInfoDTO> dicTypeConvert = dictionaryFacade.getListByGroupType(8);
         List<DictionaryInfoDTO> dicIndicationManType = dictionaryFacade.getListByGroupType(11);
         Map<String, String> dicTypeConvertMap
@@ -82,7 +82,7 @@ public class IndicationManFacade {
                 && dicTypeConvertMap.containsKey(dicIndicationManTypeMap.get(conditionIndexVO.getType().toString()))) {
             conditionIndexVO.setConceptLabel(dicTypeConvertMap.get(dicIndicationManTypeMap.get(conditionIndexVO.getType().toString())));
         }
-        List<String> relationTypes = indicationRepository.getRelationTypes(conditionIndexVO.getConceptLabel());
+        List<String> relationTypes = billManRepository.getRelationTypes(conditionIndexVO.getConceptLabel());
         List<String> conditionLabels = Lists.newArrayList();
         //条件明细筛选范围
         if (ListUtil.isNotEmpty(relationTypes)) {
@@ -94,13 +94,13 @@ public class IndicationManFacade {
             }
         }
         //排除项
-        List<IndicationCondition> notInConditions
-                = indicationRepository.getNotInConditions(conditionIndexVO.getConceptName(), conditionIndexVO.getConceptLabel());
+        List<BillCondition> notInConditions
+                = billManRepository.getNotInConditions(conditionIndexVO.getConceptName(), conditionIndexVO.getConceptLabel());
         List<Long> notInIds = Lists.newArrayList();
         if (ListUtil.isNotEmpty(notInConditions) && conditionIndexVO.getRuleType().equals("文本类型")) {
             notInIds = notInConditions.stream().map(i -> i.getId()).distinct().collect(Collectors.toList());
         }
-        List<IndicationCondition> conditions = indicationRepository.conditionIndex(conditionLabels,
+        List<BillCondition> conditions = billManRepository.conditionIndex(conditionLabels,
                 notInIds,
                 conditionIndexVO.getConditionName(),
                 conditionIndexVO.getConditionName(),
@@ -115,7 +115,7 @@ public class IndicationManFacade {
      * @param conceptIndexVO
      * @return
      */
-    public List<IndicationConcept> conceptIndex(ConceptIndexVO conceptIndexVO) {
+    public List<BillConcept> conceptIndex(ConceptIndexVO conceptIndexVO) {
         List<String> conceptLabels = Lists.newArrayList();
         List<DictionaryInfoDTO> dicTypeConvert = dictionaryFacade.getListByGroupType(8);
         List<DictionaryInfoDTO> dicIndicationManType = dictionaryFacade.getListByGroupType(11);
@@ -128,7 +128,7 @@ public class IndicationManFacade {
             conceptIndexVO.setConceptLabel(dicTypeConvertMap.get(dicIndicationManTypeMap.get(conceptIndexVO.getType().toString())));
             conceptLabels.add(conceptIndexVO.getConceptLabel());
         }
-        List<IndicationConcept> concepts = indicationRepository.conceptIndex(conceptLabels,
+        List<BillConcept> concepts = billManRepository.conceptIndex(conceptLabels,
                 conceptIndexVO.getConceptName(),
                 conceptIndexVO.getConceptName(),
                 100);

+ 19 - 19
src/main/java/com/diagbot/repository/IndicationRepository.java

@@ -1,8 +1,8 @@
 package com.diagbot.repository;
 
-import com.diagbot.entity.node.Indication;
-import com.diagbot.entity.node.IndicationConcept;
-import com.diagbot.entity.node.IndicationCondition;
+import com.diagbot.entity.node.BillConcept;
+import com.diagbot.entity.node.BillCondition;
+import com.diagbot.entity.node.BillItem;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.neo4j.annotation.Query;
@@ -16,7 +16,7 @@ import java.util.List;
  * @Author:zhaops
  * @time: 2020/11/17 13:26
  */
-public interface IndicationRepository extends Neo4jRepository<Indication,Long> {
+public interface BillManRepository extends Neo4jRepository<BillItem,Long> {
 
     @Query(value = "match(m)-[r]->(n) \n" +
             "where 1 = 1 \n" +
@@ -49,11 +49,11 @@ public interface IndicationRepository extends Neo4jRepository<Indication,Long> {
                     "and m.状态=1 \n" +
                     "and n.状态=1 \n" +
                     "return count(n)")
-    Page<Indication> getPage(@Param("labels") List<String> labels,
-                             @Param("conceptName") String conceptName,
-                             @Param("conditionName") String conditionName,
-                             @Param("relationStatus") String relationStatus,
-                             Pageable pageable);
+    Page<BillItem> getPage(@Param("labels") List<String> labels,
+                           @Param("conceptName") String conceptName,
+                           @Param("conditionName") String conditionName,
+                           @Param("relationStatus") String relationStatus,
+                           Pageable pageable);
 
     @Query("match (m)-[r]->(n) " +
             "where type(r) contains '禁忌' " +
@@ -80,18 +80,18 @@ public interface IndicationRepository extends Neo4jRepository<Indication,Long> {
             "AND (case {notInIds} is not null and size({notInIds})>0 when true then not(id(n) in {notInIds}) else 1 = 1 end ) \n" +
             "WITH n SKIP 0 LIMIT $size \n" +
             "RETURN ID(n) as id, n.name as name,n.状态 as status,labels(n)[0] as conditionLabel \n")
-    List<IndicationCondition> conditionIndex(@Param("labels") List<String> labels,
-                                             @Param("notInIds") List<Long> notInIds,
-                                             @Param("name") String name,
-                                             @Param("pycode") String pycode,
-                                             @Param("size") Integer size);
+    List<BillCondition> conditionIndex(@Param("labels") List<String> labels,
+                                       @Param("notInIds") List<Long> notInIds,
+                                       @Param("name") String name,
+                                       @Param("pycode") String pycode,
+                                       @Param("size") Integer size);
 
     @Query("MATCH(m)-[r]->(n) \n" +
             "where m.name={conceptName} \n" +
             "and {conceptLabel} in labels(m) \n" +
             "and type(r) contains '禁忌' \n" +
             "return ID(n) as id, n.name as name,n.状态 as status,labels(n)[0] as conditionLabel \n")
-    List<IndicationCondition> getNotInConditions(@Param("conceptName") String conceptName, @Param("conceptLabel") String conceptLabel);
+    List<BillCondition> getNotInConditions(@Param("conceptName") String conceptName, @Param("conceptLabel") String conceptLabel);
 
     @Query("MATCH (n) \n" +
             "WHERE (toLower(n.`name`) = toLower($name) OR toLower(n.`拼音编码`) = toLower($pycode))  \n" +
@@ -109,8 +109,8 @@ public interface IndicationRepository extends Neo4jRepository<Indication,Long> {
             "AND labels(n)[0] in {labels}  \n" +
             "WITH n SKIP 0 LIMIT $size \n" +
             "RETURN ID(n) as id, n.name as name,n.状态 as status,labels(n)[0] as conceptLabel \n")
-    List<IndicationConcept> conceptIndex(@Param("labels") List<String> labels,
-                                         @Param("name") String name,
-                                         @Param("pycode") String pycode,
-                                         @Param("size") Integer size);
+    List<BillConcept> conceptIndex(@Param("labels") List<String> labels,
+                                   @Param("name") String name,
+                                   @Param("pycode") String pycode,
+                                   @Param("size") Integer size);
 }

+ 1 - 1
src/main/java/com/diagbot/vo/IndicationPageVO.java

@@ -13,7 +13,7 @@ import java.util.List;
  */
 @Getter
 @Setter
-public class IndicationPageVO {
+public class BillPageVO {
     private List<Integer> types;
     private int number = 0;
     private int size = 10;

+ 25 - 0
src/main/java/com/diagbot/vo/BillSaveVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/11/19 14:22
+ */
+@Getter
+@Setter
+public class BillSaveVO {
+    private String ruleType;
+    private Integer type;
+    private Long conceptId;
+    private Long relationId;
+    private Long conditionId;
+    private String conceptName;
+    private String relationName;
+    private String conditionName;
+    private String conceptLabel;
+    private String conditionLabel;
+    private Integer  relationStatus;
+}

+ 14 - 14
src/main/java/com/diagbot/web/IndicationManController.java

@@ -1,13 +1,13 @@
 package com.diagbot.web;
 
 import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.node.Indication;
-import com.diagbot.entity.node.IndicationConcept;
-import com.diagbot.entity.node.IndicationCondition;
-import com.diagbot.facade.IndicationManFacade;
+import com.diagbot.entity.node.BillItem;
+import com.diagbot.entity.node.BillConcept;
+import com.diagbot.entity.node.BillCondition;
+import com.diagbot.facade.BillManFacade;
 import com.diagbot.vo.ConceptIndexVO;
 import com.diagbot.vo.ConditionIndexVO;
-import com.diagbot.vo.IndicationPageVO;
+import com.diagbot.vo.BillPageVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,12 +25,12 @@ import java.util.List;
  * @time: 2020/11/17 13:56
  */
 @RestController
-@RequestMapping("/indicationman")
+@RequestMapping("/billman")
 @Api(value = "开单合理项维护相关API", tags = { "开单合理项维护相关API" })
 @SuppressWarnings("unchecked")
-public class IndicationManController {
+public class BillManController {
     @Autowired
-    IndicationManFacade indicationManFacade;
+    BillManFacade billManFacade;
 
     @ApiOperation(value = "获取开单合理项列表[zhaops]",
             notes = "number:页码<br>" +
@@ -40,8 +40,8 @@ public class IndicationManController {
                     "conditionName:条件明细(模糊匹配)<br>" +
                     "relationStatus:启用禁用标志(0-禁用,1-启用)<br>")
     @PostMapping("/getPage")
-    public RespDTO<Indication> getPage(@RequestBody IndicationPageVO indicationPageVO) {
-        Page<Indication> data = indicationManFacade.getPage(indicationPageVO);
+    public RespDTO<BillItem> getPage(@RequestBody BillPageVO billPageVO) {
+        Page<BillItem> data = billManFacade.getPage(billPageVO);
         return RespDTO.onSuc(data);
     }
 
@@ -51,8 +51,8 @@ public class IndicationManController {
                     "ruleType:规则类型:文本类型、数值类型<br>" +
                     "conditionName:条件明细(模糊匹配)<br>")
     @PostMapping("/conditionIndex")
-    public RespDTO<IndicationCondition> conditionIndex(@RequestBody ConditionIndexVO conditionIndexVO) {
-        List<IndicationCondition> data = indicationManFacade.conditionIndex(conditionIndexVO);
+    public RespDTO<BillCondition> conditionIndex(@RequestBody ConditionIndexVO conditionIndexVO) {
+        List<BillCondition> data = billManFacade.conditionIndex(conditionIndexVO);
         return RespDTO.onSuc(data);
     }
 
@@ -60,8 +60,8 @@ public class IndicationManController {
             notes = "type:开单类型(1-检验套餐、2-检查、3-检查子项、4-手术和操作、5-药品注册名)<br>" +
                     "conceptName:开单项(模糊匹配)<br>")
     @PostMapping("/conceptIndex")
-    public RespDTO<IndicationConcept> conceptIndex(@RequestBody ConceptIndexVO conceptIndexVO) {
-        List<IndicationConcept> data = indicationManFacade.conceptIndex(conceptIndexVO);
+    public RespDTO<BillConcept> conceptIndex(@RequestBody ConceptIndexVO conceptIndexVO) {
+        List<BillConcept> data = billManFacade.conceptIndex(conceptIndexVO);
         return RespDTO.onSuc(data);
     }
 }