Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/dev/KLBstand' into dev/KLBstand

gaodm 6 rokov pred
rodič
commit
dcbd06cb6b
22 zmenil súbory, kde vykonal 770 pridanie a 44 odobranie
  1. 0 3
      config-server/src/main/resources/shared/triage-service-dev.yml
  2. 0 3
      config-server/src/main/resources/shared/triage-service-local.yml
  3. 0 3
      config-server/src/main/resources/shared/triage-service-pro.yml
  4. 0 3
      config-server/src/main/resources/shared/triage-service-test.yml
  5. 26 0
      tran-service/src/main/java/com/diagbot/dto/IndexDataDTO.java
  6. 220 0
      tran-service/src/main/java/com/diagbot/entity/IndexData.java
  7. 100 0
      tran-service/src/main/java/com/diagbot/facade/IndexDataFacade.java
  8. 26 0
      tran-service/src/main/java/com/diagbot/mapper/IndexDataMapper.java
  9. 23 0
      tran-service/src/main/java/com/diagbot/service/IndexDataService.java
  10. 35 0
      tran-service/src/main/java/com/diagbot/service/impl/IndexDataServiceImpl.java
  11. 20 0
      tran-service/src/main/java/com/diagbot/vo/IndexDataAllVO.java
  12. 33 0
      tran-service/src/main/java/com/diagbot/vo/IndexDataFindVO.java
  13. 34 0
      tran-service/src/main/java/com/diagbot/vo/IndexDataSaveVO.java
  14. 47 0
      tran-service/src/main/java/com/diagbot/vo/IndexDataVO.java
  15. 19 0
      tran-service/src/main/java/com/diagbot/vo/IndexDataiIds.java
  16. 62 0
      tran-service/src/main/java/com/diagbot/web/IndexDataController.java
  17. 80 0
      tran-service/src/main/resources/mapper/IndexDataMapper.xml
  18. 3 3
      triage-service/src/main/java/com/diagbot/client/AIServiceClient.java
  19. 5 0
      triage-service/src/main/java/com/diagbot/client/AiptServiceClient.java
  20. 2 2
      triage-service/src/main/java/com/diagbot/client/hystrix/AIServiceHystrix.java
  21. 9 0
      triage-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java
  22. 26 27
      triage-service/src/main/java/com/diagbot/facade/AIFacade.java

+ 0 - 3
config-server/src/main/resources/shared/triage-service-dev.yml

@@ -94,6 +94,3 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
-ai:
-  server:
-    address: http://192.168.2.234:8080

+ 0 - 3
config-server/src/main/resources/shared/triage-service-local.yml

@@ -94,6 +94,3 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
-ai:
-  server:
-    address: http://192.168.2.234:8080

+ 0 - 3
config-server/src/main/resources/shared/triage-service-pro.yml

@@ -94,6 +94,3 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
-ai:
-  server:
-    address: http://192.168.2.234:8080

+ 0 - 3
config-server/src/main/resources/shared/triage-service-test.yml

@@ -94,6 +94,3 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
-ai:
-  server:
-    address: http://192.168.2.234:8080

+ 26 - 0
tran-service/src/main/java/com/diagbot/dto/IndexDataDTO.java

@@ -0,0 +1,26 @@
+package com.diagbot.dto;
+
+import java.util.Date;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月8日 下午2:54:38
+ */
+@Setter
+@Getter
+public class IndexDataDTO {
+
+	private Long uniqueId;// 指标id
+	private String indexValue;// 指标值
+	private String indexUnit;// 指标单位
+	private Integer isAbnormal;// 是否异常
+	private Date creatTime;// 化验时间
+	private Long patientId;// 患者id
+	private String inquiryCode;// 就诊号
+	private String indexUnique;// 指标名
+}

+ 220 - 0
tran-service/src/main/java/com/diagbot/entity/IndexData.java

