瀏覽代碼

对接接口(获取icd编码)

wangyu 6 年之前
父節點
當前提交
9a8fd84765

+ 11 - 0
icss-service/src/main/java/com/diagbot/client/TranServiceClient.java

@@ -2,6 +2,7 @@ package com.diagbot.client;
 
 import com.diagbot.client.hystrix.TranServiceHystrix;
 import com.diagbot.dto.DoctorInfoDTO;
+import com.diagbot.dto.GetDiseaseIcdDTO;
 import com.diagbot.dto.GetTopPatientInfoDTO;
 import com.diagbot.dto.HospitalDeptInfoDTO;
 import com.diagbot.dto.HospitalInfoDTO;
@@ -10,6 +11,7 @@ import com.diagbot.dto.PatientInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.TranFieldInfoDTO;
 import com.diagbot.vo.DoctorInfoVO;
+import com.diagbot.vo.GetDiseaseIcdVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
 import com.diagbot.vo.HospitalDeptInfoVO;
 import com.diagbot.vo.HospitalInfoVO;
@@ -91,4 +93,13 @@ public interface TranServiceClient {
      */
     @PostMapping("/tranFieldInfo/getInfoByUuid")
     RespDTO<List<TranFieldInfoDTO>> getInfoByUuid(@RequestBody TranFieldInfoVO tranFieldInfoVO);
+
+    /**
+     * 根据医院编号疾病id获取各医院对应的诊断icd
+     *
+     * @param getDiseaseIcdVO
+     * @return
+     */
+    @PostMapping("/diseaseIcd/getDiseaseIcds")
+    RespDTO<List<GetDiseaseIcdDTO>> getDiseaseIcds(@RequestBody GetDiseaseIcdVO getDiseaseIcdVO);
 }

+ 8 - 0
icss-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java

@@ -2,6 +2,7 @@ package com.diagbot.client.hystrix;
 
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.dto.DoctorInfoDTO;
+import com.diagbot.dto.GetDiseaseIcdDTO;
 import com.diagbot.dto.GetTopPatientInfoDTO;
 import com.diagbot.dto.HospitalDeptInfoDTO;
 import com.diagbot.dto.HospitalInfoDTO;
@@ -10,6 +11,7 @@ import com.diagbot.dto.PatientInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.TranFieldInfoDTO;
 import com.diagbot.vo.DoctorInfoVO;
+import com.diagbot.vo.GetDiseaseIcdVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
 import com.diagbot.vo.HospitalDeptInfoVO;
 import com.diagbot.vo.HospitalInfoVO;
@@ -73,6 +75,12 @@ public class TranServiceHystrix implements TranServiceClient {
         return null;
     }
 
+    @Override
+    public RespDTO<List<GetDiseaseIcdDTO>> getDiseaseIcds(GetDiseaseIcdVO getDiseaseIcdVO) {
+        log.error("【hystrix】调用{}异常", "getDiseaseIcds");
+        return null;
+    }
+
 
 //    @Override
 //    public Response<ResponseData> bayesPageData(SearchData searchData) {

+ 15 - 0
icss-service/src/main/java/com/diagbot/dto/GetDiseaseIcdDTO.java

@@ -0,0 +1,15 @@
+package com.diagbot.dto;
+
+import com.diagbot.entity.DiseaseIcd;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/2/14 14:59
+ */
+@Getter
+@Setter
+public class GetDiseaseIcdDTO extends DiseaseIcd {
+}

+ 170 - 0
icss-service/src/main/java/com/diagbot/entity/DiseaseIcd.java

@@ -0,0 +1,170 @@
+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>
+ * 各医院对应的诊断icd
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-02-14
+ */
+@TableName("tran_disease_icd")
+public class DiseaseIcd 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;
+
+    /**
+     * 医院编码
+     */
+    private String hospitalCode;
+
+    /**
+     * icss疾病名称
+     */
+    private String diseaseName;
+
+    /**
+     * icd编码
+     */
+    private String icd;
+
+    /**
+     * 状态(1:有效)
+     */
+    private String status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    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 String getHospitalCode() {
+        return hospitalCode;
+    }
+
+    public void setHospitalCode(String hospitalCode) {
+        this.hospitalCode = hospitalCode;
+    }
+    public String getDiseaseName() {
+        return diseaseName;
+    }
+
+    public void setDiseaseName(String diseaseName) {
+        this.diseaseName = diseaseName;
+    }
+    public String getIcd() {
+        return icd;
+    }
+
+    public void setIcd(String icd) {
+        this.icd = icd;
+    }
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "DiseaseIcd{" +
+        "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreate=" + gmtCreate +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
+        ", hospitalCode=" + hospitalCode +
+        ", diseaseName=" + diseaseName +
+        ", icd=" + icd +
+        ", status=" + status +
+        ", remark=" + remark +
+        "}";
+    }
+}

+ 40 - 0
icss-service/src/main/java/com/diagbot/facade/DiseaseIcdFacade.java

