Quellcode durchsuchen

科室常用以及保存获取病历时增加医院科室名称

gaodm vor 5 Jahren
Ursprung
Commit
7038e9b9a6

+ 5 - 0
aipt-service/src/main/java/com/diagbot/client/TranServiceClient.java

@@ -5,6 +5,7 @@ import com.diagbot.client.hystrix.TranServiceHystrix;
 import com.diagbot.dto.GetDiseaseIcdDTO;
 import com.diagbot.dto.GetTopPatientInfoDTO;
 import com.diagbot.dto.GetTopPatientInfoDjDTO;
+import com.diagbot.dto.HospitalDeptInfoAllDTO;
 import com.diagbot.dto.HospitalDeptInfoDTO;
 import com.diagbot.dto.IndexDataDTO;
 import com.diagbot.dto.RespDTO;
@@ -13,6 +14,7 @@ import com.diagbot.vo.DiseaseIcdVO;
 import com.diagbot.vo.GetDiseaseIcdVO;
 import com.diagbot.vo.GetTopPatientInfoDjVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
+import com.diagbot.vo.HospitalCodeVo;
 import com.diagbot.vo.HospitalDeptInfoVO;
 import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.IndexDataSaveVO;
@@ -171,4 +173,7 @@ public interface TranServiceClient {
 
     @PostMapping("/sysSet/getSysSetInfoDatas")
     RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid @RequestBody HospitalSetVO hospitalSetVO);
+
+    @PostMapping("/hospitalDeptInfo/getHospitalDeptInfoAll")
+    RespDTO<List<HospitalDeptInfoAllDTO>> getHospitalDeptInfoAll(@RequestBody @Valid HospitalCodeVo hospitalCodeVo);
 }

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

@@ -5,6 +5,7 @@ import com.diagbot.client.bean.HosCodeVO;
 import com.diagbot.dto.GetDiseaseIcdDTO;
 import com.diagbot.dto.GetTopPatientInfoDTO;
 import com.diagbot.dto.GetTopPatientInfoDjDTO;
+import com.diagbot.dto.HospitalDeptInfoAllDTO;
 import com.diagbot.dto.HospitalDeptInfoDTO;
 import com.diagbot.dto.IndexDataDTO;
 import com.diagbot.dto.RespDTO;
@@ -13,6 +14,7 @@ import com.diagbot.vo.DiseaseIcdVO;
 import com.diagbot.vo.GetDiseaseIcdVO;
 import com.diagbot.vo.GetTopPatientInfoDjVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
+import com.diagbot.vo.HospitalCodeVo;
 import com.diagbot.vo.HospitalDeptInfoVO;
 import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.IndexDataSaveVO;
@@ -185,4 +187,10 @@ public class TranServiceHystrix implements TranServiceClient {
         log.error("【hystrix】调用{}异常", "getSysSetInfoDatas");
         return null;
     }
+
+    @Override
+    public RespDTO<List<HospitalDeptInfoAllDTO>> getHospitalDeptInfoAll(@Valid HospitalCodeVo hospitalCodeVo) {
+        log.error("【hystrix】调用{}异常", "getHospitalDeptInfoAll");
+        return null;
+    }
 }

+ 39 - 0
aipt-service/src/main/java/com/diagbot/dto/HospitalDeptInfoAllDTO.java

@@ -0,0 +1,39 @@
+package com.diagbot.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.diagbot.annotation.CryptField;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 14:31
+ */
+@Setter
+@Getter
+public class HospitalDeptInfoAllDTO {
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 朗通科室名称
+     */
+    private String conceptDeptName;
+    /**
+     * 医院科室编码
+     */
+    private String code;
+
+    /**
+     * 医院科室名称
+     */
+    private String name;
+
+
+}

+ 39 - 0
aipt-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -1,11 +1,14 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.client.TranServiceClient;
 import com.diagbot.config.CryptConfiguer;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptRetrievalDTO;
 import com.diagbot.dto.ConceptRetrievalExtDTO;
 import com.diagbot.dto.ConceptWithOrderRes;
