Browse Source

知识库经典病例搜索功能+后台代码迁移

xiewei 10 months ago
parent
commit
38891b58bb

+ 38 - 1
src/main/java/com/diagbot/client/CdssCoreClient.java

@@ -77,7 +77,7 @@ public interface CdssCoreClient {
      * @return
      * @return
      */
      */
     @PostMapping("/retrieval/classicCaseIndex")
     @PostMapping("/retrieval/classicCaseIndex")
-            RespDTO<List<ClassicCaseIndexDTO>> classicCaseIndex(@RequestBody @Valid StaticKnowledgeIndexVO staticKnowledgeIndexVO);
+    RespDTO<List<ClassicCaseIndexDTO>> classicCaseIndex(@RequestBody @Valid StaticKnowledgeIndexVO staticKnowledgeIndexVO);
 
 
     /**
     /**
      * 术语关联医学术语检索
      * 术语关联医学术语检索
@@ -160,6 +160,14 @@ public interface CdssCoreClient {
     @PostMapping("/kl/conceptStatic/getPage")
     @PostMapping("/kl/conceptStatic/getPage")
     RespDTO<Page<KlConceptStaticDTO>> getPage(@Valid @RequestBody KlConceptStaticPageVO klConceptStaticPageVO);
     RespDTO<Page<KlConceptStaticDTO>> getPage(@Valid @RequestBody KlConceptStaticPageVO klConceptStaticPageVO);
 
 
+    /**
+     * 分页查询经典病例
+     *
+     * @param klClassicCasePageVO
+     * @return
+     */
+    @PostMapping("/kl/conceptStatic/getClassicCase")
+    RespDTO<Page<KlClassicCaseDTO>> getClassicCase(@Valid @RequestBody KlClassicCasePageVO klClassicCasePageVO);
 
 
     /**
     /**
      * 静态知识检索(分页返回)
      * 静态知识检索(分页返回)
@@ -178,6 +186,16 @@ public interface CdssCoreClient {
      */
      */
     @PostMapping("/kl/conceptStatic/saveOrUpdateRecord")
     @PostMapping("/kl/conceptStatic/saveOrUpdateRecord")
     RespDTO<Boolean> saveOrUpdateRecord(@Valid @RequestBody KlConceptStaticVO klConceptStaticVO);
     RespDTO<Boolean> saveOrUpdateRecord(@Valid @RequestBody KlConceptStaticVO klConceptStaticVO);
+
+    /**
+     * 保存经典病例
+     *
+     * @param klClassicCaseVO
+     * @return
+     */
+    @PostMapping("/kl/conceptStatic/saveOrUpdateCase")
+    RespDTO<Boolean> saveOrUpdateCase(@Valid @RequestBody KlClassicCaseVO klClassicCaseVO);
+
     /**
     /**
      * 静态知识启用禁用
      * 静态知识启用禁用
      *
      *
@@ -187,6 +205,15 @@ public interface CdssCoreClient {
     @PostMapping("/kl/conceptStatic/changeStatus")
     @PostMapping("/kl/conceptStatic/changeStatus")
     RespDTO<Boolean> changeStatus(@Valid @RequestBody ChangeStatusVO changeStatusVO);
     RespDTO<Boolean> changeStatus(@Valid @RequestBody ChangeStatusVO changeStatusVO);
 
 
+    /**
+     * 经典病例启用禁用
+     *
+     * @param changeStatusVO
+     * @return
+     */
+    @PostMapping("/kl/conceptStatic/changeCaseStatus")
+    RespDTO<Boolean> changeCaseStatus(@Valid @RequestBody ChangeStatusVO changeStatusVO);
+
     /**
     /**
      * 根据id获取静态知识
      * 根据id获取静态知识
      *
      *
@@ -195,6 +222,16 @@ public interface CdssCoreClient {
      */
      */
     @PostMapping("/kl/conceptStatic/getRecordById")
     @PostMapping("/kl/conceptStatic/getRecordById")
     RespDTO<KlConceptStaticDTO> getRecordById(@Valid @RequestBody IdVO idVO);
     RespDTO<KlConceptStaticDTO> getRecordById(@Valid @RequestBody IdVO idVO);
+
+    /**
+     * 根据id获取经典病例
+     *
+     * @param idVO
+     * @return
+     */
+    @PostMapping("/kl/conceptStatic/getCaseById")
+    RespDTO<KlClassicCaseDTO> getCaseById(@Valid @RequestBody IdVO idVO);
+
     /**
     /**
      * 静态知识是否已存在
      * 静态知识是否已存在
      *
      *

+ 48 - 0
src/main/java/com/diagbot/client/hystrix/CdssCoreHystrix.java

@@ -210,6 +210,18 @@ public class CdssCoreHystrix implements CdssCoreClient {
         return null;
         return null;
     }
     }
 
 
+    /**
+     * 分页查询
+     *
+     * @param klClassicCasePageVO
+     * @return
+     */
+    @Override
+    public RespDTO<Page<KlClassicCaseDTO>> getClassicCase(@Valid @RequestBody KlClassicCasePageVO klClassicCasePageVO) {
+        log.error("【hystrix】调用{}异常", "getClassicCase");
+        return null;
+    }
+
     /**
     /**
      * 静态知识检索(分页返回)
      * 静态知识检索(分页返回)
      *
      *
@@ -234,6 +246,18 @@ public class CdssCoreHystrix implements CdssCoreClient {
         return null;
         return null;
     }
     }
 
 
+    /**
+     * 保存经典病例
+     *
+     * @param klClassicCaseVO
+     * @return
+     */
+    @Override
+    public RespDTO<Boolean> saveOrUpdateCase(@Valid @RequestBody KlClassicCaseVO klClassicCaseVO) {
+        log.error("【hystrix】调用{}异常", "saveOrUpdateCase");
+        return null;
+    }
+
     /**
     /**
      * 静态知识启用禁用
      * 静态知识启用禁用
      *
      *
@@ -246,6 +270,18 @@ public class CdssCoreHystrix implements CdssCoreClient {
         return null;
         return null;
     }
     }
 
 
+    /**
+     * 经典病例启用禁用
+     *
+     * @param changeStatusVO
+     * @return
+     */
+    @Override
+    public RespDTO<Boolean> changeCaseStatus(@Valid @RequestBody ChangeStatusVO changeStatusVO) {
+        log.error("【hystrix】调用{}异常", "changeCaseStatus");
+        return null;
+    }
+
     /**
     /**
      * 根据id获取静态知识
      * 根据id获取静态知识
      *
      *
@@ -258,6 +294,18 @@ public class CdssCoreHystrix implements CdssCoreClient {
         return null;
         return null;
     }
     }
 
 
+    /**
+     * 根据id获取经典病例
+     *
+     * @param idVO
+     * @return
+     */
+    @Override
+    public RespDTO<KlClassicCaseDTO> getCaseById(@Valid @RequestBody IdVO idVO) {
+        log.error("【hystrix】调用{}异常", "getCaseById");
+        return null;
+    }
+
     /**
     /**
      * 静态知识是否已存在
      * 静态知识是否已存在
      *
      *

+ 5 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -99,15 +99,20 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/demo/retrieval/diseaseIndex").permitAll()
                 .antMatchers("/demo/retrieval/diseaseIndex").permitAll()
                 .antMatchers("/kl/conceptInfo/staticKnowledgeIndex").permitAll()
                 .antMatchers("/kl/conceptInfo/staticKnowledgeIndex").permitAll()
                 .antMatchers("/kl/conceptInfo/staticKnowledgeIndexWithoutInfo").permitAll()
                 .antMatchers("/kl/conceptInfo/staticKnowledgeIndexWithoutInfo").permitAll()
+                .antMatchers("/kl/conceptInfo/classicCaseIndexWithoutInfo").permitAll()
                 .antMatchers("/kl/conceptInfo/getStaticKnowledge").permitAll()
                 .antMatchers("/kl/conceptInfo/getStaticKnowledge").permitAll()
                 .antMatchers("/kl/conceptInfo/getStaticKnowledgeForHIS").permitAll()
                 .antMatchers("/kl/conceptInfo/getStaticKnowledgeForHIS").permitAll()
                 .antMatchers("/kl/conceptInfo/isExistForHIS").permitAll()
                 .antMatchers("/kl/conceptInfo/isExistForHIS").permitAll()
                 .antMatchers("/kl/conceptInfo/getPage").permitAll()
                 .antMatchers("/kl/conceptInfo/getPage").permitAll()
+                .antMatchers("/kl/conceptInfo/getClassicCase").permitAll()
                 .antMatchers("/kl/conceptInfo/staticIndexPage").permitAll()
                 .antMatchers("/kl/conceptInfo/staticIndexPage").permitAll()
                 //.antMatchers("/kl/conceptInfo/saveOrUpdateRecord").permitAll()
                 //.antMatchers("/kl/conceptInfo/saveOrUpdateRecord").permitAll()
+                .antMatchers("/kl/conceptInfo/saveOrUpdateCase").permitAll()
                 //.antMatchers("/kl/conceptInfo/changeStatus").permitAll()
                 //.antMatchers("/kl/conceptInfo/changeStatus").permitAll()
+                .antMatchers("/kl/conceptInfo/changeCaseStatus").permitAll()
                 .antMatchers("/kl/conceptInfo/isExist").permitAll()
                 .antMatchers("/kl/conceptInfo/isExist").permitAll()
                 .antMatchers("/kl/conceptInfo/getRecordById").permitAll()
                 .antMatchers("/kl/conceptInfo/getRecordById").permitAll()
+                .antMatchers("/kl/conceptInfo/getCaseById").permitAll()
                 .antMatchers("/kl/conceptInfo/updateHasInfoStatusBatch").permitAll()
                 .antMatchers("/kl/conceptInfo/updateHasInfoStatusBatch").permitAll()
                 .antMatchers("/sys/planDetail/getPlanDetailDatas").permitAll()
                 .antMatchers("/sys/planDetail/getPlanDetailDatas").permitAll()
                 //.antMatchers("/sys/planDetail/savePlanDetails").permitAll()
                 //.antMatchers("/sys/planDetail/savePlanDetails").permitAll()

+ 4 - 3
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -140,18 +140,19 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/demo/retrieval/index", request)
                 || matchers("/demo/retrieval/index", request)
                 || matchers("/demo/retrieval/diseaseIndex", request)
                 || matchers("/demo/retrieval/diseaseIndex", request)
                 || matchers("/kl/conceptInfo/staticKnowledgeIndex", request)
                 || matchers("/kl/conceptInfo/staticKnowledgeIndex", request)
-                || matchers("/kl/conceptInfo/classicCaseIndex", request)
                 || matchers("/kl/conceptInfo/staticKnowledgeIndexWithoutInfo", request)
                 || matchers("/kl/conceptInfo/staticKnowledgeIndexWithoutInfo", request)
+                || matchers("/kl/conceptInfo/classicCaseIndexWithoutInfo", request)
                 || matchers("/kl/conceptInfo/getStaticKnowledge", request)
                 || matchers("/kl/conceptInfo/getStaticKnowledge", request)
                 || matchers("/kl/conceptInfo/getClassicCaseInfo", request)
                 || matchers("/kl/conceptInfo/getClassicCaseInfo", request)
                 || matchers("/kl/conceptInfo/getStaticKnowledgeForHIS", request)
                 || matchers("/kl/conceptInfo/getStaticKnowledgeForHIS", request)
                 || matchers("/kl/conceptInfo/isExistForHIS", request)
                 || matchers("/kl/conceptInfo/isExistForHIS", request)
                 || matchers("/kl/conceptInfo/getPage", request)
                 || matchers("/kl/conceptInfo/getPage", request)
+                || matchers("/kl/conceptInfo/getClassicCase", request)
                 || matchers("/kl/conceptInfo/staticIndexPage", request)
                 || matchers("/kl/conceptInfo/staticIndexPage", request)
                 //|| matchers("/kl/conceptInfo/saveOrUpdateRecord", request)
                 //|| matchers("/kl/conceptInfo/saveOrUpdateRecord", request)
-                || matchers("/kl/conceptInfo/updateCase", request)
-                || matchers("/kl/conceptInfo/saveCase", request)
+                || matchers("/kl/conceptInfo/saveOrUpdateCase", request)
                 //|| matchers("/kl/conceptInfo/changeStatus", request)
                 //|| matchers("/kl/conceptInfo/changeStatus", request)
+                || matchers("/kl/conceptInfo/changeCaseStatus", request)
                 || matchers("/kl/conceptInfo/isExist", request)
                 || matchers("/kl/conceptInfo/isExist", request)
                 || matchers("/kl/conceptInfo/getRecordById", request)
                 || matchers("/kl/conceptInfo/getRecordById", request)
                 || matchers("/kl/conceptInfo/getCaseById", request)
                 || matchers("/kl/conceptInfo/getCaseById", request)

+ 0 - 87
src/main/java/com/diagbot/entity/wrapper/MappingCaseWrapper.java

@@ -1,87 +0,0 @@
-package com.diagbot.entity.wrapper;
-
-import com.diagbot.entity.MappingConfig;
-import com.diagbot.util.StringUtil;
-import io.swagger.models.auth.In;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-/**
- * @Description:
- * @Author:zhaops
- * @time: 2021/6/10 19:27
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class MappingCaseWrapper extends MappingConfig {
-    private String uniqueName;
-    private Integer status;
-    private Integer formStatus;
-    private Integer age;
-    private String sex;
-    private String dept;
-    //病例标题
-    private String title;
-    private String chief;
-    private String present;
-    private String pasts;
-    private String personal;
-    private String family;
-    private String marital;
-    private String vital;
-    private String lis;
-    private String pacs;
-    //西医诊断
-    private String diag;
-    //中医诊断
-    private String tcmdiag;
-    //医嘱
-    private String drug;
-
-
-   /* @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        MappingConfigWrapper mappingConfigWrapper = (MappingConfigWrapper) o;
-        return super.equals(o)
-                && Objects.equals(uniqueName, mappingConfigWrapper.uniqueName)
-                && Objects.equals(form, mappingConfigWrapper.form)
-                && Objects.equals(code, mappingConfigWrapper.code);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(uniqueName, form, code) + super.hashCode();
-    }*/
-
-    public static boolean nonNull(MappingCaseWrapper o) {
-        return !(o == null
-                || (StringUtil.isBlank(o.uniqueName)
-                && o.status == null
-                && o.formStatus == null
-                && o.age == null
-                && StringUtil.isBlank(o.sex)
-                && StringUtil.isBlank(o.dept)
-                && StringUtil.isBlank(o.title)
-                && StringUtil.isBlank(o.chief)
-                && StringUtil.isBlank(o.present)
-                && StringUtil.isBlank(o.pasts)
-                && StringUtil.isBlank(o.personal)
-                && StringUtil.isBlank(o.family)
-                && StringUtil.isBlank(o.marital)
-                && StringUtil.isBlank(o.vital)
-                && StringUtil.isBlank(o.lis)
-                && StringUtil.isBlank(o.pacs)
-                && StringUtil.isBlank(o.diag)
-                && StringUtil.isBlank(o.tcmdiag)
-                && StringUtil.isBlank(o.drug)))
-                || MappingConfig.nonNull(o);
-    }
-}