@@ -0,0 +1,220 @@
+package com.diagbot.entity;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+ * <p>
+ * 指标数据表
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2019-05-08
+ */
+@TableName("tran_index_data")
+public class IndexData 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 conceptId;
+
+    /**
+     * 指标公表名
+     */
+    private String libName;
+
+    /**
+     * 指标值
+     */
+    private String indexValue;
+
+    /**
+     * 指标单位
+     */
+    private String indexUnit;
+
+    /**
+     * 是否异常
+     */
+    private Integer isAbnormal;
+
+    /**
+     * 化验时间
+     */
+    private Date creatTime;
+
+    /**
+     * 患者id
+     */
+    private Long patientId;
+
+    /**
+     * 就诊号
+     */
+    private String inquiryCode;
+
+    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 Long getConceptId() {
+        return conceptId;
+    }
+
+    public void setConceptId(Long conceptId) {
+        this.conceptId = conceptId;
+    }
+    public String getLibName() {
+        return libName;
+    }
+
+    public void setLibName(String libName) {
+        this.libName = libName;
+    }
+    public String getIndexValue() {
+        return indexValue;
+    }
+
+    public void setIndexValue(String indexValue) {
+        this.indexValue = indexValue;
+    }
+    public String getIndexUnit() {
+        return indexUnit;
+    }
+
+    public void setIndexUnit(String indexUnit) {
+        this.indexUnit = indexUnit;
+    }
+    public Integer getIsAbnormal() {
+        return isAbnormal;
+    }
+
+    public void setIsAbnormal(Integer isAbnormal) {
+        this.isAbnormal = isAbnormal;
+    }
+    public Date getCreatTime() {
+        return creatTime;
+    }
+
+    public void setCreatTime(Date creatTime) {
+        this.creatTime = creatTime;
+    }
+    public Long getPatientId() {
+        return patientId;
+    }
+
+    public void setPatientId(Long patientId) {
+        this.patientId = patientId;
+    }
+    public String getInquiryCode() {
+        return inquiryCode;
+    }
+
+    public void setInquiryCode(String inquiryCode) {
+        this.inquiryCode = inquiryCode;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "IndexData{" +
+        "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreate=" + gmtCreate +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
+        ", conceptId=" + conceptId +
+        ", libName=" + libName +
+        ", indexValue=" + indexValue +
+        ", indexUnit=" + indexUnit +
+        ", isAbnormal=" + isAbnormal +
+        ", creatTime=" + creatTime +
+        ", patientId=" + patientId +
+        ", inquiryCode=" + inquiryCode +
+        ", remark=" + remark +
+        "}";
+    }
+}

+ 100 - 0
tran-service/src/main/java/com/diagbot/facade/IndexDataFacade.java