+import com.diagbot.dto.HospitalDeptInfoAllDTO;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.dto.UsualDTO;
 import com.diagbot.entity.Concept;
@@ -24,6 +27,7 @@ import com.diagbot.util.CryptUtil;
 import com.diagbot.util.IntegerUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.ParamConvertUtil;
+import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.ConceptBaseVO;
 import com.diagbot.vo.ConceptExistVO;
@@ -31,6 +35,8 @@ import com.diagbot.vo.ConceptFindVO;
 import com.diagbot.vo.ConceptSearchVO;
 import com.diagbot.vo.ConceptUsualVO;
 import com.diagbot.vo.GetStaticKnowledgeVO;
+import com.diagbot.vo.HospitalCodeVo;
+import com.diagbot.vo.HosptDeptUsalVO;
 import com.diagbot.vo.RetrievalVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -55,6 +61,8 @@ public class ConceptFacade extends ConceptServiceImpl {
     CryptConfiguer configuer;
     @Autowired
     KlSymptomFacade klSymptomFacade;
+    @Autowired
+    private TranServiceClient tranServiceClient;
 
     /**
      * 验证存在并且获取概念基本信息
@@ -317,6 +325,37 @@ public class ConceptFacade extends ConceptServiceImpl {
         return res;
     }
 
+    /**
+     * 根据医院科室获取常用标签
+     *
+     * @param hosptDeptUsalVO
+     * @return
+     */
+    public List<ConceptBaseDTO> getHosptDeptUsal(HosptDeptUsalVO hosptDeptUsalVO) {
+        //科室转化
+        HospitalCodeVo hospitalCodeVo = new HospitalCodeVo();
+        hospitalCodeVo.setHospitalCode(hosptDeptUsalVO.getHospitalCode());
+        hospitalCodeVo.setThirdpartyName(hosptDeptUsalVO.getDeptName());
+        RespDTO<List<HospitalDeptInfoAllDTO>> res = tranServiceClient.getHospitalDeptInfoAll(hospitalCodeVo);
+        ConceptUsualVO conceptUsualVO = new ConceptUsualVO();
+        String deptName = "全科";
+        if (RespDTOUtil.respIsOK(res)) {
+            List<HospitalDeptInfoAllDTO> hospitalDeptInfoAllDTOList = res.data;
+            if (ListUtil.isEmpty(hospitalDeptInfoAllDTOList)) {
+                deptName = "全科";
+            } else {
+                deptName = hospitalDeptInfoAllDTOList.get(0).getConceptDeptName();
+            }
+        }
+        if (configuer.cryptFlag) {
+            deptName = CryptUtil.encrypt_char(deptName);
+        }
+        BeanUtil.copyProperties(hosptDeptUsalVO, conceptUsualVO);
+        conceptUsualVO.setDeptName(deptName);
+        List<ConceptBaseDTO> list = getConceptUsual(conceptUsualVO);
+        return list;
+    }
+
 
     /**
      * 概念id检索

+ 20 - 0
aipt-service/src/main/java/com/diagbot/vo/HospitalCodeVo.java

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 14:31
+ */
+@Setter
+@Getter
+public class HospitalCodeVo {
+    @NotNull(message = "请输入医院编码")
+    private String hospitalCode;
+    private String deptInfoName;
+    private String thirdpartyName;
+}

+ 27 - 0
aipt-service/src/main/java/com/diagbot/vo/HosptDeptUsalVO.java

@@ -0,0 +1,27 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/5/7 10:00
+ */
+@Getter
+@Setter
+public class HosptDeptUsalVO {
+    @NotBlank(message = "请输入医院编码")
+    private String hospitalCode;
+    @NotBlank(message = "请输入医院科室名称")
+    private String deptName;
+    @NotNull(message = "请输入病人年龄")
+    private Integer age;
+    @NotNull(message = "请输入病人性别")
+    private Integer sexType;
+    @NotNull(message = "请输入标签类型")
+    private Integer type;
+}

+ 14 - 0
aipt-service/src/main/java/com/diagbot/web/ConceptController.java

@@ -17,6 +17,7 @@ import com.diagbot.vo.ConceptFindVO;
 import com.diagbot.vo.ConceptSearchVO;
 import com.diagbot.vo.ConceptUsualVO;
 import com.diagbot.vo.GetStaticKnowledgeVO;
+import com.diagbot.vo.HosptDeptUsalVO;
 import com.diagbot.vo.RetrievalVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -71,6 +72,19 @@ public class ConceptController {
         return RespDTO.onSuc(data);
     }
 
+    @ApiOperation(value = "知识库标准化-常用标签——根据医院科室获取常用标签[by:gaodm]",
+            notes = "hospitalCode:医院编码<br>" +
+                    "deptName:医院科室名称<br>" +
+                    "age:年龄<br>" +
+                    "sexType: 性别<br>" +
+                    "type:类型(1:症状 3:其他史 4:查体,5:化验 6:辅检 7:诊断),必填<br>")
+    @PostMapping("/getHosptDeptUsal")
+    @SysLogger("getHosptDeptUsal")
+    public RespDTO<List<ConceptBaseDTO>> getHosptDeptUsal(@RequestBody @Valid HosptDeptUsalVO hosptDeptUsalVO) {
+        List<ConceptBaseDTO> data = conceptFacade.getHosptDeptUsal(hosptDeptUsalVO);
+        return RespDTO.onSuc(data);
+    }
+
     /**
      * 根据概念Id列表获取概念列表Map
      *

+ 11 - 0
data-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -4,6 +4,7 @@ import com.diagbot.biz.push.vo.SearchVO;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ScaleContent;
 import com.diagbot.client.hystrix.AiptServiceHystrix;
+import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptIntroduceDTO;
 import com.diagbot.dto.DictionaryInfoDTO;
 import com.diagbot.dto.DisclaimerInformationDTO;
@@ -15,6 +16,7 @@ import com.diagbot.dto.VersionWrapperDTO;
 import com.diagbot.vo.ConceptIntroduceVO;
 import com.diagbot.vo.DisclaimerInformationVO;
 import com.diagbot.vo.GetStaticKnowledgeVO;
+import com.diagbot.vo.HosptDeptUsalVO;
 import com.diagbot.vo.PushSetVO;
 import com.diagbot.vo.VersionVO;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -122,4 +124,13 @@ public interface AiptServiceClient {
      */
     @PostMapping(value = "/dictionaryInfo/getList")
     RespDTO<Map<Long, List<DictionaryInfoDTO>>> getList();
+
+    /**
+     * 根据医院科室获取常用标签
+     *
+     * @param hosptDeptUsalVO
+     * @return
+     */
+    @PostMapping(value = "/concept/getHosptDeptUsal")
+    RespDTO<List<ConceptBaseDTO>> getHosptDeptUsal(@RequestBody @Valid HosptDeptUsalVO hosptDeptUsalVO);
 }