+ 113 - 0
src/main/java/com/diagbot/facade/KlConceptStaticFacade.java

@@ -92,6 +92,28 @@ public class KlConceptStaticFacade {
         return retList;
         return retList;
     }
     }
 
 
+    /**
+     * 经典病例检索
+     *
+     * @param staticKnowledgeIndexVO
+     * @return
+     */
+    public List<ClassicCaseIndexDTO> classicCaseIndex(StaticKnowledgeIndexVO staticKnowledgeIndexVO) {
+        List<ClassicCaseIndexDTO> retList = Lists.newLinkedList();
+
+        RespDTO<List<ClassicCaseIndexDTO>> respDTO = cdssCoreClient.classicCaseIndex(staticKnowledgeIndexVO);
+        if (RespDTOUtil.respIsOK(respDTO)) {
+            retList = respDTO.data;
+        } else {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, respDTO.msg);
+        }
+
+        if (staticKnowledgeIndexVO.getHasInfo() != null && staticKnowledgeIndexVO.getHasInfo().equals(1)) {
+            retList = retList.stream().filter(i -> i.getStatus().equals(1)).collect(Collectors.toList());
+        }
+        return retList;
+    }
+
     /**
     /**
      * 获取静态知识
      * 获取静态知识
      *
      *
@@ -219,6 +241,40 @@ public class KlConceptStaticFacade {
         return page;
         return page;
     }
     }
 
 
+    /**
+     * 经典病例分页查询
+     *
+     * @param klClassicCasePageVO
+     * @return
+     */
+    public IPage<KlClassicCaseDTO> getClassicCase(KlClassicCasePageVO klClassicCasePageVO) {
+        Page<KlClassicCaseDTO> page = null;
+        RespDTO<Page<KlClassicCaseDTO>> respDTO = cdssCoreClient.getClassicCase(klClassicCasePageVO);
+        if (RespDTOUtil.respIsOK(respDTO)) {
+            page = respDTO.data;
+        } else {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, respDTO.msg);
+        }
+        List<KlClassicCaseDTO> records = page.getRecords();
+        List<String> userIds = records.stream().map(KlClassicCaseDTO::getModifier)
+                .distinct()
+                .collect(Collectors.toList());
+        RespDTO<Map<String, String>> userRespDTO = RespDTO.onSuc(sysUserFacade.getUserInfoByIds(userIds));
+        if (RespDTOUtil.respIsNG(userRespDTO)) {
+            return page;
+        }
+        Map<String, String> userMap = userRespDTO.data;
+        records.forEach(record -> {
+            if (userMap.containsKey(record.getModifier())) {
+                record.setModifier(userMap.get(record.getModifier()));
+            } else {
+                record.setModifier("");
+            }
+        });
+        page.setRecords(records);
+        return page;
+    }
+
     /**
     /**
      * 分页查询
      * 分页查询
      *
      *
@@ -257,6 +313,26 @@ public class KlConceptStaticFacade {
         return success;
         return success;
     }
     }
 
 
+    /**
+     * 保存病例(新增or修改)
+     *
+     * @param klClassicCaseVO
+     * @return
+     */
+    public Boolean saveOrUpdateCase(KlClassicCaseVO klClassicCaseVO) {
+        String userId = UserUtils.getCurrentPrincipleID();
+        klClassicCaseVO.setUserId(Long.valueOf(userId));
+
+        Boolean success = false;
+        RespDTO<Boolean> respDTO = cdssCoreClient.saveOrUpdateCase(klClassicCaseVO);
+        if (RespDTOUtil.respIsOK(respDTO)) {
+            success = respDTO.data;
+        } else {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, respDTO.msg);
+        }
+        return success;
+    }
+
     /**
     /**
      * 启用禁用
      * 启用禁用
      *
      *
@@ -277,6 +353,26 @@ public class KlConceptStaticFacade {
         return success;
         return success;
     }
     }
 
 
+    /**
+     * 经典病例启用禁用
+     *
+     * @param changeStatusVO
+     * @return
+     */
+    public Boolean changeCaseStatus(ChangeStatusVO changeStatusVO) {
+        String userId = UserUtils.getCurrentPrincipleID();
+        changeStatusVO.setUserId(Long.valueOf(userId));
+
+        Boolean success = false;
+        RespDTO<Boolean> respDTO = cdssCoreClient.changeCaseStatus(changeStatusVO);
+        if (RespDTOUtil.respIsOK(respDTO)) {
+            success = respDTO.data;
+        } else {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, respDTO.msg);
+        }
+        return success;
+    }
+
     /**
     /**
      * 根据术语id获取静态信息
      * 根据术语id获取静态信息
      *
      *
@@ -294,6 +390,23 @@ public class KlConceptStaticFacade {
         return klConceptStaticDTO;
         return klConceptStaticDTO;
     }
     }
 
 
+    /**
+     * 根据经典病例id获取病例信息
+     *
+     * @param idVO
+     * @return
+     */
+    public KlClassicCaseDTO getCaseById(IdVO idVO) {
+        KlClassicCaseDTO klClassicCaseDTO = new KlClassicCaseDTO();
+        RespDTO<KlClassicCaseDTO> respDTO = cdssCoreClient.getCaseById(idVO);
+        if (RespDTOUtil.respIsOK(respDTO)) {
+            klClassicCaseDTO = respDTO.data;
+        } else {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, respDTO.msg);
+        }
+        return klClassicCaseDTO;
+    }
+
     /**
     /**
      * 是否已存在
      * 是否已存在
      *
      *

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

@@ -32,8 +32,10 @@ import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * @Description: 用户业务层
  * @Description: 用户业务层
@@ -266,4 +268,25 @@ public class SysUserFacade extends SysUserServiceImpl {
         return res;
         return res;
     }
     }
 
 
+    /**
+     * 根据用户ID列表获取用户数据
+     *
+     * @param ids 用户ID列表
+     * @return 用户名信息列表
+     */
+    public Map<String, String> getUserInfoByIds(List<String> ids) {
+        List<Long> longList
+                = ids.stream().map(r -> Long.valueOf(r)).distinct().collect(Collectors.toList());
+
+        Map<String, String> map = new HashMap<>();
+        if (ListUtil.isNotEmpty(longList)) {
+            List<SysUser> userList = this.getByIds(longList);
+            if (ListUtil.isNotEmpty(userList)) {
+                map = userList.stream()
+                        .collect(Collectors.toMap(k -> k.getId().toString(), v -> v.getLinkman()));
+            }
+        }
+        return map;
+    }
+
 }
 }