@@ -0,0 +1,100 @@
+package com.diagbot.facade;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.dto.IndexDataDTO;
+import com.diagbot.entity.IndexData;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.IndexDataService;
+import com.diagbot.service.impl.IndexDataServiceImpl;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.vo.IndexDataAllVO;
+import com.diagbot.vo.IndexDataFindVO;
+import com.diagbot.vo.IndexDataSaveVO;
+import com.diagbot.vo.IndexDataVO;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月6日 下午8:04:09
+ */
+@Component
+public class IndexDataFacade extends IndexDataServiceImpl {
+
+	@Autowired 
+	IndexDataService indexDataService;
+	/**
+	 * 
+	 * @param indexDataFindVO
+	 * @return
+	 */
+	public List<IndexDataDTO> quisitionIndexDataAll(IndexDataFindVO indexDataFindVO) {
+
+        Map<String, Object> indexDataMap = new HashMap<>();
+        indexDataMap.put("patientId", indexDataFindVO.getPatientId());
+        indexDataMap.put("startTime", indexDataFindVO.getStartTime());
+        indexDataMap.put("endTime", indexDataFindVO.getEndTime());
+        //获取慢病指标数据
+         return indexDataService.quisitionIndexDataAll(indexDataFindVO.getIds(),indexDataMap);
+         
+	}
+
+
+	
+	public boolean saveIndexDatas(IndexDataSaveVO indexDataSaveVO) {
+		 boolean res = false;
+	        if (null != indexDataSaveVO && ListUtil.isNotEmpty(indexDataSaveVO.getIndexData())) {
+	            // 先查询该用户相同就诊号所保留的数据,将其删除
+	            UpdateWrapper<IndexData> IndexDataUpdate = new UpdateWrapper<>();
+	            Map<String, Object> mapAll = new HashMap<>();
+	            mapAll.put("inquiry_code", indexDataSaveVO.getInquiryCode());
+	            mapAll.put("patient_id", indexDataSaveVO.getPatientId());
+	            IndexDataUpdate.allEq(mapAll).eq("is_deleted", IsDeleteEnum.N.getKey())
+	                    .set("is_deleted", IsDeleteEnum.Y.getKey())
+	                    // .set("modifier",UserUtils.getCurrentPrincipleID())
+	                    .set("gmt_modified", DateUtil.now());
+	            res = update(new IndexData(), IndexDataUpdate);
+
+	           // 遍历数据进行保存
+	            List<IndexData> IndexDataList = new ArrayList<IndexData>();
+	            List<IndexDataAllVO> indexDatas = indexDataSaveVO.getIndexData();
+	            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+	            for (IndexDataAllVO indexDataNew : indexDatas) {
+	                    IndexData indexData = new IndexData();
+	                    indexData.setCreator(indexDataSaveVO.getDoctorId().toString());
+	                    indexData.setGmtCreate(DateUtil.now());
+	                    indexData.setLibName(indexDataNew.getIndexUnique());
+	                    try {
+	                        indexData.setCreatTime(sdf.parse(indexDataNew.getCreatTime()));
+	                    } catch (ParseException e) {
+	                        throw new CommonException(CommonErrorCode.NOT_EXISTS, "时间格式有误");
+	                    }
+	                    indexData.setConceptId(indexDataNew.getIndexId());
+	                    indexData.setIndexUnit(indexDataNew.getIndexUnit());
+	                    indexData.setIndexValue(indexDataNew.getIndexValue());
+	                    indexData.setInquiryCode(indexDataSaveVO.getInquiryCode());
+	                    indexData.setIsAbnormal(indexDataNew.getIsAbnormal());
+	                    indexData.setPatientId(indexDataSaveVO.getPatientId());
+	                    IndexDataList.add(indexData);
+	                }
+	           
+	            if (ListUtil.isNotEmpty(IndexDataList)) {
+	                res = indexDataService.insertIndexDataList(IndexDataList);
+	            }
+	}
+	        return res;
+	}
+}

+ 26 - 0
tran-service/src/main/java/com/diagbot/mapper/IndexDataMapper.java

@@ -0,0 +1,26 @@
+package com.diagbot.mapper;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Param;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.dto.IndexDataDTO;
+import com.diagbot.entity.IndexData;
+
+/**
+ * <p>
+ * 指标数据表 Mapper 接口
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2019-05-08
+ */
+public interface IndexDataMapper extends BaseMapper<IndexData> {
+	
+	public List<IndexDataDTO> quisitionIndexDataAll(@Param("ids") List<Long> ids,@Param("indexDataMap") Map<String, Object> indexDataMap);
+	
+	public boolean insertIndexDataList(List<IndexData> indexDataList);
+
+}

+ 23 - 0
tran-service/src/main/java/com/diagbot/service/IndexDataService.java

@@ -0,0 +1,23 @@
+package com.diagbot.service;
+
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.IndexDataDTO;
+import com.diagbot.entity.IndexData;
+
+/**
+ * <p>
+ * 指标数据表 服务类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2019-05-08
+ */
+public interface IndexDataService extends IService<IndexData> {
+	
+	public List<IndexDataDTO> quisitionIndexDataAll(List<Long> ids, Map<String, Object> indexDataMap);
+	
+	public boolean insertIndexDataList(List<IndexData> indexDataList);
+}

+ 35 - 0
tran-service/src/main/java/com/diagbot/service/impl/IndexDataServiceImpl.java

