Forráskód Böngészése

批量更新静态信息状态

kongwz 4 éve
szülő
commit
76fccda035

+ 80 - 0
src/main/java/com/diagbot/entity/GraphConceptInfo.java

@@ -0,0 +1,80 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 静态知识标准术语表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-12-29
+ */
+@Data
+public class GraphConceptInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 标准术语
+     */
+    private String name;
+
+    /**
+     * 词性
+     */
+    private String type;
+
+    /**
+     * 临床路径名称
+     */
+    private String clinicalPathwayName;
+
+    /**
+     * 注意事项名称
+     */
+    private String noticeName;
+
+    /**
+     * 启用状态(0:禁用,1:启用)
+     */
+    private Integer status;
+
+}

+ 45 - 0
src/main/java/com/diagbot/facade/GraphConceptInfoFacade.java

@@ -0,0 +1,45 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.GraphConceptInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.GraphConceptInfoServiceImpl;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
+import org.apache.commons.collections.MapUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author kwz
+ * @date 2020/12/29
+ * @time 19:53
+ */
+@Component
+public class GraphConceptInfoFacade extends GraphConceptInfoServiceImpl {
+
+    public Map<String,List<String>> getGraphConceptMap(){
+        Map<String,List<String>> retMap = new HashMap<>();
+        QueryWrapper<GraphConceptInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("status", 1);
+        List<GraphConceptInfo> graphConceptInfos = this.list(queryWrapper);
+        if(ListUtil.isEmpty(graphConceptInfos)){
+            return retMap;
+        }
+        Map<String, List<GraphConceptInfo>> typeMap = EntityUtil.makeEntityListMap(graphConceptInfos, "type");
+        if(MapUtils.isNotEmpty(typeMap)){
+            typeMap.forEach((key,value) ->{
+                retMap.put(key,value.stream().map(x ->x.getName()).collect(Collectors.toList()));
+            });
+        }
+
+        return retMap;
+
+    }
+
+}

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

@@ -2,11 +2,14 @@ package com.diagbot.facade;
 
 import com.diagbot.repository.BaseNodeRepository;
 import com.diagbot.vo.HasStaticKnowledgeVO;
+import org.apache.commons.collections.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description:
@@ -24,6 +27,9 @@ public class StaticKnowledgeFacade {
      */
     @Autowired
     BaseNodeRepository nodeRepository;
+    @Autowired
+    private GraphConceptInfoFacade graphConceptInfoFacade;
+
     public Boolean updateHasInfoStatus(HasStaticKnowledgeVO hasStaticKnowledgeVO) {
         @NotBlank(message = "请输入术语类型") String type = hasStaticKnowledgeVO.getType();
         @NotBlank(message = "请输入标准术语名称") String name = hasStaticKnowledgeVO.getName();
@@ -39,4 +45,14 @@ public class StaticKnowledgeFacade {
         }*/
         return true;
     }
+
+    public Boolean batchUpdateHasInfoStatus() {
+        Map<String, List<String>> graphConceptMap = graphConceptInfoFacade.getGraphConceptMap();
+        if(MapUtils.isNotEmpty(graphConceptMap)){
+            graphConceptMap.forEach((k,v)->{
+                nodeRepository.batchUpdateStaticKnowledgeSign(k,v);
+            });
+        }
+        return true;
+    }
 }

+ 16 - 0
src/main/java/com/diagbot/mapper/GraphConceptInfoMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.GraphConceptInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 静态知识标准术语表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-12-29
+ */
+public interface GraphConceptInfoMapper extends BaseMapper<GraphConceptInfo> {
+
+}

+ 3 - 0
src/main/java/com/diagbot/repository/BaseNodeRepository.java

@@ -108,6 +108,9 @@ public interface BaseNodeRepository extends Neo4jRepository<BaseNode, Long> {
     @Query("MATCH (n) WHERE labels(n)[0]={lab} and n.name={nm} set n.静态知识标识={sign}")
     void updateStaticKnowledgeSign(@Param("lab") String lab, @Param("nm") String nm, @Param("sign") Integer sign);
 
+    @Query("MATCH (n) WHERE labels(n)[0]={lab} and n.name in {nm} set n.静态知识标识=1")
+    void batchUpdateStaticKnowledgeSign(@Param("lab") String lab, @Param("nm") List<String> nm);
+
     @Query("match(d:医保疾病名称)\n" +
             "return d.name as name, case \n" +
             "when d.sex is not null then d.sex\n" +

+ 16 - 0
src/main/java/com/diagbot/service/GraphConceptInfoService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.GraphConceptInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 静态知识标准术语表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-12-29
+ */
+public interface GraphConceptInfoService extends IService<GraphConceptInfo> {
+
+}

+ 20 - 0
src/main/java/com/diagbot/service/impl/GraphConceptInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.GraphConceptInfo;
+import com.diagbot.mapper.GraphConceptInfoMapper;
+import com.diagbot.service.GraphConceptInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 静态知识标准术语表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-12-29
+ */
+@Service
+public class GraphConceptInfoServiceImpl extends ServiceImpl<GraphConceptInfoMapper, GraphConceptInfo> implements GraphConceptInfoService {
+
+}

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

@@ -27,6 +27,7 @@ public class StaticKnowledgeController {
     @Autowired
     private StaticKnowledgeFacade staticKnowledgeFacade;
 
+
     @ApiOperation(value = "更新是否有静态信息状态[zhaops]",
             notes = "type: 术语类型<br>" +
                     "name: 标准术语名称<br>" +
@@ -36,4 +37,11 @@ public class StaticKnowledgeController {
         Boolean data = staticKnowledgeFacade.updateHasInfoStatus(hasStaticKnowledgeVO);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "批量更新静态信息状态[kwz]")
+    @PostMapping("/BatchUpdateHasInfoStatus")
+    public RespDTO<Boolean> BatchUpdateHasInfoStatus() {
+        Boolean data = staticKnowledgeFacade.batchUpdateHasInfoStatus();
+        return RespDTO.onSuc(data);
+    }
 }

+ 20 - 0
src/main/resources/mapper/GraphConceptInfoMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.GraphConceptInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.GraphConceptInfo">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="name" property="name" />
+        <result column="type" property="type" />
+        <result column="clinical_pathway_name" property="clinicalPathwayName" />
+        <result column="notice_name" property="noticeName" />
+        <result column="status" property="status" />
+    </resultMap>
+
+</mapper>