Przeglądaj źródła

ICSS慢病模板

wangyu 6 lat temu
rodzic
commit
40e8156984
18 zmienionych plików z 549 dodań i 8 usunięć
  1. 134 0
      icss-service/src/main/java/com/diagbot/entity/ModuleDeptMapping.java
  2. 134 0
      icss-service/src/main/java/com/diagbot/entity/ModuleDiseaseMapping.java
  3. 10 0
      icss-service/src/main/java/com/diagbot/entity/ModuleInfo.java
  4. 31 0
      icss-service/src/main/java/com/diagbot/facade/ModuleDeptMappingFacade.java
  5. 31 0
      icss-service/src/main/java/com/diagbot/facade/ModuleDiseaseMappingFacade.java
  6. 60 7
      icss-service/src/main/java/com/diagbot/facade/ModuleFacade.java
  7. 16 0
      icss-service/src/main/java/com/diagbot/mapper/ModuleDeptMappingMapper.java
  8. 16 0
      icss-service/src/main/java/com/diagbot/mapper/ModuleDiseaseMappingMapper.java
  9. 16 0
      icss-service/src/main/java/com/diagbot/service/ModuleDeptMappingService.java
  10. 16 0
      icss-service/src/main/java/com/diagbot/service/ModuleDiseaseMappingService.java
  11. 20 0
      icss-service/src/main/java/com/diagbot/service/impl/ModuleDeptMappingServiceImpl.java
  12. 20 0
      icss-service/src/main/java/com/diagbot/service/impl/impl/ModuleDiseaseMappingServiceImpl.java
  13. 6 0
      icss-service/src/main/java/com/diagbot/vo/ModuleVO.java
  14. 17 0
      icss-service/src/main/resources/mapper/ModuleDeptMappingMapper.xml
  15. 17 0
      icss-service/src/main/resources/mapper/ModuleDiseaseMappingMapper.xml
  16. 2 0
      icss-service/src/main/resources/mapper/ModuleInfoMapper.xml
  17. 1 1
      icssman-service/src/main/java/com/diagbot/entity/ModuleInfo.java
  18. 2 0
      icssman-service/src/main/resources/mapper/ModuleInfoMapper.xml

+ 134 - 0
icss-service/src/main/java/com/diagbot/entity/ModuleDeptMapping.java

@@ -0,0 +1,134 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 模板科室映射表
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-03-15
+ */
+@TableName("icss_module_dept_mapping")
+public class ModuleDeptMapping implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 科室id
+     */
+    private Long deptId;
+
+    /**
+     * 模板id
+     */
+    private Long moduleId;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public Long getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptId(Long deptId) {
+        this.deptId = deptId;
+    }
+    public Long getModuleId() {
+        return moduleId;
+    }
+
+    public void setModuleId(Long moduleId) {
+        this.moduleId = moduleId;
+    }
+
+    @Override
+    public String toString() {
+        return "ModuleDeptMapping{" +
+        "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreate=" + gmtCreate +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
+        ", deptId=" + deptId +
+        ", moduleId=" + moduleId +
+        "}";
+    }
+}

+ 134 - 0
icss-service/src/main/java/com/diagbot/entity/ModuleDiseaseMapping.java

@@ -0,0 +1,134 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 模板疾病映射表
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-03-15
+ */
+@TableName("icss_module_disease_mapping")
+public class ModuleDiseaseMapping implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 科室id
+     */
+    private Long disId;
+
+    /**
+     * 模板id
+     */
+    private Long moduleId;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public Long getDisId() {
+        return disId;
+    }
+
+    public void setDisId(Long disId) {
+        this.disId = disId;
+    }
+    public Long getModuleId() {
+        return moduleId;
+    }
+
+    public void setModuleId(Long moduleId) {
+        this.moduleId = moduleId;
+    }
+
+    @Override
+    public String toString() {
+        return "ModuleDiseaseMapping{" +
+        "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreate=" + gmtCreate +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
+        ", disId=" + disId +
+        ", moduleId=" + moduleId +
+        "}";
+    }
+}

+ 10 - 0
icss-service/src/main/java/com/diagbot/entity/ModuleInfo.java