@@ -0,0 +1,35 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.dto.IndexDataDTO;
+import com.diagbot.entity.IndexData;
+import com.diagbot.mapper.IndexDataMapper;
+import com.diagbot.service.IndexDataService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 指标数据表 服务实现类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2019-05-08
+ */
+@Service
+public class IndexDataServiceImpl extends ServiceImpl<IndexDataMapper, IndexData> implements IndexDataService {
+
+	@Override
+	public List<IndexDataDTO> quisitionIndexDataAll(List<Long> ids, Map<String, Object> indexDataMap) {
+		return baseMapper.quisitionIndexDataAll(ids, indexDataMap);
+	}
+
+	@Override
+	public boolean insertIndexDataList(List<IndexData> indexDataList) {
+		return baseMapper.insertIndexDataList(indexDataList);
+	}
+
+}

+ 20 - 0
tran-service/src/main/java/com/diagbot/vo/IndexDataAllVO.java

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import javax.validation.constraints.NotNull;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月9日 上午9:50:05
+ */
+@Setter
+@Getter
+public class IndexDataAllVO extends IndexDataVO{
+
+	@NotNull(message = "请输入术语id")
+	private Long indexId;
+}

+ 33 - 0
tran-service/src/main/java/com/diagbot/vo/IndexDataFindVO.java

@@ -0,0 +1,33 @@
+package com.diagbot.vo;
+
+import java.util.List;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月8日 下午3:22:50
+ */
+@Setter
+@Getter
+public class IndexDataFindVO {
+	/**
+	 * 患者id
+	 */
+	@NotNull(message = "请输入患者id")
+	private Long patientId;
+
+	@NotBlank(message = "请输入开始时间")
+	private String startTime;
+
+	@NotBlank(message = "请输入结束时间")
+	private String endTime;
+	
+	private List<Long> ids;
+}

+ 34 - 0
tran-service/src/main/java/com/diagbot/vo/IndexDataSaveVO.java

@@ -0,0 +1,34 @@
+package com.diagbot.vo;
+
+import java.util.List;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Setter
+@Getter
+public class IndexDataSaveVO {
+	 /**
+     * 患者id
+     */
+	@NotNull(message = "请输入患者id")
+    private Long patientId;
+
+    /**
+     * 就诊号
+     */
+	@NotBlank(message = "请输入就诊号")
+    private String inquiryCode;
+	 /**
+     * 医生id
+     */
+	@NotNull(message = "请输入医生id")
+    private Long doctorId;
+    /**
+     * 指标值
+     */
+	private List<IndexDataAllVO> IndexData;
+}

+ 47 - 0
tran-service/src/main/java/com/diagbot/vo/IndexDataVO.java

@@ -0,0 +1,47 @@
+package com.diagbot.vo;
+
+import java.util.List;
+
+import javax.validation.constraints.NotBlank;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月7日 上午10:05:39
+ */
+@Setter
+@Getter
+public class IndexDataVO {
+	/**
+     * 指标公表名
+     */
+	@NotBlank(message = "请输入指标公表名")
+    private String indexUnique;
+
+    /**
+     * 指标值
+     */
+	@NotBlank(message = "指标值")
+    private String indexValue;
+
+    /**
+     * 指标单位
+     */
+    private String indexUnit;
+
+    /**
+     * 是否异常
+     */
+    private Integer isAbnormal;
+
+    /**
+     * 化验时间
+     */
+    @NotBlank(message = "请输入化验时间")
+    private String creatTime;
+
+}

+ 19 - 0
tran-service/src/main/java/com/diagbot/vo/IndexDataiIds.java

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月8日 下午6:54:28
+ */
+@Setter
+@Getter
+public class IndexDataiIds extends IndexDataVO{
+
+	private List<Long> ids;
+}

+ 62 - 0
tran-service/src/main/java/com/diagbot/web/IndexDataController.java