+ 4 - 0
src/main/java/com/diagbot/mapper/SysUserMapper.java

@@ -3,6 +3,8 @@ package com.diagbot.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.diagbot.entity.SysUser;
 import com.diagbot.entity.SysUser;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 系统用户表 Mapper 接口
  * 系统用户表 Mapper 接口
@@ -12,4 +14,6 @@ import com.diagbot.entity.SysUser;
  * @since 2020-04-09
  * @since 2020-04-09
  */
  */
 public interface SysUserMapper extends BaseMapper<SysUser> {
 public interface SysUserMapper extends BaseMapper<SysUser> {
+
+    public List<SysUser> getByIds(List<Long> ids);
 }
 }

+ 5 - 0
src/main/java/com/diagbot/service/SysUserService.java

@@ -3,6 +3,8 @@ package com.diagbot.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.entity.SysUser;
 import com.diagbot.entity.SysUser;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 系统用户表 服务类
  * 系统用户表 服务类
@@ -12,4 +14,7 @@ import com.diagbot.entity.SysUser;
  * @since 2020-04-09
  * @since 2020-04-09
  */
  */
 public interface SysUserService extends IService<SysUser> {
 public interface SysUserService extends IService<SysUser> {
+
+    public List<SysUser> getByIds(List<Long> ids);
+
 }
 }