@@ -60,6 +60,16 @@ public class ModuleInfo implements Serializable {
      */
     private String name;
 
+    /**
+     * 类型
+     */
+    private Integer type;
+
+    /**
+     * 慢病
+     */
+    private Long diseaseType;
+
     /**
      * 备注
      */

+ 31 - 0
icss-service/src/main/java/com/diagbot/facade/ModuleDeptMappingFacade.java

@@ -0,0 +1,31 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.ModuleDeptMapping;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.ModuleDeptMappingServiceImpl;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/3/15 9:27
+ */
+@Component
+public class ModuleDeptMappingFacade extends ModuleDeptMappingServiceImpl {
+
+    /**
+     * 根据科室id获取模板id
+     *
+     * @param deptId
+     * @return
+     */
+    public List<ModuleDeptMapping> getModuleIdByDept(Long deptId){
+        QueryWrapper<ModuleDeptMapping> moduleDeptMappingQueryWrapper = new QueryWrapper();
+        moduleDeptMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("dept_id", deptId);
+        return this.list(moduleDeptMappingQueryWrapper);
+    }
+}

+ 31 - 0
icss-service/src/main/java/com/diagbot/facade/ModuleDiseaseMappingFacade.java

@@ -0,0 +1,31 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.ModuleDiseaseMapping;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.impl.ModuleDiseaseMappingServiceImpl;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/3/15 14:20
+ */
+@Component
+public class ModuleDiseaseMappingFacade extends ModuleDiseaseMappingServiceImpl {
+
+    /**
+     * 根据疾病id获取模板id
+     *
+     * @param diseaseId
+     * @return
+     */
+    public List<ModuleDiseaseMapping> getModuleIdByDisease(Long diseaseId){
+        QueryWrapper<ModuleDiseaseMapping> moduleDiseaseMappingQueryWrapper = new QueryWrapper();
+        moduleDiseaseMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("dis_id", diseaseId);
+        return this.list(moduleDiseaseMappingQueryWrapper);
+    }
+}

+ 60 - 7
icss-service/src/main/java/com/diagbot/facade/ModuleFacade.java

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.ModuleDetailDTO;
 import com.diagbot.dto.ModuleInfoDTO;
 import com.diagbot.dto.QuestionDTO;
+import com.diagbot.entity.ModuleDeptMapping;
 import com.diagbot.entity.ModuleDetail;
+import com.diagbot.entity.ModuleDiseaseMapping;
 import com.diagbot.entity.ModuleInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.ModuleInfoServiceImpl;
@@ -35,6 +37,10 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
     ModuleDetailFacade moduleDetailFacade;
     @Autowired
     QuestionFacade questionFacade;
+    @Autowired
+    ModuleDeptMappingFacade moduleDeptMappingFacade;
+    @Autowired
+    ModuleDiseaseMappingFacade moduleDiseaseMappingFacade;
 
     /**
      * 返回所有的模型结构
@@ -43,15 +49,48 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
      */
     public List<ModuleInfoDTO> getAll(ModuleVO moduleVO) {
         List<ModuleInfoDTO> data = new ArrayList<>();
-        QueryWrapper queryWrapper = new QueryWrapper();
-        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
-        queryWrapper.orderByAsc("id");
-        List<ModuleInfo> list = this.list(queryWrapper);
+        //取到所有模板信息
+        List<ModuleInfo> list = new ArrayList<>();
+        List<Long> ids = new ArrayList<>();
+        if(moduleVO.getDiseaseType().intValue() == 1){
+            //科室
+            List<ModuleDeptMapping> moduleDeptMappings = moduleDeptMappingFacade.getModuleIdByDept(moduleVO.getDeptId());
+            if(ListUtil.isNotEmpty(moduleDeptMappings)){
+                list = this.getModuleInfoByDisType(moduleVO.getDiseaseType());
+                ids = moduleDeptMappings.stream()
+                        .map(moduleDeptMapping -> moduleDeptMapping.getModuleId())
+                        .collect(Collectors.toList());
+            }else {
+                list = this.getModuleInfoByDisType(2);
+                ids = list.stream()
+                        .map(moduleInfo -> moduleInfo.getId())
+                        .collect(Collectors.toList());
+            }
+        }else if(moduleVO.getDiseaseType().intValue() == 0){
+            //TODO 慢病
+            //科室
+            List<ModuleDiseaseMapping> moduleDiseaseMappings = moduleDiseaseMappingFacade.getModuleIdByDisease(moduleVO.getDiseaseId());
+            if(ListUtil.isNotEmpty(moduleDiseaseMappings)){
+                list = this.getModuleInfoByDisType(moduleVO.getDiseaseType());
+                ids = moduleDiseaseMappings.stream()
+                        .map(moduleDeptMapping -> moduleDeptMapping.getModuleId())
+                        .collect(Collectors.toList());
+            }else {
+                list = this.getModuleInfoByDisType(2);
+                ids = list.stream()
+                        .map(moduleInfo -> moduleInfo.getId())
+                        .collect(Collectors.toList());
+            }
+        }else {
+            //默认
+            list = this.getModuleInfoByDisType(moduleVO.getDiseaseType());
+            ids = list.stream()
+                    .map(artist -> artist.getId())
+                    .collect(Collectors.toList());
+        }
         data = BeanUtil.listCopyTo(list, ModuleInfoDTO.class);
-        List<Long> ids = data.stream()
-                .map(artist -> artist.getId())
-                .collect(Collectors.toList());
         Map<Long, List<ModuleDetail>> moduleDetailMap = new LinkedHashMap<>();
+        //取到所有模板明细
         if (ListUtil.isNotEmpty(ids)) {
             Map<String, Object> paramMap = new HashMap<>();
             paramMap.put("ids", ids);
@@ -63,6 +102,7 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
             }
 
         }
+        //循环放入模板明细
         for (ModuleInfoDTO bean : data) {
             if (moduleDetailMap.get(bean.getId()) != null) {
                 List<ModuleDetailDTO> moduleDetailDTOList = BeanUtil.listCopyTo(moduleDetailMap.get(bean.getId()), ModuleDetailDTO.class);
@@ -82,4 +122,17 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
         return data;
     }
 
+    /**
+     * 获取相应类型的模板信息
+     *
+     * @param diseaseType
+     * @return
+     */
+    public List<ModuleInfo> getModuleInfoByDisType(Integer diseaseType){
+        QueryWrapper<ModuleInfo> queryWrapper = new QueryWrapper();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("disease_type", diseaseType);
+        queryWrapper.orderByAsc("id");
+        return this.list(queryWrapper);
+    }
 }

+ 16 - 0
icss-service/src/main/java/com/diagbot/mapper/ModuleDeptMappingMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.ModuleDeptMapping;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 模板科室映射表 Mapper 接口
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-03-15
+ */
+public interface ModuleDeptMappingMapper extends BaseMapper<ModuleDeptMapping> {
+
+}

+ 16 - 0
icss-service/src/main/java/com/diagbot/mapper/ModuleDiseaseMappingMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.ModuleDiseaseMapping;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 模板疾病映射表 Mapper 接口
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-03-15
+ */
+public interface ModuleDiseaseMappingMapper extends BaseMapper<ModuleDiseaseMapping> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.ModuleDeptMapping;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 模板科室映射表 服务类
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-03-15
+ */
+public interface ModuleDeptMappingService extends IService<ModuleDeptMapping> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.ModuleDiseaseMapping;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 模板疾病映射表 服务类
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-03-15
+ */
+public interface ModuleDiseaseMappingService extends IService<ModuleDiseaseMapping> {
+
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.ModuleDeptMapping;
+import com.diagbot.mapper.ModuleDeptMappingMapper;
+import com.diagbot.service.ModuleDeptMappingService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 模板科室映射表 服务实现类
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-03-15
+ */
+@Service
+public class ModuleDeptMappingServiceImpl extends ServiceImpl<ModuleDeptMappingMapper, ModuleDeptMapping> implements ModuleDeptMappingService {
+
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl.impl;
+
+import com.diagbot.entity.ModuleDiseaseMapping;
+import com.diagbot.mapper.ModuleDiseaseMappingMapper;
+import com.diagbot.service.ModuleDiseaseMappingService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 模板疾病映射表 服务实现类
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-03-15
+ */
+@Service
+public class ModuleDiseaseMappingServiceImpl extends ServiceImpl<ModuleDiseaseMappingMapper, ModuleDiseaseMapping> implements ModuleDiseaseMappingService {
+
+}

+ 6 - 0
icss-service/src/main/java/com/diagbot/vo/ModuleVO.java

@@ -13,4 +13,10 @@ import lombok.Setter;
 public class ModuleVO {
     private Integer sexType;
     private Integer age;
+    //模板类型
+    private Integer diseaseType;
+    //科室id
+    private Long deptId;
+    //疾病id
+    private Long diseaseId;
 }

+ 17 - 0
icss-service/src/main/resources/mapper/ModuleDeptMappingMapper.xml

@@ -0,0 +1,17 @@
+<?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.ModuleDeptMappingMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.ModuleDeptMapping">
+        <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="dept_id" property="deptId" />
+        <result column="module_id" property="moduleId" />
+    </resultMap>
+
+</mapper>

+ 17 - 0
icss-service/src/main/resources/mapper/ModuleDiseaseMappingMapper.xml

@@ -0,0 +1,17 @@
+<?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.ModuleDiseaseMappingMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.ModuleDiseaseMapping">
+        <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="dis_id" property="disId" />
+        <result column="module_id" property="moduleId" />
+    </resultMap>
+
+</mapper>

+ 2 - 0
icss-service/src/main/resources/mapper/ModuleInfoMapper.xml

@@ -11,6 +11,8 @@
         <result column="creator" property="creator" />
         <result column="modifier" property="modifier" />
         <result column="name" property="name" />
+        <result column="type" property="type" />
+        <result column="disease_type" property="diseaseType" />
         <result column="remark" property="remark" />
     </resultMap>
 

+ 1 - 1
icssman-service/src/main/java/com/diagbot/entity/ModuleInfo.java

@@ -68,7 +68,7 @@ public class ModuleInfo implements Serializable {
     /**
      * 慢病
      */
-    private Long disease;
+    private Long diseaseType;
 
     /**
      * 备注

+ 2 - 0
icssman-service/src/main/resources/mapper/ModuleInfoMapper.xml

@@ -11,6 +11,8 @@
         <result column="creator" property="creator" />
         <result column="modifier" property="modifier" />
         <result column="name" property="name" />
+        <result column="type" property="type" />
+        <result column="disease_type" property="diseaseType" />
         <result column="remark" property="remark" />
     </resultMap>