瀏覽代碼

1、术语关联映射-国药准字一对多匹配
2、术语关联映射-标准词校验

zhaops 3 年之前
父節點
當前提交
f625067747

+ 1 - 0
src/main/java/com/diagbot/dto/IndexBatchDTO.java

@@ -12,6 +12,7 @@ import lombok.Setter;
 @Setter
 public class IndexBatchDTO {
     private Long id;
+    private Integer status;
     private String name;
     private String code;
     private String synonyms;

+ 38 - 16
src/main/java/com/diagbot/facade/KlConceptFacade.java

@@ -35,8 +35,6 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -73,21 +71,27 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                 return retList;
             }
             //根据id检索
-            List<KlConcept> concepts = this.list(new QueryWrapper<KlConcept>()
-                    .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .eq("status", StatusEnum.Enable.getKey())
-                    .in("id", conceptVO.getIds()));
+            QueryWrapper<KlConcept> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("id", conceptVO.getIds());
+            if (conceptVO.getStatus() != null) {
+                queryWrapper.eq("status", StatusEnum.Enable.getKey());
+            }
+            List<KlConcept> concepts = this.list(queryWrapper);
             for (KlConcept concept : concepts) {
                 IndexBatchDTO dto = new IndexBatchDTO();
                 dto.setId(concept.getId());
                 dto.setName(concept.getLibName());
+                dto.setStatus(concept.getStatus());
                 dto.setType(convertType(concept.getLibType(), true));
                 retList.add(dto);
             }
         } else if (conceptVO.getSource().equals(MatchSourceEnum.StandWord.getKey())) {
             QueryWrapper<KlConcept> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .eq("status", StatusEnum.Enable.getKey());
+            queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+            if (conceptVO.getStatus() != null) {
+                queryWrapper.eq("status", StatusEnum.Enable.getKey());
+            }
             if (ListUtil.isNotEmpty(conceptVO.getNames())) {
                 queryWrapper.in("lib_name", conceptVO.getNames());
             }
@@ -104,6 +108,7 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                     IndexBatchDTO dto = new IndexBatchDTO();
                     dto.setId(concept.getId());
                     dto.setName(concept.getLibName());
+                    dto.setStatus(concept.getStatus());
                     retList.add(dto);
                 }
             }
@@ -129,10 +134,13 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                     = libratyInfos.stream().collect(Collectors.groupingBy(KlLibraryInfo::getConceptId));
             List<Long> synonymsRelatedConceptIds
                     = libratyInfos.stream().map(KlLibraryInfo::getConceptId).collect(Collectors.toList());
-            List<KlConcept> synonymsRelatedConcepts = this.list(new QueryWrapper<KlConcept>()
-                    .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .eq("status", StatusEnum.Enable.getKey())
-                    .in("id", synonymsRelatedConceptIds));
+            QueryWrapper<KlConcept> conceptQueryWrapper = new QueryWrapper<>();
+            conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("id", synonymsRelatedConceptIds);
+            if (conceptVO.getStatus() != null) {
+                conceptQueryWrapper.eq("status", StatusEnum.Enable.getKey());
+            }
+            List<KlConcept> synonymsRelatedConcepts = this.list(conceptQueryWrapper);
             Map<Long, KlConcept> conceptMap
                     = synonymsRelatedConcepts.stream().collect(Collectors.toMap(KlConcept::getId, v -> v));
 
@@ -147,6 +155,7 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                             IndexBatchDTO indexBatchDTO = new IndexBatchDTO();
                             indexBatchDTO.setId(concept.getId());
                             indexBatchDTO.setName(concept.getLibName());
+                            indexBatchDTO.setStatus(concept.getStatus());
                             indexBatchDTO.setSynonyms(libraryInfo.getName());
                             retList.add(indexBatchDTO);
                         }
@@ -198,6 +207,13 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                             Collectors.mapping(TcmSyndrome::getCode, Collectors.toList())));
                 }
             }