@@ -0,0 +1,62 @@
+package com.diagbot.web;
+
+import java.util.List;
+
+import javax.validation.Valid;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+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 com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.IndexDataDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.IndexDataFacade;
+import com.diagbot.vo.IndexDataFindVO;
+import com.diagbot.vo.IndexDataSaveVO;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * <p>
+ * 指标数据表 前端控制器
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2019-05-06
+ */
+@RestController
+@RequestMapping("/indexData")
+@Api(value = "指标数据API[by:wangfeng]", tags = { "知识库标准化-指标数据API" })
+@SuppressWarnings("unchecked")
+public class IndexDataController {
+
+	@Autowired
+	IndexDataFacade indexDataFacade;
+
+	@ApiOperation(value = "知识库标准化-根据疾病获取指标数据[by:wangfeng]", notes = "diseaseName:疾病名  必填<br> patientId:患者id ,必填<br> startTime:开始时间 ,必填<br> endTime:结束时间 ,必填<br> ")
+	@PostMapping("/getIndexDatas")
+	@SysLogger("getIndexDatas")
+	public RespDTO<List<IndexDataDTO>> getIndexDatas(@Valid @RequestBody IndexDataFindVO indexDataFindVO) {
+
+		 List<IndexDataDTO> data = indexDataFacade.quisitionIndexDataAll(indexDataFindVO);
+
+		return RespDTO.onSuc(data);
+	}
+
+	@ApiOperation(value = "知识库标准化-保存指标数据[by:wangfeng]", notes = "patientId : 患者id 必填<br> inquiryCode :就诊号  必填<br> IndexData:{指标公表名 :indexUnique;指标值indexValue;指标单位 indexUnit;是否异常 isAbnormal;化验时间creatTime;}")
+	@PostMapping("/saveIndexDatas")
+	@SysLogger("saveIndexDatas")
+	@Transactional
+	public RespDTO<Boolean> saveIndexDatas(@Valid @RequestBody IndexDataSaveVO indexDataSaveVO) {
+
+		boolean res = indexDataFacade.saveIndexDatas(indexDataSaveVO);
+
+		return RespDTO.onSuc(res);
+	}
+}
+

+ 80 - 0
tran-service/src/main/resources/mapper/IndexDataMapper.xml

@@ -0,0 +1,80 @@
+<?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.IndexDataMapper">
+
+	<!-- 通用查询映射结果 -->
+	<resultMap id="BaseResultMap" type="com.diagbot.entity.IndexData">
+		<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="concept_id" property="conceptId" />
+		<result column="lib_name" property="libName" />
+		<result column="index_value" property="indexValue" />
+		<result column="index_unit" property="indexUnit" />
+		<result column="is_abnormal" property="isAbnormal" />
+		<result column="creat_time" property="creatTime" />
+		<result column="patient_id" property="patientId" />
+		<result column="inquiry_code" property="inquiryCode" />
+		<result column="remark" property="remark" />
+	</resultMap>
+	<select id="quisitionIndexDataAll" resultType="com.diagbot.dto.IndexDataDTO">
+		SELECT
+		concept_id AS uniqueId,
+		lib_name AS indexUnique,
+		index_value AS indexValue,
+		index_unit AS indexUnit,
+		is_abnormal AS isAbnormal,
+		creat_time AS creatTime,
+		patient_id AS patientId,
+		inquiry_code AS inquiryCode
+		FROM
+		tran_index_data
+		WHERE
+		is_deleted = "N"
+		AND patient_id
+		=
+		#{indexDataMap.patientId}
+		<if test="indexDataMap.startTime != null and indexDataMap.endTime != null">
+			AND creat_time BETWEEN #{indexDataMap.startTime} AND
+			#{indexDataMap.endTime}
+		</if>
+		AND concept_id in
+		<foreach collection="ids" item="ids" open="(" close=")" separator=",">
+			#{ids}
+		</foreach>
+	</select>
+	
+	<insert id="insertIndexDataList" parameterType="java.util.List">
+		insert into tran_index_data
+		(gmt_create,
+		creator,
+		concept_id,
+		lib_name,
+		index_value,
+		index_unit,
+		is_abnormal,
+		creat_time,
+		patient_id,
+		inquiry_code
+		)
+		values
+		<foreach collection="list" item="IndexDataList" index="index"
+			separator=",">
+			(
+			#{IndexDataList.gmtCreate},
+			#{IndexDataList.creator},
+			#{IndexDataList.conceptId},
+			#{IndexDataList.libName},
+			#{IndexDataList.indexValue},
+			#{IndexDataList.indexUnit},
+			#{IndexDataList.isAbnormal},
+			#{IndexDataList.creatTime},
+			#{IndexDataList.patientId},
+			#{IndexDataList.inquiryCode}
+			)
+		</foreach>
+	</insert>
+</mapper>