+ 7 - 0
src/main/java/com/diagbot/service/impl/SysUserServiceImpl.java

@@ -6,6 +6,8 @@ import com.diagbot.mapper.SysUserMapper;
 import com.diagbot.service.SysUserService;
 import com.diagbot.service.SysUserService;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 系统用户表 服务实现类
  * 系统用户表 服务实现类
@@ -16,4 +18,9 @@ import org.springframework.stereotype.Service;
  */
  */
 @Service
 @Service
 public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
 public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
+
+    @Override
+    public List<SysUser> getByIds(List<Long> ids) {
+        return baseMapper.getByIds(ids);
+    }
 }
 }

+ 33 - 0
src/main/java/com/diagbot/vo/KlClassicCasePageVO.java

@@ -0,0 +1,33 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/2/24 13:41
+ */
+@Getter
+@Setter
+public class KlClassicCasePageVO extends Page {
+    /**
+     * 标准术语
+     */
+    private String name;
+    /**
+     * 术语类型
+     */
+    private Integer type;
+    /**
+     * 术语类型
+     */
+    @ApiModelProperty(hidden = true)
+    private String typeName;
+    /**
+     * 启用状态
+     */
+    private Integer status;
+}

+ 58 - 8
src/main/java/com/diagbot/web/ConceptInfoController.java

