Bläddra i källkod

Merge branch 'master' into innerDevelop

gaodm 4 år sedan
förälder
incheckning
b9a5811fa6

+ 1 - 1
src/main/java/com/diagbot/aggregate/AssembleAggregate.java

@@ -307,7 +307,7 @@ public class AssembleAggregate {
         //operationName
         if (searchData.getOperationName() != null
                 && StringUtil.isNotBlank(searchData.getOperationName().getName())) {
-            operationHisNameList.add(searchData.getDiseaseName().getName());
+            operationHisNameList.add(searchData.getOperationName().getName());
         }
         operationHisNameList = operationHisNameList
                 .stream()

+ 1 - 1
src/main/java/com/diagbot/dto/ConceptInfoDTO.java

@@ -53,7 +53,7 @@ public class ConceptInfoDTO {
     /**
      * 启用状态
      */
-    private String isDeleted;
+    private Integer status;
     /**
      * 明细
      */

+ 5 - 0
src/main/java/com/diagbot/dto/PushPlanDTO.java

@@ -4,7 +4,9 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.util.ArrayList;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 检验检查计划出参
@@ -14,5 +16,8 @@ import java.util.List;
 @Getter
 @Setter
 public class PushPlanDTO {
+    // 随访计划信息
     private List<PushPlansDTO> pushPlans = new ArrayList<>();
+    // 记录调试信息
+    private Map<String, Object> debug = new LinkedHashMap<>();
 }

+ 2 - 0
src/main/java/com/diagbot/dto/PushPlanDetailDTO.java

@@ -21,6 +21,8 @@ public class PushPlanDetailDTO {
     private Date examineDate;
     //描述
     private String description;
+    //是否历史数据
+    private Integer history;
     //检验
     private List<String> lis = new ArrayList<>();
     //检查

+ 14 - 0
src/main/java/com/diagbot/entity/ConceptInfo.java

@@ -71,6 +71,11 @@ public class ConceptInfo implements Serializable {
      */
     private String noticeName;
 
+    /**
+     * 启用状态(0:禁用,1:启用)
+     */
+    private Integer status;
+
     public Long getId() {
         return id;
     }
@@ -151,6 +156,14 @@ public class ConceptInfo implements Serializable {
         this.noticeName = noticeName;
     }
 
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
     @Override
     public String toString() {
         return "ConceptInfo{" +
@@ -164,6 +177,7 @@ public class ConceptInfo implements Serializable {
                 ", type=" + type +
                 ", clinicalPathwayName=" + clinicalPathwayName +
                 ", noticeName=" + noticeName +
+                ", status=" + status +
                 "}";
     }
 }

+ 1 - 1
src/main/java/com/diagbot/entity/DrugConfig.java

@@ -85,7 +85,7 @@ public class DrugConfig implements Serializable {
     /**
      * 剂型
      */
-    @Excel(name = "药品剂型(不填、注射剂、片剂、缓释、胶囊剂、滴丸剂)", width = 60, orderNum = "3", isImportField = "true")
+    @Excel(name = "药品剂型(不填、注射剂、片剂、缓释、胶囊剂、滴丸剂)", width = 60, orderNum = "3", isImportField = "true")
     private String form;
 
     public Long getId() {

+ 78 - 71
src/main/java/com/diagbot/facade/ConceptInfoFacade.java

@@ -15,6 +15,7 @@ import com.diagbot.entity.ConceptDetail;
 import com.diagbot.entity.ConceptInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.StaticTypeEnum;
+import com.diagbot.enums.StatusEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.ConceptDetailService;
@@ -82,16 +83,13 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
      * @return
      */
     public List<StaticKnowledgeIndexDTO> staticKnowledgeIndexWithInfo(StaticKnowledgeIndexVO staticKnowledgeIndexVO) {
-        List<StaticKnowledgeIndexDTO> staticKnowledgeIndexDTOList = staticKnowledgeIndex(staticKnowledgeIndexVO,0);
+        staticKnowledgeIndexVO.setHasInfo(1);
+        List<StaticKnowledgeIndexDTO> staticKnowledgeIndexDTOList = staticKnowledgeIndex(staticKnowledgeIndexVO);
         //过滤没有静态知识的检索结果
         staticKnowledgeIndexDTOList = staticKnowledgeIndexDTOList
                 .stream()
                 .filter(i -> i.getHasInfo().equals(1))
                 .collect(Collectors.toList());
-        if (ListUtil.isNotEmpty(staticKnowledgeIndexDTOList)
-                && staticKnowledgeIndexDTOList.size() > 100) {
-            staticKnowledgeIndexDTOList = staticKnowledgeIndexDTOList.subList(0, 100);
-        }
         return staticKnowledgeIndexDTOList;
     }
 
@@ -102,16 +100,13 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
      * @return
      */
     public List<StaticKnowledgeIndexDTO> staticKnowledgeIndexWithoutInfo(StaticKnowledgeIndexVO staticKnowledgeIndexVO) {
-        List<StaticKnowledgeIndexDTO> staticKnowledgeIndexDTOList = staticKnowledgeIndex(staticKnowledgeIndexVO,1);
+        staticKnowledgeIndexVO.setHasInfo(0);
+        List<StaticKnowledgeIndexDTO> staticKnowledgeIndexDTOList = staticKnowledgeIndex(staticKnowledgeIndexVO);
         //过滤没有静态知识的检索结果
         staticKnowledgeIndexDTOList = staticKnowledgeIndexDTOList
                 .stream()
                 .filter(i -> i.getHasInfo().equals(0))
                 .collect(Collectors.toList());
-        if (ListUtil.isNotEmpty(staticKnowledgeIndexDTOList)
-                && staticKnowledgeIndexDTOList.size() > 100) {
-            staticKnowledgeIndexDTOList = staticKnowledgeIndexDTOList.subList(0, 100);
-        }
         return staticKnowledgeIndexDTOList;
     }
 
@@ -119,10 +114,9 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
      * 医学知识(静态信息)检索
      *
      * @param staticKnowledgeIndexVO
-     * @param type 0:过滤逻辑删除数据,1:不过滤逻辑删除数据
      * @return
      */
-    public List<StaticKnowledgeIndexDTO> staticKnowledgeIndex(StaticKnowledgeIndexVO staticKnowledgeIndexVO,Integer type) {
+    public List<StaticKnowledgeIndexDTO> staticKnowledgeIndex(StaticKnowledgeIndexVO staticKnowledgeIndexVO) {
         List<StaticKnowledgeIndexDTO> retList = Lists.newLinkedList();
         //静态知识检索顺序
         List<DictionaryInfoDTO> dicStaticIndexList = dictionaryFacade.getListByGroupType(7);
@@ -138,63 +132,64 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
             staticKnowledgeIndexDTOList.forEach(item -> {
                 item.setTypeName(convertTypeName(item.getTypeName(), 2, dicTypeMappingList));
             });
-            //是否有静态知识
-            List<String> conNameList = staticKnowledgeIndexDTOList
-                    .stream()
-                    .map(i -> i.getName())
-                    .collect(Collectors.toList());
-            QueryWrapper<ConceptInfo> conceptInfoQueryWrapper = new QueryWrapper<>();
-            conceptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
-            conceptInfoQueryWrapper.in("name", conNameList);
-            List<ConceptInfo> conceptInfoList = this.list(conceptInfoQueryWrapper);
-            if (ListUtil.isNotEmpty(conceptInfoList)) {
-                //typeName转换
-                conceptInfoList.forEach(item -> {
-                    item.setType(convertTypeName(item.getType(), 2, dicTypeMappingList));
-                });
-                Map<String, ConceptInfo> infoMap
-                        = EntityUtil.makeEntityMapByKeys(conceptInfoList, "_", "name", "type");
-                for (StaticKnowledgeIndexDTO item : staticKnowledgeIndexDTOList) {
-                    if (infoMap.containsKey(item.getName() + "_" + item.getTypeName())) {
-                        item.setId(infoMap.get(item.getName() + "_" + item.getTypeName()).getId());
-                    }
-                }
-                List<Long> conceptIdList = conceptInfoList.stream()
-                        .map(i -> i.getId())
+            if (staticKnowledgeIndexVO.getHasInfo().equals(1)) {
+                //是否有静态知识
+                List<String> conNameList = staticKnowledgeIndexDTOList
+                        .stream()
+                        .map(i -> i.getName())
                         .collect(Collectors.toList());
-                if (ListUtil.isNotEmpty(conceptIdList)) {
-                    QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
-                    if (type.equals(0)) {
-                        conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
-                    }
-                    conceptDetailQueryWrapper.in("concept_id", conceptIdList);
-                    List<ConceptDetail> conceptDetailList = conceptDetailFacade.list(conceptDetailQueryWrapper);
-                    Map<Long, List<ConceptDetail>> detailMap
-                            = EntityUtil.makeEntityListMap(conceptDetailList, "conceptId");
+                QueryWrapper<ConceptInfo> conceptInfoQueryWrapper = new QueryWrapper<>();
+                conceptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+                conceptInfoQueryWrapper.in("name", conNameList);
+                conceptInfoQueryWrapper.eq("status", StatusEnum.Enable.getKey());
+                List<ConceptInfo> conceptInfoList = this.list(conceptInfoQueryWrapper);
+                if (ListUtil.isNotEmpty(conceptInfoList)) {
+                    //typeName转换
+                    conceptInfoList.forEach(item -> {
+                        item.setType(convertTypeName(item.getType(), 2, dicTypeMappingList));
+                    });
+                    Map<String, ConceptInfo> infoMap
+                            = EntityUtil.makeEntityMapByKeys(conceptInfoList, "_", "name", "type");
                     for (StaticKnowledgeIndexDTO item : staticKnowledgeIndexDTOList) {
-                        if (item.getId() == null
-                                || !detailMap.containsKey(item.getId())) {
-                            item.setHasInfo(0);
-                            item.setHasStaticKnowledge(0);
-                            item.setHasClinicalPathway(0);
-                            item.setHasNotice((0));
-                            item.setHasTreatInfo(0);
-                            continue;
+                        if (infoMap.containsKey(item.getName() + "_" + item.getTypeName())) {
+                            item.setId(infoMap.get(item.getName() + "_" + item.getTypeName()).getId());
                         }
-                        for (ConceptDetail detail : detailMap.get(item.getId())) {
-                            item.setHasInfo(1);
-                            List<String> contentTypeList = Arrays.asList(detail.getContentType().split(","));
-                            if (contentTypeList.contains("1")) {
-                                item.setHasStaticKnowledge(1);
-                            }
-                            if (contentTypeList.contains("2")) {
-                                item.setHasNotice(1);
-                            }
-                            if (contentTypeList.contains("3")) {
-                                item.setHasClinicalPathway(1);
+                    }
+                    List<Long> conceptIdList = conceptInfoList.stream()
+                            .map(i -> i.getId())
+                            .collect(Collectors.toList());
+                    if (ListUtil.isNotEmpty(conceptIdList)) {
+                        QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
+                        conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+                        conceptDetailQueryWrapper.in("concept_id", conceptIdList);
+                        List<ConceptDetail> conceptDetailList = conceptDetailFacade.list(conceptDetailQueryWrapper);
+                        Map<Long, List<ConceptDetail>> detailMap
+                                = EntityUtil.makeEntityListMap(conceptDetailList, "conceptId");
+                        for (StaticKnowledgeIndexDTO item : staticKnowledgeIndexDTOList) {
+                            if (item.getId() == null
+                                    || !detailMap.containsKey(item.getId())) {
+                                item.setHasInfo(0);
+                                item.setHasStaticKnowledge(0);
+                                item.setHasClinicalPathway(0);
+                                item.setHasNotice((0));
+                                item.setHasTreatInfo(0);
+                                continue;
                             }
-                            if (contentTypeList.contains("4")) {
-                                item.setHasTreatInfo(1);
+                            for (ConceptDetail detail : detailMap.get(item.getId())) {
+                                item.setHasInfo(1);
+                                List<String> contentTypeList = Arrays.asList(detail.getContentType().split(","));
+                                if (contentTypeList.contains("1")) {
+                                    item.setHasStaticKnowledge(1);
+                                }
+                                if (contentTypeList.contains("2")) {
+                                    item.setHasNotice(1);
+                                }
+                                if (contentTypeList.contains("3")) {
+                                    item.setHasClinicalPathway(1);
+                                }
+                                if (contentTypeList.contains("4")) {
+                                    item.setHasTreatInfo(1);
+                                }
                             }
                         }
                     }
@@ -236,6 +231,7 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
         QueryWrapper<ConceptInfo> conceptInfoQueryWrapper = new QueryWrapper<>();
         conceptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("name", staticKnowledgeVO.getName())
+                .eq("status", StatusEnum.Enable.getKey())
                 .eq("type", typeName);
         ConceptInfo conceptInfo = this.getOne(conceptInfoQueryWrapper, false);
 
@@ -339,6 +335,7 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
         QueryWrapper<ConceptInfo> conceptInfoQueryWrapper = new QueryWrapper<>();
         conceptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
                 .in("name", uniqueNameList)
+                .eq("status",StatusEnum.Enable.getKey())
                 .eq("type", typeName);
         List<ConceptInfo> conceptInfoList = this.list(conceptInfoQueryWrapper);
 
@@ -585,11 +582,12 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
         conceptInfo.setModifier(userId);
         conceptInfo.setGmtModified(now);
 
-        //是否包含静态信息,包含启用和禁用
+        //是否包含静态信息
         List<ConceptDetail> oldDetails = null;
         QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
         if (conceptInfo.getId() != null) {
             conceptDetailQueryWrapper.eq("concept_id", conceptInfo.getId());
+            conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
             oldDetails = conceptDetailFacade.list(conceptDetailQueryWrapper);
         }
         if (conceptInfoVO.getId() == null
@@ -606,7 +604,7 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
             RespDTO<Boolean> respDTO = cdssCoreClient.updateHasInfoStatus(hasStaticKnowledgeVO);
             //更新失败
             if (RespDTOUtil.respIsNG(respDTO)) {
-
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "图谱更新静态知识状态失败");
             }
         }
 
@@ -645,11 +643,20 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
     public Boolean changeStatus(ChangeStatusVO changeStatusVO) {
         String userId = SysUserUtils.getCurrentPrincipleID();
         Date now = DateUtil.now();
+        //更新主表
+        UpdateWrapper<ConceptInfo> conceptInfoUpdateWrapper = new UpdateWrapper<>();
+        conceptInfoUpdateWrapper.eq("id", changeStatusVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .set("gmt_modified", now)
+                .set("modifier", userId)
+                .set("status", changeStatusVO.getStatus());
+        this.update(conceptInfoUpdateWrapper);
+        //更新明细表
         UpdateWrapper<ConceptDetail> conceptDetailUpdateWrapper = new UpdateWrapper<>();
         conceptDetailUpdateWrapper.eq("concept_id", changeStatusVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .set("gmt_modified", now)
-                .set("modifier", userId)
-                .set("is_deleted", changeStatusVO.getIsDeleted());
+                .set("modifier", userId);
         conceptDetailService.update(conceptDetailUpdateWrapper);
         return true;
     }
@@ -674,7 +681,8 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
             return false;
         }
         QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
-        conceptDetailQueryWrapper.eq("concept_id", conceptInfo.getId());
+        conceptDetailQueryWrapper.eq("concept_id", conceptInfo.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey());
         List<ConceptDetail> conceptDetailList = conceptDetailService.list(conceptDetailQueryWrapper);
         if (ListUtil.isEmpty(conceptDetailList)) {
             return false;
@@ -710,7 +718,6 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
             conceptInfoDTO.setType(String.valueOf(StaticTypeEnum.getKey(typeName)));
             conceptInfoDTO.setModifier(conceptDetailList.get(0).getModifier());
             conceptInfoDTO.setGmtModified(conceptDetailList.get(0).getGmtModified());
-            conceptInfoDTO.setIsDeleted(conceptDetailList.get(0).getIsDeleted());
         }
         return conceptInfoDTO;
     }

+ 1 - 2
src/main/java/com/diagbot/facade/PushFacade.java

@@ -64,7 +64,7 @@ public class PushFacade {
         RespDTOUtil.respNGDeal(resp, "远程调用推理接口失败");
         PushDTO data = resp.data;
         //------------------测试数据开始------------------
-        //        PushDTO data = testDataPush();
+        //  PushDTO data = testDataPush();
         //------------------测试数据结束------------------
         //出参映射
         data = assembleFacade.assemblePushDTO(data, pushVO.getHospitalId());
@@ -227,7 +227,6 @@ public class PushFacade {
         return retGeneraTreat;
     }
 
-
     /**
      * 推理测试数据设置
      *

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

@@ -12,5 +12,5 @@ import lombok.Setter;
 @Setter
 public class ChangeStatusVO {
     private Long id;
-    private String isDeleted;
+    private Integer status;
 }

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

@@ -29,5 +29,5 @@ public class ConceptInfoPageVO extends Page {
     /**
      * 启用状态
      */
-    private String isDeleted;
+    private Integer status;
 }

+ 10 - 1
src/main/java/com/diagbot/vo/StaticKnowledgeIndexVO.java

@@ -1,8 +1,10 @@
 package com.diagbot.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.util.List;
 
@@ -17,10 +19,17 @@ public class StaticKnowledgeIndexVO {
     /**
      * 检索内容
      */
+    @NotBlank(message = "请输入检索内容")
     private String inputStr;
     /**
-     * 检索类型(多选):0-全部、1-诊断、2-药品、3-检验、5-检查、6-手术和操作
+     * 检索类型(多选):0-全部、1-诊断、2-药品、3-检验、4-检查、5-手术和操作
      */
     @NotNull(message = "请输入检索类型")
     private List<Integer> types;
+
+    /**
+     * 是否有静态知识:0-无,1-有
+     */
+    @ApiModelProperty(hidden = true)
+    private Integer hasInfo;
 }

+ 10 - 8
src/main/resources/mapper/ConceptInfoMapper.xml

@@ -24,7 +24,7 @@
         t1.clinicalPathwayName,
         t1.noticeName,
         t1.type,
-        t1.isDeleted,
+        t1.status,
         t1.title,
         t1.gmtModified,
         t2.linkman AS modifier
@@ -36,17 +36,19 @@
         a.clinical_pathway_name AS clinicalPathwayName,
         a.notice_name AS noticeName,
         a.type,
-        b.is_deleted AS isDeleted,
-        GROUP_CONCAT( b.title SEPARATOR '、' ) AS title,
-        b.gmt_modified AS gmtModified,
-        b.modifier
+        a.status,
+        GROUP_CONCAT( b.title order by b.order_no asc SEPARATOR '、' ) AS title,
+        a.gmt_modified AS gmtModified,
+        a.modifier
         FROM
         graph_concept_info a,
         graph_concept_detail b
         WHERE
         a.id = b.concept_id
-        <if test="conceptInfoPageVO.isDeleted!=null and conceptInfoPageVO.isDeleted!=''">
-            AND b.is_deleted = #{conceptInfoPageVO.isDeleted}
+        and a.is_deleted = 'N'
+        and b.is_deleted = 'N'
+        <if test="conceptInfoPageVO.status!=null ">
+            AND a.status = #{conceptInfoPageVO.status}
         </if>
         <if test="conceptInfoPageVO.name!=null and conceptInfoPageVO.name!=''">
             AND a.name like concat('%', #{conceptInfoPageVO.name},'%')
@@ -59,7 +61,7 @@
         ) t1
         LEFT JOIN sys_user t2 ON t1.modifier = t2.id
         ORDER BY
-        t1.isDeleted ASC,
+        t1.status DESC,
         t1.gmtModified DESC
     </select>