@@ -0,0 +1,40 @@
+package com.diagbot.facade;
+
+import com.diagbot.client.TranServiceClient;
+import com.diagbot.dto.GetDiseaseIcdDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.vo.GetDiseaseIcdVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/2/14 15:25
+ */
+@Component
+public class DiseaseIcdFacade  {
+
+    @Autowired
+    TranServiceClient tranServiceClient;
+
+    /**
+     * 根据医院编号和诊断ids获取各自的icd编码
+     *
+     * @param getDiseaseIcdVO
+     * @return
+     */
+    public List<GetDiseaseIcdDTO> getDiseaseIcds(GetDiseaseIcdVO getDiseaseIcdVO) {
+        RespDTO<List<GetDiseaseIcdDTO>> getDiseaseIcdsList =  tranServiceClient.getDiseaseIcds(getDiseaseIcdVO);
+        if (getDiseaseIcdsList == null
+                || !CommonErrorCode.OK.getCode().equals(getDiseaseIcdsList.code)) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR,
+                    "获取icd编码失败");
+        }
+        return getDiseaseIcdsList.data;
+    }
+}

+ 18 - 0
icss-service/src/main/java/com/diagbot/vo/GetDiseaseIcdVO.java

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/2/14 14:56
+ */
+@Getter
+@Setter
+public class GetDiseaseIcdVO {
+    //疾病id
+    private String questions;
+    //医院编码
+    private String hospitalCode;
+}

+ 45 - 0
icss-service/src/main/java/com/diagbot/web/DiseaseIcdController.java

@@ -0,0 +1,45 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.GetDiseaseIcdDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.DiseaseIcdFacade;
+import com.diagbot.vo.GetDiseaseIcdVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * <p>
+ * 各医院对应的诊断icd 前端控制器
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-02-14
+ */
+@RestController
+@RequestMapping("/diseaseIcd")
+@Api(value = "对应的诊断icd API", tags = { "对应的诊断icd API" })
+public class DiseaseIcdController {
+    @Autowired
+    DiseaseIcdFacade diseaseIcdFacade;
+
+    @ApiOperation(value = "各医院对应的诊断icd——查询[by:wangyu]",
+            notes = "questions:疾病id,必填<br>" +
+                    "hospitalCode:医院编号,必填<br>")
+    @PostMapping("/getDiseaseIcds")
+    @SysLogger("getDiseaseIcds")
+    /*@ApiIgnore*/
+    public RespDTO<List<GetDiseaseIcdDTO>> getDiseaseIcds(@RequestBody @Valid GetDiseaseIcdVO getDiseaseIcdVO){
+        List<GetDiseaseIcdDTO> data = diseaseIcdFacade.getDiseaseIcds(getDiseaseIcdVO);
+        return RespDTO.onSuc(data);
+    }
+}

+ 15 - 0
tran-service/src/main/java/com/diagbot/dto/GetDiseaseIcdDTO.java

@@ -0,0 +1,15 @@
+package com.diagbot.dto;
+
+import com.diagbot.entity.DiseaseIcd;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/2/14 14:59
+ */
+@Getter
+@Setter
+public class GetDiseaseIcdDTO extends DiseaseIcd {
+}

+ 170 - 0
tran-service/src/main/java/com/diagbot/entity/DiseaseIcd.java

@@ -0,0 +1,170 @@
+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>
+ * 各医院对应的诊断icd
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-02-14
+ */
+@TableName("tran_disease_icd")
+public class DiseaseIcd 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;
+
+    /**
+     * 医院编码
+     */
+    private String hospitalCode;
+
+    /**
+     * icss疾病名称
+     */
+    private String diseaseName;
+
+    /**
+     * icd编码
+     */
+    private String icd;
+
+    /**
+     * 状态(1:有效)
+     */
+    private String status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    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 String getHospitalCode() {
+        return hospitalCode;
+    }
+
+    public void setHospitalCode(String hospitalCode) {
+        this.hospitalCode = hospitalCode;
+    }
+    public String getDiseaseName() {
+        return diseaseName;
+    }
+
+    public void setDiseaseName(String diseaseName) {
+        this.diseaseName = diseaseName;
+    }
+    public String getIcd() {
+        return icd;
+    }
+
+    public void setIcd(String icd) {
+        this.icd = icd;
+    }
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "DiseaseIcd{" +
+        "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreate=" + gmtCreate +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
+        ", hospitalCode=" + hospitalCode +
+        ", diseaseName=" + diseaseName +
+        ", icd=" + icd +
+        ", status=" + status +
+        ", remark=" + remark +
+        "}";
+    }
+}

+ 33 - 0
tran-service/src/main/java/com/diagbot/facade/DiseaseIcdFacade.java