@@ -6,14 +6,7 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.*;
 import com.diagbot.dto.*;
 import com.diagbot.facade.ConceptInfoFacade;
 import com.diagbot.facade.ConceptInfoFacade;
 import com.diagbot.facade.KlConceptStaticFacade;
 import com.diagbot.facade.KlConceptStaticFacade;
-import com.diagbot.vo.ChangeStatusVO;
-import com.diagbot.vo.IdVO;
-import com.diagbot.vo.KlConceptStaticPageVO;
-import com.diagbot.vo.KlConceptStaticVO;
-import com.diagbot.vo.StaticKnowledgeHISVO;
-import com.diagbot.vo.StaticKnowledgeIndexPageVO;
-import com.diagbot.vo.StaticKnowledgeIndexVO;
-import com.diagbot.vo.StaticKnowledgeVO;
+import com.diagbot.vo.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import jdk.nashorn.internal.ir.annotations.Ignore;
 import jdk.nashorn.internal.ir.annotations.Ignore;
@@ -70,6 +63,17 @@ public class ConceptInfoController {
         return RespDTO.onSuc(data);
         return RespDTO.onSuc(data);
     }
     }
 
 
+    @ApiOperation(value = "医学术语检索-新增经典病例",
+            notes = "types: 类型:11-经典病例 <br>" +
+                    "inputStr: 检索内容<br>")
+    @PostMapping("/classicCaseIndexWithoutInfo")
+    @SysLogger("classicCaseIndexWithoutInfo")
+    public RespDTO<List<ClassicCaseIndexDTO>> classicCaseIndexWithoutInfo(@Valid @RequestBody StaticKnowledgeIndexVO staticKnowledgeIndexVO) {
+        staticKnowledgeIndexVO.setHasInfo(0);
+        List<ClassicCaseIndexDTO> data = klConceptStaticFacade.classicCaseIndex(staticKnowledgeIndexVO);
+        return RespDTO.onSuc(data);
+    }
+
     @ApiOperation(value = "页面获取静态知识[zhaops]",
     @ApiOperation(value = "页面获取静态知识[zhaops]",
             notes = "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细项、5-检查、6-检查子项、7-手术和操作、8-量表、9-护理、10-政策法规 <br>" +
             notes = "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细项、5-检查、6-检查子项、7-手术和操作、8-量表、9-护理、10-政策法规 <br>" +
                     "contentTypes: 内容类型(多选):1-静态信息、2-注意事项、3-临床路径、4-治疗方案、5-诊疗指南<br>" +
                     "contentTypes: 内容类型(多选):1-静态信息、2-注意事项、3-临床路径、4-治疗方案、5-诊疗指南<br>" +
@@ -117,6 +121,17 @@ public class ConceptInfoController {
         return RespDTO.onSuc(data);
         return RespDTO.onSuc(data);
     }
     }
 
 
+    @ApiOperation(value = "获取经典病例列表",
+            notes = "type: 类型:11-经典病例 <br>" +
+                    "name: 术语名称<br>" +
+                    "status: 启用状态:1-启用、0-禁用<br>")
+    @PostMapping("/getClassicCase")
+    @SysLogger("getClassicCase")
+    public RespDTO<IPage<KlClassicCaseDTO>> getClassicCase(@Valid @RequestBody KlClassicCasePageVO klClassicCasePageVO) {
+        IPage<KlClassicCaseDTO> data = klConceptStaticFacade.getClassicCase(klClassicCasePageVO);
+        return RespDTO.onSuc(data);
+    }
+
     @ApiOperation(value = "静态知识检索(分页返回)[zhaops]",
     @ApiOperation(value = "静态知识检索(分页返回)[zhaops]",
             notes = "types: 类型(多选):0-全部、1-诊断、2-药品、3-检验、5-检查、6-手术和操作、8-量表、9-护理、10-政策法规 <br>" +
             notes = "types: 类型(多选):0-全部、1-诊断、2-药品、3-检验、5-检查、6-手术和操作、8-量表、9-护理、10-政策法规 <br>" +
                     "inputStr: 检索内容<br>")
                     "inputStr: 检索内容<br>")
@@ -143,6 +158,21 @@ public class ConceptInfoController {
         return RespDTO.onSuc(data);
         return RespDTO.onSuc(data);
     }
     }
 
 