+ 8 - 0
data-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -4,6 +4,7 @@ import com.diagbot.biz.push.vo.SearchVO;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ScaleContent;
+import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptIntroduceDTO;
 import com.diagbot.dto.DictionaryInfoDTO;
 import com.diagbot.dto.DisclaimerInformationDTO;
@@ -15,6 +16,7 @@ import com.diagbot.dto.VersionWrapperDTO;
 import com.diagbot.vo.ConceptIntroduceVO;
 import com.diagbot.vo.DisclaimerInformationVO;
 import com.diagbot.vo.GetStaticKnowledgeVO;
+import com.diagbot.vo.HosptDeptUsalVO;
 import com.diagbot.vo.PushSetVO;
 import com.diagbot.vo.VersionVO;
 import lombok.extern.slf4j.Slf4j;
@@ -155,4 +157,10 @@ public class AiptServiceHystrix implements AiptServiceClient {
         log.error("【hystrix】调用{}异常", "getList");
         return null;
     }
+
+    @Override
+    public RespDTO<List<ConceptBaseDTO>> getHosptDeptUsal(@RequestBody @Valid HosptDeptUsalVO hosptDeptUsalVO) {
+        log.error("【hystrix】调用{}异常", "getHosptDeptUsal");
+        return null;
+    }
 }