+ 3 - 3
triage-service/src/main/java/com/diagbot/client/AIServiceClient.java

@@ -13,11 +13,11 @@ import org.springframework.web.bind.annotation.RequestBody;
  * @author: gaodm
  * @time: 2018/10/25 9:56
  */
-@FeignClient(name = "AI", url = "${ai.server.address}", fallback = AIServiceHystrix.class)
+//@FeignClient(name = "AI", url = "${ai.server.address}", fallback = AIServiceHystrix.class)
 public interface AIServiceClient {
 
-    @PostMapping(value = "/web/doc/algorithm/neural")
-    Response<ResponseData> bayesPageData(@RequestBody SearchData searchData);
+   /* @PostMapping(value = "/web/doc/algorithm/neural")
+    Response<ResponseData> bayesPageData(@RequestBody SearchData searchData);*/
 }
 
 

+ 5 - 0
triage-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -1,5 +1,7 @@
 package com.diagbot.client;
 
+import com.diagbot.client.bean.ResponseData;
+import com.diagbot.client.bean.SearchData;
 import com.diagbot.client.hystrix.AiptServiceHystrix;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptRetrievalDTO;
@@ -44,4 +46,7 @@ public interface AiptServiceClient {
     @PostMapping("/concept/retrivelConceptInfo")
     RespDTO<List<ConceptRetrievalDTO>> retrivelConceptInfo(@RequestBody @Valid RetrievalVO retrievalVO);
 
+    @PostMapping(value = "/clinicaldata/processData")
+    RespDTO<ResponseData> aiptData(@RequestBody SearchData searchData);
+
 }

+ 2 - 2
triage-service/src/main/java/com/diagbot/client/hystrix/AIServiceHystrix.java

@@ -16,9 +16,9 @@ import org.springframework.stereotype.Component;
 @Component
 @Slf4j
 public class AIServiceHystrix implements AIServiceClient {
-    @Override
+   /* @Override
     public Response<ResponseData> bayesPageData(SearchData searchData) {
         log.error("【hystrix】调用{}异常", "bayesPageData");
         return null;
-    }
+    }*/
 }

+ 9 - 0
triage-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -1,6 +1,8 @@
 package com.diagbot.client.hystrix;
 
 import com.diagbot.client.AiptServiceClient;
+import com.diagbot.client.bean.ResponseData;
+import com.diagbot.client.bean.SearchData;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptRetrievalDTO;
 import com.diagbot.dto.PartSymptomDTO;
@@ -39,4 +41,11 @@ public class AiptServiceHystrix implements AiptServiceClient {
         log.error("【hystrix】调用{}异常", "retrivelConceptInfo");
         return null;
     }
+
+    @Override
+    public RespDTO<ResponseData> aiptData(SearchData searchData) {
+        log.error("【hystrix】调用{}异常", "aiptData");
+        return null;
+    }
+
 }

+ 26 - 27
triage-service/src/main/java/com/diagbot/facade/AIFacade.java

@@ -1,14 +1,15 @@
 package com.diagbot.facade;
 
-import com.diagbot.client.AIServiceClient;
+import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.FeatureRate;
-import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.SearchData;
 import com.diagbot.dto.AIDTO;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.util.ListUtil;