+    @ApiOperation(value = "保存经典病例-新增或修改",
+            notes = "id: id <br>" +
+                    "name: 术语名称 <br>" +
+                    "type: 类型:11-经典病例  <br>" +
+                    "source:数据来源:0-医院端、1-云平台,默认0 <br>" +
+                    "details: 明细<br>" +
+                    "scale:评估量表<br>")
+    @PostMapping("/saveOrUpdateCase")
+    @SysLogger("saveOrUpdateCase")
+    @Transactional
+    public RespDTO<Boolean> saveOrUpdateCase(@Valid @RequestBody KlClassicCaseVO klClassicCaseVO) {
+        Boolean data = klConceptStaticFacade.saveOrUpdateCase(klClassicCaseVO);
+        return RespDTO.onSuc(data);
+    }
+
     @ApiOperation(value = "静态知识启用禁用[zhaops]",
     @ApiOperation(value = "静态知识启用禁用[zhaops]",
             notes = "id: 术语id <br>" +
             notes = "id: 术语id <br>" +
                     "status: 启用状态(0:禁用,1:启用)<br>")
                     "status: 启用状态(0:禁用,1:启用)<br>")
@@ -154,6 +184,17 @@ public class ConceptInfoController {
         return RespDTO.onSuc(data);
         return RespDTO.onSuc(data);
     }
     }
 
 