+            QueryWrapper<KlConcept> klConceptQueryWrapper = new QueryWrapper<>();
+
+            klConceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("id", conceptIds);
+            if (conceptVO.getStatus() != null) {
+                klConceptQueryWrapper.eq("status", StatusEnum.Enable.getKey());
+            }
             List<KlConcept> concepts = this.list(new QueryWrapper<KlConcept>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .eq("status", StatusEnum.Enable.getKey())
@@ -216,6 +232,7 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                             indexBatchDTO.setId(concept.getId());
                             indexBatchDTO.setName(concept.getLibName());
                             indexBatchDTO.setCode(code);
+                            indexBatchDTO.setStatus(concept.getStatus());
                             retList.add(indexBatchDTO);
                         }
                     }
@@ -287,14 +304,18 @@ public class KlConceptFacade extends KlConceptServiceImpl {
      */
     public List<IndexBatchDTO> filter(FilterVO filterVO) {
         List<IndexBatchDTO> retList = Lists.newArrayList();
-        List<KlConcept> klConcepts = this.list(new QueryWrapper<KlConcept>()
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("status", StatusEnum.Enable.getKey())
-                .like("lib_name", filterVO.getInputStr()));
+        QueryWrapper<KlConcept> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .like("lib_name", filterVO.getInputStr());
+        if (filterVO != null) {
+            queryWrapper.eq("status", StatusEnum.Enable.getKey());
+        }
+        List<KlConcept> klConcepts = this.list(queryWrapper);
         for (KlConcept concept : klConcepts) {
             IndexBatchDTO indexBatchDTO = new IndexBatchDTO();
             indexBatchDTO.setId(concept.getId());
             indexBatchDTO.setName(concept.getLibName());
+            indexBatchDTO.setStatus(concept.getStatus());
             Integer type = convertType(concept.getLibType(), true);
             if (type != null) {
                 indexBatchDTO.setType(type);
@@ -306,6 +327,7 @@ public class KlConceptFacade extends KlConceptServiceImpl {
 
     /**
      * 国药准字校验
+     *
      * @param indexByApprovalVO
      * @return
      */

+ 1 - 0
src/main/java/com/diagbot/vo/ConceptVO.java

@@ -17,4 +17,5 @@ public class ConceptVO {
     private List<String> names;
     private Integer type;
     private Integer source;
+    private Integer status;
 }

+ 1 - 0
src/main/java/com/diagbot/vo/FilterVO.java

@@ -15,4 +15,5 @@ import javax.validation.constraints.NotBlank;
 public class FilterVO {
     @NotBlank(message = "请输入检索内容")
     private String inputStr;
+    private Integer status;
 }

+ 4 - 0
src/main/java/com/diagbot/vo/IndexByApprovalVO.java

@@ -15,4 +15,8 @@ public class IndexByApprovalVO {
      * 国药准字列表
      */
     private List<String> approvalList;
+    /**
+     * 标准术语禁用启用状态
+     */
+    private Integer status;
 }

+ 8 - 4
src/main/resources/mapper/KlConceptMapper.xml

@@ -841,6 +841,7 @@
         t1.NAME,
         t1.regName,
         t1.form,
+        t1.status,
         t2.id AS formConceptId
         FROM
         (
@@ -850,7 +851,8 @@
         c.id AS id,
         c.lib_name AS NAME,
         a.NAME AS regName,
-        a.form AS form
+        a.form AS form,
+        c.status AS status
         FROM
         kl_drug_register a,
         `kl_drug_mapping` b,
@@ -861,7 +863,9 @@
         AND a.is_deleted = 'N'
         AND b.is_deleted = 'N'
         AND c.is_deleted = 'N'
-        AND c.STATUS = 1
+        <if test="status != null">
+            AND c.STATUS = #{status}
+        </if>
         <if test="approvalList != null and approvalList.size > 0">
             <foreach item="approval" collection="approvalList" open="and(" separator="or" close=")">
                 a.approval  =  #{approval}
@@ -869,8 +873,8 @@
         </if>
         ) t1
         LEFT JOIN ( SELECT * FROM kl_concept WHERE is_deleted = 'N' AND STATUS = 1 AND lib_type = 102 ) t2 ON t1.form = t2.lib_name
-        GROUP BY
-        t1.approval
+        <!--GROUP BY
+        t1.approval-->
     </select>
 
 </mapper>