@@ -0,0 +1,33 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.GetDiseaseIcdDTO;
+import com.diagbot.service.impl.DiseaseIcdServiceImpl;
+import com.diagbot.vo.GetDiseaseIcdVO;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/2/14 15:25
+ */
+@Component
+public class DiseaseIcdFacade extends DiseaseIcdServiceImpl {
+
+    /**
+     * 根据医院编号和诊断ids获取各自的icd编码
+     *
+     * @param getDiseaseIcdVO
+     * @return
+     */
+    public List<GetDiseaseIcdDTO> getDiseaseIcds(GetDiseaseIcdVO getDiseaseIcdVO) {
+        Map paramMap = new HashMap<>();
+        paramMap.put("questions", Arrays.asList(getDiseaseIcdVO.getQuestions().split(",")));
+        paramMap.put("hospitalCode", getDiseaseIcdVO.getHospitalCode());
+        return this.getDiseaseIcds(paramMap);
+    }
+}

+ 27 - 0
tran-service/src/main/java/com/diagbot/mapper/DiseaseIcdMapper.java

@@ -0,0 +1,27 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.dto.GetDiseaseIcdDTO;
+import com.diagbot.entity.DiseaseIcd;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 各医院对应的诊断icd Mapper 接口
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-02-14
+ */
+public interface DiseaseIcdMapper extends BaseMapper<DiseaseIcd> {
+
+    /**
+     * 根据医院编号和诊断ids获取icd
+     *
+     * @param map
+     * @return
+     */
+    public List<GetDiseaseIcdDTO> getDiseaseIcds(Map map);
+}

+ 28 - 0
tran-service/src/main/java/com/diagbot/service/DiseaseIcdService.java

@@ -0,0 +1,28 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.GetDiseaseIcdDTO;
+import com.diagbot.entity.DiseaseIcd;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 各医院对应的诊断icd 服务类
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-02-14
+ */
+public interface DiseaseIcdService extends IService<DiseaseIcd> {
+
+    /**
+     * 根据医院编号和诊断ids获取icd
+     *
+     * @param map
+     * @return
+     */
+    public List<GetDiseaseIcdDTO> getDiseaseIcds(Map map);
+
+}

+ 28 - 0
tran-service/src/main/java/com/diagbot/service/impl/DiseaseIcdServiceImpl.java

@@ -0,0 +1,28 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.dto.GetDiseaseIcdDTO;
+import com.diagbot.entity.DiseaseIcd;
+import com.diagbot.mapper.DiseaseIcdMapper;
+import com.diagbot.service.DiseaseIcdService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 各医院对应的诊断icd 服务实现类
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-02-14
+ */
+@Service
+public class DiseaseIcdServiceImpl extends ServiceImpl<DiseaseIcdMapper, DiseaseIcd> implements DiseaseIcdService {
+
+    @Override
+    public List<GetDiseaseIcdDTO> getDiseaseIcds(Map map) {
+        return baseMapper.getDiseaseIcds(map);
+    }
+}

+ 22 - 0
tran-service/src/main/java/com/diagbot/vo/GetDiseaseIcdVO.java

@@ -0,0 +1,22 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/2/14 14:56
+ */
+@Getter
+@Setter
+public class GetDiseaseIcdVO {
+    //疾病id
+    @NotNull(message="疾病id必传")
+    private String questions;
+    //医院编码
+    @NotNull(message="医院编码必传")
+    private String hospitalCode;
+}

+ 46 - 0
tran-service/src/main/java/com/diagbot/web/DiseaseIcdController.java

@@ -0,0 +1,46 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.GetDiseaseIcdDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.DiseaseIcdFacade;
+import com.diagbot.vo.GetDiseaseIcdVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * <p>
+ * 各医院对应的诊断icd 前端控制器
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-02-14
+ */
+@RestController
+@RequestMapping("/diseaseIcd")
+@Api(value = "对应的诊断icd API", tags = { "对应的诊断icd API" })
+public class DiseaseIcdController {
+    @Autowired
+    DiseaseIcdFacade diseaseIcdFacade;
+
+    @ApiOperation(value = "各医院对应的诊断icd——查询[by:wangyu]",
+            notes = "questions:疾病id,必填<br>" +
+                    "hospitalCode:医院编号,必填<br>")
+    @PostMapping("/getDiseaseIcds")
+    @SysLogger("getDiseaseIcds")
+    @ApiIgnore
+    public RespDTO<List<GetDiseaseIcdDTO>> getDiseaseIcds(@RequestBody @Valid GetDiseaseIcdVO getDiseaseIcdVO){
+        List<GetDiseaseIcdDTO> data = diseaseIcdFacade.getDiseaseIcds(getDiseaseIcdVO);
+        return RespDTO.onSuc(data);
+    }
+}

+ 31 - 0
tran-service/src/main/resources/mapper/DiseaseIcdMapper.xml

@@ -0,0 +1,31 @@
+<?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.DiseaseIcdMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.DiseaseIcd">
+        <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="hospital_code" property="hospitalCode" />
+        <result column="disease_name" property="diseaseName" />
+        <result column="icd" property="icd" />
+        <result column="status" property="status" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+    <select id="getDiseaseIcds" resultMap="BaseResultMap" parameterType="java.util.Map">
+        select * from tran_disease_icd t where
+        FIND_IN_SET(#{hospitalCode},hospital_code)
+        and
+        question_id in
+        <foreach item="item" collection="questions" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        and status = '1'
+        and is_deleted = 'N'
+    </select>
+</mapper>