+    @ApiOperation(value = "经典病例启用禁用",
+            notes = "id: 术语id <br>" +
+                    "status: 启用状态:1-启用、0-禁用<br>")
+    @PostMapping("/changeCaseStatus")
+    @SysLogger("changeCaseStatus")
+    @Transactional
+    public RespDTO<Boolean> changeCaseStatus(@Valid @RequestBody ChangeStatusVO changeStatusVO) {
+        Boolean data = klConceptStaticFacade.changeCaseStatus(changeStatusVO);
+        return RespDTO.onSuc(data);
+    }
+
     @ApiOperation(value = "静态知识是否存在[zhaops]",
     @ApiOperation(value = "静态知识是否存在[zhaops]",
             notes = "name: 术语名称 <br>" +
             notes = "name: 术语名称 <br>" +
                     "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细项、5-检查、6-检查子项、7-手术和操作、8-量表、9-护理、10-政策法规 <br>")
                     "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细项、5-检查、6-检查子项、7-手术和操作、8-量表、9-护理、10-政策法规 <br>")
@@ -173,6 +214,15 @@ public class ConceptInfoController {
         return RespDTO.onSuc(data);
         return RespDTO.onSuc(data);
     }
     }
 
 
+    @ApiOperation(value = "根据病例id获取病例信息",
+            notes = "id: 病例id <br>")
+    @PostMapping("/getCaseById")
+    @SysLogger("getCaseById")
+    public RespDTO<KlClassicCaseDTO> getCaseById(@Valid @RequestBody IdVO idVO) {
+        KlClassicCaseDTO data = klConceptStaticFacade.getCaseById(idVO);
+        return RespDTO.onSuc(data);
+    }
+
     @ApiOperation(value = "批量更新静态知识标志[zhaops]",
     @ApiOperation(value = "批量更新静态知识标志[zhaops]",
             notes = "")
             notes = "")
     @PostMapping("/updateHasInfoStatusBatch")
     @PostMapping("/updateHasInfoStatusBatch")

+ 9 - 0
src/main/resources/mapper/SysUserMapper.xml

@@ -17,4 +17,13 @@
         <result column="type" property="type"/>
         <result column="type" property="type"/>
         <result column="remark" property="remark"/>
         <result column="remark" property="remark"/>
     </resultMap>
     </resultMap>
+
+    <select id="getByIds" resultMap="BaseResultMap">
+        select u.* from sys_user u where u.is_deleted = 'N' and u.status = 1
+        and u.id in
+        <foreach collection="list" item="ids" open="(" close=")" separator=",">
+            #{ids}
+        </foreach>
+    </select>
+
 </mapper>
 </mapper>