+ 34 - 0
data-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -0,0 +1,34 @@
+package com.diagbot.facade;
+
+import com.diagbot.client.AiptServiceClient;
+import com.diagbot.dto.ConceptBaseDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.util.RespDTOUtil;
+import com.diagbot.vo.HosptDeptUsalVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/2 14:53
+ */
+@Component
+public class ConceptFacade {
+    @Autowired
+    private AiptServiceClient aiptServiceClient;
+
+    /**
+     * 获取提示信息
+     *
+     * @param hosptDeptUsalVO
+     * @return
+     */
+    public List<ConceptBaseDTO> getHosptDeptUsal(HosptDeptUsalVO hosptDeptUsalVO) {
+        RespDTO<List<ConceptBaseDTO>> res = aiptServiceClient.getHosptDeptUsal(hosptDeptUsalVO);
+        RespDTOUtil.respNGDeal(res, "获取科室常用失败");
+        return res.data;
+    }
+}

+ 27 - 0
data-service/src/main/java/com/diagbot/vo/HosptDeptUsalVO.java

@@ -0,0 +1,27 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/5/7 10:00
+ */
+@Getter
+@Setter
+public class HosptDeptUsalVO {
+    @NotBlank(message = "请输入医院编码")
+    private String hospitalCode;
+    @NotBlank(message = "请输入医院科室名称")
+    private String deptName;
+    @NotNull(message = "请输入病人年龄")
+    private Integer age;
+    @NotNull(message = "请输入病人性别")
+    private Integer sexType;
+    @NotNull(message = "请输入标签类型")
+    private Integer type;
+}

+ 1 - 0
data-service/src/main/java/com/diagbot/vo/PushJoinV2VO.java

@@ -12,4 +12,5 @@ import lombok.Setter;
 @Setter
 public class PushJoinV2VO extends PushJoinVO {
     private String mode;
+    private String deptName;
 }

+ 44 - 0
data-service/src/main/java/com/diagbot/web/ConceptController.java

@@ -0,0 +1,44 @@
+package com.diagbot.web;
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.ConceptBaseDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.ConceptFacade;
+import com.diagbot.vo.HosptDeptUsalVO;
+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;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/2 14:52
+ */
+@RestController
+@RequestMapping("/concept")
+@Api(value = "科室常用相关API", tags = { "数据服务模式-科室常用相关API" })
+@SuppressWarnings("unchecked")
+public class ConceptController {
+    @Autowired
+    private ConceptFacade conceptFacade;
+
+    @ApiOperation(value = "知识库标准化-常用标签——根据医院科室获取常用标签[by:gaodm]",
+            notes = "hospitalCode:医院编码<br>" +
+                    "deptName:医院科室名称<br>" +
+                    "age:年龄<br>" +
+                    "sexType: 性别<br>" +
+                    "type:类型(1:症状 3:其他史 4:查体,5:化验 6:辅检 7:诊断),必填<br>")
+    @PostMapping("/getHosptDeptUsal")
+    @SysLogger("getHosptDeptUsal")
+    public RespDTO<List<ConceptBaseDTO>> getHosptDeptUsal(@RequestBody @Valid HosptDeptUsalVO hosptDeptUsalVO) {
+        List<ConceptBaseDTO> data = conceptFacade.getHosptDeptUsal(hosptDeptUsalVO);
+        return RespDTO.onSuc(data);
+    }
+}

+ 1 - 0
tran-service/src/main/java/com/diagbot/vo/PushJoinV2VO.java

@@ -12,4 +12,5 @@ import lombok.Setter;
 @Setter
 public class PushJoinV2VO extends PushJoinVO {
     private String mode;
+    private String deptName;
 }