+import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.AIVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,7 +30,7 @@ import java.util.Map;
 @Component
 public class AIFacade {
     @Autowired
-    private AIServiceClient aiServiceClient;
+    private AiptServiceClient aiptServiceClient;
 
     /**
      * 调用ai接口业务逻辑
@@ -61,24 +62,22 @@ public class AIFacade {
                 searchData.setLength(10);
                 break;
         }
-        Response<ResponseData> res = aiServiceClient.bayesPageData(searchData);
-        if (null == res || null == res.getData()) {
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "AI没有返回结果");
-        }
+        RespDTO<ResponseData> res = aiptServiceClient.aiptData(searchData);
+        RespDTOUtil.respNGDealCover(res, "中间层没有结果返回");
         AIDTO aidto = new AIDTO();
         switch (type) {
             case "1":
-                aidto.setItems(res.getData().getSymptom());
+                aidto.setItems(res.data.getSymptom());
                 break;
             case "7":
                 List<FeatureRate> items = new ArrayList<>();
-                if (ListUtil.isNotEmpty(res.getData().getDis())){
+                if (ListUtil.isNotEmpty(res.data.getDis())) {
                     Double rate;
                     Map<String, Double> map = new HashMap<>();
-                    for (FeatureRate featureRate: res.getData().getDis()){
-                        if (Double.valueOf(featureRate.getRate()) > 0.1d){
-                            if (StringUtil.isNotBlank(featureRate.getExtraProperty())){
-                                if (null != map.get(featureRate.getExtraProperty())){
+                    for (FeatureRate featureRate : res.data.getDis()) {
+                        if (Double.valueOf(featureRate.getRate()) > 0.1d) {
+                            if (StringUtil.isNotBlank(featureRate.getExtraProperty())) {
+                                if (null != map.get(featureRate.getExtraProperty())) {
                                     rate = map.get(featureRate.getExtraProperty())
                                             + Double.valueOf(featureRate.getRate());
                                     map.replace(featureRate.getExtraProperty(), rate);
@@ -89,31 +88,31 @@ public class AIFacade {
                         }
                     }
 
-                    List<Map.Entry<String,Double>> list = new ArrayList<Map.Entry<String,Double>>(map.entrySet());
-                    Collections.sort(list,new Comparator<Map.Entry<String,Double>>() {
-                                //降序排序
-                                public int compare(Map.Entry<String, Double> o1,
-                                                   Map.Entry<String, Double> o2) {
-                                    return o2.getValue().compareTo(o1.getValue());
-                                }
+                    List<Map.Entry<String, Double>> list = new ArrayList<Map.Entry<String, Double>>(map.entrySet());
+                    Collections.sort(list, new Comparator<Map.Entry<String, Double>>() {
+                        //降序排序
+                        public int compare(Map.Entry<String, Double> o1,
+                                           Map.Entry<String, Double> o2) {
+                            return o2.getValue().compareTo(o1.getValue());
+                        }
                     });
                     FeatureRate item;
-                    for (Map.Entry<String,Double> entry: list){
-                        if (items.size() < 2){
+                    for (Map.Entry<String, Double> entry : list) {
+                        if (items.size() < 2) {
                             item = new FeatureRate();
                             item.setExtraProperty(entry.getKey());
                             items.add(item);
                         }
                     }
-                    if (ListUtil.isEmpty(items)){
+                    if (ListUtil.isEmpty(items)) {
                         item = new FeatureRate();
-                        item.setExtraProperty(res.getData().getDis().get(0).getExtraProperty());
+                        item.setExtraProperty(res.data.getDis().get(0).getExtraProperty());
                         items.add(item);
                     }
                 }
-//                if (ListUtil.isEmpty(items)){
-//                    throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "暂时无法推理出结果");
-//                }
+                //                if (ListUtil.isEmpty(items)){
+                //                    throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "暂时无法推理出结果");
+                //                }
                 aidto.setItems(items);
                 break;
         }